침입 탐지 시스템 침입 탐지 시스템 침입 탐지 시스템의 구조 윈도우 침입 탐지 툴 리눅스 침입 탐지 툴 한빛미디어(주)
침입 탐지 시스템 앞에서 방화벽을 성문에 비유한 경우를 생각하면, 성문에서 철저히 감시한다고 해도 성 안에서 나쁜 짓을 하는 사람도 있을 것이고, 성벽을 넘어 들어가는 사람, 알려지지 않은 비밀통로를 통해서 들어가는 사람도 있을 것이다. 이러한 사람들이 범죄를 함부로 저지르지 못하도록, 또는 범죄를 저지르는 중이라도 빠른 시간에 효과적으로 대처하기 위해서 경찰과 같은 내부 감시자를 운용하게 마련이다. 네트워크에서 IDS는 경찰과 비슷한 역할을 한다. [그림 18-2] IDS의 개념
침입 탐지 시스템 자료 수집 IDS는 크게 네 가지 요소와 기능으로 구분된다 자료의 수집(Raw Data Collection) 자료의 필터링과 축약(Data Reduction and Filtering) 침입 탐지(Analysis and Intrusion Detection) 책임 추적성과 대응(Reporting and Response) 자료 수집 IDS는 설치 위치와 목적에 따라 크게 호스트 기반의 IDS(Host-Based IDS, 이후 HIDS)와 네트워크 기반의 IDS(Network-Based IDS, 이후 NIDS)로 나누어진다.
HIDS(Hostbased Intrusion Detection System 또한 운영체제의 취약점은 HIDS를 손상시킬 수 있으며, 다른 IDS에 비해 비용이 많이 드는 편이다.
NIDS(Networkbased Intrusion Detection System) NIDS는 네트워크에서 하나의 독립된 시스템으로 운용된다. 앞에서 많이 사용해봤던 TCP Dump도 하나의 NIDS가 될 수 있다. TCP Dump를 기반으로 하는 Snort라는 IDS가 있으며, IDS의 기본이라고 불리기도 한다. NIDS는 감사와 로깅을 할 때 네트워크 자원이 손실되거나 데이터기 변조되지 않는다. HIDS로는 할 수 없는 네트워크 전반의 감시를 할 수 있으며, 감시 영역이 상대적으로 매우 크다. 또한 IP 주소를 소유하지 않기 때문에 직접적인 해커의 공격에는 거의 완벽한 방어를 할 수 있으며, 존재 사실도 숨길 수 있다. 하지만 NIDS는 공격 당한 시스템의 공격에 대한 결과를 알 수 없으며 암호화된 내용을 검사할 수는 없다. 또한 스위칭 환경에서 NIDS를 설치하려면 다른 부가적인 장비가 필요하며, 1Gbps 이상의 네트워크에서는 정상적으로 작동하기 힘들다.
자료의 필터링과 축약 수집된 침입 관련 자료는 한 곳으로 모아서 관리하는 것이 좋다. 상호 연관하여 분석함으로써 좀더 효과적인 분석이 가능하며, 빠르게 대응할 수 있기 때문이다. 또한 보안이 강화된 시스템에 자료를 보관함으로써 침입으로 인한 자료의 손실을 막을 수 있다. IDS의 자료는 매우 방대하다. 보안 감사를 실시하는 입장에서는 필요에 따라서 세밀하고 자세한 자료가 요구되는 경우도 있으나, 보통 정확하고 빠른 시간에 파악이 가능한 자료가 더 유용하다. 효과적인 필터링을 위해서는 자료 수집에 대한 규칙을 설정하는 작업이 필요하다. 관리자는 공격 의지를 가졌다고 생각하는 만큼의 숫자를 ’Clipping Level'로 설정한다.
침입 탐지 오용 탐지(Misuse Detection) 오용 탐지 기법은 다른 말로 Signature Base나 Knowledge Base로 불린다. 가장 기본적인 오용 탐지 시스템의 개념은 이미 발견되고 정립된 공격 패턴을 미리 입력해두고, 거기에 해당하는 패턴을 탐지하게 되었을 때 이를 알려주는 것이다. 탐지 오판율이 낮고 비교적 효율적이나 알려진 공격 이외에는 탐지할 수 없으며, 대량의 자료를 분석하는 데는 부적합하다. 또한 공격을 어떤 순서로 실시했는지에 대한 정보를 얻기가 힘들다. 전문가 시스템(Expert System)을 이용한 IDS 역시 이에 기반한다.
이상 탐지(Anomaly Detection) 다른 말로 Behavior나 Statistical Detection이라고 하며, 정상적이고 평균적인 상태를 기준으로 하여, 이에 상대적으로 급격한 변화를 일으키거나 확률이 낮은 일이 발생할 경우 침입 탐지를 알리는 것이 기본 개념이다. 이러한 이상 탐지 기법으로는 정량적인 분석, 통계적인 분석, 비특성 통계 분석 등이 있다. 이상 탐지 기법 중에서 특이할 만한 것은 인공지능과 면역 시스템이다. 인공지능 IDS는 공격에 대해 스스로 판단을 하고 이에 대한 결정을 내려 알려준다. 하지만 인공 지능 시스템은 그 판단의 근거가 확실하지 않고 오판율 역시 높다. 면역 시스템은 새로운 공격을 당할 경우 그에 대한 학습을 스스로 하게 됨으로써, 다시 그 공격이 일어날 때 이에 대한 대응을 하도록 한 것이다. 또한 최초 설치 후 재설치 시에 초기 상태로 돌아가는 큰 단점이 있다.
책임 추적성과 대응 IDS는 기본적으로 침입을 알려주는 시스템으로, 침입에 대한 능동적인 기능은 별로 없다. 이러한 IDS에 능동적인 기능을 많이 탑재한 IDS를 IPS(Intrusion Prevention System)라고도 한다 IDS가 실행할 수 있는 구체적인 능동적인 기능은 다음과 같다 공격자로 확인된 연결에 TCP reset 패킷을 보내어 연결을 끊는 것이다 되었을 때 이를 알려주는 것이다. 공격자의 IP 주소나 사이트를 확인하고, 라우터나 방화벽을 통해 이를 차단한다. 공격 포트를 확인하여 라우터와 방화벽을 설정한다. 공격자가 일정 포트를 이용한 공격을 하고 있을 때 포트를 막는다. 네트워크 구조 자체를 임시적으로 바꾸는 경우도 있다.
침입 탐지 시스템의 설치 위치 [그림 18-3] IDS의 위치
중앙 집중화된 IDS 관리 [그림 18-4] 중앙 집중화된 IDS 관리
외부 관제에 의한 IDS 관리 [그림 18-5] 위임된 침입 탐지 관리
BlackICE, Zone Alarm
Snort 설치 시 필요 구성 요소 snort 2.0.0 : www.snort.org/dl/snort2.0.0.tar.gz MySQL 4.0.12 : mysql.secsup.org/Downloads/MySQL-4.0/mysql-4.0.12.tar.gz 아파치 2.0.47 : www.apache.org/dist/httpd/httpd-2.0.47.tar.gz PHP 4.3.1 : www.php.net/distributions/php-4.3.1.tar.gz ADODB 3.3 : phplens.com/lens/dl/adodb330.tgz Acid 0.9.6b23 : acidlab.sourceforge.net/acid-0.9.6b23.tar.gz Zlib 1.1.4 : flow.dl.sourceforge.net/sourceforge/libpng/zlib-1.1.4.tar.gz JPGraph 1.11 : jpgraph.techuk.com/jpgraph/downloads/jpgraph-1.12.2.tar.gz Lipcap 0.7.2 :www.tcpdump.org/release/libpcap-0.7.2.tar.gz
Snort 동작 화면 [그림 18-38] Snort 설치 완료
Thank you