본문 바로가기
Network/침해탐지

전송 계층 기반의 주요 공격 유형

by 수픽 2021. 5. 14.

* 교재 : 우분투 리눅스 기반의 IDS/IPS 설치와 운영

 

Port Scan

원격지 호스트를 대상으로 어떤 포트 번호를 사용 중인가를 확인하는 기법

TCP 헤더의 Flag 항목 이용

 

Nmap

가장 많이 사용하는 포트 스캐너

apt-get install nmap 명령어로 설치 가능

 

TCP Open 스캔

nmap 127.0.0.1 -p 22 sT

TCP Open

: 자기 자신을 대상으로 SSH 서비스 동작 여부를 TCP 3-way Handshaking, 3단계 연결을 통해 확인하겠다는 의미

구분 해당 포트 사용 중  해당 포트 미사용 중
송신자 SYN 플래그 전송 SYN 플래그 전송
수신자  ACK/SYN 플래그 전송 ACK/RST 플래그 전송
송신자 ACK 플래그 전송  

(1) 공격자 : TCP Open 스캔을 수행 시, 전송 계층에서 SYN 플래그를 생성해 공격 대상자에게 전송

(2) 공격 대상자 : SSH 서비스를 사용 중이라면 ACK/SYN 플래그로 응답

* ACK/RST 플래그로 응답 : 서비스 미사용

(3) 공격자 : ACK 플래그로 응답, 공격 대상자가 응답한 플래그로 서비스가 동작 중임을 확인 가능

 

장점 : 3-Way Handshaking 사용, 포트 스캔 결과가 정확

단점 : 3-Way Handshaking 사용, 공격 대상자 측에 포트 스캔 기록을 남길 수 있음

 

TCP Half Open 스캔

Nmap의 기본 스캔 방식

nmap 127.0.0.1 -p 22 sS

TCP Half Open

: SSH 서비스 동작 여부를 TCP 3단계 연결 미완성을 통해 확인하겠다는 의미

구분 해당 포트 사용 중  해당 포트 미사용 중
송신자 SYN 플래그 전송 SYN 플래그 전송
수신자  ACK/SYN 플래그 전송 ACK/RST 플래그 전송
송신자 RST 플래그 전송  

TCP Open 스캔 기법에서는 ACK 플래그로 응답해 3단계 연결을 완성,

TCP Halt Open 스캔 기법에서는 RST 플래그로 응답해서 3단계 연결을 미완성

-> 공격 대상자에게 포트 스캔 흔적을 남기지 않게 수행 : 스텔스 포스 스캔

EX) TCP FIN 스캔, TCP X-mas 스캔 (공격 대상자 방화벽 우회)

 

* 방화벽이 포트 스캔을 차단하는 원리

방화벽 입장에서, 공격자 = 외부인, 공격 대상자 = 내부인

TCP 3단계 연결은 외부인이 SYN 플래그를 내부인에게 전송하는 것부터 시작

-> 외부에서 내부로 들어오는 SYN 플래그를 차단하면 됨

 

TCP FIN 스캔

nmap 127.0.0.1 -p 22 sF

TCP FIN

: FIN 플래그를 생성해 전송

방화벽은 SYN 플래그는 차단하지만 FIN 플래그는 허용.

구분 해당 포트 사용 중  해당 포트 미사용 중
송신자 FIN 플래그 전송 FIN 플래그 전송
수신자  무응답 ACK/RST 플래그 전송

 

TCP X-mas 스캔

TCP FIN 스캔 기법 이용

nmap 127.0.0.1 -p 22 sX

TCP X-mas

TCP 3단계 연결과 무관한 URG/PSH/FIN 플래그 생성 후 전송

구분 해당 포트 사용 중  해당 포트 미사용 중
송신자 URG/PSH/FIN 플래그 전송 URG/PSH/FIN 플래그 전송
수신자  무응답 ACK/RST 플래그 전송

 

TCP Null 스캔

TCP X-mas 스캔 기법을 반대로 적용한 기법

nmap 127.0.0.1 -p 22 sN

TCP-Null


이제 전송 계층의 주요한 공격 유형들에 대해 알아보자.

TCP SYN 공격

전송계층의 주요한 공격 유형

TCP 3단계 연결 속성을 악용

네트워크 계층의 ICMP 플러딩 공격과 유사

매 순간 공격 대상자에게 엄청난 양의 SYN 플래그를 쏟아 부음 -> 과부하

 

hping3 [공격대상자 IP주소] -a [조작한 출발지 IP주소] -p 22 -S

: IP 스푸핑 공격을 적용해 조작한 출발지 IP 주소를 통해 웹 서버(-p 22)를 대상으로 SYN 신호를 플러딩

 

방어 기법 : 출발지 IP 주소에 기반한 차단은 불가능

현재 방화벽에서는 초당 1000개의 SYN 플래그만 수신받겠다 = 임계값 설정을 통해 차단

-> 정상적인 SYN 플래그 조차 차단할 수 있음

 

Bonk/Boink 공격

TCP SYN 공격과 같이 전송 계층에서 수행하는 플러딩 공격

네트워크 계층의 티얼드롭 공격과 유사 

차이점은 이루어지는 계층과, 패킷 분할 속성 악용 <-> TCP 단편화 속성 악용 (본크/보잉크)

TCP 헤더 중 일련 번호 항목을 조작해 수신 측에서 정상적인 재조립이 불가능하도록 함 ->  과부하

 

방어 기법 : 수신 받은 일련 번호 정보가 불일치한다면 OS는 본크/보잉크 공격으로 판단. 세그먼트 전체 폐기

-> TCP 헤더의 일련 번호 항목이나 IP 헤더의 플래그먼트 오프셋 항목이 불일치할 경우, 

OS는 각각 본크/보잉크 공격과 티얼드롭 공격으로 판단해 세그머트나 패킷을 폐기

'Network > 침해탐지' 카테고리의 다른 글

전송 계층의 헤더 기능  (0) 2021.05.14
네트워크 계층의 헤더 기능  (0) 2021.04.02
TCP/IP 방식의 계층적 구조  (0) 2021.04.02