댕글링 DNS란 무엇인가요?

댕글링 DNS를 이해하려면 DNS의 기본 사항을 이해해야 합니다. DNS는 기억하기 쉽고 인식하기 쉬운 팔로알토네트웍스닷컴과 같은 사용자 친화적인 도메인 이름을 숫자로 된 IP 주소로 변환하는 프로토콜입니다. 각 도메인의 IP 주소는 인터넷의 전화번호부와 같은 역할을 하는 권한 있는 DNS 서버에 저장됩니다. 브라우저에 웹사이트 주소를 입력하면 브라우저는 먼저 재귀 DNS 서버에 연결하여 "paloaltonetworks.com의 IP 주소가 무엇인가요?"라는 질문을 합니다. 재귀 DNS 서버는 권한이 있는 서버로 쿼리를 보내 답변을 받습니다.

 

CNAME이란 무엇인가요?

DNS 권한 조회 서버에 저장되는 일반적인 레코드 유형은 SOA(권한 시작), IP 주소, NS(네임 서버), 역방향 DNS 조회용 포인터(PTR), CNAME(정식 이름 레코드) 등입니다.

CNAME은 다른 도메인의 별칭 역할을 하며 IP 주소 대신 도메인을 가리키는 DNS 데이터베이스 레코드의 한 유형입니다. CNAME 레코드는 일반적으로 동일한 조직이 소유한 여러 웹사이트를 기본 웹사이트로 가리키고, 여러 국가에 동일한 도메인을 등록하여 각 도메인이 상위 도메인을 가리키도록 하는 등의 작업을 수행하는 데 사용됩니다.

슈퍼컴퍼니[.]com 도메인을 사용하는 회사에서 새로운 서비스 또는 제품을 출시하고 슈퍼프로덕트[.]슈퍼컴퍼니[.]com이라는 새 하위 도메인 이름을 만든다고 가정해 보겠습니다. 이 하위 도메인을 모든 사람이 인식하는 상위 도메인의 별칭으로 설정하면 하위 도메인인 superproduct[.]supercomany[.]com은 supercompany[.]com을 가리키는 CNAME 레코드를 갖게 됩니다.

 

댕글 DNS

DNS 레코드는 도메인 이름을 다른 도메인으로 가리키지만, 도메인이 사용 중지되면 해당 DNS 레코드는 매달린 상태로 남게 되며, 이를 현재 매달린 DNS 레코드라고 합니다. 이 도메인은 방치되어 있기 때문에 위협 행위자가 쉽게 탈취하여 네트워크에 대한 초기 액세스 권한을 얻는 데 사용할 수 있습니다. 공격자는 피싱 및 기타 사회 공학 공격에 이 댕글링 DNS 기법을 자주 사용합니다. 예를 들어 superproduct.supercomany.com이 superproduct.com과 같은 다른 도메인이나 compute1234.amazonaws.com과 같은 외부 호스트 또는 IP를 가리키고, 회사가 superproduct.com 또는 이를 호스팅하는 컴퓨팅 노드에서 벗어나지만 CNAME superproduct.supercomany.com이 여전히 만료되는 도메인이나 외부 호스트 이름/IP를 가리키고 있다는 것을 잊어버린다고 가정해 보겠습니다. 이는 이제 공격자가 악성 사이트를 호스팅하기에 가장 좋은 메인 도메인인 supercomany.com을 사용한다는 의미입니다. 해커는 superproduct.supercomany.com이 포함된 SSL 인증서를 설치하여 회사의 평판을 희생하면서 악성 콘텐츠를 제공할 수 있습니다.

Palo Alto Networks의 DNS 보안에 대해 자세히 알아보려면 https://www.paloaltonetworks.co.kr/network-security/advanced-dns-security 을 방문하세요. 댕글링 DNS에 대한 자세한 내용은 블로그 댕글링 도메인을 참조하세요: 보안 위협, 탐지 및 확산.

 

댕글 DNS FAQ

매달린 DNS 레코드는 더 이상 유효하지 않거나 도메인 소유자가 제어할 수 없는 도메인 또는 서비스를 가리키기 때문에 심각한 보안 위험을 초래할 수 있습니다. 공격자는 만료된 도메인을 등록하여 하위 도메인을 제어하고 트래픽 가로채기, 민감한 데이터 탈취, 피싱 공격 또는 멀웨어 배포에 사용하여 이러한 레코드를 악용할 수 있습니다. 이로 인해 시스템에 대한 무단 액세스, 데이터 유출 또는 합법적인 서비스 사칭이 발생할 수 있습니다.
하위 도메인 탈취는 공격자가 DNS 레코드에서 여전히 활성 상태이지만 더 이상 도메인 소유자가 제어하지 않는 리소스를 가리키는 하위 도메인을 제어할 수 있게 되면 발생합니다. 매달린 DNS 레코드, 특히 CNAME 또는 MX 레코드는 종종 하위 도메인 탈취로 이어집니다. 예를 들어 CNAME 레코드가 폐기된 외부 서비스를 가리킨다고 가정해 보겠습니다. 이 경우 공격자는 해당 외부 도메인을 등록하고 하위 도메인을 탈취하여 악성 콘텐츠를 호스팅하거나 합법적인 도메인을 대상으로 하는 통신을 가로채는 데 사용할 수 있습니다.
조직은 정기적으로 DNS 레코드를 감사하고 업데이트하여 더 이상 필요하지 않거나 사용 중지된 리소스를 가리키는 레코드를 제거하여 스스로를 보호할 수 있습니다. 또한 피싱 또는 스푸핑 공격에 DNS 레코드가 오용되는 것을 방지할 수 있는 이메일 인증을 위해 DMARC(도메인 기반 메시지 인증, 보고 및 준수) 및 DKIM(도메인키 식별 메일)을 활성화하는 등의 보안 조치를 구현해야 합니다. 또한 활성 리소스에 연결된 DNS 별칭 레코드를 사용하면 댕글링 참조가 발생하지 않도록 할 수 있습니다.
댕글링 DNS 취약점은 만료된 도메인을 가리키는 DNS MX 레코드를 통해 공격자가 이메일을 가로채거나 피싱 캠페인에 해당 도메인을 사용하는 등 다양한 방식으로 악용될 수 있습니다. 마찬가지로 공격자는 사용하지 않는 CNAME 레코드를 표적으로 삼아 하위 도메인을 장악하고 악성 콘텐츠를 호스팅할 수 있습니다. 여러 도메인과 하위 도메인을 보유한 조직은 무단 사용을 방지하기 위해 이러한 기록에 세심한 주의를 기울여야 합니다.
불안정한 DNS 레코드는 스타트업부터 대기업에 이르기까지 모든 규모의 조직에 문제가 됩니다. 대규모 조직은 더 광범위한 DNS 인프라를 보유하고 있어 레코드가 간과될 위험이 높을 수 있지만, 소규모 기업도 DNS 레코드를 적절히 관리하지 않으면 공격 대상이 될 수 있습니다. 조직의 규모에 관계없이 DNS 항목을 정기적으로 모니터링하고 유지 관리하는 것은 이러한 위험을 줄이는 데 매우 중요합니다.