Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
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
29 30
Archives
Today
Total
관리 메뉴

스푸핑(Spoofing) 정리 본문

Study/Etc

스푸핑(Spoofing) 정리

awakerrday 2018. 8. 28. 09:01

스푸핑(Spoofing)의 사전적 의미는 '속이다'이다. 네트워크에서 스푸핑 대상은 MAC 주소, IP주소, 포트 등 네트워크 통신과 관련된 모든 것이 될 수 있고, 스푸핑은 속임을 이용한 공격을 총칭한다.


ARP 및 RARP 프로토콜 특징

- L3에서 논리적인 주소(IP)와 물리적인 주소(MAC) 사이의 변환을 담당하는 프로토콜

  ARP: IP -> MAC / RARP: MAC -> IP

- 시스템은 ARP Cache Table을 가지고 있고 Cache에 IP에 대한 MAC 주소 저장

  arp -a(캐시 확인), arp -s (static 설정), arp -d (캐시 삭제)


ARP Spoofing (ARP Cache Poisoning)

동일한 네트워크 안에서 공격자 C가 희생자 A, B의 MAC 주소를 공격자 자신의 MAC 주소로 위조한 

ARP Reply 패킷을 각각 A, B에게 지속적으로 전송

A의 ARP Cache Table: B의 MAC 주소 => 공격자 C의 MAC 주소 변경됨

B의 ARP Cache Table: A의 MAC 주소 => 공격자 C의 MAC 주소 변경됨

공격자 C는 중간에서 희생자간 정상적인 통신이 이루어지도록 IP Forward 기능을 활성화

A, B가 주고받는 패킷을 스니핑할 수 있다.

ARP redirect: 희생자의 라우터(Gateway address)의 MAC 주소를 공격자의 MAC 주소로 위조하여 

네트워크 외부로 나가는 패킷을 스니핑


-> arp -s (MAC 주소 정적 설정), ARP 트래픽 실시간 모니터링(ARPWatch) 등으로 대응


IP Spoofing

src IP를 속이고 통신하는 공격으로 1995년 케빈 미트닉이 처음 시도함. 

시스템 간 트러스트 관계(신뢰 IP 등록 설정)를 이용, 트러스트 관계가 맺어진 서버와 클라이언트를 확인하고

DoS를 이용하여 클라이언트를 연결 불가능한 상태로 만든 후

공격자가 클라이언트의 IP로 spoofing하여 서버에 접속하는 공격방식

트러스트 설정: /etc/hosts.equiv, $HOME/.rhost 


-> 트러스트 설정 및 r계열 서비스 (rlogin, rsh, rexec) 사용금지


Recursive DNS 서버 

호스트의 재귀적 질의(Recursive query)를 받아들여 캐시에 저장된 정보를 기반으로 응답을 처리하거나 

Authorative DNS 서버에 반복적 질의(Iterative query)를 요청하여 그 결과를 호스트에 응답해주는 DNS 서버

ex) ISP 업체가 제공해주는 DNS 서버 - KT:168.126.63.1, Google public: 8.8.8.8


Authorative DNS 서버

특정 도메인에 대한 정보를 관리하면서 해당 도메인에 대한 질의에만 응답해주는 네임서버

네임서버가 관리하는 도메인 = Zone, 관리 도메인에 대한 정보를 담고있는 파일 = Zone File

존파일을 읽어 존 데이터를 구성하고 이를 이용하여 질의에 응답

ex) 각 회사/사이트별로 관리하는 DNS 서버 - Google: ns1.google.com/216.239.32.10


존데이터 관리 측면에서 원본 존 데이터를 관리하는 Master 네임서버와 이를 동기화해서 사용하는 Slave 네임서버로 구분

TCP 53번 포트로 존파일 전송하여 동기화 (Zone Transfer) 

named.conf: 네임서버 설정파일에서 존 설정

allow-recursion {Allow IP Address or None}; (재귀적 질의 접근제한 -> DoS 방지, DNS Cache Poisoning 방지)

allow-transfer {Slave DNS Address or None}; (존 전송 제한 -> DoS 방지, Zone 데이터 노출 방지)


반복적 질의(Iterative query)

최상위 Root 네임서버부터 계층구조에 따라 대상 도메인 네임서버까지 각 네임서버가 응답하는 위임된 

네임서버 정보에 따라 순차적으로 반복하여 진행하는 질의를 의미


DNS Spoofing

ARP Spoofing 등을 활용한 스니핑 기반 DNS Spoofing과 

Recursive DNS 서버를 대상으로하는 DNS Cache Poisoning으로 분류됨


스니핑 기반 DNS Spoofing

희생자의 패킷을 스니핑하면서 DNS query가 발생하면 DNS에 대한 IP 주소를 위조하고

정상응답보다 빠르게 위조된 응답을 전송하여 공격자가 원하는 주소로 접속하게 만드는 공격기법

이후 도착한 정상응답은 먼저 수신한 응답을 신뢰하는 특성으로 버려짐


-> 스니핑 탐지 및 차단 (ARP Spoofing 탐지 및 차단), 중요 사이트 IP는 hosts 파일에 등록하여 관리 

(윈도우 호스트 질의 검색 순서 : 로컬 DNS Cache, hosts.ics, hosts 파일) 



DNS Cache Poisoning

Recursive DNS 서버의 캐시정보를 조작하는 공격. 캐시가 TTL동안 유지되는 동안 

DNS 서버에 접근하는 다수의 호스트가 조작된 DNS 응답을 수신하며 대규모 보안사고 발생 가능.


- 공격자는 공격 대상 Recursive DNS 서버에 다수의 재귀적 질의(Recursive query) 요청

- Recursive DNS 서버는 Authorative DNS 서버에 반복적 질의(Iterative query) 수행

- 공격자는 Recursive DNS 서버가 반복적 질의(Iterative query) 처리중일 때 다수의 랜덤한 TxID와 목적지 port를 설정하여 

  DNS에 대한 IP가 조작된 응답을 전송 (Authorative DNS 서버로 위장한 응답 전송) 

- 조작된 응답중 정상 응답보다 먼저 일치하는 응답(TxID 일치)이 있으면 (Birthday paradox 원리 기반) 

  조작된 주소정보가 Recursive DNS 서버 캐시에 저장되고 이후에 정상응답은 버려짐 


-> 네임서버 소프트웨어 최신버전 유지, allow-recursion, DNSSEC 활용 등




'Study > Etc' 카테고리의 다른 글

Snort Rule  (0) 2018.09.07
Suninatas System + Binary 11  (0) 2018.09.06
스턱스넷 (Stuxnet) 요약  (0) 2018.08.28
WinDbg  (0) 2018.08.19
vim 에디터 설정  (0) 2018.03.26
Comments