コンテンツにスキップ

Tracee - eBPF ランタイムセキュリティ & フォレンジクス チートシート

Tracee - eBPF ランタイムセキュリティ & フォレンジクス チートシート

Tracee は Aqua Security による eBPF ベースのランタイムセキュリティおよびフォレンジクスツール です。eBPF を使用して OS イベント(syscalls、プロセスおよびネットワークアクティビティ、ファイル操作)をカーネルレベルで低オーバーヘッドでトレースし、ライブラリ内の署名を適用してランタイムで疑わしいまたは悪意のあるアクティビティを検出します。Linux ホスト、コンテナ、および Kubernetes 向けに構築されており、eBPF ランタイムセキュリティ分野で Falco と Tetragon の強力な補完です。

要件

  • Linux kernel ≥ 5.4(BTF / CO-RE サポート推奨;ほとんどの最新ディストロ)
  • Root / 特権コンテナ(eBPF は昇格された機能が必要)

インストール

方法コマンド
Docker(最速)docker run --name tracee -it --rm --pid=host --cgroupns=host --privileged -v /etc/os-release:/etc/os-release-host:ro aquasec/tracee:latest
Kubernetes(Helm)helm repo add aqua https://aquasecurity.github.io/helm-charts/ && helm install tracee aqua/tracee -n tracee --create-namespace
バイナリGitHub Releases からダウンロードして sudo ./tracee を実行
確認tracee version

基本的な使用方法

コマンド説明
sudo traceeデフォルト検出署名でトレースを開始
sudo tracee --output jsonJSON としてイベントを出力
sudo tracee --scope comm=nginx特定のプロセスのみをトレース
sudo tracee --events execve,open特定のイベントをトレース
tracee --help完全なオプションリスト

イベント選択(--events

セレクタマッチ対象
--events execveプロセス実行
--events open,openatファイルオープン
--events net_packet_dnsDNS トラフィック
--events security_file_openLSM ファイルオープンフック
--events 'fs'イベントセット全体(ファイルシステム)
--events 'signatures'署名検出のみ
--events execve.args.pathname=/usr/bin/*引数値でフィルタ

スコープフィルタリング(--scope

セレクタマッチ対象
--scope comm=bashコマンド名で
--scope pid=1234PID で
--scope containerコンテナイベントのみ
--scope container=new新しく開始されたコンテナのみ
--scope uid=0ルートアクティビティ
--scope pid=new新しく作成されたプロセス
--scope not-containerホストのみのイベント

検出署名

Tracee は既知の攻撃技術にフラグを付ける動作署名(Go と Rego)を搭載しています。

例の検出技術
反デバッグptrace による回避
動的コード読み込みメモリ常駐ペイロード
LD_PRELOADライブラリインジェクション
権限昇格setuid/機能悪用
コンテナエスケープ名前空間/ホストアクセス
カーネルモジュール読み込みルートキット インストール
コマンド説明
sudo tracee --events signatures検出署名のみを実行
--rego- フラグカスタム Rego 署名を読み込み
--signatures-dir DIRディレクトリから署名を読み込み

出力 & キャプチャ

オプション説明
--output jsonJSON イベント(SIEM にパイプ)
--output table人間が読める形式のテーブル
--output gotemplate=FILE.tmplカスタムテンプレート出力
--capture exec実行されたバイナリをディスクにキャプチャ
--capture memメモリ領域をキャプチャ(フォレンジクス)
--capture netイベントごとにネットワークトラフィックをキャプチャ
--output forward:tcp://host:portイベントをコレクタに転送

一般的なワークフロー

# コンテナアクティビティのみ監視、SIEM 用 JSON
sudo tracee --scope container --output json | tee tracee-events.json

# 脅威のみ検出(署名)、テーブル出力
sudo tracee --events signatures --output table

# 特定のプロセスを調査して実行されたバイナリをキャプチャ
sudo tracee --scope comm=suspicious --capture exec

# 新しいコンテナによる DNS を表示(流出ハンティング)
sudo tracee --scope container=new --events net_packet_dns

Tracee vs Falco vs Tetragon

側面TraceeFalcoTetragon
エンジンeBPF(Aqua)eBPF(CNCF)eBPF(Cilium)
フォーカスフォレンジクス + 検出 + キャプチャアラート/検出可観測性 + カーネル内強制
強制検出重点検出はい(kill/override)
フォレンジクスキャプチャ強力(exec/mem/net)限定的イベント中心
最適用途脅威フォレンジクス & キャプチャ成熟したルールライブラリ防止 + 深い可視性

リソース