클라우드와 모바일 환경을 위한 Snort 활용 방안
초록
본 논문은 Ubuntu 16.04 기반 Azure 가상머신에 Snort를 설치·구성하는 절차를 상세히 제시하고, 클라우드 VM 보호를 위한 IDS 배치 모델을 제안한다. 또한 도서관 정보시스템과 모바일 디바이스에서 Snort 활용 가능성을 탐색하며, 분산형 IDS 구축과 규칙 자동 업데이트 방안을 논의한다.
상세 분석
Snort는 시그니처 기반 NIDS로, 패킷 디코더, 전처리기, 탐지 엔진, 로깅·알림 시스템, 출력 모듈의 5가지 핵심 컴포넌트로 구성된다. 논문은 Azure 상의 Ubuntu 16.04 LTS VM에 Snort 2.9.9.0을 설치하는 과정을 단계별로 설명한다. 먼저 build‑essential, libpcap‑dev, libpcre3‑dev, libdumbnet‑dev 등 기본 의존성을 apt‑get으로 설치하고, DAQ(데이터 획득) 라이브러리를 소스에서 컴파일한다. 이후 Snort 소스 tarball을 다운로드하고, ‑‑enable‑sourcefire 옵션을 사용해 컴파일·설치한다. 설치 후 ldconfig와 심볼릭 링크 생성으로 실행 환경을 정비하고, snort -V 로 정상 동작을 검증한다.
구성 단계에서는 /etc/snort 디렉터리 구조를 수동으로 만들고, rules, iplists, preproc_rules, so_rules 등 서브디렉터리를 배치한다. 파일 권한을 5775 로 설정해 Snort 프로세스가 로그와 규칙 파일에 접근하도록 한다. snort.conf 에서는 HOME_NET(10.0.0.4/24)과 EXTERNAL_NET(any)를 정의하고, RULE_PATH, SO_RULE_PATH 등 경로 변수를 지정한다. 로컬 규칙(local.rules)에는 ICMP ping, FTP, Telnet 시도에 대한 알림을 생성하도록 간단한 시그니처를 삽입한다. 최종적으로 snort -A console -c /etc/snort/snort.conf -i eth0 명령으로 NIDS 모드 실행 시 콘솔에 알림이 출력되는 것을 확인한다.
아키텍처 측면에서 논문은 기존 연구(Roschke et al., 2009)의 VM‑Integrated IDS 모델을 차용한다. IDS 관리 유닛이 이벤트 수집·분석을 담당하고, 각 VM에 센서가 배치되어 트래픽을 실시간 감시한다. 이러한 구조는 내부 공격을 탐지하는 데 유리하지만, 외부 네트워크 전체를 커버하려면 중앙 집중형 혹은 계층형 IDS 배치가 필요함을 지적한다.
새로운 활용 분야로는 도서관 EZproxy 인증 트래픽 감시와 모바일 Android 환경에서의 Snort 포팅을 제안한다. 도서관 시스템에서는 프록시 서버와 외부 사용자 간 패킷을 분석해 비정상적인 접근을 차단할 수 있다. 모바일에서는 Swinedroid와 같은 초기 시도가 있었으며, 위치 기반 서비스 보안을 위해 서버와 클라이언트 양쪽에 Snort 규칙을 적용하는 방안이 논의된다.
마지막으로 논문은 Snort 규칙 자동 업데이트(Pulled Pork)와 MySQL·Oracle 연동을 통한 로그 중앙화, 그리고 가상화 친화적인 동적 전처리기 활용을 권고한다. 전체적으로 구현 난이도는 낮고, 오픈소스 특성상 커스터마이징이 자유로운 점이 장점이며, 성능 테스트에서는 Linux 환경에서 약 10% 향상이 보고되었다. 다만, 단일 VM에만 배치할 경우 외부 공격 탐지는 제한적이며, 대규모 클라우드에서는 분산형 IDS 토폴로지를 설계해야 한다는 한계가 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기