eBPFルートキット:地下フォーラムの攻撃者が注目する理由

eBPF(extended Berkeley Packet Filter)は、長年にわたりLinuxカーネルで最も高く評価されてきた技術の一つです。カーネルモジュールを書かなくても、カーネル内でサンドボックス化されたプログラムを実行できます。ネットワーク監視からセキュリティツールまで、幅広い用途を支えています。

Linuxは本番環境のサーバーで非常に広く使われており、Google、Cloudflare、Metaといった大手企業も日常的に利用しています。

しかし、防御側にとって魅力的なeBPFの機能は、攻撃者の手に渡れば強力な武器にもなり得ます。Flareの調査では、eBPFルートキットのコードや手順を解説したチュートリアルを共有する地下フォーラムの投稿が見つかりました。

ロシア語の投稿の一つでは、プロセスの隠蔽とパケットによる起動機能を備えたインプラントの作り方が説明されていました。投稿者が実演として示すスクリーンショットも添えられていました。

eBPFの何が危険なのか

従来のLinuxルートキットは、ロード可能カーネルモジュール(LKM)を使ってシステムコールをフックし、不正な活動を隠すのが一般的でした。防御側はこの手法をよく理解しており、多くのEDR製品は不審なモジュールのロードを監視しています。ところがeBPFは、これとは異なる挙動を示します。 

eBPFマルウェアは、Ciliumのような正規ツールと同じく、カーネルが公式にサポートするbpf()インターフェースを使います。これにより、カーネル関数へのフック、システムコールの監視、ネットワークトラフィックの検査や改変が可能です。

eBPFプログラムはカーネルモジュールをロードせずに動作するため、通常のlsmodによる確認では見逃す恐れがあります。防御側にとっての課題は、誰がそのプログラムをロードし、何を行っているのかを突き止めることです。

次のLinuxルートキットは、すでに地下で議論されている

eBPFルートキットは、カンファレンスでの講演から地下フォーラムのチュートリアルへと広がりつつあります。ホスト上でロードされる頃には、通常のチェックを回避するように作り込まれています。

Flareはフォーラム、マーケットプレイス、ペーストサイトをリアルタイムで監視しています。新しいツールやエクスプロイト、攻撃者のやり取りを早期に把握できるため、チームはeBPFの脅威を追跡できます。

2週間無料トライアル

従来型BPFバックドアからeBPFルートキットへ

最初の大きな警鐘となったのは2022年です。PwCとElastic Security Labsが、BPFDoorを報告しました。これは、Red Menshenとして追跡されている中国の攻撃グループによるものとされる、受動型のLinuxバックドアです。Elasticが解析したBPFDoorのサンプルは、従来型のBPFソケットフィルターを使い、細工されたTCP、UDP、ICMPパケットを識別していました。

いったん起動すると、リバースシェルを開いたり、トラフィックをインプラントにリダイレクトしたりできます。PwCは2021年にこのマルウェアを発見しました。2022年の公開報告では、中東やアジアの組織を狙った活動が説明されています。

同じ頃、IntezerとBlackBerryは共同でSymbioteを公表しました。これはBPFを悪用して潜伏する、別タイプのLinuxマルウェアです。Symbioteは単独のプロセスとしては動作しません。ダイナミックリンカーを利用して、悪意のある共有ライブラリを対象プロセスにプリロードします。 

このライブラリは、SO_ATTACH_FILTERで従来型BPFフィルターを取り付けるsetsockopt()の呼び出しを傍受します。そのうえで自前のフィルター命令を先頭に挿入し、特定のトラフィックをパケットキャプチャから隠します。

eBPFの攻撃的な利用は、公開研究ですでに実証されていました。2021年には、研究者がBlack Hat USAとDEF CONでebpfkitを発表しました。TripleCrossは、システムコールのフックにXDPとトラフィック制御プログラムを組み合わせています。これにより、ライブラリのインジェクション、実行のハイジャック、隠蔽、コマンド&コントロールに対応します。

Boopkitは、getdents64のフックでディレクトリエントリを隠します。インストール済みのインプラントは、リモートから起動できます。文書化された方法は2通りあり、一つは不正な形式のTCP SYNを使い、もう一つは通常のTCP接続を使います。

そして2025年10月、SynacktivがLinkProを報告しました。公開されたJenkinsサーバーを足がかりとする侵害の調査で見つかったものです。LinkProはeBPFプログラムを使ってホスト上の活動を隠し、細工されたパケットを受け取るとバックドアを有効化しました。

地下での普及:研究から武器化へ

セキュリティ研究者や国家支援の攻撃グループは、eBPFを使ってルートキットを構築する方法を探ってきました。Flareの最新の調査では、コードや手順を解説したチュートリアルを共有する地下フォーラムの投稿が確認されました。こうした手法が学術論文やセキュリティカンファレンスの外にも広まっていることがわかります。

