DNS 하이재킹은 사용자를 정상 웹사이트에서 악성 사이트로 리디렉션하는 사이버 공격입니다. 본 가이드는 DNS 하이재킹의 작동 방식, 잠재적 영향 및 예방 전략을 살펴봅니다.
안전한 DNS 구성 및 모니터링의 중요성에 대해 알아보세요. DNS 하이재킹을 이해하는 것은 온라인 자산을 보호하고 사용자를 피싱 공격으로부터 방어하는 데 필수적입니다.
복습: DNS가 무엇인가요?
 사이버 보안 세계는 복잡합니다. 따라서 우리가 다루는 용어에 대해 간단히 상기시켜 드리겠습니다. DNS(도메인 이름 시스템)는 www.yourcompany.com와 같은 사람이 읽을 수 있는 도메인 이름을 브라우저, 라우터, 서버가 웹 및 이메일 콘텐츠를 제공하기 위해 실제로 사용하는 숫자 기반 IPv4 또는 IPv6 주소 체계로 변환하는 수단입니다.
기존 IPv4 주소는 익숙한 32비트 주소로, 점으로 구분된 네 개의 세그먼트로 구성됩니다. 예를 들어:
168.192.1.1
새로운 IPv6 주소는 16진수로 표기된 128비트 주소로, 8개의 세그먼트로 나뉘어 콜론(:)으로 구분됩니다. 예를 들면 다음과 같습니다:&
a8:c0:00:00:00:00:01:01
하지만 그렇지 않을 수도 있습니다! IPv6 주소에서는 이중 콜론을 사용하여 연속된 0을 생략할 수 있으며, 세그먼트 시작 부분의 0도 제거할 수 있으므로 길이가 상당히 다양한 IPv6 주소를 볼 수 있습니다. 위 주소는 실제로 다음과 같이 표현됩니다:
a8:c0::1:1
그렇다면 이 모든 마법은 어떻게 일어나는 걸까요? 도메인 이름이 어떻게 IPv4 및 IPv6 숫자 주소로 변환될까요? 브라우저나 다른 네트워킹 장치에 도메인 이름이 입력되면, 로컬 캐시를 시작으로 여러 조회 서버를 거쳐 진행됩니다: 재귀적 해결기, 루트 네임서버, 최상위 도메인 서버 및 권한 있는 네임서버. 이 과정이 끝나면 지정된 도메인의 IP 주소가 클라이언트에 전달됩니다.
DNS 하이재킹이란 무엇인가?
이러한 단계 중 어느 지점에서든, 그리고 실제로 경로상의 캐시 중 어느 곳에서든, 공격자는 요청을 하는 클라이언트에게 보이지 않는 방식으로 DNS 서버를 탈취하거나 캐시를 오염시킬 수 있습니다.
만약 여러분이자신의 DNS를 직접 관리하지 않는다면, 이를 대신 관리해주는 제3자 기관(그 기관이 누구였죠?)이 여러분이 모르는 사이에 해킹당했을 가능성이 충분히 있습니다. 공격자가 여러분의 DNS를 탈취하면, 웹 트래픽과 이메일 통신 전체를 가로챌 수 있습니다.
"총자산 기준 상위 20개 은행 중 절반은 자체 DNS를 관리하지 않고, 해킹 가능성 있는 제3자에게 맡기고 있습니다." (출처)
이런 일이 발생할 수 있는 몇 가지 방법이 있습니다. 인터넷 등록 기관에 사이트를 등록했다고 가정해 보겠습니다. 가상의 기관을 예로 들어 보겠습니다. GoMummy.com라고 부르기로 합시다. GoMummy 등록 기관은 귀하에게 도메인 이름 yourcompany.com을 판매하고, 이 이름을 고유한 IPv4 및 IPv6 주소에 등록합니다. 귀하의 도메인 이름은 최상위 도메인(TLD)이 .com이며, 귀하의 고유 IP 주소를 포함하는 A 레코드를 보유하고 있으며, 여기에 고유한 IP 주소가 포함되어 있습니다.
이 시나리오에서 공격자는 여러 지점에서 귀사의 DNS를 탈취할 수 있습니다. 권한 있는 네임서버를 해킹하면 귀사의 IP 주소를 다른 주소로 변경하여 yourcompany.com에 대한 DNS 조회 결과가 공격자의 서버로 연결되도록 할 수 있습니다. 그러면 브라우저에 yourcompany.com를 입력한 모든 사용자는 공격자의 웹사이트로 이동하게 됩니다. 방문자들은 공격자가 통제하는 사이트를 접하게 되는데, 이는 귀사 사이트와 완전히 동일하게 복제되었지만 로그인 정보를 탈취하거나 악성코드를 유포하거나 귀사에 대한 허위 및 유해 정보를 배포하는 데 악용될 수 있습니다. 이러한 경우 귀사는 약 4시간 정도 – DNS 조회 시 타임 투 라이브(TTL)는 일반적으로 14400초입니다. 인터넷 전역으로 확산되기 전에 하이재킹을 발견하고 수정할 수 있는 시간입니다.
실제 DNS 하이재킹 사례
실제 DNS 하이재킹 사례로는 다음과 같은 것들이 있습니다:
- 2018년 SamSam 랜섬웨어 공격: 이 공격에서 해커들는 DNS 하이재킹을 이용해 합법적인 웹사이트의 트래픽을 악성 도메인으로 리디렉션하여 랜섬웨어 페이로드를 전달했습니다.
 - 2019년 클라우드플레어 DNS 하이재킹 사건: 이 사건에서 해커들은 Cloudflare의 DNS 인프라 취약점을 악용해 coinbase.com을 포함한 여러 웹사이트의 트래픽을 암호화폐 채굴 페이로드를 전달하는 악성 도메인으로 리디렉션했습니다.
 - 2017년 Exim 취약점 악용 사건: 이 사건에서 해커들은 Exim 메일 서버 소프트웨어의 취약점을 악용하여 여러 호스팅 제공업체의 DNS 레코드를 장악했습니다. 이를 통해 합법적인 웹사이트의 트래픽을 악성 도메인으로 리디렉션할 수 있었습니다.
 
