Linux eBPF を巡る攻防:進化する BPFDoor と Symbiote の機能を分析する

BPFDoor and Symbiote: Advanced eBPF-Based Rootkits Target Linux Systems

2025/12/03 gbhackers — Extended Berkeley Packet Filter (eBPF) は、Linux カーネルにおける最も強力な技術の一つであり、サンドボックス化されたプログラムをカーネルに直接ロードすることで、ネットワーク・パケットの検査やシステムコールの監視を可能にするものだ。この機能は 2015 年に導入され、1992年の BPF アーキテクチャを近代化し、前例のない監視機能を提供することになった。しかし、一方では、高度な攻撃者に対して、ステルス性の高い新たな攻撃ベクターを提供するという諸刃の剣になっている。

eBPF の潜在能力を早期に認識したマルウェア作成者たちは、2015 年の時点で Bvp47 バックドアを展開し、その後には Ebpfkit や TripleCross といったルートキットを登場させた。

ただし、eBPF を武器化するには高度な技術力と複雑性への対応が必要となる。したがって、この種のマルウェアは少数派であり、2021 年に確認された Symbiote と BPFDoor という2つのファミリーが、現在の脅威ランドスケープでも主流となっている。

FortiGuard Labs の検出データによると、eBPF マルウェアは 2025 年も依然として活発な脅威であり、今年だけで 151 件の新たな BPFDoor サンプルと3つの Symbiote 亜種が確認されている。

これらの数字は、コモディティなマルウェアと比較すると小さいが、高度な攻撃者のみが利用できる eBPF ベースの脅威は、特殊なニッチ市場を形成している。

開発に高度な専門知識が必要であることから、eBPF マルウェアは高度な持続的脅威 (APT) の領域に分類され、BPFDoor は国家に支援される攻撃活動に関連付けられている。

技術的進化

最近の Symbiote 亜種は、戦術面で大きな進化を示している。2025年7月に検出されたサンプルを分析した結果として判明したのは、BPF フィルタの強化である。具体的に言うと、TCP/UDP/SCTP プロトコルがサポートされ、8つの非標準ポート (54778/58870/59666/54879/57987/64322/45677/63227) を介して、IPv4/IPv6 パケットを受け入れるようになっている。

BPF filter adds IPv6 support.
BPF filter adds IPv6 support.

以前のバージョンでは、少数のポート・セットを介して TCP/SCTP トラフィックのみを受け入れていたが、それと比較すると大幅な拡張である。

この拡張は、複数の回避戦術を意図している。つまり、特定ポートがブロックまたは監視された際に、このマルウェアはポート・ホッピングを実行し、使用ポートを切り替えられる。

また、従来の侵入検知システムが TCP ハンドシェイク解析に最適化されている状況において、コネクションレス型プロトコル UDP が追加されたことで、これまで以上に検出が困難になる。

これらのルートキットは、高位ポートのみで動作することで、一般的なサービス・ポートに特化したセキュリティ・ツールを回避している。

その一方で、BPFDoor も同様に進化している。2022 年版と 2025 年版の亜種を比較すると、BPF フィルタにおける IPv6 サポートといった、重要な機能の強化が明らかになった。

2025 年版のサンプルで判明したのは、DNS クエリの普遍性をカモフラージュとして利用し、IPv4/IPv6 の DNS トラフィック (ポート 53) を監視対象としていることだ。

このマルウェアは、SO_ATTACH_FILTER を介して、BPF フィルタを raw ソケットにアタッチしている。つまり、パケットがユーザー空間に到達する前に、カーネル・レベルでフィルタリングを行う従来型の BPF バイトコードを実装することで、検出を極めて困難にしている。

リバース・エンジニアリングと AI 支援による分析

BPF では、x86 や ARM とは根本的に異なる、固定サイズの 64-Bit 命令を備えた、最小限の命令セット・アーキテクチャが採用されている。したがって、eBPF マルウェアの分析には特有の課題が存在する。

Reversing BPF bytecode.
Reversing BPF bytecode.

BPF バイトコードのリバース・エンジニアリングには、Radare2/IDA Pro プラグインおよび、Capstone エンジンなどのツールを利用できるが、バイトコードの解釈には専門的な知識が求められる。

AI モデルを用いた分析においては、パケットの受信に対するドロップ解釈や、EtherType 値 (IPv4 の場合は 0x0800) をポート番号との混同といった、深刻な誤解釈を行うケースが確認されている。これらのミスが浮き彫りにするのは、人間による検証の必要性である。

ただし、このプロセスにおける有用な支援手段として、AI が台頭している部分もある。Claude Sonnet 4.5 を用いて BPF バイトコードを解析した研究者は、パケット・フィルタリング・ロジックを迅速に把握できたと報告しているが、重要な注意点が残されているとも指摘している。

Radare2 の MCP サーバ統合は、AI 支援リバース・エンジニアリングの可能性を示しており、1つのサンプルあたり約 $0.50 というコストで、包括的な Markdown 解析を生成している。

2022 年と 2025 年の BPFDoor 亜種を AI で自動的に比較した結果では、IPv6 サポートとパケット識別メカニズムの変更を正しく検出したが、RC4 暗号の存在を誤って推定するといった誤判定も見られた。

2025 年の亜種を見る限り、eBPF マルウェア作成者たちは、検出回避のためにツールを積極的に強化していることが判明している。

具体的に言うと、Symbiote の拡張ポート・リスト/UDP サポート/BPFDoor の IPv6 機能/DNS トラフィック・カモフラージュは、いずれも現代的なネットワーク監視手法に対する計算された対抗策である。

これらの進展への対策として、包括的な高ポート監視/IPv6 対応の検出エンジン/専用の eBPF セキュリティ・フレームワークといった、防御側の戦略面での進化が必要となる。

防御側にとって必要なことは、eBPF マルウェアが過去の珍品ではなく、現在進行形の進化する脅威だと認識することだ。

AI ツールが分析のハードルを下げているが、事実とアルゴリズムによる錯覚を見分けるためには、批判的な思考と手動による検証が引き続き不可欠である。