
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
# rustup と cargo がインストールされている前提
cargo install bpf-linker
要件 がインストールされていれば、準備は完了です。
cargo build
# 実行ファイルは以下にあります: ./target/debug/kunai
本番環境への展開には、MUSL を使用した静的バイナリのビルドをお勧めします:
# 静的リリースバイナリのビルド
cargo build --release --target x86_64-unknown-linux-musl
# 静的バイナリは以下で利用可能になります:
./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 にメモリの問題があると思われる場合、以下がプロファイリングの方法です。
# すべてのパッケージのデバッグ情報を含めて kunai をコンパイル
RUSTFLAGS="-g" cargo build
# heaptrack を使用
sudo heaptrack kunai
Sysmon For Linux: https://github.com/Sysinternals/SysmonForLinux
NGSOTI プロジェクトは、サイバーセキュリティの人的側面に焦点を当て、次世代のセキュリティオペレーションセンター(SOC)オペレーターの育成を目的としています。SOC オペレーターに、検知エンジニアリング、インシデント対応、脅威インテリジェンス分析などの課題に対処するために必要なスキルとオープンソースツールを提供することの重要性を強調しています。CIRCL、Restena、Tenzir、ルクセンブルク大学などの主要パートナーが関与し、実践的なトレーニングのための実際の運用インフラを確立することを目指しています。このイニシアチブは、学術カリキュラムと業界の洞察を統合し、サイバーレンジでの実践的な経験を提供します。
NGSOTI は、ECCC(欧州サイバーセキュリティ能力ネットワークおよび能力センター)を通じて、デジタル欧州プログラム(DEP)の一部として共同資金提供を受けています。