A 레코드 탈취는 트위터, 뉴욕 타임즈, 허핑턴 포스트를 공격한 공격에서 발생한 것으로 보입니다. 이 사이트들의 공통점은 동일한 등록기관인 Melbourne IT를 사용했다는 점입니다. 해커 집단 S.E.A.는 스피어 피싱 캠페인을 통해 미국에 기반을 둔 판매 파트너를 침투하여 등록 기관의 서버에 접근했습니다. 해커들은 여기서 여러 사이트의 A 레코드를 변경할 수 있었습니다.
 해당 사례에서는 피해가 단순한 훼손 수준에 그쳤지만, 브라질 은행의 DNS 등록을 노린 공격은 훨씬 심각했습니다. 공격자들은 은행 사이트의 악성 복제본을 생성했으며, 유효한 https 인증서를 갖춘 악성 복제본을 생성했으며, 약 5시간 동안 통제권을 유지했습니다. 이 기간 동안 은행 URL을 방문한 모든 사용자는 위조 사이트로 리디렉션되었으며, 해당 사이트는 뱅킹 트로이 목마 악성코드를 배포했습니다.
최근 들어, Sea Turtle 캠페인은 국가 지원 DNS 하이재킹 캠페인로 보이며, 13개국에 걸쳐 최소 40개 공공 및 민간 기관을 표적으로 삼았습니다. Sea Turtle 배후의 위협 행위자들은 변경된 A 레코드를 이용해 피해자를 스푸핑 사이트로 재라우팅한 후 로그인 자격 증명을 탈취했습니다.
DNS 캐시 포이즌 공격
또 다른 시나리오에서는 공격자가 DNS 등록 기관의 A 레코드를 손상시키지 못할 수도 있지만, 대신 캐시 포이즌 공격을 통해 DNS를 탈취할 수 있습니다. 사용자의 컴퓨터와 사용자가 방문하려는 사이트 사이에 위치한 악성 또는 침해된 DNS 서버가 A 레코드에 저장된 실제 주소 대신 대체 주소를 제공할 수 있습니다.  이는 사실상 "중국 만리방화벽" 및 기타 정부 개인정보 침해 계획; 또한 일부 ISP가 정기적으로 사용하는 수법으로, 지역 제한을 부과하거나 광고를 제공하거나 데이터를 수집하거나 사용자의 인터넷 브라우징을 통제하는 데 활용됩니다.  위 예시에서는 사용자가 통제하는 네트워크 외부에서의 공격을 논의했지만, DNS 하이재킹은 내부 네트워크에서도 발생할 수 있습니다. 로컬 컴퓨터의 악성코드는 클라이언트가 사용하는 DNS 서버를 변경하여 특정 기기의 도메인 이름을 공격자가 선택한 IP로 잘못 해석되도록 할 수 있습니다. 마찬가지로, 위협 행위자가 네트워크 내 라우터를 침해하고 해당 라우터의 조회 서버 주소를 변경할 수 있다면, 단일 침해로 해당 네트워크의 모든 클라이언트에 동일한 효과를 달성할 수 있습니다.8217;s choice of IP. 마찬가지로, 위협 행위자가 네트워크 내 라우터를 침해하여 해당 위치의 조회 서버 주소를 변경할 수 있다면, 단일 침해로 해당 네트워크의 모든 클라이언트에 동일한 효과를 달성할 수 있습니다.
 실제로는, 장치와 의도된 사이트 사이에 있는 모든 DNS 캐시 또는 조회 서버가 사용자를 다른 주소로 리디렉션할 수 있습니다. 이는 로컬 네트워크의 라우터에서 시작될 수 있으며(공용 Wi-Fi 서비스 사용의 여러 위험 중 하나), 루트 네임 서버(일명 'DNS 루트 서버')까지 도달할 수 있습니다. 라우터 및 악성 코드 DNS 하이재킹
 
