피드로 돌아가기
Network Fingerprinting: Analyzing Default ICMP Structures and Payload Mimicry
Dev.toDev.to
Security

OS별 ICMP Signature 분석을 통한 64-byte Linux Mimicry 패킷 설계

Network Fingerprinting: Analyzing Default ICMP Structures and Payload Mimicry

JM00NJ2026년 6월 27일4advanced

Context

NIDS의 Signature 기반 탐지를 회피하기 위해 OS별 ICMP Echo Request의 구조적 차이를 분석함. 단순 패킷 전송이 아닌 TTL, Payload 크기, 데이터 패턴 등 OS 고유의 Fingerprint를 모사하여 네트워크 Ambient Noise에 은닉하려는 시도임.

Technical Solution

  • Linux 표준 64-byte(Header 8B + Data 56B) 구조를 정밀하게 재현한 패킷 설계
  • RDTSC를 활용한 8-byte Dynamic Timestamp 구현으로 Linux 특유의 RTT 계산 구조 모사
  • 0x10~0x1F 범위의 Sequential Byte Padding을 통한 커널 수준 프로토콜의 데이터 패턴 복제
  • 총 24-byte의 Structural Emulation 영역과 32-byte Payload 영역을 분리하여 NIDS의 Empty Payload 탐지 로직 우회
  • x64 Assembly 기반의 정밀한 메모리 레이아웃 정의를 통해 패킷 크기 일관성 유지

- NIDS 설계 시 단순 Packet Size 체크를 넘어 Payload의 Entropy 및 TTL 일관성 검증 로직 추가 - 프로토콜 분석 시 OS별 기본 Payload 값(Linux 56B, Windows 32B)의 차이를 이용한 Fingerprinting 가능성 검토 - 이상 징후 탐지를 위해 인간 기반 Ping의 표준 시간 간격(Interval Pattern) 분석 도입

원문 읽기