여러분이 어떤 특정한 웹 페이지를 방문하려고 할 때, 당연히 해당 브라우저로 바로 접속될 것이라고 생각할 수 있습니다. 하지만 실제로 여러분이 접속하려고 했던 사이트가 아닌 사기 사이트에 접속할 수도 있으며, 그 사실조차 알아차리지 못할 수도 있습니다. 해커가 DNS 스푸핑 공격을 이용하여 DNS 레코드를 손상시키고 사용자를 실제 웹 사이트에서 가짜 웹 사이트로 리디렉션하는 경우에 이러한 일이 생깁니다. 과연 DNS 스푸핑(DNS spoofing)이 무엇인지, 그 원리는 무엇인지, 그리고 DNS 스푸핑으로부터 자기 자신을 보호하기 위해서 무엇을 할 수 있는지를 알아보고 싶으시다면 계속 읽어보세요.
Agnė Augustėnė
Sep 21, 2021 · 1분 소요
먼저 DNS 스푸핑의 작동 방식을 이해하려면 DNS 서버의 기능을 이해해야 합니다. 예를 들어, 여러분이 친구 집을 방문한다고 하면, “나는 누구누구네 갈 거야”라고 말할 것입니다. 반면 “나는 서울특별시 강남 몇 번지에 갈 거야”라고 말하는 사람은 없습니다. 마찬가지로 모든 웹 사이트에는 도메인 이름과 IP 주소가 있습니다.
하지만 IP 주소는 8자리 이상이기 때문에 이 많은 숫자를 기억하는 것이 너무 어려워 도메인 이름을 사용하는 것을 선호합니다. DNS(Domain Name System) 서버는 도메인 이름을 IP 주소로 변환하는 데 도움을 줍니다. 이는 마치 인간의 언어를 컴퓨터 언어로 번역하는 것과 같으며 다음과 같이 작동합니다.
www.nordvpn.com을 브라우저에 입력할 때, 가장 먼저 하는 일은 NordVPN 도메인의 IP 주소를 찾는 것입니다. 브라우저는 도메인 이름 레코드를 저장하는 DNS 서버에 연결하여 해당 정보를 찾습니다. 그런 다음 DNS 서버는 IP 주소를 찾아 브라우저로 정보를 보내고, 화면에 페이지가 표시됩니다.
v일반적으로 서버는 ISP에 속하지만 인터넷에 있는 모든 웹 사이트의 모든 IP 주소를 저장하지는 못합니다. 로컬 DNS 서버에는 일반적으로 로컬 네트워크에서 가장 많이 사용되는 주소만 존재하고 있습니다. DNS 서버에 브라우저가 찾고 있는 주소가 있는 경우에 DNS 서버는 해당 주소를 즉시 다시 보냅니다.
만약 DNS 서버에 찾고 있는 주소가 없다면 다른 DNS 서버로 전달해서 조회해야 합니다. 이렇게 로컬 서버가 브라우저로 주소를 전송하면 향후에 사용자에게 주소가 다시 필요할 경우에 대비하여 주소를 캐시에 임시 저장합니다.
해커가 중요한 정보에 접근할 수 없도록 해야 합니다. 오늘 NordVPN을 구독하세요. 30일 환불 보장 정책이 포함되어 있습니다.
DNS 스푸핑은 인터넷 사용자를 가짜 또는 악의적인 사기 웹 사이트로 리디렉션하는 데 사용되는 사이버 공격입니다. 실제 IP 주소를 다른 IP 주소로 교체하는 공격을 통해 해커들은 무고한 사용자들을 감시하고, 악성 프로그램을 설치하며, 로그인 자격 증명이나 은행 정보와 같은 개인 정보를 훔칩니다. 피해자들은 보통 브라우징을 하느라 실제로 어떤 일이 일어나는지 확인하기 어렵기 때문에 해커가 공격하고 있다는 걸 알기 어렵습니다.
해커는 DNS 주소를 스푸핑하고 인터넷 사용자를 가짜 웹 사이트로 리디렉션하기 위해 다양한 전략을 활용합니다. 해커들은 실제로 웹 사이트와 똑같이 생긴 복사본을 만들거나, 악성 프로그램으로 채우거나, 아니면 단순하게 웹 사이트가 해킹되었다”는 오류 메시지를 띄워서 사용자에게 보여줄 수 있습니다.
이러한 방법은 또한 DDoS 공격을 수행하는 데도 사용할 수 있습니다. 해커가 여러 도메인의 IP 주소를 한 웹 사이트에 속하는 IP 주소로 바꾸면, 해당 웹 사이트에 접속했던 모든 사용자들이 다시 새로운 도메인으로 리디렉션됩니다. 그렇게 되면 사이트가 너무 많은 요청을 처리할 수 없어 실행이 중단됩니다.
침입은 가장 확실한 방법이기는 하지만, 동시에 가장 어려운 방법이기도 합니다. 해커는 대상으로 지정할 DNS 서버에 액세스할 수 있는 사용자로부터 자격 증명을 받아야 합니다. 그리고 이러한 자격 증명을 얻기 위해 해커는 다양한 피싱 기술 또는 키로깅 악성 프로그램을 사용해야 합니다. 이렇게 자격 증명을 얻었다면 해커는 로그인하여 DNS 서버의 레코드를 변경할 수 있습니다.
침입은 캐시 포이즌 공격보다 더 복잡한 공격이지만 더 오래 지속됩니다. 해커가 만든 가짜 IP 주소는 누군가가 알아차리고 다시 변경할 때까지 서버에 남아 있게 됩니다. 또한 이를 조회하는 다른 DNS 서버에도 전파되며 짧은 시간 동안 캐시에 남아 있게 됩니다.
DNS 캐시 포이즌 공격은 가장 널리 사용되는 DNS 스푸핑 전략입니다. 침입보다는 쉽지만 결과는 그렇게 오래가지 않습니다. 침입과 마찬가지로 캐시 포이즌 공격은 가짜 IP 주소를 다른 DNS 서버의 캐시에 퍼트릴 수 있습니다.
캐시 포이즌 공격의 원리에 대해서 설명하자면, 해커는 DNS 서버에 IP 주소를 묻는 쿼리를 보냅니다. 이렇게 DNS 서버는 네임 서버에 쿼리를 전송하고, 해커는 권한이 있는 DNS 네임 서버인 척하며 직접 네임 서버에 응답합니다. 검증이 없는 것을 악용한 해커는 DNS 서버의 캐시에 가짜 IP 주소를 심을 수 있습니다.
결함이 있는 레코드가 한 번 생기면 해당 레코드가 요청한 다른 DNS 서버에도 전송됩니다. 캐시기 몇 시간마다 만료되더라도, 가짜 DNS 항목은 도메인의 사용 빈도에 따라 계속해서 확산될 수 있습니다.
공용 와이파이와 같이 안전하지 않은 연결을 사용하는 경우, 사용자는 중간자 공격에 취약해질 수 있습니다. 해커가 인터넷 연결을 가로채면, 여러분이 온라인에서 하는 모든 것을 볼 수 있고 여러분의 개인 정보를 불리한 방식으로 사용할 수 있습니다. 따라서 브라우저가 DNS 서버에 요청을 보낼 때마다 공격자는 원하는 IP 주소로 응답할 수 있습니다.
DNS 스푸핑은 일반적으로 더 큰 공격을 계획하는 것의 일부이기 때문에 해커는 여러분을 먼저 가짜 웹 사이트로 유도할 것입니다. 가짜 웹 사이트는 인기 있는 온라인 쇼핑몰 사이트나 SNS 사이트 등 실제 웹사이트와 똑같이 보일 수 있습니다. 그리고 이러한 웹사이트에서 로그인 자격 증명, 신용카드 정보 및 기타 중요한 개인 정보를 의심 없이 입력할 수 있도록 속입니다. 만약 여러분이 평소에 조심성이 없고 가짜 웹 사이트를 구분하는 방법을 잘 모른다면, 무언가가 이상하다는 것을 알아차리지 못하고 자신도 모르게 민감한 개인 정보를 드러낼 수도 있습니다.