Windows logo on a red background

新しい Windows ゼロデイにより、攻撃者は悪意のあるスタンドアロン JavaScript ファイルを使用して、Mark-of-the-Web セキュリティ警告を回避できます。

攻撃者は、ランサムウェア攻撃でゼロデイ バグを使用していることがすでに確認されています。

Windows には、Mark-of-the-Web (MoTW) と呼ばれるセキュリティ機能が含まれています。これは、ファイルがインターネットからダウンロードされたことを示すフラグを立てるため、悪意のあるファイルである可能性があるため、注意して扱う必要があります。

MoTW フラグは、ダウンロードしたファイルまたは電子メールの添付ファイルに、「Zone.Identifier」と呼ばれる特別な代替データ ストリームとして追加されます。これは、以下に示すように、「dir /R」コマンドを使用して表示し、メモ帳で直接開くことができます。

Mark-of-the-Web 代替データ ストリーム
Mark-of-the-Web 代替データ ストリーム
ソース: BleepingComputer

この「Zone.Identifier」代替データ ストリームには、ファイルのURL セキュリティ ゾーン(3 はインターネットに等しい)、リファラー、およびファイルへの URL が含まれます。

ユーザーが Mark-of-the-Web フラグの付いたファイルを開こうとすると、Windows はファイルを慎重に扱う必要があるという警告を表示します。

「インターネットからのファイルは有用ですが、このファイル タイプはコンピュータに損害を与える可能性があります。ソースが信頼できない場合は、このソフトウェアを開かないでください」と Windows から警告が表示されます。

MoTW フラグ付きのファイルを開くときの Windows セキュリティ警告 
MoTW フラグ付きのファイルを開くときの Windows セキュリティ警告

Microsoft Office はまた、MoTW フラグを使用して、ファイルを保護されたビューで開く必要があるかどうかを判断し、マクロを無効にします。

Windows MoTW バイパスのゼロデイ脆弱性

HP 脅威インテリジェンス チームは最近、攻撃者がJavaScript ファイルを使用して Magniber ランサムウェアでデバイスを感染させていることを報告しました。

明確にするために、ほぼすべての Web サイトで一般的に使用されている JavaScript ファイルについて話しているのではなく、Web ブラウザーの外部で実行できる添付ファイルまたはダウンロードとして攻撃者によって配布された .JS ファイルについて話しているのです。

Magniber の脅威アクターによって配布された JavaScript ファイルは、このMicrosoft サポート記事で説明されているように、埋め込まれた base64 でエンコードされた署名ブロックを使用してデジタル署名されています。

 
Magniber ランサムウェアのインストールに使用される JavaScript ファイル

ANALYGENCE の上級脆弱性アナリストであるWill Dormann が分析した後、 彼は、攻撃者が不正な形式のキーでこれらのファイルに署名したことを発見しました。

 
悪意のある JavaScript ファイルの不正な署名

この方法で署名すると、JS ファイルがインターネットからダウンロードされ、MoTW フラグを受け取ったとしても、Microsoft はセキュリティ警告を表示せず、スクリプトが自動的に実行されて Magniber ランサムウェアがインストールされます。

Dormann は、JavaScript ファイルでこの不正な形式の署名の使用をさらにテストし、MoTW 警告を回避する概念実証 JavaScript ファイルを作成することができました。

これらの JavaScript (.JS) ファイルはどちらも BleepingComputer と共有されており、以下に示すように、Web サイトからダウンロードしたときに赤いボックスで示されているように、どちらも Mark-of-the-Web を受け取りました。

 
Dormann の PoC エクスプロイトに関する Mark-of-the-Web

2 つのファイルの違いは、一方は Magniber ファイルと同じ不正なキーを使用して署名されており、もう一方には署名がまったく含まれていないことです。

 
Dormann の PoC エクスプロイト

未署名のファイルを Windows 10 で開くと、MoTW のセキュリティ警告が正しく表示されます。

ただし、不正な形式のキーで署名された「calc-othersig.js」をダブルクリックすると、Windows はセキュリティ警告を表示せず、以下に示すように JavaSript コードを実行するだけです。

 
Windows のゼロデイ バイパス セキュリティ警告のデモンストレーション

この手法を使用すると、攻撃者は、ダウンロードした JS ファイルを開くときに表示される通常のセキュリティ警告を回避し、スクリプトを自動的に実行できます。

BleepingComputer は、Windows 10 でバグを再現することができました。ただし、Windows 11 の場合、バグは、JS ファイルをアーカイブから直接実行した場合にのみトリガーされます。

Dormann 氏は BleepingComputer に対し、完全にパッチが適用された Windows 8.1 デバイスが MoTW セキュリティ警告を予想どおりに表示するため、このバグは Windows 10 のリリースで最初に導入されたと考えていると語っています。

Dormann 氏によると、このバグは Windows 10 の新しい [アプリとファイルの確認] SmartScreen 機能 ( [Windows セキュリティ] > [アプリとブラウザー コントロール] > [レピュテーション ベースの保護設定]) に起因しています。

「この問題は、Win10 の新しい SmartScreen 機能にあります。また、[アプリとファイルの確認] を無効にすると、Windows が従来の動作に戻り、MotW プロンプトは Authenticode 署名とは無関係になります」と Dormann 氏は語っています

「残念ながら、その設定全体は現在のところトレードオフです。一方で、ダウンロードされた悪者をスキャンします。」

「その一方で、このバグを悪用する悪者は、機能が無効になっている場合と比較して、Windows から安全性の低い動作を取得する可能性があります。」

ゼロデイ脆弱性は、攻撃者がランサムウェア攻撃で積極的に悪用していることがわかっているため、特に懸念されています。

Dormann は概念実証を Microsoft と共有しましたが、Microsoft は MoTW セキュリティ警告バイパスを再現できなかったと述べました。

ただし、Microsoft は報告された問題を認識しており、調査中であると BleepingComputer に伝えました。

Dormann は攻撃者は実行可能ファイル (.EXE) を含む Authenticode 署名付きファイルを変更して、MoTW のセキュリティ警告を回避できる可能性があると語っています。

これを行うには、16 進エディタを使用して署名済みの実行可能ファイルを変更し、ファイルの署名部分の一部のバイトを変更して、署名を破損させることができると Dormann 氏は述べています。

署名が破損すると、MoTW フラグが存在しないかのように、Windows は SmartScreen を使用してファイルをチェックせず、ファイルの実行を許可します。

「MotW を持つファイルは、署名が破損している場合、MotW が存在しないかのように扱われます。実際にどのような違いが生じるかは、ファイルの種類によって異なります」と Dormann 氏は説明します。