○ 침입탐지 시스템(snort)
- 1998년 마틴 로시에 의해 처음 개발, Snort라는 단어는 "Sniffer and More"에서 유래
- 주요기능 : 패킷 스니퍼, 패킷 로거, 네트워크 IDS
○ snort rule 설정
- snort 룰/시그니처는 크게 헤더(Header) 부분과 바디(Body) 부분으로 구성되어 있다.
- 헤더 부분은 처리방식, 프로토콜, IP주소, 포트번호 등 처리할 패킷을 판단하는 기준을 명시한다.
- 바디 부분은 패킷을 탐지하기 위한 규칙을 명시한다.
○ 룰 헤더(Header) 설정
- Rule Action : 총 8가지 유형의 처리방식 지정
- Protocols : 탐지할 프로토콜(4가지, TCP/UDP/ICMP/IP)
- IP Address : 출발지/목적지 IP
- Port Numbers : 출발지/목적지 Port
○ 룰 바디(body) 설정
- content : 페이로드에서 검사할 문자열을 지정
- offset : 페이로드에서 content 패턴을 검사할 시작 위치
- depth : offset으로부터 몇 바이트까지 검사할 것인지 지정
- distance : 이전 content 패턴에 매치된 경우 매치된 이후 바이트로부터 몇 바이트 떨어진 위치에서 다음 content를 검사할 것인지 지정
- within : 이전 content 패턴에 매치된 경우, distance로부터 몇 바이트 범위 내에서 다음 content를 검사할 것인지 지정
- nocase : 페이로드 검사 시 대/소문자를 구분하지 않음
○ 설정 예
- alert 액션으로 탐지되었을 때 alert를 발생시키고 패킷을 로그에 남긴다.
- TCP 프로토콜에 대해서 출발지 IP, Port는 모든 IP, Port이고 목적지 IP는 192.168.133.0 대역에 목적지 Port가 80인 패킷을 탐지한다.
○ snort 룰 예제
- alert tcp 10.10.10.0/24 23 -> any any (msg:"telnet login brute force attack"; content:"Login incorrect"; nocase; threshold:type limit, track by_dst, count 1, seconds 5; sid:100120;)
* threshold 옵션 : 목적지 주소를 기준으로 매 5초동안 1번째 이벤트까지만 alert 액션을 수행
- alert tcp any any -> 10.10.10.0/24 80 (msg:"TCP SYN Flooding attack"; flags:S; threshold:type threshold, track by_src, count 5, second 1; sid:1000170;)
- alert ip any any -> $HOME_NET any (msg:"LAND Attack"; sameip; sid:100230;)
* IP 프로토콜의 출발지 IP주소와 목적지 IP주소가 일치하는 패킷(sameip 옵션)을 탐지하고 있다
- alert ip any any -> $HOME_NET ant (msg:"Null Scan Detected"; flags:!UAPRSF; sid:100270;)
* flags 옵션을 통해 TCP 헤더 제어 플래그 중 URG, ACK, PSH, RST, SYN, FIN이 모두 설정되지 않은 패킷 탐지
※ 함께 보면 좋은 글
'정보보안기사' 카테고리의 다른 글
[정보보안기사] 실기대비 요약 #11(침해사고 분석 및 대응) (0) | 2022.04.16 |
---|---|
[정보보안기사] 실기대비 요약 #10(침해사고 분석 및 대응) (0) | 2022.04.11 |
[정보보안기사] 실기대비 요약 #8(어플리케이션 보안) (0) | 2022.04.09 |
[정보보안기사] 실기대비 요약 #7(네트워크 보안) (0) | 2022.04.09 |
[정보보안기사] 실기대비 요약 #6(네트워크 보안) (0) | 2022.04.08 |