침입 탐지 시스템(IDS)이란?
침입 탐지 시스템(Intrusion Detection System, IDS)은 네트워크로 들어오고 나가는 트래픽을 감시하고, 이벤트 패턴의 변화를 지속적으로 분석하여 비정상적인 행위를 발견하면 관리자에게 경고를 보내는 소프트웨어 또는 하드웨어 장치입니다. 관리자는 발생한 경보를 검토하고 위협을 제거하기 위한 적절한 조치를 취할 수 있습니다.
예를 들어, IDS는 네트워크 트래픽이 전달하는 데이터를 검사하여 알려진 멀웨어나 기타 악성 콘텐츠가 포함되어 있는지 확인합니다. 이러한 위협을 식별하면 보안팀에 경보를 전송하여 조사 및 복구 작업을 진행할 수 있도록 합니다. 보안팀은 경보를 받는 즉시 신속하게 대응해야만 공격이 시스템을 장악하는 것을 막을 수 있습니다.
NIDS의 동작 방식
네트워크 기반 침입 탐지 시스템(NIDS)에서는 센서가 감시 대상 네트워크의 요충지, 주로 DMZ(비무장 지대) 또는 네트워크 경계에 배치됩니다. 센서는 네트워크 트래픽의 일부를 캡처하여 개별 패킷의 내용을 분석함으로써 악성 트래픽을 탐지합니다.
이러한 시스템 환경에서 PIDS와 APIDS는 불법적이거나 부적절한 트래픽 및 언어 구조체(예: SQL)를 모니터링하는 데 활용됩니다. 호스트 기반 시스템의 경우 센서는 일반적으로 소프트웨어 에이전트 형태로 구현되며, 설치된 호스트의 활동을 감시합니다. 또한 이 두 방식을 결합한 하이브리드 형태의 시스템도 존재합니다.
침입 탐지 시스템의 5가지 주요 유형
네트워크 기반 침입 탐지 시스템(NIDS): 독립적인 플랫폼으로, 네트워크 트래픽을 분석하여 침입을 식별하고 여러 호스트를 동시에 감시합니다. NIDS는 허브, 포트 미러링이 설정된 네트워크 스위치 또는 네트워크 탭에 연결하여 네트워크 트래픽에 접근합니다. NIDS의 대표적인 예로는 Snort가 있습니다.
프로토콜 기반 침입 탐지 시스템(PIDS): 일반적으로 서버의 프런트엔드에 위치하여 연결된 장치(사용자 PC 또는 시스템) 간의 통신 프로토콜을 모니터링하고 분석하는 시스템 또는 에이전트입니다.
웹 서버의 경우 HTTPS 프로토콜 스트림을 감시하고, 보호 대상인 웹 서버에 해당하는 HTTP 프로토콜을 이해합니다. HTTPS가 사용되는 환경에서는 이 시스템이 HTTPS가 복호화되는 지점부터 웹 프레젠테이션 계층 진입 직전까지의 '심(shim)' 또는 인터페이스 영역에 위치해야 합니다.
애플리케이션 프로토콜 기반 침입 탐지 시스템(APIDS): 여러 서버 사이에 위치하여 애플리케이션 특정 프로토콜을 통한 통신을 모니터링하고 분석하는 시스템 또는 에이전트입니다. 데이터베이스가 연동된 웹 서버 환경에서는 미들웨어·비즈니스 로직이 데이터베이스와 통신할 때 사용하는 SQL 프로토콜을 감시할 수 있습니다.
호스트 기반 침입 탐지 시스템(HIDS): 호스트에 설치된 에이전트가 시스템 호출, 소프트웨어 로그, 파일 시스템 변경(바이너리, 암호 파일, 권한 데이터베이스 등) 그리고 다양한 호스트 활동과 상태를 분석하여 침입을 식별합니다. HIDS의 대표적인 예로는 OSSEC이 있습니다.
하이브리드 침입 탐지 시스템: 여러 가지 접근 방식을 결합한 시스템입니다. 호스트 에이전트 데이터와 네트워크 데이터를 통합하여 네트워크 전체에 대한 포괄적인 시각을 제공합니다. 하이브리드 IDS의 대표적인 예로는 Prelude가 있습니다.