관리 메뉴

Jsecurity

DNS 스푸핑(Spoofing) 공격 본문

정보보안/정보보안기사

DNS 스푸핑(Spoofing) 공격

Great king 2019. 9. 1. 18:31

개요

- DNS 스푸핑은 공격 대상에게 전달되는 DNS IP주소를 조작하거나 DNS 서버의 캐시 정보를 조작하여 희생자가 의도하지 않은 주소로 접속하게 만드는 공격을 말한다.

- 희생자 입장에서는 정상적인 URL로 접속하지만 실제로는 공격자가 만든 가짜 사이트로 접속하게 된다. 

 

공격 방법

1. 스니핑을 이용한 DNS Spoofing

2. DNS 캐시 포이즈닝 (Cache Poisoning)

 

 

스니핑(Sniffing) 기반의 DNS Spoofing 공격

 

스니핑 기반 DNS 스푸핑

①  공격대상이 DNS 질의를 수행하면 공격자가 스니핑하고 있다가 정상 응답보다 빠르게 희생자에게 조작된 웹사이트 IP 정보를 담은 DNS 응답을 보내 정상 주소를 입력해도 조작된 주소로 접속하게 만드는 공격기법이다.

② 조작된 응답 이후에 도착하는 정상 응답은 먼저 수신한 응답을 신뢰하는 특성으로 인해 폐기된다.

 

대응책

- 스니핑을 이용한 DNS 스푸핑 공격은 기본적으로 스니핑을 이용하기 떄문에 이를 탐지 및 차단하도록 한다.

- 중요한 사이트의 IP 주소에 대해서는 DNS 질의보다 우선순위가 높은 hosts 파일에 등록하여 관리한다.

 


DNS Cache Poisoning 공격

DNS 서버의 캐시정보를 조작하는 공격DNS Cache Poisoning 공격이라 한다.

② DNS 서버는 상위 DNS 서버에 빈번하게 반복적 질의를 요청하여 부하가 발생하는 것을 막기 위해 캐시를 사용하고 TTL동안 이를 유지한다.

③ DNS 서버 자체를 공격하기 때문에 DNS 서버의 캐시정보가 일정시간(TTL) 유지되는 동안 해당 서버에 접근하는 다수의 사용자들이 조작된 DNS 응답을 수신하여 대규모의 보안 사고가 발생할 수 있다.

 

DNS Cache Poisoning 공격

공격 동작방식

1. 공격자는 공격 대상 DNS서버에 조작할 도메인 질의를 다수 보냄

 

2. 공격자는 공격 대상 DNS 서버가 반복적 질의를 수행하는 동안 다수의 조작된 DNS 응답을 보낸다. 그 이유는 공격 대상 DNS 서버가 반복적 질의 시 사용하는 Transaction ID와 출발지 Port를 모르기 때문에 랜덤한 Transaction ID와 목적지 Port를 다수 생성하여 응답한다.

 

3. 공격자의 조작된 응답 중 정상 응답보다 먼저 일치하는 응답이 있으면 조작된 주소정보가 공격 대상 DNS 서버의 캐시에 저장되고 이를 질의하는 사용자는 조작된 주소의 사이트로 접속하게 된다.

 

공격 대응책

네임서버의 소프트웨어를 최신 버전 상태로 유지하여 알려진 취약점에 의한 공격이 발생하지 않도록 한다.

- 도메인 관리용 DNS 서버는 재귀적 질의를 허용하지 않도록 사용하고, 제한된 사용자가 사용하는 Recursive DNS 서버라면 해당 사용자로 제한해서 허용하도록 한다.

 

Comments