SnortValidator

http://doc.emergingthreats.net/bin/view/Main/SnortValidator

 

emergingthreats에서 SnortValidator라는 툴을 내놓았다.

이 툴은 룰문법을 검사해주는 툴이다.

즉, 사용자가 룰을 작성하여 이 SnortValidator 툴로 룰에 문법오류가 있는지 검사하는 것이다.

특징은 다음과 같다.

  • 룰의 기본적인 골격구조 검사 
  • IP, 포트, 범위, 방향, 프로토콜, 액션
  • SID가 중복되는지 검사, References, Classtypes
  • 정규표현식을 이용하여 모든 키워드의 문법을 검사 
  • flow, within, depth, rawbytes, byte tests, etc… 검사 
  • PCRE 검사

 

인스톨 과정은 다음과 같다.

snortvalidator는 perl로 작성되어있다.

perl을 설치 후 library를 깔아주어야 한다.

library는 다음과 같다.

  • Net::IP and Net::CIDR (Used for IP checks)
  • Parse::Snort (This module splits a snort rule into it’s basic parts, saves me writing a low level parser)
  • Class::Accessor

 

다음은 다운로드 받는 경로다.

서브버젼을 이용하여 받을 수 있고 직접 경로에 들어가 받을 수도 있다. 

svn checkout https://svn.own-hero.net/sysadmin/snortvalidator

라이브러리 설치 완료 후 프로그램을 실행한다.

이 때 룰파일이 있어야한다.

예를 들어 다음과 같은 룰파일을 작성하자.

exam

 

그리고 snortvalidator를 실행해보자.

exe

첫줄은 정상이고 2번째 줄은 에러가난다. msg 부분에서 오류가난다.

 

어디까지나 버젼이 0.01이기때문에 오류를 발견할 수도 있다.

발견이 되면 고쳐지겠으나.

 

룰 작성시 상당한 도움이 될 수 있을것이다.

 

물론 snort관련 제품을 개발시 룰 문법검사하는 부분에서 이용될 수 도 있겠다.

Advertisements

About this entry