본문 바로가기

정보보호/정보보호론(박승철)

정보보호론-(4) 스푸핑(Spoofing), 패킷 가공, 중간자 공격

정보보호론-(4) 스푸핑(Spoofing), 패킷 가공, 중간자 공격

스푸핑 공격(Spoofing Attack)
- ARP Spoofing
- IP Spoofing
- DNS Spoofing

패킷 가공 공격(Packet Crafting Attack)
- 패킷 조합(Packet Assembly) 공격
- 패킷 편집(Packet Editing) 공격
- 패킷 재현(Packet Replay) 공격

중간자 공격(Man-In-the-Middle Attack)

ARP(Address Resolution Protocol)
- IP 주소에 대응되는 네트워크 상의 MAC 주소를 찾는 프로토콜
- IP Address -> MAC Address
- 목표 시스템의 IP 주소를 담은 ARP 요청 메시지를 네트워크에 브로드캐스팅(Broadcasting)
- 목표 시스템은 자신의 IP주소와 MAC 주소를 포함하는 ARP 회신 메시지를 사용자에게 전송
- 사용자 시스템은 ARP 회신 메시지의 IP 주소와 MAC 주소를 ARP 캐쉬 테이블에 저장하고 사용함.

# ARP 스푸핑 공격이 가능한 이유
- ARP 회신 메시지를 수신할 때마다 자신의 ARP 요청 메시지 송신 여부와 관계 없이, 그리고 ARP 회신 메시지의 송신자에 대한 인증 과정 없이 자신의 ARP 테이블 갱신

 

<그림 1: ARP 스푸핑 절차>

- 공격자는 IP01 사용자가 IP02 사용자에게 보내는 데이터를 스니핑하고자 한다.
- 이를 위해, IP02에 해당하는 MAC 주소를 공격자의 MAC 주소로 속이는 과정이다.
- (2) 공격자는 (IP02, MAC0a)의 ARP 회신 메시지를 사용자1에게 전달
- (2) 사용자1은 별도의 인증 절차없이 자신의 ARP Cache Table을 수정
- (3) 사용자1이 IP02(사용자2)에게 데이터를 전송하고자 할때 공격자에 해당하는 MAC 주소로 데이터를 전달
- (4) 공격자는 사용자1이 사용자2에게 보낸 데이터를 확인할 수 있음
- (5) 공격자는 사용자2에게 사용자1이 보낸 데이터를 전송(사용자1이 보낸 것처럼 패킷을 위조)

ARP 스푸핑의 응용
- 트래픽 스니핑
- 패킷 조작등의 중간자 공격
- 대응책 : 정적 ARP 테이블, ARP 메시지 모니터링

IP 스푸핑(IP Spoofing)
- IP 패킷의 출발지 IP 주소(Source IP Address)를 조작함으로써 공격 사실 추적을 어렵게 만드는 행위
- 응용
- DoS 공격(TCP SYN Flooding, 목표 시스템에 TCP SYN 메시지의 출발지 IP 주소를 여러개 위조해서 전송하면 목표 시스템은 각 IP주소에 TCP SYN+ACK 응답 메시지를 회신하게 되므로 DoS공격이 가능한 것)
- 세션 하이재킹

<그림 2: IP 스푸핑>

# IP 스푸핑 공격이 가능한 이유
- IP 프로토콜이 출발지 IP주소에 대한 인증 작업을 수행하지 않는 데서 기인

# 대응책
- IP 주소 인증 기능이 보완된 프로토콜(=IPsec)을 사용

DNS 스푸핑(DNS Spoofing)
- DNS 질의 메시지를 스니핑한 다음 DNS 서버가 DNS 응답 메시지를 전송하기 전에 위조된 DNS 응답 메시지를 공격 대상자에게 전송함으로써 도메인 이름에 대한 IP 주소를 속이는 공격
- ARP 스푸핑 공격은 목표 시스템과 공격자가 동일한 네트워크에 존재해야 공격이 가능했지만 DNS 스푸핑 공격은 다른 네트워크에 존재하는 시스템도 공격이 가능함.

<그림 3: DNS 동작 방식>

 

<그림 4: DNS 스푸핑 절차>

# DNS 스푸핑 공격이 가능한 이유
- DNS 응답 메시지를 송신한 DNS 서버 인증 기능이 미비한 데서 비롯

# 대응책
- DNS 서버 인증 서비스가 제공되는 DNSsec 프로토콜을 사용한다
- IP 스푸핑에서도 출발지 IP 주소가 실제 해당 IP 주소 사용자가 맞는 지 확인하는 절차가 존재하지 않아 IP 스푸핑 공격이 가능했던 것으로 그 해결책으로 IPsec 프로토콜을 사용하는 것이었다

패킷 조립(Packet Assembly) 공격
- 임의의 TCP/IP 패킷을 생성하여 공격 대상자에게 전송하는 행위
- 패킷 출처 인증절차로 방지

패킷 편집(Packet Editing) 공격
- 전송중인 패킷을 가로채서 필요한 필드 내용을 조작하는 행위
- 패킷 무결성을 확인하는 것으로 방지(Integrity를 확인, hash값 이용)

패킷 재현(Packet Replay) 공격
- 스니핑한 패킷을 재사용하여 공격 대상자에게 전송하는 공격
- 일련 번호(Serial Number) 적용, 챌린지/응답(Challenge/Response) 프로토콜 사용

중간자 공격(Man-In-The-Middle Attack)
- 공격 대상자가 목적지와 통신하고자 할때 교환되는 메시지를 중간에서 중계하며 통신내용을 가로채 조작하는 공격
- 웹 서버 접근에 대한 중간자 공격
- 공개키 암호화에 대한 중간자 공격

<그림 5: 웹 서버 접근에 대한 중간자 공격>
<그림 6: 공개키 암호화에 대한 중간자 공격>

# 중간자 공격이 가능한 이유
(1) 메시지를 교환하는 상대방이 실제 상대방이 맞는 지를 확인하는 사용자 인증 결여
(2) 상대방이 송신한 메시지가 실제 상대방이 송신한 것이 맞는 지를 확인하는 메시지 인증 결여

# 대응책
- 공인 인증서(Certificate, 사용자 인증 결여 해결책), 메시지 인증(메시지 인증 결여 해결책)
- 공캐기 기반 인증 시스템(PKI, Public Key Infrastructure)

Reference
1. 

제4강_스푸핑_패킷가공_중간자공격.pdf
0.46MB

2.https://www.youtube.com/watch?v=KKqWHlOSTLg