스놋 규칙 일반화로 침입 탐지 성능 향상

본 논문은 Snort 서명 규칙을 ‘인버트’와 ‘콘텐츠’ 두 일반화 연산자로 변형하여 변종 공격을 탐지하고, 기존 규칙과 병합된 알림을 통해 탐지율을 높이면서 오탐을 관리하는 방법을 제시한다.

저자: Uwe Aickelin, Jamie Twycross, Thomas Hesketh-Roberts

스놋 규칙 일반화로 침입 탐지 성능 향상
본 논문은 오픈소스 네트워크 침입 탐지 시스템인 Snort의 서명 기반 탐지 메커니즘을 확장하기 위해 규칙 일반화 기법을 제안한다. 서론에서는 IDS가 인터넷 서비스 의존도가 증가함에 따라 필수적인 방어층이 되고 있지만, 기존의 서명 기반 NIDS는 변형된 공격을 탐지하지 못하고 오탐이 많이 발생한다는 문제점을 제시한다. 관련 연구에서는 인공 면역 시스템, 공격 단계 상관관계 분석, 시계열 기반 이상 탐지 등 다양한 접근법을 소개하고, 이들 방식이 Snort 규칙을 직접 수정하거나 확장하는 것과는 차별화된 점을 강조한다. Snort와 Snort 규칙의 구조를 상세히 설명한 뒤, 저자는 ‘규칙 일반화’를 두 가지 연산자로 정의한다. 첫 번째 연산자는 ‘인버트(Invert)’이며, 포트, IP 주소, 방향, 프로토콜, 콘텐츠, URI 콘텐츠와 같은 옵션을 부정하거나 반전시켜 원본 규칙이 매치되지 않을 경우에도 알림을 발생시킨다. 두 번째 연산자는 ‘콘텐츠(Content)’ 일반화로, 콘텐츠 매칭 문자열을 와일드카드화하거나 오프셋·깊이 값을 완화하여 보다 넓은 페이로드 변형을 포착한다. 이때 ‘Depth’와 ‘Offset’은 특수 인버트 대상으로 다루어, 매칭 범위를 넓히면서도 과도한 오탐을 방지한다. 구현은 세 개의 모듈로 구성된다. ‘FuzzRule’은 기존 .rules 파일을 읽어 각 규칙에 대해 인버트와 콘텐츠 일반화를 적용한 변형 규칙을 생성하고, 원본 규칙과 함께 새로운 .rules 파일에 저장한다. ‘AlertMerge’는 원본 규칙과 일반화 규칙이 생성한 알림 로그를 병합하여 중복을 제거하고, 각 알림에 일반화 여부를 표시한다. 마지막으로 ‘FuzzRulePostProcessor’는 알림 요약을 제공해 오탐이 집중되는 규칙을 식별하고, 필요 시 일반화 규칙을 비활성화하거나 우선순위를 조정할 수 있게 한다. 실험은 KDD Cup 99, DARPA 1999, 그리고 실제 캡처된 트래픽 데이터셋을 사용하였다. 일반화된 규칙을 적용한 결과, 기존 규칙만 사용할 때 탐지되지 않았던 변종 공격을 평균 12% 추가 탐지했으며, 특히 TFTP, FTP, HTTP 프로토콜에서 변형 페이로드를 효과적으로 포착했다. 그러나 오탐 비율도 평균 8% 상승했으며, 포트 스캔과 같은 저레벨 트래픽에서는 오탐이 급증하는 현상이 관찰되었다. 저자는 알림 우선순위 필드를 활용해 일반화 규칙에 낮은 심각도 값을 부여하고, 운영자가 오탐을 감수할 수 있는 상황에서만 활성화하도록 설계하였다. 논의 부분에서는 Snort 내부의 규칙 매칭 엔진이 이진 트리 형태로 구현돼, 옵션이 적은 규칙이 먼저 매치된다는 사실을 발견하고, 초기에 시도한 ‘옵션 제거’ 방식이 기대와 달리 원본 규칙보다 일반화 규칙이 우선 적용되는 문제를 해결하기 위해 ‘옵션 인버트’ 방식으로 전환한 과정을 상세히 기술한다. 또한, 일반화 수준을 조절하지 않으면 시스템 부하와 오탐이 급증할 위험이 있음을 지적하고, 향후 연구에서는 자동화된 비용‑이익 최적화, 최신 APT 변종에 대한 평가, 그리고 머신러닝 기반의 동적 일반화 파라미터 조정이 필요함을 제안한다. 결론에서는 규칙 일반화가 Snort와 같은 서명 기반 IDS에 새로운 탐지 능력을 부여할 수 있음을 확인했으며, 오탐 관리와 성능 최적화를 위한 추가적인 메커니즘이 동반될 때 실운용에 적용 가능하다고 주장한다.

원본 논문

고화질 논문을 불러오는 중입니다...

댓글 및 학술 토론

Loading comments...

의견 남기기