Infosec403

Nmap_Scan_Suricata_Detection.pptx

57.31 KB · application/vnd.openxmlformats-officedocument.presentationml.presentation · 업로드 2026-07-22 17:50

slide1.xml
NETWORK SECURITY · SURICATA
Nmap 스캔 패턴 탐지
UDP · IP Protocol · ACK/Window · RPC/서비스 탐지
패킷 관찰 기반 룰 설계와 오탐 튜닝
2026.07

---

slide2.xml
DETECTION STRATEGY
탐지는 ‘시그니처 → 행위 → 응답’ 순으로 강해진다
NMAP SCAN DETECTION
02
01
고정 시그니처
40-byte 고정 payload, nmaplowercheck처럼 도구 고유 흔적을 우선 탐지한다.
02
행위 기반
동일 출발지의 빈 UDP·ACK 반복을 시간창과 횟수로 묶는다.
03
응답 상관
ICMP 3/3·RST·HTTP 400은 단독 경보보다 요청 신호를 보강한다.
핵심: 단일 패킷보다  동일 src/dst + 반복 + 시간창 + 고유 payload  조합이 강하다.

---

slide3.xml
-sU · OBSERVED TRAFFIC
UDP 스캔은 세 가지 패킷 패턴으로 보인다
NMAP SCAN DETECTION
03
출발
포트 미세 변화
같은 출발지에서 목적지 UDP 포트를 바꾸며 느리게 전송
(관찰값: 약 1초 간격)
요청
0B 또는 고정 payload
빈 UDP가 반복되거나, 동일한 40B payload가 여러 포트에 재사용됨
응답
ICMP Port Unreachable
닫힌 UDP 포트에서 ICMP Type 3 / Code 3가 스캐너로 돌아옴
강한 증거  3e ec e3 ca … (정확히 40B 반복)     |     보조 payload  help + CRLF · 72B 서비스 프로브

---

slide4.xml
-sU · RULE SET
UDP 룰은 3단계로 나눠 오탐을 관리한다
NMAP SCAN DETECTION
04
탐지
핵심 조건
추적 / 임계치
신뢰도
빈 UDP 반복
dsize:0
by_src · 10 / 30s
중간
Nmap 40B 반복
dsize:40 + full hex
by_src · 10 / 30s
높음
ICMP 3/3 반환
itype:3 · icode:3
by_dst · 10 / 30s
보조
실제 룰 SID 3001021~3001023  ·  모두 활성(TRUE)  ·  현재 범위 any → any

---

slide5.xml
-sO · RULE LIMIT
IP Protocol Scan: 단독 dsize:0은 위험하다
NMAP SCAN DETECTION
05
관찰된 패턴
• 동일 Source / Destination
• IPv4 Header Length = 20
• Total Length = 20
• Payload = 0
• 실제 룰: 90회 / 30초
단독 룰의 문제
• 광범위한 ip + dsize:0은 정상 ACK 등도 포함 가능
• Total Length=20을 직접 고정하기 어려움
• DSCP / Flags / Frag Offset=0은 특이도가 낮음
실제 SID 3001031은 활성 상태  ·  90/30s 경보량과 정상 ACK 충돌을 집중 검증하고 프로토콜 번호 다양성을 추가 상관

---

slide6.xml
ACK / WINDOW SCAN
-sA와 -sW는 패킷만으로 사실상 같은 탐지군이다
NMAP SCAN DETECTION
06
Scanner
Target
ACK sweep
RST if unfiltered
No response = filtered
SID 3001041  flags:A · by_src · 100/1s
SID 3001042  flags:R · by_dst · 100/1s

---

slide7.xml
-sR / SERVICE PROBING
서비스/RPC 탐지는 HTTP 프로브가 가장 강한 증거다
NMAP SCAN DETECTION
07
SID 3001052
/nmaplowercheck
실제 룰: TCP [80,8080] · GET 요청 문자열 탐지
SID 3001051
Encoded Trinity path
실제 룰: TCP 8080 · 인코딩 URI 단일 탐지
맥락 시그니처
POST /sdk
VMware 계열 엔드포인트 탐색 가능성 · 단독 차단보다 주변 probe와 결합
보조 신호
HTTP 400 반복
RPC 형식 요청을 HTTP 서버가 거부한 결과일 수 있으나 정상 오류와 충돌

---

