본문 바로가기
악성코드 샘플분석

Snort

by 정리1023 2024. 1. 13.

Snort

오픈 소스 기반의 네트워크 침입 탐지 시스템 (IDS, intrusion Detection System, IDS), 침입 차단 시스템(IPS: Intrusion Prevention System)
개방형 무료 소프트웨어로서, 소스 코드가 공개되어 있음
Snort 규칙을 기반으로 이상한 동작이나 악성 행위를 탐지함
다른 보안 도구와 통합하여 효과적인 보안 솔루션을 구축가능

 

Sniffer Mode (스니퍼 모드)

네트워크 상에서 패킷을 캡처하고 분석, 발생하는 트래픽을 확인가능

 

Network Intrusion Detection System Mode (NIDS 모드)

네트워크 침입 탐지 시스템, 네트워크 상에서 실시간으로 패킷을 모니터링
미리 정의된 규칙을 사용하여 악성 행위나 침입 시도를 탐지
탐지된 이상 행위에 대한 경고나 알림을 제공하여 보안 담당자가 대응 조치

 

Packet Logger Mode (패킷 로거 모드)

패킷을 캡처하고 디스크에 저장

저장된 패킷은 나중에 분석, 조사 또는 다른 목적으로 사용

 

Snort 작동 순서

Sniffer (스니퍼)
패킷 캡쳐 라이브러리를 사용하여 패킷 캡쳐

Packet Decoder (패킷 디코더)
캡쳐된 패킷을 디코딩하여 데이터링크, 네트워크, 전송, 응용프로그램 레이어 헤더를 찾아서 분리, 구조와 내용을 이해 가능한 형태로 변환 
정보에는 송신자 및 수신자 IP 주소, 포트 번호, 전송 프로토콜 등이 포함

Preprocessing (전처리)
패킷의 압축 해제, IP 조각화 처리, 이상 패킷 필터링 등의 작업
내용을 정제하고 처리하여 분석 엔진에 전달 ⇒ 분석 엔진이 효율적으로 패킷 분석가능

Detection engine (탐지 엔진)
전처리기에서 받은 패킷을 사전에 작성된 rule을 기반으로 침입 여부 판단

Log, Alter (기록)
탐지 엔진에서 칩입으로 판단할 경우, 해당 정보를 로그 파일로 기록 및 이메일 SMS로 사용자에게 경고 전달

Snort Rule Signature

  탐지 엔진은 Rule Signature를 기반으로 작동
  Snort이 공격을 어떻게 탐지하고 대응하는가 에 대한 규칙
  Rule Header와 Rule Option으로 구분

대부분 규칙은 한 줄로 간단히 작성

 

 

Rule Header

Action (행위)
Rule과 일치하는 패킷을 찾을 때 Snort 가 수행할 행동 / 8가지
Drop, reject, sdrop는 인라인 모드(Inline Mode)에서 만 가능
Snort의 동작 모드 중 하나로, 패킷을 실시간으로 처리하여 악성 행위를 차단하는 모드

 

Protocol (프로토콜)
탐지할 프로토콜 작성, 소문자 기재가 규칙
다양한 프로토콜을 지원하며 any를 입력하면 전체를 탐지

 

Ip Adress (출발지, 목적지 주소)
Any를 ! 부정연산자를 사용하면 해당 주소 이외주소만 적용탐지할 프로토콜 작성, 소문자 기재가 규칙
다양한 프로토콜을 지원하며 any를 입력하면 전체를 탐지

 

Port number(출발지, 목적지 포트번호)
1~1024번 포트 ⇒ well known port(잘 알려진 포트)로 서비스가 고정적

 

Direction (방향 연산자)
패킷이 흘러가는 방향

 

Rule Option

규칙의 동작을 세부적 조정 및 추가조건 지정

각각 옵션은 규칙의 동작을 다양한 커스터 마이징 가능

General, Payload, Flow, http 주요 4개 옵션

 

General

옵션으로 검색하는 동안은 어떠한 영향도 미치지 않는 옵션

 

Flow

패킷의 방향 정의

세션 연결 상태에서  조건에 맞는 패킷을 필터링

 

Payload

악성 패킷을 탐지하는 옵션

 

Http

content 옵션의 탐색범위를 HTTP 영역으로 한정

 

EX

alert tcp 20.20.75.20 any -> any 80 (msg:"Case-insensitive 'hell' string detected"; nocase; content:"hell"; sid:1000001; rev:1;)
대상 IP 주소가 20.20.75.20이고 목적지 포트가 80TCP 패킷에서 대/소문자를 무시하고 "hell"이라는 문자열을 탐지하는 알림 규칙

 

'악성코드 샘플분석' 카테고리의 다른 글

악성코드 샘플분석 2차  (0) 2024.02.06
악성코드 샘플 분석  (0) 2023.12.28
샘플분석 및 환경구성  (1) 2023.12.28
악성코드 정적분석 / 동적분석  (0) 2023.12.28
바이러스 토탈  (0) 2023.12.28