
eBPF 기반의 Linux 보안 모니터 및 위협 헌터로, 시간 순서대로 정렬되고 컨테이너를 인식하는 이벤트를 제공하며, 인시던트 대응 및 포렌식 분석을 위한 온호스트 상관관계를 지원합니다.
Kunai는 Linux 시스템에서 보안 모니터링 및 위협 헌팅과 같은 작업에 실행 가능한 인사이트를 제공하도록 설계된 강력한 도구입니다. Windows의 Sysmon에 대응되는 Linux 버전으로 생각하면 되며, 포괄적이고 정밀한 이벤트 모니터링에 최적화되어 있습니다.
Kunai는 eBPF(Extended Berkeley Packet Filter) 기술을 활용하며, 커널 수준의 프로브를 통해 중요한 이벤트를 캡처합니다. 이러한 프로브는 수집된 이벤트의 재정렬, 보강, 상관 분석 등의 작업을 담당하는 사용자 공간 프로그램으로 데이터를 전송합니다.
구현 측면에서 Kunai는 주로 Rust로 작성되었으며, 강력한 Aya 라이브러리를 사용합니다. 이 설계는 eBPF 프로브와 사용자 공간 처리 로직을 모두 포함하는 독립적인 단일 바이너리를 보장하여 배포를 용이하게 합니다.
진행하기 전에, 배포판에 구애받지 않는 사전 컴파일된 Kunai 버전이 릴리스 페이지에서 제공됩니다. 단순히 Kunai를 시험해보고 싶다면 직접 프로젝트를 빌드할 필요가 없습니다.
프로젝트를 쉽게 빌드하는 데 필요한 모든 것을 포함한 Docker 이미지를 사용할 수 있습니다: Kunai 빌드 Docker 이미지.
이 범용 솔루션은 모든 Linux 배포판에서 작동합니다.
모든 것을 빌드하려면 몇 가지 도구를 설치해야 합니다.
rustup이 필요합니다.clang, libbpf-dev 및 bpf-linker가 필요합니다.Ubuntu/Debian에서 요구 사항을 설치하는 명령어 예시:
sudo apt update
sudo apt install -y clang libbpf-dev lld musl-tools
# assuming you have rustup and cargo installed
cargo install bpf-linker
요구 사항을 설치한 후에는 준비가 완료됩니다.
cargo build
# find your executable in: ./target/debug/kunai
프로덕션 배포를 위해 MUSL을 사용하여 정적 바이너리 빌드를 권장합니다.
# Build static release binary
cargo build --release --target x86_64-unknown-linux-musl
# The static binary will be available at:
./target/x86_64-unknown-linux-musl/release/kunai
MUSL을 사용하는 이유? MUSL은 다양한 Linux 배포판에서 더 이식성이 높은 정적 바이너리를 생성하여 glibc 버전의 종속성 문제를 피할 수 있습니다. 이는 대상 환경을 제어하지 못할 수 있는 프로덕션 배포에서 특히 중요합니다.
aarch64용 kunai를 크로스 컴파일하려면:
aarch64 musl 대상 설치:
rustup target add aarch64-unknown-linux-musl
크로스 컴파일 툴체인 설치 (Ubuntu/Debian 예시):
sudo dpkg --add-architecture arm64
sudo apt update
sudo apt install -y git clang libbpf-dev lld musl-tools
sudo apt install -y crossbuild-essential-arm64 musl-tools:arm64
aarch64용 빌드:
cargo build --release --target aarch64-unknown-linux-musl
크로스 컴파일된 바이너리는 다음 위치에서 확인 가능:
./target/aarch64-unknown-linux-musl/release/kunai
Kunai에 메모리 문제가 있다고 생각된다면, 다음과 같이 프로파일링할 수 있습니다.
# compile kunai with debug information for all packages
RUSTFLAGS="-g" cargo build
# use heaptrack
sudo heaptrack kunai
Sysmon For Linux: https://github.com/Sysinternals/SysmonForLinux
NGSOTI 프로젝트는 사이버 보안의 인적 측면에 중점을 두고 차세대 보안 운영 센터(SOC) 운영자를 양성하는 데 전념합니다. 이 프로젝트는 탐지 엔지니어링, 사고 대응, 위협 인텔리전스 분석과 같은 문제를 해결하기 위해 SOC 운영자에게 필요한 기술과 오픈 소스 도구를 제공하는 것의 중요성을 강조합니다. CIRCL, Restena, Tenzir, 룩셈부르크 대학교 등의 주요 파트너가 참여하여 실무 교육을 위한 실제 운영 인프라를 구축하는 것을 목표로 합니다. 이 이니셔티브는 학계 커리큘럼과 산업 통찰력을 통합하여 사이버 레인지에서 실습 경험을 제공합니다.
NGSOTI는 ECCC(유럽 사이버 보안 역량 네트워크 및 역량 센터)를 통해 디지털 유럽 프로그램(DEP)의 공동 자금 지원을 받습니다.