티스토리 뷰

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

 

공격방법

1.스니핑을 이용한 DNS 스푸핑 : 스니핑을 하고 있다가 dns 서버에 질의를 날릴때 위조된 응답 날림

2.DNS Cache Poisioning 

 

DNS 스푸핑은 DNS 질의/응답에 사용하는 UDP 프로토콜의 비연결 특성 취약점을 이용한 공격 

TCP 같은 경우는 스니핑 하다가 세션 하이재킹을 해서 위변조 해야하는데 

UDP 같은 경우는 세션하이재킹이 필요 없음 상대적으로 위변조 하기가 쉽다 

DNS 질의/응답을 식별하기 위한 Transaction ID, 출발지/목적지 주소(IP,Port)만 일치하면 먼저 수신한 응답을 신뢰하고 이후에 수신한 응답을 모두 폐기하는 특성

ARP 스푸핑 gateway와의 통신을 하는 것을 ARP Redirect 라고 했음

 

더미 허브에 모두 연결되어 있어 무차별 모드(Promiscuous)로 동작 시 스니핑 가능(스위치 환경에서는 ARP Spoofing 등의방법을 통해 스니핑)

 

일반적으로 스니핑을 통한 DNS 스푸핑 공격은 동일 네트워크 내에서 발생하기 때문에 상대적으로 멀리 떨어져 있는(다른 네트워크)DNS 서버 보다 공격자가 빠르게 조작된 응답을 보낼 수 있다. 

 

대응책 

1. 스니핑 차단

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

ARP Spoofing 공격을 사용자 호스트와 게이트 웨이 라우터 간의  통신을 가로채면 ARP Redirect 공격이라고도 한다. 

dns spoofing 공격 시나리오

 

공격자 

fragrouter 를 통해 ARP spoofing 먼저함 

fragrouter 를 통해 희생자 호스트웨 g/w 간에 데이터 송수신이 일어날 수 있도록 

fragrouter -B1

arpspoof -i eth0 -t 희생자IP 게이트웨이/라우터IP

희생자 호스트에 대해서 게이트웨이의 MAC주소를 공격자의 MAC 주소로 위조하는 ARP Reply 패킷을 대량으로 만듬

arpspoof -i eth0 게이트웨이/라우터IP 희생자IP

게이트웨이에 대해서 희생자의 MAC 주소를 공격자의 MAC 주소로 위조 함

 

dnsspoof 라는 도구를 이용 

dnsspoof.txt 안에는 내가 조작할 IP와 도메인 주소를 적어놓음 

dnsspoof -i eth0 -f dnsspoof.txt 

ipconfig /flushdns

 

dns spoofing wireshark 패킷

DNS Cache Poisoning 공격

DNS 서버의 캐시정보를 조작하는 공격 

DNS 서버는 상위 DNS서버(최상위 root DNS 서버 계층 구조에 따른 DNS 서버)에 빈번하게 반복적 질의(Iterative Query)를 요청하여 부하가 발생하는 것을 막기 위해 캐시(Cache)를 사용하고 TTL(Time To Live)동안 이를 유지한다. 

 

일반적으로 Sniffing 하는 상황이 아니라서 Source Port와 Transaction ID를 알기 어렵기 때문에 임의의 값으로 계속 넣어야 하기 때문에 다수의 조작된 DNS 응답을 보낸다.

 

dns cache poisoning

 

Birthday Attack

공격자가 랜덤한 Transaction ID(2byte)를 다수 생성해서 DNS Cache Poisoning 공격을 하는 것을 생일 공격 기법을 이용했다고 말한다. 생일 공격은 우리가 예상하는 확률보다 실제 확률이 뜻밖에 높다는 이론에 기반하고 있다. 

 

대응책

1.도메인 관리용 DNS 서버(Authoritative 네임서버)는 재귀적 질의(Recursive Query)를 허용하지 않도록 설정, 제한된 사용자가 사용하는 Recursive DNS 서버라면 해당 사용자로 제한해서 사용.

DNS Cache Poisoning 공격이 Recursive Query를 통해 발생하니까 Recursive Query를제한하자.

 

2.DNSSEC(DNS Securiy Extension) 활용

데이터 위변조 공격에 취약한 DNS의 문제점을 근본적으로 개선.

IETF에 의해 2005년 완성된 국제 표준 기술

DNS에 공개키 암호화 방식의 보안기능을 추가 부여 한 것.

'3.어플리케이션보안' 카테고리의 다른 글

HTTP 쿠키 관련 보안 속성  (0) 2019.10.28
HTTP(Hyper Text Transfer Protocol)  (0) 2019.10.28
[Ubuntu18.04]네임서버 소프트웨어BIND 설치  (0) 2019.10.28
DNS  (0) 2019.10.28
DNS 동작 방식  (0) 2019.10.28
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함