Snort Rule - Payload Option
앞에서 Snort Rule 기초 RTN, OTN 및 General Option에 대해 알아보았습니다.
이번에는OTN(Option Tree Node)의 Payload Option에 대해 포스팅을 하겠습니다.
Snort에서 Payload Option 은 말 그대로 Packet 의 Payload에서 데이터를 찾는 옵션으로 Snort 규칙에서 매우 중요한 요소 중 하나입니다. 이 옵션을 통해 패킷의 내용을 분석하고, 원하는 데이터를 추출하거나, 악성 트래픽을 감지할 수 있습니다.
다음에서 Payload가 무엇인지와 Snort의 Payload Option은 어떤 것들이 있는지 알아보겠습니다.
이전 포스팅을 확인하시려면 제가 작성한 아래 링크를 참조 부탁드립니다.
[Snort] #2 Snort Rule 기초 포스팅 링크
Payload
네트워크 통신에서 Payload는 프로토콜 헤더를 제외한 실제 데이터 부분을 말합니다. 즉, 메시지나 패킷에서 응용 프로그램이나 사용자 데이터를 담고 있는 부분입니다. Payload는 네트워크에서 정보를 교환하는 데 있어서 가장 중요하며, 악성 코드나 데이터 감지, 보안 취약점 분석 등 다양한 네트워크 활동에서 중요한 역할을 합니다.
Wireshark에서 Payload를 한번 확인해 보겠습니다.
다음은 wireshark에서의 HTTP Packet의 payload 샘플입니다.
여기에서 Payload는 Ethernet , IP, TCP Header 이외에 Data 부분(http)이라고 보시면 됩니다.
좌측 맨 아래 보시면 Hypertext Transfer Protocol (http)의 Size 가 표시 됩니다. 여기서는 490 bytes입니다.
Transmission Control Protocol 항목에서 Payload Size를 확인 가능합니다.
TCP(Transmission Control Protocol) 항목을 확장하면 맨 아래 TCP Payload의 Size를 확인할 수 있습니다.
아래서는 TCP Payload의 Size는 490 bytes로 위의 http size와 동일합니다.
Payload 역할
Payload는 네트워크 통신에서 프로토콜 헤더를 제외한 데이터 부분으로, 다양한 정보를 전송하는 데 사용됩니다. 주요 역할은 다음과 같습니다:
- 응용 프로그램 데이터 전송: Payload는 응용 프로그램이나 사용자 데이터를 네트워크 상에서 교환하는 데 사용됩니다. 예를 들어, 이메일 메시지, 웹 페이지 내용, 파일 전송 등은 모두 Payload에 포함됩니다.
- 네트워크 감지 및 분석: 보안 도구와 같은 시스템은 Payload를 분석하여 네트워크 활동을 모니터링하고, 악성 코드나 침해 사고를 탐지하는 데 사용합니다.
- 보안 취약점 분석: 보안 전문가들은 Payload를 분석하여 악용될 수 있는 보안 취약점을 식별하고, 시스템의 보안을 강화하는 데 활용합니다.
Payload Option
Snort에서 Payload Option은 패킷의 실제 데이터로 이루어진 부분을 다루는 데 사용됩니다. TCP, UDP, ICMP와 같은 다양한 프로토콜에서 실제 데이터는 패킷의 페이로드라고 불립니다. 이 페이로드는 패킷에서 데이터를 전송하는 데 사용되며, 실제 응용 프로그램 데이터가 포함되는 부분입니다.
Payload Option을 사용하면 패킷의 페이로드 데이터를 조건부로 검사하고, 특정 패턴을 찾거나 패킷을 수정하는 등 다양한 작업을 수행할 수 있습니다. 주로 특정 문자열이나 패턴을 감지하여 알림을 생성하거나, 악성 코드나 악성 트래픽을 탐지하는 데 사용됩니다.
몇 가지 Payload Option 키워드들에 대해 간단히 설명드리겠습니다.
content
- content 옵션은 패킷 페이로드에서 특정 문자열 또는 패턴을 검사하는 데 사용됩니다.
nocase
- nocase 옵션은 대소문자를 구분하지 않고 패턴을 검사하는 옵션입니다.
depth
- depth 옵션은 패킷 페이로드에서 검사할 최대 바이트 수를 지정하는 옵션입니다.
offset
- offset 옵션은 패킷 페이로드에서 검사를 시작할 위치(오프셋)를 지정하는 옵션입니다.
distance
- distance 옵션은 패턴이 출현한 후, 다음 검사를 시작하기까지의 최소 바이트 수를 지정하는 옵션입니다.
within
- within 옵션은 패킷 페이로드에서 검사를 수행할 범위(바이트 수)를 지정하는 옵션입니다.
http_client_body
- http_client_body 옵션은 HTTP 클라이언트 요청의 본문 부분에서 특정 패턴을 검사하는 옵션입니다.
http_cookie
- http_cookie 옵션은 HTTP 쿠키 헤더에서 특정 패턴을 검사하는 옵션입니다.
http_raw_cookie
- http_raw_cookie 옵션은 HTTP 쿠키의 내용을 원시(raw) 형태로 검사하는 옵션입니다.
http_header
- http_header 옵션은 HTTP 헤더에서 특정 패턴을 검사하는 옵션입니다.
pcre
- pcre 옵션은 Perl Compatible Regular Expressions(PCRE)를 사용하여 패킷 페이로드를 검사하는 옵션입니다.
다음에는 Payload Option의 키워드들에 대해 자세히 확인하고 테스트하는 과정을 다루겠습니다.
[Snort] #4 Payload Option - content, nocase / rule test
'IT > Snort' 카테고리의 다른 글
Colasoft Packet Builder - Windows용 패킷 전송툴(snort rule 검증) (1) | 2023.07.28 |
---|---|
[Snort] #4 Payload Option - content, nocase / rule test (0) | 2023.07.27 |
[Kali Linux] Kali(Debian)에 Snort 설치 방법 (8) | 2023.07.17 |
[Snort] #2 Snort Rule 기초 - RTN, OTN, General Option (0) | 2023.07.17 |
[Kali Linux] 칼리 리눅스 설치 가이드(Oracle VM VirtualBox) 및 초기 설정 팁 (0) | 2023.07.14 |
댓글