cache poisoning

캐시 포이즈닝은 가짜 응답을 캐시에 먼저 넣는 공격이다

공격자는 리졸버가 권한 서버의 진짜 응답을 받기 전에, 질의와 맞아 보이는 위조 응답을 먼저 도착시키려 한다.

1 리졸버 질의TXID + qname + qtype source port

권한 서버로 질의를 보낸다.

2 공격자 경쟁spoofed answer

TXID, 포트, 이름, 타입을 맞춘 위조 응답을 밀어 넣는다.

3 캐시 오염victim.example → fake IP

성공하면 TTL 동안 잘못된 IP가 재사용된다.

TXID

응답이 원래 질의와 맞는지 확인한다.

source port

무작위 포트로 공격자가 맞혀야 할 공간을 넓힌다.

bailiwick

권한 범위 밖 레코드를 캐시에 넣지 않는다.

DNSSEC

서명 체인이 틀리면 응답을 거부한다.

공격자가 노리는 것방어가 줄이는 위험
응답을 먼저 도착시키기랜덤 포트와 TXID로 추측 난이도를 높인다.
가짜 권한 정보를 섞기bailiwick 검사가 권한 밖 데이터를 막는다.
데이터 변조 숨기기DNSSEC 검증이 서명 불일치를 잡는다.