도메인 이름 시스템(DNS) 하이재킹은 심각한 시스템 위협이며, 상당한 위험을 초래할 수 있습니다. 악성 제삼자는 이 공격으로 DNS 설정을 장악하고 사용자를 사기성 웹사이트로 리디렉션하여, 다양한 사용자에게 영향을 미칩니다. DNS 하이재킹을 완전히 이해하려면 DNS의 정의와 전반적인 기능을 파악하는 것이 중요합니다.
간단히 말해, DNS는 전 세계 웹사이트를 추적, 분류, 규제하는 데
사용됩니다. 사용자는 DNS를 활용하여 도메인 이름(kaspersky.com 등)을
사용자 브라우저가 인터넷 리소스(웹페이지 또는 블로그 기사 등)를 로드하는
데 필요한 IP 주소로 변환하여, 정보에 액세스할 수 있습니다. DNS의 작동
방식을 자세히 알아보려면 DNS 문서를 참조하십시오.
이제 DNS의 정의와 용도에 대해 이해하셨으니 DNS 하이재킹을 자세히
알아보겠습니다.
- DNS 하이재킹이란?
- DNS 하이재킹은 어떻게 이루어지나요?
- DNS 하이재킹 탐지 방법은?
- DNS 하이재킹 방지 방법은?
- DNS 하이재킹 관련 FAQ
DNS 하이재킹이란?
도메인 이름 시스템 하이재킹은 DNS 리디렉션 공격이라고도 하며, 피해자의 브라우저에서 전송된 DNS 쿼리가 잘못 처리되게 하여 사용자를 악성 웹사이트로 리디렉션하는 것을 말합니다.
DNS 캐시 포이즈닝(시스템이 로컬 메모리 캐시에 사기성 IP 주소를 기록) 등의 일부 DNS 스푸핑 공격은 DNS 레코드를 수정하는 데 중점을 두는 반면, DNS 하이재킹은 주로 피해자의 컴퓨터에 악성 코드를 설치하여 DNS 설정 자체를 변경합니다. 이를 통해 해커는 사용자의 라우터를 장악하거나 DNS 신호를 가로채거나, 혹은 단순히 DNS 통신을 해킹할 수 있습니다. 일반적으로 DNS 하이재킹은 더 광범위한 도메인 이름 시스템을 목표로 하는 공격 유형입니다.
이는 개인 사용자와 기업 모두에게 큰 문제입니다. 단일 사용자가 대상일 때는, 하이재커가 피싱(피해자에게 합법적인 웹사이트의 가짜 버전을 표시하여 암호, 로그인 자격 증명, 신용카드 정보 등의 사용자 데이터를 탈취)를 시도할 수 있습니다. 그러나 소비자 대상 웹페이지(기업 소유 등)가 대상이라면, 사이버 범죄자가 기업 웹사이트 방문자를 자신이 만든 사기성 페이지로 유도할 수 있습니다. 방문자가 해당 웹페이지에 접속하면, 해커가 다시 이 웹페이지를 사용하여 로그인 자격 증명과 기밀 개인 데이터를 탈취할 수 있습니다. 여기에는 기업 내부 업무와 관련된 직원 정보나 민감한 재무 데이터가 포함되기도 합니다. 이 공격으로 공식 인바운드 이메일에서 정보를 빼내기도 합니다. 따라서 DNS 하이재킹은 데이터와 프라이버시에 상당한 손실을 초래합니다.
흥미로운 점은 여러 유명 ISP(인터넷 서비스 제공업체)와 정부가 사용자의 DNS 요청을 가로채는 일종의 DNS 하이재킹을 사용하고 있다는 것입니다. ISP는 이를 통해 사용자가 알 수 없는 도메인 공간을 방문할 때 통계를 수집하고 광고를 제공합니다. 이때 IPS는 사용자를 자신의 웹사이트로 리디렉션하여, 오류 메시지 대신 광고가가 표시되도록 합니다. 정부는 검열을 목적으로, 그리고 사용자를 정부가 승인한 웹 도메인이나 페이지로 안전하게 리디렉션할 목적으로 DNS 하이재킹을 사용합니다.
DNS 하이재킹은 어떻게 이루어지나요?
브라우저에 웹사이트 주소를 입력하면 로컬 브라우저 캐시(최근에 사이트를 방문했다면)에서 웹페이지에 대한 정보를 수집하거나, 이름 서버(일반적으로 신뢰할 수 있는 인터넷 서비스 제공업체에서 제공)로 DNS 쿼리를 보냅니다. DNS 요청을 보내는 브라우저와 이름 서버 응답 사이의 통신 지점은 암호화되지 않아, 공격에 가장 취약합니다. 해커가 쿼리를 가로채고 사용자를 악성 웹사이트 중 하나로 리디렉션하여 금전을 탈취하는 것도 이 지점입니다. 오늘날 사이버 범죄자들이 사용하는 DNS 하이재킹에는 "로컬", "라우터", "로그", "중간자" 등 네 가지 유형이 있습니다.
로컬 하이재킹: 해커가 시스템에 트로이 악성 코드를 설치해 로컬 DNS 설정을 공격합니다. 공격 후 해커는 이 로컬 설정을 변경하여 자체 DNS 서버(예를 들면 기본 서버 대신)로 직접 연결하도록 할 수 있습니다. 여기서부터 피해자 브라우저에서 보내는 모든 요청이 해커의 서버로 전송되며, 해커가 원하는 것을 반환할 수 있습니다. 다른 일반적인 악성 웹 서버로 연결할 수도 있습니다.
라우터 하이재킹: 뜻밖의 말일 수도 있지만, 사이버 범죄 공격 지점은 대개 라우터를 먼저 노립니다. 기본 암호를 사용하거나 기존 펌웨어 취약점이 있는 라우터가 많고, 해커가 이를 쉽게 찾아낼 수 있기 때문입니다(라우터의 로그인 자격 증명을 개별 설정하지 않은 기업이 많습니다). 해커가 라우터에 로그인하면, DNS 설정을 수정하고 선호하는 DNS 서버(일반적으로 해커가 소유한 서버)를 지정하여 웹 주소가 IP 주소로 변환되는 것을 완전히 제어할 수 있습니다. 여기서부터 사용자의 브라우저 요청이 악성 사이트로 전달됩니다. 이는 사용자 개인 뿐만이 아닌, 감염된 라우터에 연결된 다른 사용자 전체에게 영향을 미치므로 특히 심각합니다.
로그 하이재킹: 이 사이버 범죄 유형은 표적이 된 기기에서 제어할 수 없어 로컬 하이재킹보다 훨씬 더 복잡합니다. 해커는 대신 ISP의 기존 이름 서버를 탈취하여 선택 항목을 변경합니다. 그 결과, 피해자는 겉으로는 문제가 없어 보이지만 실제로는 해커가 침투한 DNS 서버에 의심 없이 액세스하게 됩니다. 그러면 사이버 범죄자는 DNS 기록을 변경하여 사용자의 DNS 요청을 악성 웹사이트로 리디렉션합니다. ISP가 점점 더 높은 사이버 보안 표준을 채택하므로, 이 공격은 빈도가 낮고 실행도 어렵습니다. 하지만 이 공격이 실제로 발생하면, 해당 서버로 쿼리를 처리하는 모든 사용자가 피해자가 될 수 있어, 수많은 사용자에게 잠재적 영향을 미치게 됩니다.
중간자 공격: 이 공격 유형은 사용자와 DNS 간의 통신을 가로채는 데 중점을 둡니다. DNS 요청 중에는 암호화가 없는 것도 많으므로, 해커가 전문 도구로 클라이언트와 서버 간의 통신을 방해할 수 있습니다. 이때, 요청 사용자는 다른 목적지 IP 주소를 받아 악성 웹사이트로 연결됩니다. 이는 로컬 장치와 DNS 서버 자체에 대한 DNS 캐시 포이즈닝 공격의 일종으로도 사용될 수 있습니다. 결과는 위와 거의 동일합니다.
DNS 하이재킹 탐지 방법
다행히도 DNS 해킹 여부를 간단히 확인할 수 있는 방법은 많습니다. 우선, 자주 사용하는 웹사이트 중 평소보다 로딩이 계속 느리거나 무작위 팝업 광고(대개 컴퓨터가 "감염"되었다고 알려줌)가 더 많이 표시된다면 DNS 해킹 가능성이 있습니다. 그러나 이러한 증상만으로는 확실하지 않습니다. 다음은 컴퓨터에서 할 수 있는 몇 가지 실용적인 테스트입니다.
"핑 명령어" 테스트 수행
핑 명령어는 기본적으로 IP 주소의 실제 존재 여부 확인에 사용됩니다. 브라우저가 존재하지 않는 IP 주소를 핑하고 있는데도 여전히 리졸빙 중이라면 DNS가 해킹당했을 가능성이 높습니다. 이 테스트는 Mac과 Windows에서 수행할 수 있습니다. Mac에서는 간단합니다.
터미널을 열고 다음 명령을 입력합니다.
Ping kaspersky123456.com
"확인할 수 없음"이라고 표시되면 DNS가 정상입니다.
Windows 컴퓨터에서는 다음과 같이 하면 됩니다.
명령 프롬프트를 열고 다음을 입력합니다.
ping kaspersky123456.com
"확인할 수 없음"이라고 표시되면 DNS가 정상입니다.
라우터 확인 또는 "라우터 검사기" 사용
다음은 여러 온라인 사이트에서 제공하는 테스트입니다. 디지털 라우터 검사기 서비스는 신뢰할 수 있는 DNS 처리자로 시스템을 검사하고 인증된 DNS 서버를 사용 중인지 확인합니다. 또는 온라인으로 라우터 관리자 페이지로 이동하여 DNS 설정을 확인할 수 있습니다.
WholsMyDNS.com 사용
이 온라인 서비스는 사용 중인 DNS 서버와 해당 서버를 소유한 회사를 보여줍니다. 일반적으로 브라우저는 인터넷 서비스 제공업체에서 제공하는 DNS 서버의 IP 주소를 사용합니다. 회사 이름이 익숙하지 않다면 DNS가 하이재킹을 당했을 수 있습니다.
DNS 서버가 해킹당한 사실을 알고 있거나 이전에 해킹당한 적이 있다면 Google 공용 DNS 서버와 같은 대체 공용 DNS 서비스를 사용하는 것이 좋습니다.
DNS 하이재킹 방지 방법은?
로컬, 라우터, 로그 DNS 하이재킹 등 유형과 무관하게 애초에 해킹을 당하지 않는 것이 가장 좋습니다. 다행히도 DNS 보안과 데이터 보안 전반을 강화할 수 있는 여러 대책이 있습니다.
의심스럽거나 낯선 링크는 절대 클릭하지 않기: 여기에는 이메일, 문자 메시지, 소셜 미디어의 링크도 포함됩니다. URL 단축 도구는 위험한 링크 목적지를 마스킹할 수 있으므로 가급적 사용하지 않습니다. 시간이 더 걸리더라도, 항상 브라우저에 URL을 직접 입력하도록 합니다(합법적인지 확인한 이후에만).
믿을 수 있는 바이러스 백신 소프트웨어 사용하기: 컴퓨터에서 정기적으로 악성 코드를 검사하고, 소프트웨어 업데이트 메시지가 표시되면 즉시 업데이트하는 것이 가장 좋습니다. 시스템의 보안 소프트웨어는 로컬 하이재킹 중에서도 특히 트로이 목마 악성 코드 감염 시 DNS 하이재킹에 따른 감염을 발견하고 제거하는 데 도움이 됩니다. 악성 웹사이트는 각종 악성 코드와 애드웨어 프로그램을 전달할 수 있으므로, 바이러스, 스파이웨어 등 기타 숨은 문제를 계속 검사해야 합니다.
가상 사설망(VPN) : VPN은 모든 웹사이트 쿼리 및 트래픽에 암호화된 디지털 터널을 제공합니다. 잘 알려진 VPN은 대개 엔드투엔드 암호화 요청만 사용하는 사설 DNS 서버를 사용하여 사용자의 로컬 컴퓨터와 해당 DNS 서버를 보호합니다. 그 결과, 서버가 중단될 수 없는 요청을 처리하여 중간자 DNS 하이재킹의 가능성을 근본적으로 줄일 수 있습니다.
라우터 암호(및 사용자 이름) 변경하기: 비교적 단순하고 당연해 보이지만, 이를 간과하는 사용자가 많습니다. 앞서 언급했듯이, 라우터의 기본적인 로그인 세부 정보는 대동소이하여 쉽게 해킹할 수 있습니다. 새할 때는 항상 "강력한" 암호(특수 문자, 숫자, 대문자, 소문자를 혼합하여 10~12자)를 사용하는 것이 좋습니다.
주의: 익숙하지 않은 웹사이트를 방문했을 때 이전에 본 적이 없는 특이한 팝업, 랜딩 페이지, 탭이 표시되면 즉시 해당 페이지를 나가야 합니다. 디지털 경고 신호 인지는 사이버 보안 강화의 첫걸음입니다.
하지만 본인이 웹사이트 소유자라면 DNS 하이재킹을 방지할 수 있는 몇 가지 방법이 있습니다.
DNS 액세스 제한하기: 전담 IT 팀원 몇 명에게만 DNS 설정 접근 권한을 제공하여 이를 기회로 악용하려는 사이버 범죄자를 막을 수 있습니다. 또한 접근 권한을 받은 이들이 DNS 등록기관 액세스 시 2단계 인증을 사용하는지 확인합니다.
클라이언트 잠금 활성화하기: 일부 DNS 등록기관은 승인 없이 DNS 기록을 변경하지 못하도록 "클라이언트 잠금"을 지원합니다. 가능하면 활성화하는 것이 좋습니다.
DNSSEC를 지원하는 등록기관 이용하기: 도메인 이름 시스템 보안 확장자는 일종의 "확인된 실제" 레이블로, DNS 조회의 신뢰성 유지에 도움이 됩니다. 이렇게 하면 해커가 DNS의 요청을 가로채기가 더 어려워집니다.
DNS 하이재킹 및 기타 형태의 악성 코드 공격에 단단히 대비해야 합니다. Kaspersky 보안 솔루션을 사용하면 여러 장치에서 온라인 활동을 안전하게 보호하고 비공개로 유지할 수 있습니다. 지금 더 자세히 알아보십시오.
연관 제품: