CH4 : 네트워크 보안(2) Sniffing
보안 공격의 유형
- 수동적 공격 : 직접적인 피해 X
- 능동적 공격 : 직접적인 피해 O
- 수동적 공격 탐지의 중요성
- 수동적 공격(보안의 취약점 정보 획득) -> 능동적 공격 실행
- 능동적 공격 발생 = 상당 기간 수동적 공격 받았음을 의미
공격 목적의 정보 수집을 위한 활동
1. Foot printing : 사회공학기법/ 다양한 정보 수집
2. Scanning : 대상 NW 구조
3. Enumeration : 목록화
Network scanning
1. Foot printing
- 공격자가 공격전에 대상에 대한 다양한 정보를 수집하기 위해 사용
사회공학기법
,network 및 시스템 주변 조사
을 통해IP
,이름 및 계정
,전화번호
등을 수집
2. Scanning
- 실제 공격방법을 결정하거나 공격에 이용될 수 있는
network 구조
, 시스템이 제공하는 서비스 등의 정보를 취득
3. Enumeration
Foot printing
,scanning
을 통해 수집한 정보를 바탕으로 더 구체적이고 실용적인 정보를 취득- 종류 :
공유자원 목록화
,사용자 및 그룹 목록화
,응용 프로그램 목록화
Scan 공격
Scanning 에서 파악하는 정보
- 공격대상 NW의 보안장비 사용 현황
- 우회 가능 NW 구조 (방화벽에서 차단하고 있는 정보 확인 후 우회)
- 시스템 플랫폼 형태
- 시스템 OS의 커널 종류
- 제공되는 서비스 종류
Scan 종류
- Sweep : System 작동 유무 (ICMP, TCP, UDP)
- Open Scan : port service 여부 (TCP, SYN, UDP)
- Stealth Scan : port service 여부 (session connectionless)
1) Sweep
내가 공격하고 싶은, 내가 정보를 수집하고 싶은 상대방 시스템이 지금 살아있나? 확인
- 특정 NW에 대해, NW에 속한 시스템의 작동 유무를 판단
- target 기관에서 사용하거나 소유하고 있는
IP 주소
와network 범위
파악
ICMP sweep
ping
-> 응답이 있다 -> 해당 system 활성화
TCP sweep
TCP ACK
TCP SYN
well known port
요청 -> 응답이 있다 -> 해당 system 활성화
UDP sweep
ICMP Port Unreachable
오지 않는다 -> 해당 system 활성화
( UDP 이용하여 msg send )
2) Open scan(port scan)
- 시스템 자체의 활성화 여부 + scan하는 포트에 해당되는 서비스의 활성화 여부
- 포트가 제공하는 서비스 예측 가능
TCP scan
3-way handshaking
-> 해당 port open 판단 가능
SYN scan
세션로그
남기지 않는다SYN 패킷
전송 ->SYN/ACK 패킷
수신 -> 해당 port open 판단 가능SYN/ACK 패킷
수신 ->RST 패킷
전송- RST = Reset = connection X
UDP scan
ICMP Port Unreachable
온다 -> 해당 port 비활성화 확인
c.f
UDP sweep :ICMP Port Unreachable
오지 않는다 -> 해당 system 활성화 확인
( UDP 이용하여 msg send )
3) Stealth scan(port scan)
-
세션을 완전히 성립하지 않고 대상 시스템의 port 활성화 여부를 알아내므로 대상 시스템에 로그가 남지 않음
-
SYN SCAN
은 Stealth scan 이다 (O) -
SYN SCAN
은 Open scan 이다 (O)
FIN, NULL, XMAS 스캔
TCP header
의flag 부분
을 비정상적으로 설정해서 전송- victim 시스템의 다음 반응을 보고 포트의 상태를 판단
Decoy scan 미끼
- Victim 시스템에서
scanner 주소
를 식별할 수 없도록다양한 주소
로 위조한 상태로 scan - 사전에
spoofing
한 주소
Scan 도구
-
Nmap (Network Mapper)
-
목적 : 컴퓨터와 서비스 찾기
-
활용 : network 검색, 보안 진단
-
OS 종류
,사용 서비스 정보
,FTP 서버의 취약점
을 이용한 공격 가능 -
Open source
-
Sniffing
개요
몰래 엿듣는 행위
- NW 보안에서 송신자와 수신자가 주고받는 데이터를 중간에서 도청하는 것
Network traffic
을도청
하는 행위- eavesdropping
허브 환경에서의 sniffing
-
허브(Hub) : 더미 허브(Dummy Hub) 또는 수동 허브
-
리피터(Repeater) : 입력으로 전달받은 패킷을 나머지 모든 포트로 단순히 전달
- NIC setting = OS상, 자신의 MAC 주소가 아닌 패킷 필터링
-
-
공격방법
-
NIC
에서무차별 모드(Promiscuous Mode)
로 설정 -
나의 MAC 주소가 아닌 패킷도 전달받는 모드
-
스위치 환경에서의 sniffing
- 스위치(Switch)
MAC addr
이용하여 패킷을 해당 목적지로만 전달
-> 무차별 모드
sniffing이 불가능
1) 모니터링 포트를 이용한 sniffing
-
모니터링 포트(Monitoring Port) : 스위치를 통과하는 모든 패킷의 내용을 전달하는 포트
-
목적 : 정상적인 관리
-
network 장비 자체 제공
-
-
물리적으로
스위치에 접근 후,모니터링 포트
에공격자 pc
를 연결 => 모든 패킷 sniffing 가능
2) Switch jamming을 이용한 sniffing
- Jamming : 전파 방해
- Mapping Table
-
IP addr
->MAC addr
를 위해 내부적으로 관리하는 테이블 -
최대 저장 개수를 초과하면,
브로드캐스팅(Broadcasting)
모드로 전환 -
브로드캐스팅 모드 : 자신이 전달받은 패킷을 연결된 모든 단말기에 전달
-
- Switch jamming 공격 -> 스위치가 마치
더미 허브
처럼 동작 ->통신 속도 down
갑자기 NW 통신 속도가 down인 상황
-> 합리적 의심 = Switch Jamming
3) Spoofing 공격 기법을 이용
-
스푸핑 Spoofing : 공격자가 마치 자신이 수신자인 것처럼 "위장"
-
능동적 공격
ARP 스푸핑
ARP 스푸핑
특정 host의 MAC 주소
를자신의 MAC 주소
로 위조ARP Reply 패킷
을 지속적으로 전송- victime의
ARP table
에host의 MAC 주소
가공격자의 MAC
으로 변경 - 이후
공격자
가 패킷을sniffing
ARP 프로토콜
- network 상에서
IP 주소
를물리적인 network 주소
로 대응시키기 위해 사용 - IP 주소
- 10진수 표현, 32bit
- network에 따라 변동
-
MAC 주소
- 16진수 표현, 48bit
- 물리적 주소
- NIC에 새겨져 있어, 고정
-
Example.
A : (ARP request) C'IP 에 대한 C'MAC이 없는데, C'IP 사용하고 있는 사람?
C : (ARP response) It's ME.
ARP 동작 원리 1
-
같은 LAN, 목적지 단말이 있는 경우
-
데이터 전송 : A -> B
-
A 상황
- B' IP (O)
- B' MAC (X)
-
A' ARP request = B' MAC 모르기 때문에 switch' MAC 에 요청
-
Switch's Broadcast = ARP request를 받으면, 자신에 접속된
모든 단말
에게ARP request
를Broadcast
-
B' ARP reply = Broadcast를 받은 B는 ARP reply
-
A' ARP table update = ARP response 전달 받은 후, ARP 테이블에 B' MAC 추가
ARP 동작 원리 2
-
외부 network, 목적지 단말이 있는 경우
-
데이터 전송 : A -> B
-
A' ARP request = dest MAC addr 를 Router' MAC addr로 설정
-
Router
-
source MAC addr =
Router' MAC addr
-
dest MAC addr =
B' MAC addr
-
ARP redirect
- L2, 2계층 동작
-
스스로 Router인 것 처럼 MAC 주소를 위조한 ARP Relay 패킷 생성
-
ARP Reply 패킷을 broadcast
-
해당 NW의 모든 host로부터 패킷을 sniffing
-
sniffing한 패킷을 Router에게 forwarding 함으로써 탐지 회피
4) ICMP redirect
- L3, 3계층 동작
-
공격자가 스스로 또다른 Router라고 알린다 (ICMP redirect packet)
-
victime system의 Routing Table을 변조
-
packet의 흐름을 바꾼다
Sniffing 방지 대책
1) 수동적 대처
- 암호화
sniffing 하는 것을 막을 수 X, But sniffing 후 data를 볼 수 X
암호화 : sniffing에 가장 효과적인 대처 방안
- HTTPS : 웹 환경, 암호화된 통신 프로토콜
HTTPS
= HTTP
웹 표준 프로토콜 + SSL/TLS
암호화 통신 프로토콜
-
PGP, S/MIME : 이메일 환경
- PGP : 사용 편리, 알고리즘 안전성 high
- S/MIMI : MIMI + 암호화 기법 추가
->이메일에 암호화 관련 보안성 제공 대표적인 방식
-
SSH : 원격 접속
- 암호화된 원격 접근 방식
- FTP는 sniffing을 통해
user_id
와password
유출 가능
- VPN
VPN Virtual Private Network 가상사설망
논리적으로 전용선 이용, 물리적으로 인터넷 이용
-
공개망을 사용 (Internet) + 전용망을 사용하는 효과
-
중간에 있는 VPN 장비 = 인증, 암호화 수행 => 전용망 사용 효과
-
터널링 기술 Tunneling : 두 종단 End to end에 가상적인 터널 생성
-
VPN 통신 프로토콜 :
PPTP/L2F/L2TP
,IPSec
,SOCKSS V5
등
Q. VPN은 물리적으로 전용선을 이용한다 (X)
2) 정적 매핑 테이블 사용
- Switch의 mapping table을 정적으로 설정
- 연결된 PC의 MAC addr을 미리 조사 하고 IP addr를 고정 (static or permanet)
3) 능동적 대처 (sniffing 탐지)
Sniffing 공격자를 찾아내자, Sniffing 탐지
- ping 이용
존재하지 않는 IP 주소
에 대한 요청에 응답이 오는지 확인무차별 모드
호스트는 존재하지 않는 IP 주소에 대한 요청에도 응답- local network에서만 사용 가능
- ARP 이용
-
ping과 유사
-
존재하지 않은 IP 주소
로 ARP 요청 -
응답 여부로 sniffing 판단
응답 O -> ?? 찾아봐!!!
응답 X -> ?? 찾아봐!!!
- DNS 방법
존재하지 않는 IP
를 대상으로 ping- Inverse-DNS Lookup = 해당 IP에 대한 도메인 이름을 물어보는 요청
Inverse-DNS Loopup
이 오는지 확인- 원격 NW에서도 sniffer를 찾을 수 있는 방법
- Decoy 유인 방법
- 가짜 사용자 ID와 Password를 유출
- 실제 사용되는지 감시
- Host 기반 탐지
특정 의심되는 PC + PC에 직접 접속하여 다음과 같은 명령어 실행
-
의심되는 PC나 서버에서 직접 실제 명령을 실행
-
리눅스/유닉스
ifconfig
->PROMISC
현재 호스트가 무차별 모드로 설정되어 있음 => sniffing 가능성 매우 크다 -
윈도우
promiscdetect
- Network 기반 탐지
- ARP watch
- network 내부의 MAC addr, IP addr에 대한 mapping 정보 생성하고 감시
- 변경이 발생 -> 관리자에게 메일로 report
- sniffing이 일어나면 즉시 탐지할 수 있는 방법
Author And Source
이 문제에 관하여(CH4 : 네트워크 보안(2) Sniffing), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@masaki/CH4-네트워크-보안2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)