디엔에스 스푸핑
디엔에스 스푸핑(Domain Name Service spoofing)은 컴퓨터 해킹 공격 기법 중 하나로, 도메인 네임 시스템(DNS, domain name system)에서 전달되는 아이피 주소를 변조하거나 도메인 네임 시스템의 서버를 장악하여 사용자가 의도하지 않은 주소로 접속하게 만드는 공격 방법이다.
개요[편집]
도메인 네임 시스템은 각각의 URL에 대해 컴퓨터에서 사용되는 숫자나 문자로 구성된 아이피 주소에 관한 정보를 가지고 있다. 사용자의 컴퓨터는 보통 UDP 프로토콜을 이용하여 도메인 네임 시스템에 질의하면 도메인 네임 시스템 서버는 질의에 대한 대응되는 아이피 주소를 사용자에게 반환해준다. 만약 도메인 네임 시스템이 존재하지 않는다면 현재 우리가 사용하고 있는 문자로 되어 있는 주소들을 사용할 수 없다.[1]
특징[편집]
공격원리[편집]
사용자의 컴퓨터는 보통 컴퓨터가 사용하는 아이피 주소 대신 사람들이 쓰기 편한 문자로 구성된 URL주소를 사용한다. 하지만 컴퓨터는 URL주소를 바로 인식할 수 없기 때문에, 사용자로부터 URL주소를 입력 받으면 등록된 도메인 네임 시스템의 주소로 UDP 프로토콜을 이용하여 질의를 보낸다.
- 중간자 공격을 이용한 공격
- 질의를 보낼 때 중간자 공격을 받는 경우에는 사용자의 컴퓨터가 보내는 질의의 내용을 수정하여 도메인 네임 시스템 서버에 전송하고, 도메인 네임 시스템 서버는 변경된 질의에 대한 답을 사용자의 컴퓨터로 보내고, 사용자의 컴퓨터는 질의에 나와 있는 아이피 주소를 이용하여 접속하게 된다. 이때 이미 질의가 중간자 공격으로 인해 원래의 값이 아니기 때문에 의도치 않은 곳으로 접속될 수 있다.
- 사용자의 컴퓨터에 저장된 도메인 네임 시스템 주소가 변조되어있을 경우의 공격
- 만약 사용자의 컴퓨터에 등록된 도메인 네임 시스템의 아이피 주소가 다른 요인으로 인해 이미 변경되어 있으면, 사용자의 컴퓨터가 제대로 된 질의를 보내도 이미 공격자가 지정한 서버에 질의를 보내게 되므로 의도치 않은 곳으로 접속될 가능성이 있다.[1]
- 디엔에스 요청에 위조된 패킷을 보내주는 기법
- 공격자가 네트워크에 공격용 웹 서버를 열어두고 대기하고 있을때 네트워크에 디엔에스 서버로 보내지는 패킷이 있는지 확인한다. 목적지가 자신이 아닌 패킷은 읽지 않고 버려야 하지만 설정을 변경해서 모든 패킷을 읽어오게 하는 것이다. 디엔에스 서버로 보내지는 패킷이 있다면, 그것을 보낸 PC에 자신이 원하는 변조된 아이피를 전송한다. 보통 공격자가 디엔에스 서버보다 물리적으로 가까이 있음으로 공격자가 보낸 패킷이 디엔에스 서버가 보낸 정상적인 패킷보다 먼저 도착하고 PC는 먼저 받은 답변이 디엔에스의 것이라고 믿고 있기 때문에 나중에 온 정상적인 패킷은 버려지고 PC는 변조된 아이피로 접속하게 된다.[2]
- DHCP 서버를 위조하는 기법
- 대부분의 PC나 스마트폰 등은 DHCP를 이용하여 자동으로 아이피를 할당받는다. 그리고, 아이피를 할당 받을 때 자동으로 디엔에스 서버의 아이피도 할당 받게 되어있는데, 이를 이용해 해커가 사설 DHCP 서버를 열어 두고, 위조된 도메인 네임 시스템 서버 정보를 주는 방법이다. 사실 DHCP 서버를 위조할 수 있다면 게이트웨이 아이피를 해커의 컴퓨터로 지정하게 만드는 방법이 더 널리 사용된다. 그럴 경우, 피해자의 모든 트래픽은 해커의 컴퓨터를 거쳐서 지나가게 되므로, 지나가는 패킷을 확인해서 암호를 비롯한 개인정보를 훔쳐볼 수 있게 된다.[2]
증상[편집]
- 기존 도메인 주소를 이용해서 접속하였으나 성인 사이트 및 쇼핑몰 사이트로 접속된다.
- 네트워크 트래픽 발생량이 급격하게 증가한다. 네트워크 응답이 지속해서 늦어지거나 네트워크 장애가 발생할 경우에도 감염을 의심할 수 있다.
- 정기적으로 에이알피 응답 패킷이 다량으로 발생한다. 에이알피 테이블을 유지하기 위해, 공격자가 공격 대상에서 에이알피 응답 패킷을 지속해서 보내 공격 대상은 관제를 통해 에이알피 응답 패킷 수신량이 증가함을 확인할 수 있다.[3]
대안[편집]
- 에이알피 스푸핑 방어 : 디엔에스 스푸핑을 하기 위해서는 에이알피 스푸핑(ARP Spoofing)이 이루어져야 하기 때문에 먼저 에이알피 스푸핑을 막는 것이 대안이 될 수 있다.
- 호스트 파일에 중요한 사이트의 아이피 주소를 적기 : 클라이언트가 아이피를 찾기위해 도메인 네임 시스템 서버 이전에 호스트 파일을 먼저 참조한다. 그 때문에 중요한 작업을 하는 사이트는 호스트 파일에 아이피를 미리 적어두는 것만으로도 방어가 가능하다. 하지만 이러한 방법은 중요한 사이트의 아이피가 변경된다면 오류가 발생하고 모든 페이지를 호스트 파일에 적어둘 수 없기 때문에 완벽한 방어 방법은 아니다.
- 보안장비를 설치 : 보안장비는 스스로 도메인과 아이피를 매칭해 정상적인 사이트인지 확인하고 정상적인 사이트라면 저장해둔다. 이렇게 정상적이라고 검증된 사이트에 대해서만 클라이언트 서비스를 제공하는 기능을 가진다. 클라이언트는 검증된 사이트가 아니라면 접근이 불가능하지만 접근이 가능한 사이트는 확실히 안전한 사이트를 받는다는 장점이 있다.[4]
- 클라우드플레어 API : 인터넷 성능 및 보안 전문 업체 클라우드플레어(Cloudflare)가 인증기관(CA)을 위한 무료 API를 발표했다. 이는 공격자들이 하이재킹이나 디엔에스 스푸핑 공격을 통해 도메인 인증(DCV) 과정을 못 하게 함으로써 인증기관이 더욱 안전하게 인증서를 발급할 수 있도록 해주는 기능을 가지고 있다.[5]
각주[편집]
- ↑ 1.0 1.1 위키백과 - https://ko.wikipedia.org/wiki/DNS_%EC%8A%A4%ED%91%B8%ED%95%91
- ↑ 2.0 2.1 나무위키 - https://namu.wiki/w/DNS%20%EC%8A%A4%ED%91%B8%ED%95%91
- ↑ 미니, 〈(Network_Security) DNS Spoofing〉, 《네이버 블로그》, 2012-06-01
- ↑ 이만석, 〈DNS Spoofing 방어 대책〉, 《티스토리》, 2017-10-22
- ↑ 문가용 기자, 〈가짜로 인증서 발급받는 행위 막기 위해 무료 API 개발됐다〉, 《보안뉴스》, 2019-06-19
참고자료[편집]
- 위키백과 - https://ko.wikipedia.org/wiki/DNS_%EC%8A%A4%ED%91%B8%ED%95%91
- 나무위키 - https://namu.wiki/w/DNS%20%EC%8A%A4%ED%91%B8%ED%95%91
- 미니, 〈(Network_Security) DNS Spoofing〉, 《네이버 블로그》, 2012-06-01
- 이만석, 〈DNS Spoofing 방어 대책〉, 《티스토리》, 2017-10-22
- 문가용 기자, 〈가짜로 인증서 발급받는 행위 막기 위해 무료 API 개발됐다〉, 《보안뉴스》, 2019-06-19
같이 보기[편집]