일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 보안관제 업무유형
- AWS
- 공유폴더만들기
- 동적분석도구
- bintext
- 지식기반탐지
- 악성샘플 사이트
- snort rule signature
- 보안관제 업무절차
- 보안관제 업무
- IAM
- saa
- 스노트 룰 시그니처
- snort 패턴
- 공유 폴더 만드는법
- Exeinfo PE
- 보안
- 바이러스 웜 차이
- AutoRuns
- HIDS
- VirusShare
- MalwareBazaar
- 악성샘플수집
- 동적 분석 도구
- False Negatvie
- 바이러스 웜 트로이목마
- 악성샘플
- 악성 샘플 수집
- ViursTotal
- 리팩토링
- Today
- Total
배이빗의 공부 공간
Snort란 Snort Rule Signature 본문
Snort
- 오픈소스 시그니처 기반 네트워크 침입탐지 시스템(IDS/IPS)
- 프로토콜 분석, 콘텐츠 검색, 웜, 취약점 공격, 포트 스캔, 버퍼 오버플로우 등 다양한 공격을 탐지
- 네트워크 패킷을 수집(스니핑)해서 지정한 Rule과 동일한 패킷을 탐지한다.
Snort 기능
1. Packet Sniffer Mode 패킷 스니퍼 모드
- 네트워크 패킷을 읽고 콘솔에 보여줄 수 있다.
2. Packet Logger Mode 패킷 로거 모드
- 패킷을 디스크에 기록한다.
3. NIDS (Network IDS) Mode / NIPS (Network IPS) Mode
- 공격을 탐지하기 위한 패턴을 만들고 네트워크 트래픽 등이 탐지되는지 분석한다
Snort Rule 시그니처(Signiture)
- 룰 헤더(Rule Header)와 룰 옵션(Rule Option)으로 구성
- 룰 헤더: 탐지하는 대상을 의미. (처리 방법, 프로토콜, IP주소 및 포트번호 등)
- 룰 옵션: 탐지하는 세부적인 조건을 정의
Rule Header | Rule Option | ||||||
action | protocol | IP address | port | -> | IP adress | port | (option) |
행위 | 프로토콜 | 출발지 주소 | 출발지 포트 | 방향성 | 목적지 주소 | 목적지 포트 | 룰옵션 |
1. 룰 헤더 (Rule Header)
action
- 패턴(규칙)에 의해 패킷이 탐지되었을 때 처리하는 방법을 결정하는 명령어
- action 종류
명령어 | 의미 |
alert | Alert(경고) 발생 및 로그 기록 |
log | 로그 기록 |
pass | 패킷 무시 |
drop | 패킷 차단, 로그 기록 |
reject | 패킷 차단, 로그 기록 ( 로그 기록 후 TCP - TCP RST 응답, UDP - ICMP Unreachable 메시지를 보냄) |
sdrop | 패킷을 차단, 로그기록x |
activate | alert를 발생시키고, dynamic 룰을 동작시킴 |
dynamic | activate 시그니처에 의해 유효하게 된 경우 한쪽의 패킷을 기록한다. |
protocol
- protocol에는 패킷의 프로토콜을 tcp, udp, icmp, ip, any(전체) 중에서 선택하여 탐지.
IP address & Port
- 송신자와 수신자의 IP주소와 포트번호.
- IP주소는 서브넷 마스크(Subnet Mask)와 함께 설정이 가능하며 서브넷 마스크와 함께 설정하는 경우는 IP주소 / 24와 같은 형태로 사용
- 포트 명령어
- 1:1024 => 1부터 1024를 뜻함
- :1024 => 1024 이하
- 1: => 1이상
※ 특정 호스트만 지정하고 싶은 경우 넷마스크 /32 비트로 지정한다.
※ any: 임의의 주소나 포트번호, !IP주소 not을 뜻함
※ 지정한 변수 $를 이용하여 참조 가능
Direction
패킷의 방향을 나타내는 기호로 나타낸 것.
-> 를 지정하면 좌측 송신자 우측이 수신자이다
<>는 송수신자 구별없이 지정한 IP주소 사이의 모든 패킷이 대상이 된다.
룰 옵션(Rule Option)
일반 옵션
명령어 | 내용 | 형식 |
msg | 경고 이벤트 메세지 | msg:"ICMP Ping test" |
sid | 룰 식별자 (3000000번 이상 권장) | sid:3000001; |
rev | 룰 버전, 수정될 경우 1씩 증가 | rev:1; |
priority | 우선 순위 (값이 작을수록 먼저 매칭) 범위 : 1~10) | priority:1; |
classtype | 스노트 룰 분류 | classtype:분류이름; |
reference | 취약점 참고 배포 URL 정보 | reference: 이름 http://~; |
흐름 옵션
명령어 | 내용 |
flow | 흐름 옵션 명령어 |
to_server 또는 from_client | 클라이언트 -> 서버 패킷 룰 매칭 |
to_client 또는 from_server | 서버 -> 클라이언트 패킷 룰 매칭 |
established | 세션이 연결된 상태의 패킷 룰 매칭 |
statless | 세션 연결 유무와 상관 없이 룰 매칭 |
flow:to_server,established | 클라이언트 -> 서버 세션 연결 패킷 룰 매칭 |
페이로드(전송되는 데이터) 탐색 옵션
명령어 | 내용 | 예제 |
content | 문자/숫자 탐지 | content: "xxx"; content: "|16진수 16진수|"; |
nocase | 대소문자 구분 없이 탐지 | content: "xxx"; nocase; |
offset | 지정한 바이트번째 부터 탐지(0번째 부터 시작) | offset:3; |
depth | 지정한 바이트까지 탐지(0번째 부터 시작) | depth:3; |
distance | content 매칭 후 지정 위치 이후 다른 content 탐색 | content:"xxx"; content:"yyy"; distance:5; |
within | content 매칭 후 지정 위치 안에 다른 content 탐색 | content:"xxx"; content:"yyy"; within:5; |
pcre | 정규화 표기, '/'는 시작과 끝에 표기, 16진수는 앞에 \x | pcre:"/(http|ftp) Traffic/" |
HTTP 탐색 옵션
명령어 | 내용 |
http_method | 페이로드 앞부분 HTTP 메소드 패턴 매칭 |
http_uri | 페이로드의 HTTP URI 패턴 매칭 |
http_cookie | 페이로드의 HTTP 쿠키 패턴 매칭 |
http_header | HTTP 요청/응답 Header 내용 패턴 매칭 |
http_client_body | HTTP 요청/응답 Body 내용 패턴 매칭 |
http_stat_code | HTTP 응답 상태 코드 패턴 매칭 |
http_stat_message | HTTP 응답 상태 메세지 패턴 매칭 |
'보안 > 보안관제' 카테고리의 다른 글
동적 분석 정의, 동적 분석 도구 (0) | 2023.08.31 |
---|---|
정적 분석 정의, 정적 분석 도구 (0) | 2023.08.31 |
VirusTotal 이란? (1) | 2023.08.27 |
보안관제란? (0) | 2023.08.27 |
악성코드 종류 (0) | 2023.08.23 |