Intrusion Detection System( 침 입탐지시스템 ) Wireless/Mobile Network Lab 박준석
1. IDS 란 ? 1.1 IDS 구분 2. 왜 IDS 가 필요한가 ? 2.1 침입탐지 시스템의 분류 2.2 침입탐지 시스템의 기술적 구성요소 3. IDS 의 장점 4. SNORT 의 이해 4.1 Snort 주요한 세가지 기능 4.2 Snort 의 특징 4.3 Snort 의 디자인 4.4 탐지 엔진 (Detection Engine) 4.5 Snort 의 단점 4.6 분석 4.7 실행 화면
1. IDS 란 ? IDS 는 단순한 접근 제어 기능을 넘어서 침입의 패턴 데이터베이스와 Expert System 을 사용해 네트워크나 시스템의 사용을 실시간 모니터링하고 침입을 탐지하 는 보안 시스템이다. IDS 는 허가되지 않은 사용자로부터 접속, 정보의 조 - 작, 오용, 남용 등 컴퓨터 시스템 또는 네트워크 상에서 시도됐거나 진행 중인 불법적인 예방에 실패한 경우 취할 수 있는 방법으로 의심스러운 행위를 감시하여 가능한 침입자를 조기에 발견하고 실시간 처리를 목적 으로 하는 시스템이다.
1.1 IDS 구분 IDS 는 모니터링의 대상에 따라 네트워크 기반 IDS 와 호스트 기반 IDS 로 나눌 수 있다. 호스트 기반 IDS 는 시스템 내부에 설치되어 하 나의 시스템 내부 사용자들의 활동을 감시하 고 해킹 시도를 탐지해내는 시스템이다. 네트워크 기반 IDS 는 네트워크의 패킷 캡처링 에 기반하여 네트워크를 지나다니는 패킷을 분석해서 침입을 탐지해낸다.
2. 왜 IDS 가 필요한가 ? 침입탐지 시스템 (IDS) 이 칩입차단 시스 템 (Fire Wall 방화벽 ) 에 이은 차세대 보안 솔루션으로 부각되는 주된 이유는 침입 차단 시스템이 효과적인 차단에 실패하 였을 경우, 이에 따른 피해를 최소화하고 네트워크 관리자 부재시에도 해킹에 적 절히 대응할 수 있는 보안 솔루션에 대한 요구가 증가하고 있기 때문이다.
2.1 침입탐지 시스템의 분류 데이터 소스를 기반으로 하는 분류 방법 - 단일호스트 기반 - 네트워크 기반 : 네트워크 패킷 데이터를 모 아 침입을 탐지하는데 이용하는 방법 침입모델을 기반으로 하는 분류 방법 - 비정상적인 행위 탐지 (Anomaly Detection) - 오용탐지 방법 (Misuse Detection)
2.2 침입탐지 시스템의 기술적 구성요소 정보수집단계 : 시스템의 모든 정보를 수집하 여 다음 단계인 정보 가공 및 축약단계로 넘 기는 기능을 수행한다.( 침입정보만을 수집하 는 것은 아님, 모든 정보를 수집함 ) 정보가공 및 축약단계 : 침입탐지에 필요한 의미있는 정보만을 축약하는 단계 분석 및 침입탐지단계 : 침입여부를 판정하는 단계로 침입탐지시스템의 핵심 보고 및 조치단계 : 침입으로 판단되어지면 관리자에게 보고하고 관리자는 조치를 취하 는 단계
3. IDS 의 장점 해킹방법을 기반으로 해커의 침입을 탐지하므로 신기술의 적 용이 빠르다. 외부로부터의 공격뿐만 아니라 내부자의 의한 해킹도 차단할 수 있다. 이에 따라 기존 방화벽이 지원하지 못하는 ID 도용을 통한 내부공격자의 해킹도 차단한다. 접속하는 IP 에 상관없이 침입을 차단한다. 기존의 방화벽은 인증된 IP 로의 공격은 막지 못하므로 해커들 이 인증된 IP 로 공격성공하면 방화벽이 무용지물이 되었으나 IDS 는 IP 에 상관없이 모든 패킷에 대해 검사를 수행하므로 더 욱 안전하다. 시스템 침입에 즉시 대응한다. 해킹사실이 발견되었을 때 해킹에 관한 정보를 휴대전화, 무선 호출기, 전자우편 등으로 즉시 전송, 네트워크 관리자 부재시 에도 시스템 보안을 유지할 수 있다.
4. SNORT 의 이해 SNORT 는 IP network 상에서 실시간 traffic 분 석과 packet logging 을 뛰어나게 수행하는 작 고 가벼운 네트워크 침입 탐지 시스템이다. snort 는 프로토콜 분석과 packet 의 내용 조사, 패턴매칭이 가능하며, 버퍼 오버플로우나 스 텔스 포트스캔,CGI 공격,SMB 탐지,OS fingerprinting 시도 등 다양한 공격과 탐지를 발견하는데 사용할 수 있다. traffic 을 잡아내기 위해 유용한 modular plug- in 구조를 가진 탐지 엔진과 같은 매우 유연한 rule language 를 사용한다.
4.1 Snort 주요한 세가지 기능 snort 는 tcpdump 와 같은 packet sniffer 로 바로 사용할 수 있다. 네트워크 traffic debugging 에 유용한 packet logger 기능이 있다.
4.2 Snort 의 특징 소스 크기가 작다 (110k 이하 ) 여러 시스템에 포팅되어 있 다.(Linux,Solaris,*BSD,IRIX,HP-UX,Windows) 새로운 해킹 기법에 따른 룰의 적용이 빠르다. snort 는 오픈 소스 IDS 중에서 가장 널리 사용. GPL/Open Source 소프트웨어이다.
4.3 Snort 의 디자인 패킷 스니핑 (packet sniffing) 을 이용한 IDS 시 스템 패킷 캡쳐를 위해서 libpcap 을 사용하였습니다. 룰 기반 (rule based) 으로 탐지 엔진 Detection Engine) 을 갖추고 있다. 일반 로그,tcpdump 포맷 로그, 실시간 경고, 파 일일, 윈도우즈 팝업등의 여러가지 포맷을 통 해서 사용자에게 결과를 보여 준다.
4.4 탐지 엔진 (Detection Engine) 룰 (rule) 들은 시그너쳐 (signature) 를 형성 한다. 스텔스 스캔 (stealth scan) 이나 OS 지문 검사 (fingerprinting), 잘못된 ICMP 코드 사용등의 네트워크의 이상 징후를 발견 할 수 있다.
4.5 Snort 의 단점 TCP 스트림 재조합 (reassembly) 을 지원하지 않습니다. 따라서 모든 시그너쳐 분석은 패킷 단위로 행해 진다. whisker 등의 툴들은 이러한 분석법을 우회할 수 있는 메카니즘을 갖고 있 다. IP 조각 패킷 (fragmented packet) 에 대해서 재 조합을 할 수 없다. 대신 minfrag 라는 룰 옵션 을 사용하여 패킷 조각의 최소 크기를 지정할 수 있다. 로그 기능이 약하다.
4.6 분석 (cont.)
4.7 실행 화면