본문 바로가기

정보보안관제사/보안관제 기술

보안 관제기술

탐지 패턴 활용


탐지 패턴이란 ? 

특정 바이러스나 악성코드 등 특정 패킷이 네트워크를 통과할 때 탐지하기 위해 제작한 일종의 문구 , RULE 이라 부른다

스노트(Snort)

단순한 패킷 스니퍼 프로그램이었으나 IDS와 같이 Rule을 이용한 분석기능이 추가되고 현재 많은 침입탐지 솔루션제품에서 Snort룰 기반으로 정책을 설계하고 있다.


Snort의 기능

 기능

내용 

패킷 스니퍼

네트워크의 패킷을 읽어 보여주는 기능 

패킷 로거

모니터링한 패킷을 저장하고 로그에 남기는 기능 

Network IDS

네트워크 트래픽을 분석하여 공격을 탐지하는 기능 

기타

프로토콜 분석, 컨텐츠 검색, 조합 작업, Buffer overflows, stealth port scans, CGI attacks, SMB probes, OS fingerprinting attempts 등 


스노트 룰 상세설명

Rule header 

Rule option 

action 

rotocol 

IP address 

port 


IP address 

Port 

option


 Rule Header

기능

내용 

 Action

Alert 

alert를 발생시키고 패킷을 기록한다(로그 기록) 

Log 

패킷을 기록한다 

Pass 

패킷을 무시한다 

Activate 

alert를 발생, 대응하는 dynamic 시그니처를 유효하게 하다 

Dynamic

activate 시그니처에 의해 유효된 경우 log를 남긴다 

Reject

drop과 동일하지만 대응 방법이 다르다.

TCP

RST 패킷으로 응답

UDP

ICMP Destination Unreachable 메세지

 

Drop

패킷을 차단하고 로그를 남긴다.

Sdrop

패킷을 차단하고 로그를 남기지 않는다. 

 Protocol

패킷의 프로토콜을 tcp, udp, icmp, ip 중에서 선택한다. 

 IP Address

송신자와 수신자의 ip주소를 지정한다. 

- any = 임의의 ip 주소

- 넷마스크 형식 지원

- 동시에 여러 ip 를 지정하는 경우 192.168.0.0/24 , 10.0.0.0/8 형식

- !192.168.0.0/24 에서 ! 는 not을 의미

- Snot.conf에서 지정한 변수를 참조하는 경우에는 $를 사용

 Port

송수신자의 포트번호를 지정

- 단일 포트 지정은 그냥 숫자를 써주면되고

- 복수 포트 지정은 : 을 사용한다. 

예 )  1:1024 = 1번포트부터 1024포트까지

- ip와 동일하게 any와 !를 사용할 수 있다.

 Direction 

화살표 

패킷의 방향을 나타낸다
→ : 좌측이 송신자 우측이 수신자

← : 좌측이 수신자 우측이 송신자

<> : 송수신자 구별없이 지정한 ip 주소 사이의 모든 패킷이 대상이됨 

Option 

msg 

msg : "메세지텍스트";

- 지정한 메세지가 alert발생시나 로그 보존시에 이벤트 명으로 사용됨

- content옵션과 마찬가지로 큰 따옴표 사이에 문자열 "test" 

dsize

dsize : <> 한계치(숫자);  예) dsize : 400<>1000

- 패킷 페이로드의 사이즈가 400바이트에서 1000바이트 이하인것을 탐지

- dsize 옵션을 지정하면 간단히 오버플로우를 감시 할 수 있다.

content 

content : "검색할 문자열";
- 검색할 문자열에는 텍스트 테이터와 바이너리 데이터 가능

- 바이너리 표현의 경우 |00 01 02 AA AB| 처럼 표현 

offset 

offset : 오프셋 번호; 

- 검색을 시작할 패킷의 특정위치를 지정할 수 있다. 범위적 효율성 

- Default offset = 0으로 패킷페이로드의 첫 byte

depth 

depth : 페이로드 깊이값;

- 검사할 byte 수를 지정한다. 

distance 

distance : 숫자;

- 이전 검색결과 후에 몇 byte부터 검색할지를 정하는 옵션

- 다수의 content옵션이 지정되었을 경우 유용하다.

within 

within : 숫자;

- 이전 검색결과 후에 몇 byte 이내에 다음 content 탐지 패턴이 나와야 하는지  지정하는 옵션 

pcre

pcre : pcre표현 값;

-pcre는 스노트 룰 옵션에 강력하고 유연한 기능을 제공한다. 

flags 

flags : 플래그 알파벳;
- Non-payload 탐지 규칙 옵션으로 TCP flags 필드값이 특정 flag로 설정되어 있는지 검사하며, 옵션값은 플래그를 대표하는 알파벳으로 표기한다. 

* 플래그 옵션의 종류

A = ACK 플래그 검사

P = PSH 플래그 검사

U = URG 플래그 검사 

0 = 패킷에 설정된 TCP 플래그가 없는 경우

1 = 패킷의 예약비트 1

2 = 패킷의 예약비트 2

+ = 특정 플래그가 켜저있고 다른 플래그도 켜져있는지 검사

threshold

threshold : type(limit 또는 threshold 또는 both), track(by_src 또는 by_dst) count 숫자, second 숫자;

- 일정시간 내에 발생하는 동일 이벤트중 해당 개수를 넘으면 경고 발생


*Limit : 매 m초 동안 s 번째 이벤트까지 action을 수행한다.

*threshold : 매 m초 동안 s번째 이벤트마다 action을 수행한다.

*both : 매 m초 동안 s번째 이벤트 시 한번 action을 수행한다.

*track by_dst : 출발지 ip기준으로 추적 

*track by_src : 목적지 ip 기준으로 추적 

sid

룰을 식별하고자 하는 식별자
- 100미만 : 예약
- 100~100만 사이 : www.Snort.org에서 배포하는 룰 번호

- 100만 초과 : 사용자정의 룰 번호 



'정보보안관제사 > 보안관제 기술' 카테고리의 다른 글

IPTables 명령어  (0) 2017.08.26
보안관제 로그 분석  (0) 2017.08.24