악성코드가 장치의 DNS 조회 결과를 조작하는 가장 쉬운 방법 중 하나는 호스트 파일을 수정하는 것입니다. 호스트 파일은 웹 개발, 콘텐츠 차단, 가상 머신 소프트웨어 등 합법적인 용도로 사용되지만, 공격자가 모든 도메인에 대해 사용자 지정 IP 주소를 지정할 수 있게 합니다.
DNS가 탈취되었는지 어떻게 알 수 있나요?
호스트 파일 내용을 정기적으로 확인하는 것이 가능하며 권장됩니다. Windows에서는 notepad를 사용하여 C:\Windows\System32\drivers\etc\hosts 경로로 이동해 호스트 파일을 확인할 수 있습니다.
 PowerShell 사용에 익숙한 분들은 동일한 파일 경로에서 cat 명령어를 실행하기만 하면 됩니다:
cat C:windowssystem32driversetchosts
 명령어
cat /etc/hosts
Linux에서도 충분할 것입니다

 그리고 macOS:

 위의 이미지는 VM 소프트웨어가 설치된 상태의 기본 호스트 파일입니다. 공격자는 호스트 파일을 다음과 같은 줄을 추가하여 수정할 수 있습니다. 
<공격자의 IP 주소>    google.com &
이러한 줄은  기기에서 google.com에 대한 모든 요청을  추가적인 DNS 조회나 확인 없이 즉시 지정된 IP 주소로 해결합니다.
로컬 해킹은 브라우저 사용 시 속도 저하, 브라우저 리디렉션, 사이트 접속 불가, 팝업 또는 기타 비정상적인 동작이 발생할 때 발견될 수 있습니다. 컴퓨터의 로컬 DNS 설정을 8.8.8.8 및 8.8.4.4(Google 공용 DNS) 또는 1.1.1.1 및 1.0.0.1 (CloudFare의 공용 DNS)로 변경해 보세요. 동시에 DNS 변경 행위를 하는 악성코드를 탐지할 수 있는 좋은 보안 솔루션를 반드시 사용하세요.
로컬 네트워크 외부에서 DNS 조회 상태를 확인하려면 최종 사용자가 활용할 수 있는 몇 가지 도구가 있습니다. whoismydns.com 사이트는 whoismydns.com 사이트에 접속할 때 사용자를 대신해 DNS 요청을 보내는 서버를 알려주는 무료 서비스를 제공합니다. 좋은 아이디어이지만, 사용 시 주의가 필요합니다.
첫째, 해당 사이트의 https 버전이 존재하지 않는 것으로 보입니다. 따라서 사이트로의 연결이 전송 중에 변조되지 않았는지 확인할 실질적인 방법이 없습니다. 둘째, 공격자가 사용자의 DNS 트래픽을 제어하고 있다면, whoismydns.com 사이트 자체의 가짜 버전으로 리디렉션될 가능성도 있습니다! 
이 사이트에도 동일하게 적용됩니다. 이 사이트는 귀하의 컴퓨터가 아직도 수천 대에 달하는 DNSChanger 악성코드에 감염된 컴퓨터 중 하나인지 알려주려고 합니다.&
기업 및 도메인 이름 소유자의 경우, 알려진 깨끗한 장치에서 Google의 DNS 조회 서비스를 통해 A 레코드가 올바른지 확인할 수 있습니다. 예를 들어, 진짜 SentinelOne은 일어나 주시겠습니까?:
 DNS 하이재킹에 대해 무엇을 할 수 있나요?
