한국인터넷진흥원(KISA)은 2020년 11월 16일 DNS 캐시 오염(Cache Poisoning) 취약점(CVE-2020-25705)에 대한 보안 주의 권고를 발표했습니다. 외부로 나가는(Outbound) ICMP 오류 메시지가 허용된 DNS 서버에서는 포트 스캔으로 캐시에 저장된 도메인 주소 정보를 조작할 수 있다는 내용입니다. KISA는 DNS 서버를 운영하는 기관과 기업에 보안 강화를 요청하고, ICMP 설정 변경, 질의 메시지 기밀성 강화, 질의 시간 제한(Timeout) 조정을 대응 방안으로 제시했습니다.
무엇이 발표되었나
권고문에 따르면 DNS 캐시 오염은 DNS 리졸버(Resolver)의 캐시에 변조된 주소를 넣어, 사용자가 웹페이지에 접속할 때 공격자가 의도한 페이지로 접속하게 만드는 주소 변조 공격(파밍, Pharming)입니다.
이번 취약점(CVE-2020-25705)은 인터넷 제어 메시지 프로토콜(ICMP)의 Outbound 오류 메시지가 허용된 DNS 서버에서 발생합니다. 공격자는 포트 스캔으로 이 서버의 캐시 메모리에 저장된 도메인 주소 정보를 조작할 수 있습니다. 권고문은 참고 자료로 미국 UC 리버사이드(UCR)의 연구 페이지(SADDNS)를 함께 안내했습니다.
영향 범위
KISA는 ICMP 오류 메시지가 허용된 DNS 서버를 영향 대상으로 보고, 11월 16일까지 확인된 운영체제를 다음과 같이 밝혔습니다.
- Linux 3.18–5.10
- Windows Server 2019(버전 1809) 이상
- MacOS 10.15 이상
- FreeBSD 12.1.0 이상
이 목록은 발표 시점까지 확인된 운영체제 기준입니다. 따라서 특정 DNS 소프트웨어보다는 DNS 서버가 올라가 있는 운영체제와 네트워크 설정을 기준으로 해당 여부를 점검해야 합니다.
운영자가 할 일
권고문의 해결 방안은 다음과 같습니다.
1. ICMP 설정
- ICMP 응답 비활성화: Outbound Destination Port Unreachable 메시지를 내보내지 않도록 설정
- ICMP 전역 속도 제한(global rate limit) 랜덤화: 권고문은 관련 Linux 커널 커밋을 참고 자료로 안내했습니다.
- KISA는 Outbound ICMP를 차단하면 네트워크 진단 기능을 쓸 수 없어 잠재적인 비용이 생길 수 있다고 함께 언급했습니다. 차단 범위는 운영 환경에 맞게 정해야 합니다.
2. 질의 메시지 기밀성 강화
- 도메인 네임 시스템 보안 확장(DNSSEC) 적용
- 0x20 인코딩(0x20 encoding) 적용: 질의 이름의 대소문자를 무작위로 섞어 쓰는 방식으로, IETF 초안(draft-vixie-dnsext-dns0x20-00)이 참고 자료입니다.
- DNS 쿠키(DNS Cookie) 적용: RFC 7873이 참고 자료입니다.
3. DNS 질의 시간 제한 설정
- 질의 Timeout을 1초 미만으로 짧게 설정
정리하면, 캐시 DNS 서버(리졸버)를 운영한다면 먼저 서버 운영체제가 위 목록에 해당하는지, 해당 서버가 외부로 ICMP Port Unreachable 메시지를 내보내는지 확인하는 것이 좋습니다. 그다음 운영체제 업데이트 여부와 ICMP 정책을 검토하고, DNSSEC 검증과 DNS 쿠키 같은 보완 수단을 함께 적용할지 판단하면 됩니다.
문의는 KISA 사이버민원센터(국번 없이 118)로 하면 됩니다.
원문을 한국어로 번역·요약한 글입니다. 정확한 내용은 원문을 확인해 주세요. AI의 도움을 받아 작성하고 담당자가 검토했습니다.