ロシア語のフォーラム「Duty Free」では、あるユーザーがeBPFルートキットの構築チュートリアルを公開しました。BPFDoorとSymbioteから影響を受けたと明記しています。

Image

このガイドには、ソースコードと、投稿者が実演として示すスクリーンショットが含まれています。特定のウィンドウサイズを持つTCP SYNパケットでインプラントを起動する方法を説明しています。getdents64のフックによるプロセスの隠蔽や、AES-256-GCMによるコマンド&コントロール通信の暗号化も解説しています。

XDPを使い、受信した平文のHTTPトラフィックを検査する方法も説明されています。投稿者がアンチウイルスベンダーのものとみなす43個のIPアドレスのリストに一致するパケットは、破棄します。 

Flareは、関連するPastebinの投稿も10件確認しました。いずれもXDPのパケット処理コードと、マイクロ秒単位で表されたタイミングのしきい値を含んでいました。 

ルートキット以外のeBPF悪用

Flareは、複数のプラットフォームで出回っているエクスプロイトコードも見つけました。データセット内で最も頻繁に再投稿されていた(少なくとも6つのプラットフォーム)エクスプロイトは、CVE-2017-16995を狙ったものです。これは2017年に見つかった、符号拡張の誤りに関するLinux BPFベリファイアの脆弱性です。

古いeBPFエクスプロイトに加えて、研究者は新しいエクスプロイトもいくつか発見しました。

一例が、kTLSとeBPFのsockmapを狙う、未検証のLinuxローカル権限昇格PoCです。このPoCは、/etc/passwdのページキャッシュを破壊し、UID 0のアカウントを注入しようとします。4.18以降のすべてのカーネルに対応するという主張は誤りです。

アップストリームのLinux 4.18には、コードが呼び出すBPFヘルパーがありません。Ubuntu 22.04や24.04で権限昇格に成功するかどうかも、確認されていません。 

私たちが確認したあるエクスプロイトのサンプルでは、作成者がソースコードのコメントに、BPF命令の生成にClaudeを使ったと記していました。

検知が難しい理由

根本的な課題は、eBPFを使った脅威が正規のカーネルインターフェースを通じて動作する点にあります。

不正なカーネルモジュールとは異なり、eBPFプログラムはカーネル組み込みのベリファイアを通過します。検証を通過した悪意あるプログラムは、カーネルから見れば、承認された他のプログラムと変わりません。

現在の検知は、bpf()システムコールの監視、bpftoolによるロード済みプログラムの追跡、getdents64やexecveといった重要なシステムコールへの不審なアタッチポイントの監視が中心です。

しかし、これらは事後対応的な対策です。攻撃者は、カーネル自身が認めた仕組みを通じて動作できる分、有利な立場にあります。

防御側がすべきこと

Linuxインフラを運用する組織は、eBPFの脅威を真剣に受け止める必要があります。

  • ロード済みのeBPFプログラムを定期的に監査する:bpftool prog listを使います。本来あるべきプログラムを把握しておくことが重要です。

  • eBPFへのアクセスを制限する:kernel.unprivileged_bpf_disabled=1を設定し、CAP_BPFとCAP_NET_ADMINを制限します。

  • マジックパケットを監視する:複数のeBPFバックドアは、特定のTCPフラグやウィンドウサイズで起動します。

  • 積極的にパッチを適用する:BPFベリファイアのバグは繰り返し現れる脆弱性の種類であり、武器化されたエクスプロイトもすぐに登場します。

  • ネットワークインターフェース上の想定外のXDPプログラムに注意する

  • 最新の脅威インテリジェンスを収集する:新たな攻撃手法やツール、テクニックについて常に最新情報を把握しておくと、eBPFベースのマルウェアを阻止するための新しい検知や対策を整えるのに役立ちます。

まとめ

eBPFルートキットは、Linuxの脅威における真の進化といえます。そのインプラントは、ロード済みカーネルモジュールを対象にした検査を回避できるためです。LinkProはさらに踏み込み、自身のeBPFプログラムをbpftool prog listから隠そうとしました。

それでも調査担当者は、関連するBPFマップやリンクを確認できました。この事例は、防御側がホストの複数のテレメトリーを突き合わせるべき理由を示しています。

Flareは、プロセスを隠したり、細工したパケットでインプラントを起動したりするためのソースコードや手順を共有する、地下投稿を確認しました。Synacktivは、LinkProの調査でこの両方の手法を文書化しています。これらの手法が実際の侵入でどのように現れるのかを示す、具体例といえます。

無料トライアルに登録して詳細を確認する。

翻訳元: https://www.bleepingcomputer.com/news/security/ebpf-rootkits-why-underground-actors-are-taking-notice/

本記事は bleepingcomputer.com の記事を翻訳・要約したものです。