탐지 패턴 활용
탐지 패턴이란 ?
특정 바이러스나 악성코드 등 특정 패킷이 네트워크를 통과할 때 탐지하기 위해 제작한 일종의 문구 , 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과 동일하지만 대응 방법이 다르다.
| ||||
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 : 플래그 알파벳; * 플래그 옵션의 종류 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만 초과 : 사용자정의 룰 번호 |
'정보보안관제사 > 보안관제 기술' 카테고리의 다른 글
IPTables 명령어 (0) | 2017.08.26 |
---|---|
보안관제 로그 분석 (0) | 2017.08.24 |