DNS 스푸핑
IT 위키
DNS Spoofing
DNS 응답을 위조해 사용자를 공격자가 원하는 서버로 유도하는 공격
정상 도메인 이름을 입력해도 공격자의 IP 로 접속하게 되므로, 피싱 사이트로 유도하거나 악성코드를 배포하는 데 쓰인다.
- DNS 캐시 포이즈닝(Cache Poisoning)
- DNS 서버의 캐시에 위조된 레코드를 심는다.
- 한 번 오염되면 TTL 동안 그 서버를 쓰는 모든 사용자가 영향을 받아 피해 범위가 넓다.
- 스니핑 기반 스푸핑
- 같은 네트워크에서 클라이언트의 질의를 엿보고, 정상 서버보다 먼저 위조 응답을 보낸다.
- DNS 는 UDP 기반이고 먼저 온 응답을 받아들이기 때문에 가능하다.
- hosts 파일 변조
- 악성코드가 단말의 hosts 파일을 고쳐 특정 도메인만 다른 IP 로 보내게 한다. 파밍의 전형적인 수법이다.
- DNSSEC : DNS 응답에 전자서명을 붙여 위조 여부를 검증한다. 근본적인 대응이다.
- DNS over TLS(DoT), DNS over HTTPS(DoH) 로 질의 구간을 암호화한다.
- 질의 ID 와 출발지 포트를 무작위화해 추측을 어렵게 한다.
- 신뢰할 수 있는 DNS 서버만 사용하고, 단말의 hosts 파일 변경을 감시한다.
- 접속한 사이트의 인증서를 확인한다. 스푸핑되어도 TLS 인증서 검증에서 걸러진다.
