본문 바로가기
정보보안기사&CISSP관련/보안장비 운영

[Day 105] snort rule(4) - 비정상 패킷 탐지

by minimalist_2022 2020. 11. 23.

비정상 패킷

  • 프로토콜 표준에 위배되는 패킷

 

비정상패킷을 공격에 사용하는 이유

  • 비정상적인 패킷을 제대로 처리하지 못하는 구형 IDS,IPS,Firewall을 우회하기 위한 목적
  • 시스템이 비정상적인 패킷을 제대로 처리하지 못하도록 하여 장애나 오류 발생하도록 하기 위한 목적

 

비정상 IP 패킷 탐지

1. 인터넷 구간의 사설 IP

alert udp 10.0.0.0/8 any -> $HOME_NET any (msg: "Private IP(10.)"; sid:1000025;)

alert udp 172.16.0.0/12 any -> $HOME_NET any (msg: "Private IP(172.)"; sid:1000025;)

alert udp 172.16.0.0/12 any -> $HOME_NET any (msg: "Private IP(192.)"; sid:1000025;) 

--> 외부 인터넷 구간에서 유입되는 UDP 트래픽 중 사설IP로 되어 있는 비정상 패킷 탐지

[참고] 인터넷 구간의 사설 IP
  • 10.0.0.0~10.255.255.255 (10.0.0.0/8)
  • 172.16.0.0 ~ 172.31.255.255 (172.16.0.0/12)
  • 192.168.0.0 ~ 192.168.255.255 (192.168.0.0/16)

 

2. 출발지와 목적지가 동일한 IP (Land Attack) 

alert ip any any -> $HOME_NET any (msg: "Land Attack"; sameip; sid:1000025;)
--> IP 프로토콜의 출발지 IP 목적지 IP가 일치하는 패킷(sameip 옵션) 탐지

 

비정상 TCP 패킷

[참고] 정상적인 TCP 플래그 조합
1) SYN, SYN_ACK, ACK은 정상적인 TCP 연결 맺을 때 사용(3-way handshake)
2) 초기 SYN 패킷을 제외하면 연결을 맺은 모든 패킷들은 ACK 플래그가 설정됨
3) FIN_ACK, ACK는 연결 정상 종료 시 사용(4-way handshake)
4) RST_ACK는 연결을 즉시 종료할 때 사용
5) 연결 후에 송수신되는 패킷들은 디폴트로 ACK 플래그를 포함하고 있으며 필요시 PSH, URG가 포함될 수 있음
5) 연결 후 송수신되는 패킷들은 디폴트로 ACK 플래그를 포함

 

비정상 TCP 패킷- SYN_FIN 플래그 조합 

  • SYN(연결설정), FIN(연결종료)는 동시에 설정될 수 없는 플래그
  • 일부 구형 IPS/IDS에서는 이러한 패킷을 허용하거나, 로그를 남기지 않는 특정이 있어 스캐닝 도구에서 이 조합을 사용함
  • snort 탐지 rule --> flags:SF;
snort rule 설정
1) flags : SF
--> SYN과 FIN만 설정된 경우

2) flags : SF+
--> +연산자가 있으면 SYN, FIN은 반드시 포함하고 다른 플래그도 포함 가능

3) flags : SF*
--> * 연산자가 있으면 지정한 플래그를 하나 이상 포함한 경우를 의미하므로, SYN 또는 FIN이 포함된 경우

4) flags : !SF
--> !연산자가 있으면 지정한 플래그를 포함하지 않는 설정

 

비정상 TCP 패킷 - SYN_FIN 플래그 변형 

  • SYN_FIN 플래그만을 탐지하는 IDS/IPS를 우회하기 위해 다양한 비정상 조합을 사용(****PRSF 등)
  • snort 탐지 rule --> flags:SF+;

 

비정상 TCP 패킷 - FIN 플래그만 설정

  • 정상적인 연결 종료 설정은 FIN_ACK이므로 FIN만 설정될 수 없음
  • snort 탐지 rule --> flags:F;