공격자들은 라우터가 보안 체인에서 일종의 취약점 보안 체인에서 일종의 취약점 역할을 합니다. 이는 무엇보다도 내부 보호 기능이 상대적으로 취약하고, 불행히도 많은 사용자가 변경하지 않는 기본 관리자 비밀번호로 출고되며, 펌웨어 업그레이드가 드물기 때문입니다. 라우터 보안 팁에 대한 훌륭한 체크리스트는 여기에서 확인할 수 있지만, 핵심은 라우터의 DNS 설정을 확인하고 정기적으로 라우터 비밀번호를 업데이트하는 것입니다.
조직의 도메인 이름을 관리할 때 기업이 DNS 하이재킹을 방지하기 위한 가장 중요한 단계는 무단 변경을 방지하기 위해 레지스트리 잠금을 사용하여 무단 변경을 방지하는 것입니다. 또한 계정 접근 시 2단계 인증을 반드시 활성화하십시오.
호스팅 서비스에서 레지스트리 잠금이나 2단계 인증을 제공하지 않는다면, 가능한 한 빨리 이를 지원하는 서비스로 변경하는 것을 진지하게 고려해야 합니다. 그 외에도 DNSSEC(도메인 이름 시스템 보안 확장)을 사이트 제어판에서 활성화하세요. 이렇게 하면 DNS 리디렉션, 캐시 포이즈닝, 파밍&중간자 공격을 방지하는 데 도움이 됩니다.
분산된 엔드포인트와 조직 네트워크 간 DNS 조회 문제를 근절하려면 기업은 신뢰할 수 있는 VPN 서비스를 사용해야 합니다. 또한 자율적 차세대 보안 솔루션으로 엔드포인트와 네트워크를 보호해야 합니다.&
결론
엔드포인트에서 DNS 루트 서버에 이르기까지 도메인 이름을 숫자 IP 주소로 변환하는 과정은 일반 사용자와 기업에 취약점을 안겨주는 동시에 공격자에게 큰 기회를 제공합니다. 미국 국토안보부 산하 사이버보안 및 인프라 보안국(CISA) (CISA)는 최근 경고했습니다 현재 전 세계적으로 DNS 하이재킹 캠페인이 진행 중이라고 경고했습니다. 하이재킹이 성공하면 공격자는 유효한 암호화 인증서를 갖춘 공격자 통제 인프라로 조직의 웹 트래픽을 재전송하고 중간자 공격(MITM)을 수행할 수 있습니다. 장치에 대한 DNS 공격은 로컬 DNS 설정 변경이나 로컬 호스트 파일 중독을 통해 쉽게 수행됩니다.
보안을 유지하려면 이전 섹션에서 설명한 조언을 따르십시오. SentinelOne과 같은 강력한 보안 솔루션으로 엔드포인트가 아직 보호되지 않은 경우, 이 무료 데모를 통해 당사의 자율적 엔드포인트 솔루션이 귀하의 기기와 네트워크를 어떻게 안전하게 보호할 수 있는지 확인해 보십시오.
이 글이 마음에 드셨나요? LinkedIn, Twitter, YouTube 또는 Facebook를 통해 저희가 게시하는 콘텐츠를 확인하실 수 있습니다.
사이버 보안에 대해 더 알아보기
- 내부의 적 – 2018년 가장 충격적인 데이터 유출 사건 TOP 7
 - CISO가 지금 당장 사이버 보안 기술 부족 문제를 해결할 수 있는 5가지 방법
 - 악성 코드가 애플의 macOS 보안을 쉽게 무력화하는 방법&
 - Windows PowerShell이란 무엇인가요? (그리고 악성일 수 있나요?)
 
