침입탐지시스템 IDS, 침입방지시스템 IPS
침입탐지시스템 IDS
외부침입에 대한 정보를 수집하고 분석하여 침입 활동을 탐지해 대응하도록 보안 담당자에게 통보하는 기능을 수행하는 네트워크 보안 시스템
내부 공격자의 위협을 줄이기 위해서는 보안설정을 whitelist 방식으로 해야 함
장점 | 단점 |
- 해킹에 대해 침입차단시스템보다 적극적인 방어 가능 - 내부 사용자의 오남용 탐지 및 방어 기능 - 해킹사고 발생 시 어느 정도의 근원지 추적 가능 |
- 대규모 네트워크에 사용 곤란 - 관리 및 운영 어려움 - 새로운 침입 기법에 대한 즉각적인 대응 곤란 - 보안사고에 대한 근본적인 해결책이 되지 못함 |
IDS 실행 단계
- 데이터 수집 단계 : 탐지 대상(시스템 사용내역, 패킷 등)으로부터 생성되는 데이터를 수집하는 감사 데이터 수집 단계
- 데이터 가공 및 축약 단계 : 수집된 감사 데이터를 의미있는 정보로 전환
- 침입분석 및 탐지 단계 : 비정상 행위 탐지 기법. 오용 탐지 기법(취약점이나 버그 탐지)
- 보고 및 대응 단계 : 적절한 대응을 자동으로 취하거나 보안관리자에게 보고
IDS 종류
탐지 방법에 따른 분류
규칙-기반 침입탐지(오용 침입탐지) | 통계적 변형 탐지(비정상 침입탐지) | |
특징 | - 비정상 침입 발생 시 비정상케이스 등록 - signature pattern - knowledge based - expert system 추론 엔진 |
- 정상수집- 통계 프로파일 - 신경망 모델 - 인공지능 |
zero day attack | 탐지 불가능 | 탐지 가능 |
장단점 | - 트로이목마, 백도어 공격 탐지 가능 - False-Nega 확률 높음 (미탐) - 새로운 공격에 대한 지속적 갱신 필요 |
- False-posit 확률 높음 (오탐) - 비교하는 시간 지연으로 실시간 탐지가 어려움 - 탐지 정확성을 높이기 위한 기준 조정(임계치 설정) 어려움 |
📍규칙-기반 침입탐지(지식기반 침입탐지, 오용 침입 탐지, Misuse)
시스템이나 응용 SW의 약점을 통해 침입(e.g. finger : 사용자 정보를 볼 수 있는 유닉스 기능)
1. 전문가 시스템 : 실시간으로 입력되는 감사정보와 침입/오용 패턴을 비교, if-then-rule에서 공격 패턴 정의
2. 상태전이 모델 : 공격 패턴에 따른 상태변화를 미리 상태전이도로 표현, 시스템의 상태 변화를 계속 추적
3. 패턴매칭 : 알려진 공격 패턴을 시나리오 형태로 DB에 저장하여 시나리오와 비교파여 판단
통계적 분석, 시그니처 분석, 페트리넷(petri-net)
📍통계적 변형 탐지(비정상 침입탐지, 이상 탐지, Anomaly)
정상적인 행위에 대한 프로파일 생성, 일탈 행위를 식별하는 과정
컴퓨터 자원의 비정상적인 행위나 사용에 근거한 침입을 말함
1. 통계적 분석 방법 : 사용자나 시스템 행위에 대한 이전 정보를 기반으로 통계적 프로파일 생성, 주기적 갱신
2. 예측 가능한 패턴 생성 방법 : 정상적 행위는 일정한 패턴이라는 가설을 근거로 함
3. 신경망 모델 : 적응 학습 기술을 사용하여 비정상적 행위 탐지
컴퓨터 면역시스템, 데이터 마이닝, HMM(Hidden Markov Model)
대응 방법에 따른 분류
📍수동적 대응 방법
대량의 정보를 수집하는 형태를 취하거나 필요한 경우에 권한을 가진 사용자들에게 보다 엄격한 조치를 취하도록 함
전자우편, 전화, SNMP 트랩 등으로 보안관리자에게 보고하는 방법, 조치 시 도움이 되는 정보를 수집하는 이벤트 기록 방법
📍능동적 대응 방법
침입에 대해 가장 빨리 실행할 수 있는 행동으로 침입에 의한 손실을 줄임
데이터 수집원에 의한 분류
호스트 기반 IDS | 네트워크 기반 IDS |
호스트로부터 수집된 시스템 이벤트 감사 자료 이용 서버에 직접 설치되므로 네트워크 환경과 무관 |
네트워크를 통해 전송되는 패킷 정보를 수집/분석하여 탐지 네트워크 세그먼트 당 하나의 감지기만 설치하면 됨. 설치 용이 |
- 기록되는 다양한 로그자료를 통해 정확한 침입 방지 가능 - 호스트에 대한 명백한 침투 탐지 가능 - 암호화 및 스위칭 환경에 적합 - 추가적인 HW가 필요 없음 - 트로이 목마, 백도어, 내부자에 의한 공격탐지/차단 기능 |
- 네트워크에서 실행되어 개별 서버와 성능저하가 없음 - 네트워크에서 발생하는 여러 유형의 침입을 탐지 - 해커의 IDS 공격에 대한 방어가 가능, 존재 사실도 숨길 수 있음 |
- 로그 자료의 변조 가능성 존재나 DoS 공격으로 IDS 무력화 가능 - 호스트 성능에 의존적이며, 리소스 사용으로 서버부하 발생 - OS 에 종속적 |
- 네트워크 패킷이 암호화되어 전송될 때 침입 탐지 불가능 - 네트워크 트래픽이 많이 증가함에 따라 성능 문제 야기 - 오탐률(False-Posit) 높음 - 스위칭 환경에서는 돈이 많이 듦 |
감지기 : 무차별 모드에서 동작하는 네트워크 인터페이스(NIC)에 설치되어 있음(패킷 스니핑을 통해 수집)
탐지 시점에 따른 분류
📍사후 분석 시스템
수집된 감사 데이터를 정해진 시간에만 분석하여 침입 여부 판단 e.g. 사후 감사추적에 의한 분석 기술
고전적인 형태로 즉시 대응이 어려움
📍실시간 탐지 시스템
실시간 정보 수집과 동시에 감사 데이터 발생과 침입 탐지가 이루어지고 이에 대응하는 대비책을 실행
e.g. 실시간 패킷 분석 기술, 실시간 행위 감시 및 분석기술
NIDS 위치
(3) 방화벽 뒤 : 공격에 대한 방어 정책과 FW과의 연동성이 가장 중요
(5) DMZ : 외부 공격자와 내부 공격자에 의한 중요 데이터 손실이나 서비스 중단을 막기 위함
(4) 내부 네트워크 : 방화벽은 침입을 일차적으로 차단하지만 내부에 대해서는 무방비 상태
(2) 라우터 뒤 : 패킷 필터링을 거친 후의 패킷 탐지, 좀 더 강력한 의지가 있는 공격자 탐지 가능
(1) 패킷이 라우터로 들어오기 전 : 모든 공격을 탐지할 수 있지만 네트워크에 치명적인 공격에는 대처가 어려움
긍정오류, 부정오류
긍정 오류 : 합법적인 사용자를 침입자로 판단 (침입자의 행동을 높게 잡았을 경우)
부정 오류 : 침입자를 합법적인 사용자로 판단 (침입자의 행동을 좁게 잡았을 경우)
허니팟
비교적 최근에 개발된 침입탐지시스템
실제 호스트인 것처럼 인터넷 상에 존재하여 해커, 악의적인 내부자를 속여서 그들의 행동, 공격기법, 목적 등을 분석
네트워크 상에 희생양 역할로 구성된 컴퓨터
zero day attack을 사전에 탐지할 수 있는 예방통제 기술
자신에게 오는 패킷만 수집하므로 네트워크 전반에 대한 침입정보를 분석할 수 없음
공격자가 알아차릴 경우 허니팟을 우회하거나 마비시키는 공격 가능
허니팟 요건
- 해커에게 쉽게 노출되어야 함
- 쉽게 해킹이 가능한 것처럼 취약해 보여야 함
- 시스템의 모든 구성 요소를 갖추고 있어야 함(실제 데이터는 없음)
- 시스템을 통과하는 모든 패킷을 감시해야 함
- 시스템에 접속하는 모든 사람에 대한 정보를 관리자에게 알려줘야 함
유인 Enticement | 함정 Entrapment | |
대상 | 시스템에 허가되지 않은 접근을 시도한 책임자 | 침입의 의도가 없는 사용자 |
목적 | 침입의 흔적을 증거로 남기기 위한 목적 | 범죄를 유발할 목적 |
합법여부 | 합법, 윤리적 | 불법, 비윤리적 |
기타 | 증거를 잡아내기 위해 범인이 범죄 순간을 충분히 유지하도록 함 | 의사가 없던 사람에게 범죄를 저지르도록 이끄는 것 |
📍이상 금융거래 탐지시스템 FDS
전자금융거래에 사용되는 단말기 정보, 접속 정보, 거래내용 등을 종합적으로 분석하여 의심거래를 탐지하고 이상금융거래를 차단하는 시스템
탐지 통제
스노트 Snort
침입 탐지 시스템의 일종
실시간 트래픽 분석, 프로토콜 분석, 내용검색/매칭, 침입탐지 rule에 의거하여 오버플로우, 포트스캔, CGI 공격, OS 확인 시도 등의 다양한 공격과 스캔 탐지
스노트 주요 기능
- 패킷 스니퍼 : 네트워크 상의 패킷을 스니핑하여 보여주는 기능
- 패킷 로거 : 모니터링한 패킷을 저장하고 로그에 남기는 기능
- 네트워크 IDS/ IPS : 네트워크 트래픽을 분석하여 공격을 탐지/처단하는 기능
스노트 룰 헤더
처리방식, 프로토콜, IP 주소, 포트번호 등 처리할 패킷을 판단하는 기준을 명시
action | protocol | source ip | source port | direction | destination ip | destination port |
alert | tcp | any | any | -> | 192.168.159.0/24 | 80 |
alert 액션으로 탐지되었을 때, alert를 발생시키고 패킷을 로그에 남긴다
TCP 프로토콜에 대해서 출발지 IP, port이고, 목적지 IP는 192.168.159.0/24 대역에 목적지 포트 80인 패킷을 탐지한다
- action : 룰 매칭 시 처리 방법 (alert, log, pass, activate, dynamic, drop, reject, sdrop
- protocol : TCP, UDP, ICMP, IP 중 선택
- IP Address : 출발지, 목적지 IP (!10.10.10.0/24-부정연산자-, 11.11.11.11-단일ip-, any)
- PORT : 1:1023(1~1023), :1024(~1024), 1024:(1024~)
- Direction Operator : ->(단방향), <>(양방향)
스노트 룰 바디(옵션)
alert message나 패킷 데이터를 조사하기 위한 내용 기술
- msg : alert나 로그 출력 시 이벤트명으로 사용
- content : 패킷의 페이로드 내부를 검색하는 문자열
- offset : content로 지정한 문자열의 검색 시작 오프셋을 의미
- depth : offset부터 검사할 바이트수를 지정, 빠른 검색을 위해서는 이 옵션을 사용하는 것이 적절
- nocase : 대소문자 구분하지 않음
- sid : 룰을 식별하기 위한 식별자
- flow : TCP 계층의 reassembly 시 함계 동작 (established/stateless)
- rev : rule 버전번호로 수정 횟수를 표기, 수정할 때마다 1씩 증가
스노트 룰(시그니처) 예시
alert tcp any any -> 10.10.10.0/24 21 (msg:"FTP root user access"; contents:"User root"; nocase; sid:100100;)
tcp 프로토콜을 이용하여 21번 포트를 목적지로 하고 FTP 클라이언트로부터 요청 데이터를 탐지하기 위한 것
content 옵션을 통해 root 계정 로그인 시 요청 데이터에 포함되는 USER root 문자열을 검사
alert tcp any any -> 10.10.10.0/24 21 (msg:"NULL Scan Detect"; flags: !UAPRSF; sid: 100100;)
flags 옵션을 통해 TCP 헤더 제어 플래그 중 URG, ACK, PSH, RST, SYN, FIN이 모두 설정되지 않은 패킷을 탐지
침입방지시스템 IPS
침입을 탐지했을 경우 실시간으로 침입을 막음, 예방적이고 사전에 조치를 취하는 기술
Firewall + IDS + SecureOS = IPS
취약점을 능동적으로 사전에 보완
웜, 버퍼 오버플로우, 비정상적인 트래픽이나 zero day attack 차단
📍바이러스 월
바이러스에 대한 백신 제품의 일종으로 방화벽과 동일한 개념
메일 또는 파일 공유 등을 통해 전파되는 악성코드를 효과적으로 제거
취약점을 통해 전파(technical attack)되는 공격에 대응 불능
IDS, FW(침입차단시스템), IPS 비교
Firewall | IDS | IPS | |
목적 | 접근통제 및 인가 | 침입여부와 감지 | 침입 이전의 방지 |
특징 | 수동적 차단, 내부망 보호 | 로그, signature 기반의 패턴 매칭 | 정책,규칙 DB 기반의 비정상 행위 탐지 |
패킷 차단 | o | x | o |
패킷 내용 분석 | x | o | o |
오용 탐지 | x | o | o |
오용 차단 | x | x | o |
이상 탐지 | x | o | o |
이상 차단 | x | x | o |
장점 | 엄격한 접근 통제 인가된 트래픽 허용 |
실시간 탐지 사후분석 대응기술 |
실시간 즉각 대응 세션 기반 탐지 가능 |
단점 | 내부자 공격 취약 네트워크 병목 현상 |
변형된 패턴에 대해 탐지 어려움 | 오탐 현상 발생 가능 장비 고가 |
패킷필터링 기능 제공 |