slide8.xml
ACTUAL RULE INVENTORY
실제 룰셋은 SID와 40B 조건이 이미 정리됐다
NMAP SCAN DETECTION
08
01
UDP 3종
3001021~23 · 0B / 40B / ICMP 3-3가 모두 활성화됨
02
IP Protocol
3001031 · dsize:0 · by_src 90회/30초
03
ACK / RST
3001041~42 · 각각 100회/1초 · -sA/-sW 통합 탐지
04
Trinity Probe
3001051 · TCP 8080 · GET 인코딩 URI
05
nmaplowercheck
3001052 · TCP [80,8080] · GET 요청 문자열

---

slide9.xml
DEPLOYMENT DECISION
운영 우선순위: 3개 즉시 활용, 4개 튜닝, 2개 집중 검증
NMAP SCAN DETECTION
09
즉시 배포
• Nmap 40B UDP payload

• nmaplowercheck URI

• Encoded Trinity raw URI
환경별 튜닝
• 빈 UDP burst

• ICMP Type 3 / Code 3

• ACK / RST burst

• POST /sdk 맥락
집중 검증
• IP dsize:0 광범위 탐지

• HTTP 400 응답 burst
모든 룰이 TRUE여도 운영 신뢰도는 다르다. 차단은 고유 시그니처부터, 나머지는 Alert 기준선을 먼저 수집한다.

---

slide10.xml
FINAL TAKEAWAY
고유 payload는 차단 후보,
반복 응답은 상관분석 신호
1  강한 시그니처 3개 우선 배포
2  30초·1초 임계치를 실제 트래픽으로 재조정
3  요청과 ICMP/RST/400 응답을 같은 사건으로 묶기
탐지 정확도 = 특이도 × 시간창 × 방향성

---

slide11.xml
APPENDIX · SURICATA
부록 A. UDP 탐지 룰 예시
NMAP SCAN DETECTION
11
1) 빈 UDP 반복 · SID 3001021
alert udp any any -> any any (
 dsize:0; detection_filter:track by_src,count 10,seconds 30; sid:3001021; rev:1;)
2) Nmap 고정 40-byte payload · SID 3001022
alert udp any any -> any any ( dsize:40;
 content:"|3E EC E3 CA 00 00 00 00 00 00 00 02 00 BC 61 4E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00|";
 offset:0; depth:40; detection_filter:track by_src,count 10,seconds 30; sid:3001022; rev:1;)
3) ICMP Destination Port Unreachable · SID 3001023
alert icmp any any -> any any (
 itype:3; icode:3; detection_filter:track by_dst,count 10,seconds 30; sid:3001023; rev:1;)

---

slide12.xml
APPENDIX B · SURICATA
ACK / Window 룰 예시
NMAP SCAN DETECTION
12
1) ACK sweep 요청 · SID 3001041
alert tcp any any -> any any (
 msg:"NMAP -sA/-sW suspected. Massive ACK packets occurred";
 flags:A; detection_filter:track by_src,count 100,seconds 1;
 sid:3001041; rev:1;)
2) RST 응답 burst · SID 3001042
alert tcp any any -> any any (
 msg:"NMAP -sA/-sW suspected. Massive RST packets occurred";
 flags:R; detection_filter:track by_dst,count 100,seconds 1;
 sid:3001042; rev:1;)
현장 PCAP에서 R / RA 조합과 정상 대용량 트래픽을 확인한 뒤 count·seconds를 조정

---

slide13.xml
APPENDIX · SURICATA
부록 C. HTTP 서비스 프로브 룰 예시
NMAP SCAN DETECTION
13
1) nmaplowercheck · SID 3001052
alert tcp any any -> any [80,8080] (
 msg:"NMAP nmaplowercheck service probe detected"; flow:to_server,established;
 content:"GET /nmaplowercheck";
 sid:3001052; rev:1;)
2) Encoded Trinity · SID 3001051
alert tcp any any -> any 8080 (
 msg:"NMAP TRINITY PROBE detected"; flow:to_server,established;
 content:"GET /nice%20ports%2C/Tri%6Eity.txt%2ebak"; nocase;
 sid:3001051; rev:1;)
실제 룰은 TCP payload 기반. 향후 HTTP method/URI sticky buffer 적용 시 분할·정규화 내성이 좋아짐

미리보기가 맞지 않으면 다운로드해서 확인하세요.