見えない鍵盗人:VoidStealerのハードウェアブレークポイントがChromeの最新防御をいかに破砕するか

ブラウザデータを奪取する目的で設計された悪意のあるソフトウェアは、再びGoogleの防御措置を回避しましたが、これまで観察されたものよりも著しく高度な隠密性を備えています。VoidStealerと名付けられた新興のインフォスティーラーは、権限昇格やコード注入の必要なしにブラウザのメモリから直接暗号化キーを抽出する技術を習得し、それにより検出される確率を著しく低減させています。

これはアプリケーション連動型暗号化メカニズムに関するもので、2024年夏にGoogleがChrome 127から統合した防御機構です。この防御の本質は、機密性の高いブラウザデータへのアクセスを特定のアプリケーションに結びつけることであり、それにより復号化をはるかに難しくしています。パスワード、クッキー、およびその他無数のデータ断片は暗号化された状態で保存されており、復号化キーはWindowsのシステムメカニズムを通じて追加のセキュリティレイヤーで保護されています。

このアーキテクチャの基盤は、研究者によってv20_master_keyと指定されたマスターキーに基づいています。このキーはAES-GCMアルゴリズムで暗号化されたブラウザデータを解読するために使用されます。キー自体はディスク上に暗号化された状態で存在し、CryptUnprotectDataNT AUTHORITY\SYSTEMアカウントの下で組み込んだ複雑なシステムコール列を通じて呼び出されます。このパラダイムは、データの直接的な抽出を極めて困難にすることを意図していました。

しかし、この防御の砦には脆弱性があります。課せられたすべての制約にもかかわらず、キーはデータ復号化が発生する正確な瞬間にブラウザのメモリ内に暗号化されていない平文状態で一時的に現れます。正にこの一時的なウィンドウを新しい回避技術が利用しています。

VoidStealerはデバッガーの装いで動作します。悪意のあるアーティファクトはブラウザを起動し、プロセスに自身を結びつけ、その実行を細心に監視します。その後、ハードウェアブレークポイントを確立します。これは特定の命令の実行時に作動するプロセッサレベルの特殊なトリガーです。キーがメモリ内に露出した正確で好都合な瞬間に、ソフトウェアはReadProcessMemory関数を利用してそれを吸い出します。

重要な詳細は、ソフトウェアブレークポイントではなくハードウェアブレークポイントの使用にあります。ソフトウェア版はINT3命令を埋め込むなど、プロセスのメモリ内のコードを変更する必要があります。このような明白な侵入は防御メカニズムによって容易に検出されます。一方、ハードウェア版はプロセッサレジスタを通じて調整され、ブラウザのメモリへの記述を必要としないため、著しく目立たない外観を示します。

正確な傍受位置を求める過程も自動化されています。有害なコードはブラウザのライブラリの読み込みを観察し、データセクションでOSCrypt.AppBoundProvider.Decrypt.ResultCodeという文字列をスキャンします。Chromiumアーキテクチャ内では、この文字列は復号化関数の呼び出しの隣に現れます。これを通じて命令のアドレスが推測されます。キーへのポインタがすでにプロセッサのレジスタ内に存在する正確な地点です。ブレークポイント発動後、ReadProcessMemoryの2回の呼び出しで、求める値をメモリの深淵から抽出するのに十分です。

さらに別の重要な考慮事項は攻撃の正確なタイミングです。ブラウザは起動時に直ちにクッキーと補助データを呼び出すため、ほぼ直ちにキーを要求します。その結果、悪意のあるアーキテクチャはプロセスを秘密裏に起動し、自身を結びつけ、その動作の初期段階で必要な瞬間を傍受します。

VoidStealerは単一の戦略に限定されません。前述の技術を超えて、より正統的な方法論を同時に採用しており、ブラウザのプロセスに自身を注入し、IElevator COMインターフェースを通じて復号化関数を呼び出します。このアプローチは堅牢ですが、顕著な足跡を残し、防御アーキテクチャによって頻繁に検出されます。新興のデバッガー変種は深い沈黙で動作し、したがって指数関数的により危険です。

興味深いことに、この概念自体は全く前例がないわけではありません。このマルウェアの設計者はそれをオープンソースプロジェクトのElevationKatzから適切しました。根本的な相違は、これまでそのような方法論は調査ツールの領域内に限定されていたということです。今、初めて、それらの展開が実際の攻撃で記録されています。

サイバーセキュリティの最前線にとって、この状況は監視のための複数の重大な転換点を提示します。正当なアプリケーションはブラウザのデバッグを開始しません。したがって、ユーザー介入なしにChromeまたはEdgeプロセスに結びつけようとする試みは極めて疑わしい性質を帯びています。補助的な警告信号はメモリの記述を伴わない場合でも、メモリの純粋な読み取りです。さらに、SW_HIDEフラグの展開、ヘッドレス状態での動作、またはディスプレイの視界範囲外での出現など、ブラウザの秘密裏の起動に対する厳格な精査が必要です。

アプリケーション連動型暗号化はデータの盗難を完全に消滅させるわけではありませんが、攻撃者にはより高い複雑性と可視性を伴って操作することを強います。ハードウェアブレークポイントを利用する方法論の出現は、これらのデジタル強盗者が新しい制約に適応したことを明確に示しています。そのような技術のソースコードへのアクセスの自由度を考慮すると、同様の戦略がまもなく他のインフォスティーラーのアーセナル内に現れることを暗く予期することができます。

翻訳元: https://meterpreter.org/the-invisible-key-snatcher-how-voidstealers-hardware-breakpoints-shatter-chromes-latest-defenses/

ソース: meterpreter.org