K7アンチウイルスにシステム権限昇格を許す重大な脆弱性

概要

K7 Ultimate Securityアンチウイルスソフトウェアに、攻撃者がWindowsコンピューター上で最高レベルのシステムアクセス権限を取得できる重大なセキュリティ脆弱性が発見されました。この脆弱性(CVE-2024-36424として追跡)は、権限の低いユーザーがSYSTEMレベルにまで権限を昇格させ、影響を受けるマシンを完全に制御することを可能にします。

脆弱性の仕組み

K7 Ultimate Securityは、ソフトウェアの異なる部分間の通信を処理するために名前付きパイプを使用しています。名前付きパイプは、制限された権限で実行されているプログラムが、より高い権限を持つプログラムにアクションを要求することを可能にします。

Quarkslabの研究者たちは、K7が使用する「K7TSMngrService1」という名前付きパイプのアクセス制御が不十分であることを発見しました。この問題は、K7がユーザー設定を処理する方法に起因します。管理者が一般ユーザーにセキュリティ設定の変更を許可すると、ソフトウェアはこの名前付きパイプを介して通信します。

研究者たちは、どのようなプロセスでも、特別に作成されたメッセージを送信することで、SYSTEMレベルのサービスを騙してレジストリを変更させることができることを発見しました。基本的なユーザーアクセス権を持つ攻撃者は、この脆弱性を2つの方法で悪用できます。

  • アンチウイルス保護の無効化: 適切なコマンドを名前付きパイプに送信することで、権限の低いユーザーはリアルタイムスキャンやクラウド保護を無効にしたり、マルウェアを許可リストに追加したりすることができました。
  • 完全な特権昇格: Image File Execution Options (IFEO) を使用して、攻撃者はK7サービスを騙し、プログラムの起動方法を制御するWindowsレジストリキーを変更させました。K7が自身を更新しようとすると、代わりに攻撃者の悪意のあるコードがSYSTEM権限で実行されることになります。

パッチと回避策

K7 Computingは、この問題を修正するために複数のパッチをリリースしました。しかし、研究者はこれらのパッチに対する回避策を次々と発見しました。

  • 最初のパッチ: コマンドを送信するプログラムをチェックする呼び出し元検証が追加されました。しかし、研究者たちは、正当なK7プロセスに手動マッピングを通じてコードを注入することでこれを回避しました。
  • 2番目のパッチ: K7Sentryドライバーを通じてプロセス保護が追加されました。これは、保護リストにない別のK7実行ファイルを使用することで回避されました。
  • 3番目のパッチ: 保護リストが拡張されました。しかし、研究者たちは、特にリストに記載されていないデジタル署名されたK7バイナリが引き続き攻撃ベクトルとして使用できることを発見しました。これらのバイナリの名前を変更して再配置するだけで、エクスプロイトが再び機能しました。

推奨事項

この脆弱性は、K7 Ultimate Securityバージョン17.0.2045およびそれ以前のバージョンに影響を与えます。K7アンチウイルスを使用している組織は、直ちに最新のパッチ適用済みバージョンにアップデートする必要があります。

この脆弱性は、セキュリティ制御が適切に実装されていない場合、アンチウイルスソフトウェア自体が攻撃ベクトルになり得ることを示しています。セキュリティ専門家は、アンチウイルスベンダーに対し、プロセス間通信に厳格な認証を実装することを推奨しています。ベンダーは、セキュリティ決定のためにプロセス名の検証のみに依存することを避けるべきです。ユーザーは、異常なレジストリ変更や特権昇格がないかシステムを監視する必要があります。


元記事: https://gbhackers.com/k7-antivirus-flaw/