DNS 하이재킹 FAQ
DNS 하이재킹은 해커가 DNS 쿼리를 조작하여 사용자를 정상적인 웹사이트에서 악성 사이트로 리디렉션하는 사이버 공격입니다. 공격자는 사용자의 컴퓨터에 악성코드를 설치하거나, 라우터를 장악하거나, DNS 연결을 해킹하여 공격을 수행할 수 있습니다.
웹사이트 주소를 입력하면 실제 사이트로 이동하는 대신 공격자가 제어하는 가짜 사이트로 리디렉션됩니다. 이는 피싱 사기, 악성코드 감염, 데이터 도난으로 이어질 수 있습니다.
2019년 'Sea Turtle' 캠페인이 대표적인 사례로, 공격자들이 통신 및 미디어 기업의 DNS 레코드를 탈취해 민감한 데이터를 수집했습니다. 또 다른 사례는 2013년 뉴욕 타임즈에서 발생했는데, 공격자들이 사용자를 로그인 정보를 훔치기 위해 설계된 가짜 웹사이트로 리디렉션했습니다. 2022년에는 해커들이 Curve Finance의 DNS를 하이재킹하여 사용자를 자금을 훔치는 악성 암호화폐 플랫폼으로 리디렉션했습니다.
DNS 하이재킹에는 여러 유형이 있습니다. 로컬 DNS 하이재킹은 악성 코드가 기기의 DNS 설정을 변경하는 방식입니다. 라우터 DNS 하이재킹은 취약한 비밀번호나 펌웨어 취약점을 악용해 가정용 라우터를 표적으로 삼습니다. 중간자 공격은 사용자의 기기와 DNS 서버 사이의 DNS 요청을 가로챕니다.
불량 DNS 서버 하이재킹은 공격자가 합법적인 DNS 서버 자체를 해킹할 때 발생합니다. 또한 공격자가 도메인 등록 기관 계정에 접근하는 등록 기관 하이재킹도 있습니다.
DNS 하이재킹은 정상적인 DNS 해결 과정을 가로채는 방식으로 작동합니다. 웹사이트 주소를 입력하면 기기가 IP 주소를 찾기 위해 DNS 쿼리를 전송합니다. 공격자는 DNS 서버를 해킹하거나, 사용자의 기기에 악성코드를 감염시키거나, 전송 중인 DNS 요청을 가로챌 수 있습니다.
DNS 확인을 장악한 공격자는 원래 URL을 그대로 보이게 하면서 사용자를 악성 웹사이트로 리디렉션합니다. 브라우저에서는 모든 것이 정상적으로 보이므로 이를 감지하기 어렵습니다.
다음과 같은 경고 신호를 주의 깊게 관찰하면 DNS 하이재킹을 감지할 수 있습니다. 웹 페이지 로딩 속도가 느려지고, 팝업 광고가 발생하지 않아야 할 사이트에서 자주 팝업 광고가 나타납니다. 예상치 못한 웹사이트로 리디렉션되거나 보안 인증서 경고가 표시될 수 있습니다. 인터넷 속도가 평소보다 느려지거나 익숙하지 않은 웹사이트가 나타난다면 DNS 하이재킹의 징후일 수 있습니다. 온라인 도구를 사용하여 DNS가 침해되었는지 확인할 수도 있습니다.
DNS 스푸핑은 캐시에 허위 DNS 레코드를 주입하여 트래픽을 일시적으로 리디렉션하는 행위입니다. DNS 하이재킹은 더 포괄적이며 DNS 인프라나 설정을 직접 장악하는 것을 포함합니다. 스푸핑은 일반적으로 로컬 네트워크나 개별 사용자에게 영향을 미치는 반면, 하이재킹은 전 세계적으로 전체 도메인에 영향을 미칠 수 있습니다.
DNS 스푸핑은 DNS 캐시 항목을 손상시키지만, DNS 하이재킹은 실제로 DNS 설정 자체를 변경합니다. 하이재킹은 스푸핑보다 지속적이고 탐지하기 어렵습니다.
도메인 등록기관 및 DNS 공급자 계정에 강력하고 고유한 비밀번호를 사용하면 DNS 하이재킹을 방지할 수 있습니다. 가능한 경우 2단계 인증을 활성화하세요. 등록기관 잠금 기능을 사용하여 무단 도메인 이전을 방지하세요. DNS 데이터에 암호화 서명을 추가하기 위해 DNSSEC 구현을 고려하세요.
DNS-over-HTTPS 또는 DNS-over-TLS와 같은 암호화된 DNS 프로토콜을 사용하세요. 라우터 펌웨어를 최신 상태로 유지하고 기본 비밀번호를 변경하세요. 무단 변경 사항이 있는지 DNS 설정을 정기적으로 모니터링하세요.
평소 이용하던 웹사이트에 접속할 수 없거나 알 수 없는 페이지로 리디렉션된다면 DNS가 하이재킹된 것입니다. 도메인 등록 기관 계정 정보가 작동하지 않거나, 본인의 알지 못하는 사이에 DNS 설정이 변경된 것을 발견할 수 있습니다. 사용자들이 귀하의 도메인에서 이상한 이메일을 받았다고 신고할 수도 있습니다.
도메인에 대해 비정상적인 네트워크 트래픽이나 예상치 못한 IP 주소가 확인될 수 있습니다. 합법적인 웹사이트에 접속할 때 보안 경고가 표시될 수도 있습니다.
예, VPN은 인터넷 트래픽을 암호화하고 DNS 요청을 보안 서버를 통해 라우팅함으로써 DNS 하이재킹을 방지하는 데 도움이 될 수 있습니다. VPN은 공격자가 사용자의 DNS 요청을 가로채기 어렵게 만듭니다. 그러나 VPN은 모든 유형의 DNS 하이재킹, 특히 도메인 등록 기관이나 DNS 공급자를 표적으로 하는 공격을 막지 못하기 때문에 완벽한 해결책은 아닙니다.
더 나은 보호를 위해 강력한 비밀번호 및 2단계 인증과 같은 다른 보안 조치와 함께 VPN을 사용해야 합니다.

