IDS
침입 탐지 시스템은 네트워크를 통한 공격을 탐지하기 위한 장비로 내부의 해킹이나 악성 코드 활동 탐지와 같이 방화벽이 하지 못하는 일을 수행
설치 위치와 목적에 따라 Host-based IDS, Network-based IDS로 구분한다.
IPS
침입 탐지 시스템은 기본적으로 침입을 알려주는 시스템 -> 공격을 역추적하여 시스템이나 네트워크를 사용하지 못하게 능동적인 기능이 추가 됨
이를 침입 방지 시스템이라고 한다.
필요성
IDS/IPS를 통하여 침투에 대한 탐지, 차단을 수행하여 네트워크 보안을 강화할 수 있음.
구축 방식
Inline 모드
네트워크 방화벽 구성과 동일하게 모든 트래픽이 IDS/IPS를 거처야 목적지로 전송 가능
장점: 모든 패킷을 검사하기 때문에 빠른 대응 가능
단점: 오류 발생 시 대응 방안이 필요, 성능이 높아야 됌
SPAN 모드
보안 장비가 트래픽의 사본을 입수하여 기능을 수행하도록 설계된 구조
장점: 보안장비의 존재를 숨기는데 용이함, 인라인 모드에 비해 네트워크 안정성이 높음
단점: 인라인 모드에 비해 패킷에 대한 대응이 느림
IDS/IPS 탐지 방법
오용탐지
일반적인 시그니처 패턴 기반 탐지로 알려진 방법으로 비정상 행위로 설정된 룰을 통해 이상징후를 탐지하는 방법
장점: 오탐율이 낮음
단점: 새로운 공격 탐지를 위한 지속적인 공격 패턴 갱싱ㄴ 필요
비정상행위 탐지
평상시에 축적되는 정보로부터 정상적인 행동 패턴을 추출하여 비정상행위에 대해 이상징후를 탐지하는 방법
장점: 알려지지 않은 공격도 탐지 가능
단점: 오탐율이 높음
IDS/IPS 종류
Snort
가장 많이 사용되는 오픈 소스 기반 IDS/IPS
오류 수정 및 기능 추가가 잘 이루어져 다양한 공격을 정확하게 탐지가 가능하다.
단일 스레드 방식으로 대용량 트래픽의 한계가 있다.
Suricata
멀티 코어/멀티 스레드 지원
Snort 룰이 호환 가능
NGIPS
CISCO에서 유료로 제공하는 IPS
Security Onion
우분투 기반으로 Snort와 Suricata가 기본적으로 로드
Snort
3가지 주요 모드
스니퍼 모드: TCP/IP 패킷의 정보를 읽고 콘솔에 출력
패킷 로거 모드: 모니터링 한 패킷을 저장하고 디스크에 로그를 남김
네트워크 침입 탐지 모드: 가장 많이 사용되는 모드로 룰셋을 기반으로 네트워크를 분석하여 공격을 탐지하거나 차
Snort 룰 개요
스노트는 사용자가 정한 룰을 기반으로 패킷을 탐지
RTN와 OTN으로 구성되어 있음
RTN: 룰 탐지 시 처리 방법, 프로토콜, 패킷의 방향, 출발지 및 도착지 IP와 포트 등을 기반으로 패킷을 검사
OTN: 그 외의 Alert 메시지를 정의하거나 패킷의 내부 조사 등으로 패킷을 처리
주요 룰 옵션의 의미
threshold 옵션
특정 시간 동안 특정 패킷이 정해진 양만큼 들어오는 상황을 탐지하기 위한 옵션
threshold: type [threshold|limit|both]
threshold: 패킷량
limit: 임계 시간 내 들어오는 패킷 수
both: 임계 시간 단위
Content 옵션
패킷에서 특정 패턴을 찾고하 할 때 사용하는 옵션
가장 기본이 되는 옵션이며 패킷의 페이로드 전체 부분에 대하여 특정 패턴을 검색
depth
file_data;content:"SIG";depth:N
전송되는 파일을 조사
within
file_data;content:"SIG";within:N
이전 content가 매칭 된 경우 지점부터 탐색할 범위를 지정
distance
file_data;content:"SIG";distance:N
해당 부분을 스킵한다.
ex) alert tcp any any -> any any (sid:1000001;gid:1;content:"|DO CF 11 E0 A1 B1 1A E1|"; msg:"HWP data";)
uricontent 옵션
찾고하 하는 content 데이터를 URI와 비교하여 매칭되는지 검사
ex) alert tcp any any -> any any (sid:1000001;gid:1;uricontent:"airon/admin/login.php"';msg:"Attempted Aricon";)