전천후 감시 제로 설정 대규모 멀티센서 웹 IDS
초록
본 논문은 웹 애플리케이션에 대한 타이밍 공격 및 무차별 대입 공격을 효과적으로 탐지하기 위해, 코드 삽입을 통해 자동으로 수천 개의 센서를 생성하고, 별도 설정 없이 바로 적용할 수 있는 ‘All‑Seeing Eye’이라는 제로‑컨피규레이션 IDS를 제안한다. 센서 데이터의 통계적 이상 탐지를 통해 공격을 실시간으로 식별한다.
상세 분석
All‑Seeing Eye은 기존 IDS가 보통 수십 개 수준에 머무는 센서 수와 달리, Java 바이트코드에 AspectJ 기반의 후크를 삽입함으로써 메서드 진입·종료 시점, 실행 시간, 호출 순서 등 다양한 런타임 정보를 자동으로 수집한다. 이러한 “소프트웨어 센서”는 네트워크, 하드웨어, 커널, 시스템 등 기존에 존재하던 데이터 소스와 결합해 ‘집계 센서’를 형성한다. 집계 센서는 단일‑타임(덧셈·곱셈·로그 변환)과 연속‑집계(평균·분위수) 두 종류로 나뉘며, 이를 통해 복합적인 행동 패턴을 하나의 값으로 압축한다.
논문은 공격 탐지를 위해 “핑거프린트” 개념을 도입한다. 정상 상태에서는 동일한 URL 혹은 동일한 비즈니스 로직을 호출할 때마다 센서들의 출력이 높은 상관관계를 보이며, 이는 시간 구간 T 내에서 일정한 빈도로 재현된다. 시스템은 과거 n·T 구간을 이용해 양자화 함수 α를 계산하고, 현재 구간의 핑거프린트 수 |s_T|가 α·p(임계값) 이상이면 공격으로 판단한다. 이 방식은 사전 학습이 필요 없으며, 통계적 이상치에 강인한 특징을 가진다.
성능 측면에서, 각 메서드에 30바이트의 바이트코드가 추가되며, 실험 환경(OpenCMS 8.5.1)에서는 10 000 요청당 평균 300 MB의 메모리 오버헤드가 발생한다. 이는 로그 버퍼링에 기인한 것으로, 실제 운영 환경에서는 로그 회전 및 압축 전략을 적용해 완화 가능하다. 또한, CPU 부하 역시 메서드 길이에 비례해 증가하지만, 1 ms 이하의 짧은 메서드에 대해서는 로그를 생략함으로써 불필요한 비용을 줄인다.
탐지 정확도 실험에서는 (1) 동일 페이지에 대한 100 회 연속 요청 시 3 ms 이하의 시간 차이로 일관된 핑거프린트를 생성, (2) 로그인 시도에서 사용자명 존재 여부에 따른 오류 메시지 차이를 이용한 무차별 대입 공격을 정상적인 호출 패턴과 구별하는 데 성공했다. 특히 타이밍 공격은 기존 IDS가 놓치기 쉬운 미세한 지연 차이를 센서가 포착하고, 집계 센서를 통해 통계적 이상으로 전환함으로써 실시간 탐지가 가능했다.
요약하면, All‑Seeing Eye은 (① 자동화된 대규모 센서 생성, ② 제로‑컨피규레이션 배포, ③ 통계 기반 실시간 이상 탐지)라는 세 축을 결합해 웹 애플리케이션 레이어에서 발생하는 복합 공격을 효과적으로 방어한다. 향후 GPU 가속을 통한 집계 연산 최적화와 하드웨어 센서 연계가 제안되며, 다른 런타임 환경(JVM 외)으로의 확장 가능성도 논의된다.
댓글 및 학술 토론
Loading comments...
의견 남기기