Trend MicroのLinux向けDeep Security Agentには、挙動監視スタックに設計上の欠陥が存在します。この欠陥により、ローカルの非特権攻撃者がエンドポイント保護を一時的に無効化する短い「盲点」を繰り返し発生させることが可能です。
この問題は、エージェントが高負荷のローカルイベント処理時にbmhookおよびtmhookカーネルモジュールをアンロード・リロードする仕組みに起因しており、単発の安定性障害ではなく、繰り返し発生する保護の空白を生み出します。
Trend Micro Deep Security Agentの脆弱性
Trend Micro Deep Security Agent(DSA)に関する独立した調査により、非特権プロセスが無害なファイルシステムおよびプロセスアクティビティによる大量の「イベントストーム」を生成し、エージェントの挙動監視パイプラインに過大な負荷をかけられることが明らかになりました。
テストでは、C言語ベースのProof of Conceptを使用して、DSAで保護されたLinuxホストに対し、ファイルの作成・書き込み・切り捨て・リネーム操作、シンボリックリンクの作成・削除、fork/exitループを連続的に実行しました。
テレメトリを単純にスロットリングするのではなく、エージェントのds_am.initコンポーネントはbmhookおよびtmhookカーネルモジュールに対してrmmodを呼び出し、syscallフッキングと挙動監視スタックを完全にアンロードし、その後リロードするという動作を示しました。
dmesgから収集されたタイミングデータによると、Linuxのライブパッチモジュールとして展開されたtmhookは完全なアンパッチ・リパッチサイクルに入り、ライブパッチの移行に約20秒かかる一方、tmhookがカーネルから不在となる時間は約1〜2秒に及びました。
重要なことに、tmhookに依存する挙動監視モジュールbmhookは、tmhookが完全にアンロードされる前に消えることが確認されました。つまり、低レベルのフックサブストレートが残存していても、監視機能が低下する可能性があることを意味しています。
カーネルクラッシュと意図的なリカバリパスを区別するため、研究者はbpftraceを使用してrmmodに関連するexecveおよびmodule_freeイベントを監視しました。
結果として得られたトレースは、ds_am.initが/usr/sbin/rmmodを起動してbmhookとtmhookをアンロードしており、module_freeが表面的な状態変更ではなく実際のモジュール削除を確認していることを示していました。
ds_agent.ServiceのSystemd設定ではRestart=noが設定されており、ログはsystemdではなくエージェント自身がアンロード・リロードのロジックを制御していることを示しています。これはTrend Microのスタックに内部的な「ループ防止」またはリカバリメカニズムが存在することを示唆しています。

ストリップされていないカーネルモジュールの静的検査も、このランタイム動作と一致していました。tmhookは汎用的なsyscallフック登録シンボルとライブパッチ初期化パスを公開しており、bmhookはenable_loop_preventionやbmhook_throttle_checkといった設定文字列を含む、キューイング・スロットリング・自己保護ルーチンを備えた挙動パイプラインを実装しています。
これらの調査結果を総合すると、高頻度のローカルアクティビティが挙動監視エンジンをリカバリパスに追い込み、ds_am.initが意図的にフックを削除して再インストールするという結論を支持するものです。
この脆弱性はリモートコード実行の脆弱性ではなく、永続的なエージェント無効化手段を提供するものでもありませんが、その影響はローカルで一時的かつ繰り返し可能な保護バイパスです。
通常の状態では、Trend Micro Deep Security Agentは既知の悪意あるテスト用ファイルをブロックし、ディスクへの保存を防ぐことで、期待どおりの検出・修復動作を示しました。
しかし、bmhook/tmhookリロードの空白時間中に同じダウンロードを実行したところ、ファイルの保存に成功しました。ファイルはディスク上に残存しており、監視がオフラインまたは低下している間に保護の判断が変化したことを示しています。
攻撃者の観点からは、この空白時間を悪用して、通常はブロックされるマルウェアやツールの配置、第2段階のペイロードの展開、スキャンが追いつく前のファイルのリネームやchmod、盲点内でのみ動作するよう設計された短命のヘルパープログラムの実行などが可能になります。
トリガーが非特権のイベントストームであり、リロードサイクルを繰り返し誘発できることから、Linuxに初期侵入した攻撃者はこれらの保護の空白に合わせて悪意ある操作を同期させることができます。
影響を受けるコンポーネントと現在の状況
この動作は、Linuxカーネルサポートパックとしてtmhookおよびbmhookカーネルモジュールが展開されたTrend Micro Deep Security Agentが動作するUbuntu Linux環境で確認されています。
この研究は、Deep Security Manager本体ではなく、LinuxエージェントのBehavior Monitoringパスを対象としています。また、過去に開示された権限昇格、コードインジェクション、アクセス制御の欠陥に関するDeep SecurityのCVEとは異なるものです。
現時点では、このイベントストームによるリロード問題は、公開されているDeep Securityの脆弱性リストに正式なCVEとして掲載されていません。これは、協調的な情報開示が進行中であるか、まだ正式なCVEとして追跡されていないことを示唆しています。
この欠陥はカーネルの整合性ではなくエンドポイント保護の継続性に影響することから、現実的な脅威モデルは、侵害された開発者のワークステーション、低権限のサービスアカウント、または初期マルウェアドロッパーなど、保護されたLinuxホスト上のローカルの非特権攻撃者です。
研究者の深刻度評価では、非特権のワークロードがコアセキュリティ制御の保護の空白を繰り返し引き起こす能力に基づき、この問題を「High(高)」と評価しています。
翻訳元: https://gbhackers.com/trend-micro-deep-security-agent-flaw/