2020년 1월 7일
DNS Spoofing (Cache Poisoning)
I. DNS 캐시 위변조, DNS Spoofing (Cache Poisoning)
가. DNS Spoofing의 개념
- Cache DNS 서버의 Cache에 위/변조된 레코드 정보를 추가시켜 사용자가 URL 질의 시 위/변조된 서버로의 접속을 유도하는 해킹 기법
- DNS 캐시 포이즈닝(DNS Cache Poisoning)이라고도 하며, 파밍(Pharming) 공격의 일종
나. DNS Spoofing의 공격 사례
유명 도메인의 유해사이트 연결 | – www.google.com 등 유명 도메인 입력 시 유해사이트로 연결 – DNS 기능에 캐시 오염(Cache Poisoning) 취약점으로 밝혀짐 |
도메인 탈취 | – ebay 등 유명 도메인의 특정 ISP의 위장 서버로 접속되는 현상 – ICANN 변경 도메인 변경 절차의 허점 악용한 도메인 탈취 사고 |
II. DNS Spoofing 공격 절차 및 주요 기법 설명
가. DNS Spoofing 공격 절차
나. DNS Spoofing의 주요 기법
주요 기법 | 기법 설명 |
---|---|
잘목된 응답정보 전송을 통한 공격 | – 공격자의 Authoritative Name Server를 이용하여 잘못된 정보의 전송 |
DNS ID Sniffing 또는 Hijacking 기반 공격 | – 질의 정보를 인터넷 상에서 가로채 위조된 응답을 전송하는 방식 |
Random ID 생성을 통한 공격 | – 정상 응답 도달 전 ID 추측 기반 다수 응답을 보내 잘못된 캐시 유도 |
- DNS 캐시 데이터 위/변조 취약점을 보완하기 위해 DNSSEC 적용 등 근본적 대응 필요
III. DNS Spoofing 대응 위한 리소스 레코드 (DNSSEC)
추가 레코드 | 레코드 설명 |
---|---|
DNSKEY | 도메인 존의 공개키 데이터를 저장하여 제공하기 위한 리소스 레코드 |
RRSIG | 존 내 RRSet에 대한 개인키의 전자서명 결과값을 갖는 리소스 레코드 |
DS | 보안 측면 인증된 위임 체계를 구성하기 위한 데이터 저장 리소스 레코드 |
NSEC | DNS 데이터 부재 인증을 위해 정의된 리소스 레코드 |
- DNS 스푸핑 대응 시 IP 송수신 주소와 Port Transaction ID가 일치하더라도 Response Resource Record의 서명 데이터를 검증하여 DNS 응답 패킷에 대한 위/변조 여부 판단