10장으로 끝내는 네트워크 기초 다지기, Network is Fun! 여섯번째 주제는 침입탐지시스템/침입방지시스템입니다.
Network is Fun! 침입탐지시스템/침입방지시스템
시청자들의 깊은 공감을 이끌어 냈던 그의 한 마디, "늦었다고 생각할 때가 진짜 너무 늦었다" 네트워크 보안에서도 마찬가지입니다. 늦었다고 생각할 땐 진짜 늦은 것! 오늘은 실시간 보안 시스템 중 침입 탐지/방지 시스템에 대해 알아보겠습니다.
침입 탐지/방지 시스템은 OSI 7계층의 데이터 전송 계층인 L4 수준의 보안시스템입니다.
먼저 IDS(Intrusion Detection System)라고도 하는 침입탐지시스템은 컴퓨터 또는 네트워크에서 발생하는 이벤트 모니터링과 침입 발생 여부를 탐지 또는 대응하는 자동화된 시스템입니다. 트래픽의 유통에는 관여하지 않는 Out of Path 방식으로 원본 트래픽을 손실이나 변조없이 복사하는 장비인 TAP(Test Access Port)를 통해 트래픽을 검사하죠. 방화벽과의 연동으로 소극적인 방어가 가능합니다.
IDS는 몇 가지 분류 방법이 있는데요, 탐지방법에 의한 분류에 따른 지식기반(Knowldege-Baesd)/오용침입탐지(Misuse Detection)을 먼저 설명해보겠습니다. 이 방법은 기존에 알려진 공격 기법을 근거로 비정상 행위를 탐지하여, 패킷이 비정상으로 판단되면 해당 패킷을 비정상 케이스로 전송합니다. 새로운 공격 기법의 침입 유형을 정의하여 규칙을 생성하고, 전문시스템, 모델 기반 접근 방식 등을 활용하는 방식이죠. 정상 트래픽을 공격으로 탐지하는 False Positive가 낮다는 것과 트로이 목마, 백도어 공격이 탐지 가능하다는 장점이 있지만 새로운 공격 기법에 대한 능동적 탐지가 불가하고 지속적인 공격 패턴 갱신이 필요하다는 점 그리고 공격을 탐지하지 못하는 False Negative가 높다는 단점도 있어요.
반면에 행위기반(Behavior-Based)/비정상침입탐지(Anomaly Detection) 방식은 정상 행위를 근거로 비정상 행위를 탐지하는데요, 급격한 변화가 발견되면 이를 불법 침입으로 탐지해요. 이런 방식으로 통계 임계치를 공격 간주 수치로 파악하는 Behavior Profile을 작성하는데 이를 위해 정량적 분석, 통계적 분석, 데이터 마이닝 기법 등을 활용하죠. 장점으로는 알려지지 않은 새로운 공격 탐지가 가능하고 인공 지능 알고리즘으로 인해 지속적인 Rule Update가 필요하지 않다는 점이 있고, 단점으로는 높은 False Positive와 정상, 비정상 구분을 위한 임계치 설정이 어렵다는 점이 꼽힙니다.
데이터 수집원에 따른 분류에는 네트워크기반(Network-Based) IDS인 NIDS와 호스트기반(Host-Based) IDS인 HIDS가 있는데요. NIDS는 무차별 모드(Promiscuous mode)에서 동작하는 네트워크 인터페이스에 설치하여 네트워크를 통해 전송되는 패킷 정보를 수집/분석하여 침입을 탐지하는 방법이에요. 네트워크 자체로 유입되는 트래픽을 모니터링한다고 할 수 있죠. 따라서 네트워크 전반의 감시가 가능하고 해커의 직접 공격을 거의 방어할 수 있어요. 게다가 서버 성능을 저하시키지 않고 설치 위치에 따라 감시 대상 네트워크 범위 조절이 가능하다는 것 또한 장점이죠. 하지만 호스트로 향하는 트래픽의 관찰과 피해 시스템의 공격 결과 확인이 불가능하고 암호화된 패킷은 탐지할 수 없어요. 높은 False Positive 역시 단점이에요.
HIDS는 NIDS와 달리 개인 워크스테이션이나 서버에 직접 설치해서 네트워크 환경과 무관하게 컴퓨터 자체를 제한하는 방식이에요. 소스코드를 접속한 호스트 확인이 가능하기 때문에 논리폭탄 억제도 가능하죠. HIDS의 장점은 정확한 침입 방지와 트로이 목마, 백도어, 내부자에 의한 공격의 탐지/차단이 가능한 것인데요. 안타깝게도 설치 위치 탓에 호스트 성능에 의존적이고 서버 부하를 발생시킬 수 있어요. 그리고 해커에 의한 로그 자료 변조 가능성과 DoS 공격으로 일한 IDS의 무력화 가능성, 네트워크 전체에 대한 침입 탐지가 불가하다는 단점이 있습니다.
이번에는 침입방지시스템인 IPS(Intrusion Prevention System)에 대해 알아볼게요. IPS는 다양한 방법의 보안 기술을 이용하여 침입이 일어나기 전에 실시간으로 침입을 막고, 유해트래픽을 차단하는 시스템인데요. 트래픽 유통에 관여하는 InLine방식의 능동형 보안 솔루션이랍니다.
위에서 분류한 것처럼 IPS도 데이터 수집원에 따라 분류 할 수 있어요. 네트워크 기반의 IPS인 NIPS는 공격 탐지에 기초하여 트래픽 통과 여부를 결정하는데요, 정책에 근거한 패턴 탐지와 정상/비정상 접근에 대한 학습이 가능합니다. 실시간 패킷 처리가 가능하고, 세션 기반 탐지 지원 시스템을 구사하며 공격을 사전에 차단할 수 있다는 특징이 있어요. 하드웨어 기반의 따른 대응 속도와 하나의 장비로 다수의 서버, 네트워크를 모니터링할 수 있다는 장점이 있지만 SPOF 문제, 이중화 필요성, 보안업데이트에 의존적이라는 단점이 있습니다.
호스트기반 IPS인 HIPS는 보호되는 호스트 운영 서버에 탑재되는 SW기반의 제품입니다. 커널과 함께 동작하며 커널이벤트를 가로채서 처리하는 커널 방식과 특정 규칙에 위배되는 이벤트를 필터링하는 커널 독립 방식으로 운영되는데 Secure OS등과 유사한 기능을 수행해요. 패킷 레벨 탐지 및 방지 기능과 공격세션에서 원하지 않는 패킷만 드롭할 수 있는 특징이 있습니다. 커널 상에서 불법 응용 실행 방지 업데이트 및 패치 관리의 용이성, Unknown attack 방어 가능성이 장점이며 단점은 Agent 설치 비용 증가와 정상적인 응용프로그램 방해 가능성입니다.
IPS는 공격 패턴 인지 방식에 따라 Signature Based IPS와 Heuristics Based IPS로도 나눌 수 있어요. Signature Based IPS는 각각의 공격에 정확한 Signature를 정의해서 해당 공격 패턴에 매칭되는 경우에만 차단하는데요, 대부분의 IPS가 이 방식을 채택하고 있어요. 침입탐지 패턴 DB를 기반으로 공격을 탐지 및 차단하는데, False Positive가 낮다는 장점이 있어요. 단점은 Unkown attack의 경우 정확한 Signature List가 업데이트되어 있지 않으면 차단할 수 없다는 것이죠. Heuristics Based IPS의 경우 Unkwon attack을 계속 수집하여 축적되는 정보를 이용하는데요, 능동적 대처가 가능하다고 합니다.
마지막으로 IDS와 IPS를 정리해서 비교해보면,
IDS의 키워드는 '탐지적' '사후조치'로 침입 여부의 감지가 목적으로 로그, signature 기반의 패턴매칭이 특징입니다. 실시간 탐지가 가능하고, 사후 분석 대응 기술을 가지고 있는데 변형된 패턴에 대한 탐지는 어려워요. 침입'탐지'시스템이기 때문에 패킷 차단, 오용차단, 이상차단 등 차단기능은 없지만 패킷내용분석, 오용탐지, 이상탐지 기능을 구현하죠. IPS응 '예방적', '사전조치'의 솔루션으로 침입이 일어나기 이전에 방지가 목적입니다. 정책, 규칙 DB을 기반으로 비정상행위를 탐지하는데, 탐지 시 실시간 즉각 대응이 가능하며, 세션 기반의 탐지 기능이 있다는 장점이 있습니다. 단점은 오탐 현상이 발생할 수 있고, 장비가 고가라는 점이에요. IPS는 패킷차단, 패킷내용분석, 오용탐지, 오용차단, 이상탐지, 이상차단을 모두 수행할 수 있습니다.