Snort란 Snort Rule Signature

2023. 9. 1. 06:18·보안/보안관제

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
'보안/보안관제' 카테고리의 다른 글
  • 동적 분석 정의, 동적 분석 도구
  • 정적 분석 정의, 정적 분석 도구
  • VirusTotal 이란?
  • 보안관제란?
배이빗
배이빗
배이빗의 공부 정리하는 공간입니다.
  • 배이빗
    배이빗의 공부 공간
    배이빗
  • 전체
    오늘
    어제
    • 분류 전체보기 (28)
      • 보안 (18)
        • 보안관제 (13)
        • 보안관제 실습 (3)
        • 웹 모의해킹 실습 (2)
      • 프로그래밍 (1)
        • 프로그래밍 기초 (1)
      • 자격증 (1)
        • CISA (1)
      • 클라우드 (4)
        • aws saa (4)
      • 프로젝트 (1)
        • 채팅 open api (1)
      • DevOps (0)
      • 미니pc (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    MalwareBazaar
    악성샘플 사이트
    악성 샘플 수집
    리팩토링
    우분투 서버
    공유폴더만들기
    보안
    ViursTotal
    VirusShare
    saa
    N100
    미니PC
    스노트 룰 시그니처
    Exeinfo PE
    snort 패턴
    AutoRuns
    공유 폴더 만드는법
    snort rule signature
    MINI PC
    동적 분석 도구
    악성샘플수집
    악성샘플
    cli 설치
    bintext
    Ubuntu server
    cisa 합격후기
    자격증 갱신
    동적분석도구
    IAM
    AWS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
배이빗
Snort란 Snort Rule Signature
상단으로

티스토리툴바