Sniffing | 스니핑
사전적 의미 : 코를 킁킁거리다
수동적 (Passive) 공격 : 도청과 엿보기
네트워크를 통해서 흐르는 정보를 중간에서 가로채는 공격
스니핑 공격의 종류
- 다른 이의 대화를 엿듣는 것
- 도청 (Eavesdropping)
- 전화선이나 UTP에 태핑(Tapping)을 해서 전기적 신호를 분석해 정보를 찾아내는 것
A에서 들어오고 나가는 모든 패킷을 감시하고 싶다.
A에서 들어오고 나가는 모든 정보들이 공격자를 통해 전달이 되도록 하는 방법이 스니핑이다.
스니핑의 특징
- 공격 대상은 스니핑 공격에 노출되어있다는 것을 알기가 어려움
- 유선 통신망으로 연결되어 있어야함
- LAN 안에서만 (동일 네트워크 안에서만) 스니핑이 가능하다.
- 패킷이 공격자를 통과해서 전달이 되도록 하려면, 항상 공격자에게도 패킷이 전송되어야하는데 이런 것은 같은 네트워크에 속해있어야만 가능함
랜 카드에서의 패킷 필터링
- 랜선을 통해 A와 B가 연결이 되어있을 때, 랜카드가 MAC 주소를 이용하여 자신의 것을 받아들임
- 네트워크에 접속된 모든 시스템은 자신의 IP 주소와 고유한 MAC 주소를 사용함
- 통신시, 네트워크 카드는 이 두가지 정보를 가지고 자신의 랜카드에 들어오는 프로토콜 형식에 따른 전기적 신호의 헤더부분, 주소값을 인식하고 자신의 버퍼에 저장할지를 결정한다.
- 네트워크 카드에 인식된 2계층과 3계층 정보가 자신의 것과 일치하지 않는 패킷은 무시
공격자가 공격 대상의 모든 패킷을 받아들이려면 두 가지 조건을 만족해야한다.
- 공격 대상과 공격자의 중계기가 Hub일 때 스니핑하기 좋다
하나의 네트워크에 속한 모든 호스트는 중계기로 연결이 되어있다
Hub : Hub에 연결된 모든 호스트에게 패킷을 전달
Switch : Mac 테이블을 이용하여, MAC 주소와 포트 번호가 매핑 되어있고, 해당 주소에만 패킷을 전송 - 스니퍼의 랜카드 : 프러미스큐어스 모드 설정
스니퍼는 자신이 가지지 말아야할 정보까지 모두 볼 수 있어야 한다.
현재 유선으로 연결된 모든 패킷을 공격자가 받아들일 수 있게 된다.
*프러미스큐어스 모드 : 랜카드에서 패킷 필터링을 일반적으로 진행하지 않고, 본인의 MAC 주소가 아닌 다른 MAC 주소도 받아들이는 모드이다.
스위칭 환경에서의 스니핑
중계기를 Swich를 사용하면, 브로드캐스트 패킷을 제외하고 모든 패킷은 해당 패킷이 목적하는 장비에만 전송한다.
이를 해결하기 위해 사용하는 것들이 있다.
- ARP 스푸핑 (스푸핑이라는 기술을 이용하여 스니핑을 하는 것)
- ICMP 리다이렉트 공격
- 스위치 재밍
ICMP 리다이렉트 공격
ICMP 프로토콜 : 3계층 프로토콜로, request하면 reply를 함
ICMP 리다이렉트
ICMP 프로토콜 내에 리다이렉트를 실행시켜주는 프로토콜이 존재함.
네트워크의 규모에 따라 gateway가 많을 수 있다.
각각의 시스템마다 처음 네트워크 설정을 할 때 IP, gateway를 미리 설정을 해둔다. 이 설정에 따라 지정된 gateway로 나감
호스트의 기본 라우터가 라우터 A임 (기본 네트워크 설정에 설정된 gateway)
호스트가 다른 원격 호스트로 데이터를 전송하고자 함
아래는 ICMP 리다이렉트가 포함된 그 과정임
- 호스트가 라우터A로 패킷을 전송함
- 라우터 A가 라우팅 테이블 검색, 라우터 B를 사용하는 것이 효율적이라 판단
- 라우터 B로 패킷 전송
- 호스트에게 라우터 B로 패킷을 보내라는 ICMP 리다이렉트 패킷 전송
- 호스트가 라우터 B로 패킷 전송 시작
ICMP 리다이렉트 공격
공격자 : 공격자의 IP가 새로운 gateway인 것처럼 ICMP 라다이렉트 패킷을 송신
* 송신자 IP : 원래 라우터의 IP로 위조하여 보냄
공격자는 공격 대상에게 받은 패킷을 그대로 라우터로 다시 보내주면 됨 (Relay)
Q) 내부로 나가는 패킷에 대한 스니핑은 가능한가?
A) 목적지가 외부로 나가는 패킷의 경우, gateway를 통하므로 가능한데, ICMP 리다이렉트만 사용하는 경우에 내부는 라우터를 거치지 않아도 되기 때문에 불가능하다.
Q) 외부에 있는 시스템이 보내는 응답은 원래 라우터를 거쳐서 전송이 되지, 공격자를 통하지 않는가?
A) 들어오는 패킷에 대해서는 항상 공격자가 스니핑 할 수 없다.
이 두가지를 해결하기 위해서는 스위칭 환경에서 내부 네트워크 내에서의 통신을 스니핑 할 수 있는 기술이 있으면 가능하다.
▷ ARP 스푸핑
스위치 재밍 (MACOF)
스위치를 무력화 시켜서 허브처럼 만들겠다
- 스위치의 주소 테이블의 기능을 마비시키는 공격
- 스위치에 랜덤한 형태로 생성한 MAC을 가진 패킷을 무한대로 전송
존재하지 않는 MAC 주소로 위조된 패킷을 스위치에 무한대로 전송 - 처리되지 못한 패킷은 버퍼에 저장을 하다가, 처리되지 못한 패킷들이 스위치 메모리양보다 많으면, 버퍼에 저장하지 않고 그냥 중계기의 역할만 하도록 패킷 전송만 수행함
- 스위치의 원래 기능을 잃고 더미 허브처럼 작동
Fail-Close (시스템 오작동 시 모든 기능 차단) 기능이 적용되지 않고, Fail-Safe 적용
스니핑 탐지
- 스니퍼 설치 후, 네트워크에 별다른 이상 현상을 만들지 않기 때문에 인지가 어려움
Ping을 이용한 스니퍼 탐지
- 프러미스큐어스 모드에서 작동한다는 사실에 기반함
프러미스큐어스 모드인 곳이 공격자로 의심이 가기 때문에, ping을 보내면 ping response을 보내는 곳 프러미스큐어스 모드 - 대부분의 스니퍼는 일반 TCP / IP에서 동작
- 의심이 가는 호스트에 ping 전송 > 네트워크에 존재하지 않는 MAC 주소를 위장하여 전송 (IP는 정상)
- 공격자(프로미스큐어스 모드 : 맥 주소 검사 X)는 존재하지 않는 맥 주소로 전송을 하더라도 핑에 대한 응답을 생성함
- 정상 시스템은 랜 카드가 MAC 주소가 아니면 받아들이지 않음
- ICMP Echo Reply를 받으면 해당 호스트가 스니핑을 수행중
ARP를 이용한 스니퍼 탐지
- 위조된 ARP Request를 보냈을 때 ARP Response가 오면 프러미스큐어스 모드로 설정되어 있는 것
- IP에 대한 MAC 주소를 묻는 프로토콜
- 존재하지 않는 MAC 주소로 브로드캐스트 하므로, 랜카드에서 MAC주소를 필터리앟지 않는 프러미스큐어스모드인 공격자만 response 하게 됨
Decoy(유인)을 이용한 스니퍼 탐지
- 가짜 ID와 패스워드를 흘림
- 가짜 ID와 패스워드를 네트워크에 계속 뿌려 공격자가 해당 정보를 이용하여 접속을 시도할 때 공격자 탐지
ARP watch를 이용한 스니퍼 탐지
- MAC 주소를 조작하는 ARP 스푸핑을 사용할 때 확인하는 방법
- MAC 주소가 바뀌면 관리자에게 알려주는 툴
- 위조된 ARP를 탐지 가능
스니핑 방어 방법 - 암호화
- HTTP > HTTPS
'Hacking > Network' 카테고리의 다른 글
네트워크 보안 시스템 (2) | 2024.10.13 |
---|---|
무선 랜 보안 (0) | 2024.10.13 |
Session Hijacking | 세션 하이재킹 (2) | 2024.10.13 |
Spoofing | 스푸핑 (0) | 2024.10.13 |
DoS | 서비스 거부 공격 (3) | 2024.10.12 |