일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Database
- sqli
- 알고리즘
- C언어
- gosec
- CodeQL
- Juice Shop
- ubuntu
- gotify
- 백준알고리즘
- firewall
- SUA
- juice-shop
- github
- virtualbox
- github action
- OpenSource
- Python
- 자료구조
- 운영체제
- MySQL
- Codeup
- goKart
- DVWA
- Network
- LGTM
- JDBC
- 데이터통신
- JSP
- OWASP
- Today
- Total
비트(bit)주세요
스니핑 공격 본문
Sniff : 코를 킁킁거리다.
음식을 찾는 동물처럼 데이터 속에서 정보를 찾는 것입니다.
공격할 때 아무것도 하지 않고 조용히 있는 것으로 충분합니다.
그래서 스니핑 공격을 수동적 공격이라고도 합니다.
스니핑 공격의 생활 속 예시로 도청이 있습니다.
이번에는 스니핑 공격의 원리, 종류, 탐지법을 알아보겠습니다.
1. 스니핑 공격의 원리
네트워크에 존재하는 모든 시스템은 설정된 IP와 고유한 MAC 주소를 가지고 있습니다.
통신을 할 때 네트워크 카드는 이 두 가지 정보로 자신의 랜 카드에 들어오는 패킷의
IP주소와 MAC주소를 인식하고 자신의 버퍼에 저장할지를 결정합니다.
네트워크 카드에 인식된 IP주소와 MAC주소가 자신의 것과 일치하지 않는 패킷은 무시합니다.
공항에서 짐을 받을 때, 내 것이 아니면 그 짐은 받아선 안되죠.
내 짐이 어떻게 생겼는지 기억하고, 두 눈으로 필터링해서 내 짐만 가져가야 합니다.
하지만 다른 사람의 짐까지 가져가서 모두 풀어본다면?
필터링이 되지 않았다는거겠죠?
스니핑을 수행하는 공격자는 자신이 가지지 말아야 할 정보까지 모두 볼 수 있어야 하므로 필터링을 해제합니다.
이 때 IP와 MAC주소 필터링을 해제하는 모드를 프러미스큐어스 모드라고 합니다.
프러미스큐어스 모드는 간단한 설정 사항이나 스니핑을 위한 드라이버 설치를 통해 바꿀 수 있습니다.
2. 스니핑 공격의 종류
2.1 스위치 재밍 공격
스위치에는 포트와 MAC주소를 저장한 테이블이 있습니다. 해당 공격은
스위치가 MAC주소 테이블을 기반으로 패킷을 포트에 스위칭 할 때
정상적인 스위칭 기능을 마비시키는 공격을 말합니다.
MAC주소를 가진 패킷을 스위치에 무한대로 보내고
MAC 주소 테이블을 오버플로우 시켜서 스위치가 더미허브처럼 작동시킵니다.
-> 스위치는 고장 시 모두 허용해주는 Fail Open 정책을 사용합니다.
MAC 주소 테이블을 채우기 위해 지속적으로 출발지 MAC주소를 변경해주며 전송합니다.
2.2 SPAN 포트 태핑 공격
SPAN 포트 태핑 공격은 스위치의 포트 미러링 기능을 이용한 것입니다.
포트 미러링이란 각 포트에 전송되는 데이터를 미러링하고 있는 포트에도 똑같이 보내는 것 입니다.
칩입탐지 시스템이나 네트워크 모니터링, 로그 시스템을 설치할 때 많이 사용합니다.
SPAN 포트 -> 기본적으로 네트워크 장비에서 간단한 설정으로 활성화 가능
포트 태핑 -> 하드웨어 장비를 이용(포트 태핑 장비를 스플리터라고 부릅니다)
->구입이 어렵다면 IDS를 설치하는 곳에 허브를 설치하는 것도 하나의 방법입니다.
-> 허브를 설치하면 네트워크가 느려집니다.
3. 스니핑 공격의 탐지
스니핑 공격은 네트워크에 별다른 이상 현상을 일으키지 않습니다.
그래서 사용자가 이를 인지하기 어려워서 능동적인 탐지를 통해서만 잡아낼 수 있습니다.
스니퍼가 프러미스큐어스모드에서 작동한다는 데에서만 시작하면 어렵지 않다고 합니다.
3.1 ping을 이용한 스니퍼 탐지
대부분의 스니퍼는 일반 TCP/IP에서 동작합니다.
그래서 request를 받으면 response를 전달합니다.
이를 이용하여 의심이가는 호스트에 ping을 보냅니다.
이 때 존재하지 않는 MAC주소로 위장하여 보내는데, ICMP echo reply를 받으면
해당 호스트는 스니핑을 하고 있는 것입니다.
3.2 ARP를 이용한 스니퍼 탐지
ping을 이용하는 것과 유사합니다.
위조된 ARP request를 보냈을 때 ARP response가 오면
프러미스큐어스 모드로 설정되어 있는 것입니다.
3.3 DNS를 이용한 스니퍼 탐지
DNS Forward Lookup(순방향) : xxx.com -> xxx.xxx.xxx.xxx
DNS Reverse Lookup(역방향) : xxx.xxx.xxx.xxx -> xxx.com
스니핑 프로그램은 일반적으로 사용자의 편의를 위해 역방향 DNS Lookup을 수행합니다.
이 방법은 원격과 로컬에서 모두 사용할 수 있습니다.
테스트 대상 네트워크로 ping sweep을 보내고 들어오는 역방향 DNS Loopup을 감시하여
스니퍼를 탐지합니다.
3.4 유인을 이용한 스니퍼 탐지
스니핑 공격을 하는 공격자의 주요 목적은 아이디와 패스워드 획득입니다.
보안 관리자는 이 점을 이용해 가짜 아이디와 패스워드를 네트워크에 계속 뿌리고
공격자가 그 아이디와 패스워드로 접속을 시도할 때 스니퍼를 탐지합니다.
3.5 ARP watch를 이용한 스니퍼 탐지
MAC주소와 IP주소의 매칭 값을 초기에 저장하고 ARP 트래픽을 모니터링하여
이를 변하게 하는 패킷이 탐지되면 관리자에게 메일로 알려주는 툴 입니다.
대부분의 공격기법은 위조된 ARP를 사용하기 때문에 쉽게 탐지할 수 있습니다.
'정보보안 > 네트워크 보안' 카테고리의 다른 글
세션 하이재킹 공격 (0) | 2021.05.14 |
---|---|
스푸핑 공격 (0) | 2021.05.12 |
서비스 거부 공격: Dos, DDos(2) (0) | 2021.05.06 |
서비스 거부 공격: Dos, DDos(1) (0) | 2021.05.06 |