セキュリティ研究チームがアンチウイルス製品へのコード注入手法を公開セキュリティニュースアラート

Zero Salariumは、アンチウイルス製品の保護機構を逆利用して任意コードを注入する手法を報告した。「IAmAntimalware」と呼ばれる自動化ツールを開発し、検証している。

» 2025年10月15日 08時00分 公開
[後藤大地ITmedia]

この記事は会員限定です。会員登録すると全てご覧いただけます。

 セキュリティ研究チーム「Zero Salarium」は2025年10月11日(現地時間)、アンチウイルス製品の保護プロセスへのコード注入手法を報告した。アンチウイルス製品の自己防衛機構を逆手に取る形で不正なコードを実行できる可能性を示しており、研究の一環として「IAmAntimalware」と呼ばれる自動化ツールを紹介している。

セキュリティ製品の自己防衛機能を悪用した侵入手法の詳細

 一般的なアンチウイルスは、システム権限(SYSTEM権限)で動作し、自身のプロセスを監視しつつ外部からの干渉を防ぐ。具体的にプロセスの改変や外部からのコード注入を検知する「プロセスイントロスペクション」、モジュールの改ざんを確認する「コード整合性チェック」、「Windows」の「Protected Process Light(PPL)」機能による分離実行などがある。またカーネルレベルでも監視され、第三者による検出機能の改変を阻止する仕組みが導入されている。

 こうした防御の根幹となる「どのプロセスを保護対象とするか」という判定方法では単にプロセス名で判断すると模倣が容易なため、実際には実行ファイルの格納パス(ImagePath)や署名情報を組み合わせて検証されている。「Bitdefender」のように、ロードされるDLLの署名検証を追加している製品も存在する。これにより、外部のプロセスが保護対象を装うことは難しくなっている。

 その上でアンチウイルスの保護対象プロセスに対し、サービスの複製を使ったコード注入を試みている。方法は対象のアンチウイルスサービスと同一の設定情報を持つ新しい「Windows」サービスを作成し、暗号化プロバイダー(CryptoAPI)の設定を改変して任意のDLLを読み込ませる。暗号化プロバイダーはアンチウイルスが起動時に利用する機構であり、レジストリーの「HKLM\SOFTWARE\Microsoft\Cryptography\Defaults\Provider」に設定されている。この値を任意のDLLに変更することで、起動時に該当DLLが読み込まれる仕組みを利用している。

 実験ではBitdefenderの「Microsoft Enhanced RSA and AES Cryptographic Provider」が使用されていることを確認し、これを改変することでテスト用DLLの注入に成功している。Bitdefenderはロードされているモジュールのデジタル署名を検証するが、自作の自己署名証明書を信頼させる方法と、Windows正規プログラムの署名情報を複製して隠ぺいする方法の両方を提示している。

 またこれらの手順を自動化する「IAmAntimalware」というツールを開発している。このツールは、指定したアンチウイルスサービス名を基に複製サービスを生成し、暗号化プロバイダーのレジストリー値を改変して証明書をインポートし、DLLを読み込ませる仕組みを備える。コマンドラインから実行でき、パラメーターとして元のサービス名、新しいサービス名、証明書ファイル、DLLの絶対パスを指定する。

 テストでは「CertClone」という別ツールで署名を付与したDLLを使用し、Bitdefender環境で「mark.txt」というファイルをアンチウイルスのインストールフォルダ内に生成することに成功している。Trend MicroおよびAvastでも同様の手法を試し、Avastではユーザーインタフェースプロセスを対象とした改良が必要ということが確認されている。

 Zero Salariumはアンチウイルスの保護プロセスが外部からの操作を受け付けない設計になっているが、その内部で任意コードが動作してしまう場合、検知機構をすり抜けるリスクが生じると指摘している。IAmAntimalwareは、その脆弱性を再現するための実験的ツールであり、これを防ぐには、モジュールの読み込み経路の監視、信頼済み証明書の登録状況の確認、PPL機能の適切な運用などが求められるとしている。

Copyright © ITmedia, Inc. All Rights Reserved.

アイティメディアからのお知らせ

注目のテーマ

あなたにおすすめの記事PR