728x90
DNS Spoofing
DNS Spoofing은 요청자가 자신의 요청에 대한 DNS 서버의 응답을 검증하는 프로세스가 없는 것을 이용한 공격기법이다.
DNS응답의 IP 주소나, 캐시 정보를 조작하여 피해자가 의도하지 않은 서버로 이동하게 하는 공격이다.
이는 아래와 같이 2가지 공격 방식을 지닌다.
sniffing 기반 spoofing
공격자가 피해자를 스니핑 하고 있다가, 피해자가 DNS 요청을 보내면 정상 DNS 서버보다 빠르게 조작된 IP 정보를 포함한 DNS 응답을 보내 악성 사이트를 접속하게 만드는 기법이다.
일반적으로 동일 네트워크 내에서 발생하게 된다.
대응책
- 스니핑이 우선적으로 선행되어야하기 때문에 스니핑을 차단
- DNS 질의보다 우선인 hosts 파일에 도메인 정보를 저장
cache poisoning
DNS 서버는 DNS 상위 서버에 질의로 인한 부하를 줄이고 더 빠르게 응답을 전달할 수 있도록 캐시를 이용한다.
이러한 캐시 정보를 손상시키는 것을 CACHE Poisoning이라고 한다.
- 공격자는 다수의 Transaction ID와 Port를 생성하여 DNS 서버에 지속적으로 조작된 DNS 응답을 보낸다.
- DNS 서버가 정상적으로 상위 DNS에 질의를 하던 중 공격자의 Transaction ID와 Port가 정상적인 서버의 질의의 Transaction ID와 Port와 일치하게 된다면 공격자의 응답이 더 우선적으로 도착되기 때문에 서버에 조작된 캐시가 저장된다.
- 이를 질의하는 사용자는 조작된 캐시에 의해 조작된 사이트로 접속하게 된다.
대응책
- Authoritative 서버는 재귀질의를 제한하도록 설정
- DNSSEC을 이용
DNSSEC(DNS Security Extensions)
DNS의 보안 취약점을 개선하기 위해서 개발된 기술
DNSSEC은 DNS 응답에 디지털 서명을 추가하여 응답의 무결성과 신뢰성을 보장함
→ **단, 디지털 서명을 추가하는 방식이기 때문에 기밀성은 보장할 수 없음
DNS CAHCHE POISONING을 방어할 수 있음**
작동방식
- 도메인 소유잔느 DNSSEC 키를 생성하여 DNS 레코드에 등록
- DNS 서버는 DNS 응답과 함께 디지털 서명을 제공
- 요청자는 DNS 서버가 보낸 응답에 디지털 서명이 제공되어 있는지 확인
- 서명이 유효한 경우 해당 응답을 수신하고 그렇지 않다면 폐기함