永続的なマルウェア キャンペーンは、少なくとも 2020 年 5 月以降、進化したブラウザ修飾型マルウェアを大規模に積極的に配布しています。8 月のピーク時には、この脅威は毎日 30,000 台を超えるデバイスで観測されました。このマルウェアは、検索エンジンの結果ページに広告を挿入するように設計されています。この脅威は複数のブラウザー (Microsoft Edge、Google Chrome、Yandex Browser、Mozilla Firefox) に影響を与え、できるだけ多くのインターネット ユーザーに到達しようとする攻撃者の意図を明らかにします。
この一連のブラウザ修飾子を Adrozek と呼びます。検出されずにブロックされない場合、Adrozek はブラウザー拡張機能を追加し、ターゲット ブラウザーごとに特定の DLL を変更し、ブラウザー設定を変更して、多くの場合、検索エンジンからの正当な広告の上に追加の未承認の広告を Web ページに挿入します。意図された効果は、特定のキーワードを検索しているユーザーが、これらのマルウェアが挿入された広告をうっかりクリックして、アフィリエイト ページに誘導することです。攻撃者は、アフィリエイト広告プログラムを通じて収入を得ます。このプログラムは、スポンサー付きのアフィリエイト ページへのトラフィックの量に応じて支払います。
図 1. 影響を受けたマシンと Adrozek が実行されているマシンの検索結果ページの比較。
アフィリエイト プログラムを悪用するサイバー犯罪者は新しいものではありません。ブラウザの修飾子は、最も古いタイプの脅威の一部です。ただし、このキャンペーンが複数のブラウザに影響を与えるマルウェアの一部を利用しているという事実は、この脅威タイプがますます巧妙化し続けていることを示しています。さらに、マルウェアは永続性を維持し、Web サイトの資格情報を盗み出し、影響を受けるデバイスをさらなるリスクにさらします。
このような持続的で広範囲にわたるキャンペーンには、大規模で動的な攻撃者のインフラストラクチャが必要です。 159 の一意のドメインを追跡し、それぞれが平均 17,300 の一意の URL をホストしており、これらのドメインは平均で 15,300 を超える一意のポリモーフィック マルウェア サンプルをホストしています。 2020 年 5 月から 9 月にかけて、私たちは世界中で数十万回の Adrozek マルウェアの遭遇を記録しましたが、特にヨーロッパ、南アジア、東南アジアに集中していました。このキャンペーンが進行中であるため、このインフラストラクチャはさらに拡大するはずです。
図 2. 2020 年 5 月から 9 月までの Adrozek 遭遇の地理的分布。
複数のコンポーネント、ポリモーフィズム、および進化したマルウェアの動作が組み込まれた、このような蔓延する永続的なキャンペーンから効果的に保護するには、特定のコンポーネントではなく、攻撃チェーン全体にわたる高度な動作ベースの検出と可視性が必要です。 Windows 10 に組み込まれているエンドポイント保護ソリューションであるMicrosoft Defender ウイルス対策は、動作ベースの機械学習による保護を使用して、この脅威をブロックします。企業の場合、 Microsoft 365 Defenderは悪意のある動作を詳細に可視化します。このブログでは、配布アーキテクチャやマルウェアの動作など、このキャンペーンの詳細な分析を共有し、推奨される防御策を提供します。
流通インフラ
Adrozek マルウェアは、ドライブバイ ダウンロードによってデバイスにインストールされます。 2020 年 5 月から 9 月までの Adrozek キャンペーンの追跡では、159 の固有のドメインが使用され、数十万の固有のマルウェア サンプルが配布されていることがわかりました。攻撃者はポリモーフィズムに大きく依存していたため、攻撃者は大量のサンプルを大量に生成し、検出を回避することができました。
ドメインの多くは数万の URL をホストしていましたが、100,000 を超える固有の URL を持つドメインもいくつかあり、約 250,000 をホストしていたドメインもありました。この大規模なインフラストラクチャは、攻撃者がこのキャンペーンを運用し続けようとする決意を反映しています。
図 3. 少なくとも 100 個のファイルがある Adrozek ドメインでホストされている URL の数とファイルの数。
配信インフラストラクチャも非常に動的です。一部のドメインは 1 日だけ稼働していましたが、他のドメインはそれより長く、最大 120 日間稼働していました。興味深いことに、一部のドメインが Process Explorer などのクリーンなファイルを配布していることが確認されました。これは、攻撃者がドメインと URL の評判を改善し、ネットワークベースの保護を回避しようとした可能性があります。
インストール
攻撃者は、この広大なインフラストラクチャを使用して、何十万もの固有の Adrozek インストーラー サンプルを配布します。これらの各ファイルは高度に難読化されており、 setup_<application name>_<numbers>.exe という形式に従う一意のファイル名を使用しています。
図 4. Adrozek 攻撃チェーン
インストーラーを実行すると、ランダムなファイル名の .exe ファイルが %temp% フォルダーにドロップされます。このファイルは、正規のオーディオ関連ソフトウェアのように見えるファイル名を使用して、Program Files フォルダにメインのペイロードをドロップします。このマルウェアは、 Audiolava.exe 、 QuickAudio.exe 、 converter.exeなどのさまざまな名前を使用していることが確認されています。マルウェアは、 [設定] > [アプリと機能]からアクセスできる通常のプログラムのようにインストールされ、同じ名前のサービスとして登録されます。
図 5. [アプリと機能] 設定からアクセスできるプログラムとしてインストールされた Adrozek
ブラウザ コンポーネントの変更
インストールが完了すると、Adrozek はブラウザの設定とコンポーネントに複数の変更を加えます。これらの変更により、マルウェアは検索エンジンの結果ページに広告を挿入できます。
拡張機能
このマルウェアは、特定のブラウザ拡張機能を変更します。 Google Chrome では、このマルウェアは通常、ブラウザのデフォルトの拡張機能の 1 つである「Chrome Media Router」を変更しますが、別の拡張機能を使用していることが確認されています。
Chromium ベースのブラウザーの各拡張機能には、ユーザーがマシンまたは Chrome Web ストアで拡張機能を見つけるために使用できる一意の 32 文字の ID があります。 Microsoft Edge や Yandex Browser では、「Radioplayer」などの正当な拡張機能の ID を使用して、正当なものになりすます。これらの拡張機能のほとんどが既にデバイスにインストールされていることはめったにないため、この拡張機能 ID を使用して新しいフォルダーを作成し、このフォルダーに悪意のあるコンポーネントを格納します。 Firefox では、Globally Unique Identifier (GUID) を持つフォルダーをブラウザー拡張機能に追加します。要約すると、各ブラウザでマルウェアが使用するパスと拡張 ID は次のとおりです。
ブラウザ | 拡張パスの例 |
マイクロソフトエッジ | %localappdata%MicrosoftEdgeUser DataDefaultExtensionsfcppdfelojakeahklfgkjegnpbgndoch |
グーグルクローム | %localappdata%GoogleChromeUser DataDefaultExtensionspkedcjkdefgpdelpbcmbmeomcjbeemfm (異なる場合があります) |
モジラ ファイアフォックス | %appdata%RoamingMozillaFirefoxProfiles<プロファイル>Extensions{14553439-2741-4e9d-b474-784f336f58c9} |
Yandex ブラウザ | %localappdata%YandexYandexBrowserUser DataDefaultExtensionsfcppdfelojakeahklfgkjegnpbgndoch |
ブラウザごとに異なる拡張機能をターゲットにしているにもかかわらず、マルウェアはこれらの拡張機能に同じ悪意のあるスクリプトを追加します。場合によっては、マルウェアは、7 つの JavaScript ファイルと 1 つのmanifest.jsonファイルをターゲットの拡張子のファイル パスに追加して、デフォルトの拡張子を変更します。それ以外の場合は、同じ悪意のあるコンポーネントを含む新しいフォルダーを作成します。
図 6. ターゲット拡張機能のファイル パスに追加された JavaScript および JSON ファイル
これらの悪意のあるスクリプトは、攻撃者のサーバーに接続して追加のスクリプトをフェッチし、検索結果に広告を挿入します。リモート サーバーのドメイン名は、拡張機能のスクリプトで指定されます。マルウェアは、デバイスに関する情報も上記のリモート サーバーに送信します。
図 7. 追加のダウンロード スクリプト
ブラウザ DLL
このマルウェアは、特定のブラウザ DLL も改ざんします。たとえば、Microsoft Edge では、 MsEdge.dllを変更して、 Secure Preferencesファイルの変更を検出するために重要なセキュリティ コントロールをオフにします。
図 8. MsEdge.dll によるオリジナルと改ざんの比較。
この手法は、Microsoft Edge だけでなく、他の Chromium ベースのブラウザーにも影響を与えます。これらのブラウザは、ホームページやデフォルトの検索エンジンなどのユーザー設定とプリファレンスをプリファレンスファイルに保存します。 4 つのターゲット ブラウザーのそれぞれについて、関連する DLL を変更します。
ブラウザ | 変更されたファイル |
マイクロソフトエッジ | %PROGRAMFILES%MicrosoftEdgeApplication<バージョン>msedge.dll %localappdata%MicrosoftEdgeUser DataDefaultSecure Preferences %localappdata%MicrosoftEdgeUser DataDefaultPreferences |
グーグルクローム | %PROGRAMFILES%GoogleChromeApplication<バージョン>chrome.dll %localappdata%GoogleChromeUser DataDefaultSecure Preferences %localappdata%GoogleChromeUser DataDefaultPreferences |
Yandex ブラウザ | %PROGRAMFILES%YandexYandexBrowser<バージョン>browser.dll %localappdata%YandexYandexBrowserUser DataDefaultSecure Preferences %localappdata%YandexYandexBrowserUser DataDefaultPreferences |
ファイアフォックス | %PROGRAMFILES%Mozilla Firefoxomni.ja %appdata%MozillaFirefoxProfiles<プロファイル>extensions.json %appdata%MozillaFirefoxProfiles<プロファイル>prefs.js |
ブラウザのセキュリティ設定
ブラウザには、マルウェアの改ざんを防ぐセキュリティ設定があります。たとえば、設定ファイルには、機密データとセキュリティ設定が含まれています。 Chromium ベースのブラウザーは、いくつかの設定に対する署名と検証を通じて、これらの設定に対する不正な変更を検出します。これらのプリファレンスと構成パラメーターは、JSON ファイル名Secure Preferencesに保存されます。
Secure Preferencesファイルの構造はPreferencesファイルと似ていますが、ファイル内のすべてのエントリにハッシュベースのメッセージ認証コード (HMAC)が追加される点が異なります。このファイルには、すべての HMAC の整合性を検証するsuper_macという名前のキーも含まれています。ブラウザが起動すると、一部のJSONノードの HMAC SHA-256 を計算して比較することにより、HMAC 値とsuper_macキーを検証します。一致しない値が見つかった場合、ブラウザは関連する設定をデフォルト値にリセットします。
以前は、ブラウザーの修飾子は、ブラウザーが行うようにハッシュを計算し、それに応じてセキュア設定を更新していました。 Adrozek はさらに一歩進んで、整合性チェックを開始する関数にパッチを適用します。 2 バイトのパッチは整合性チェックを無効にするため、ブラウザーがハイジャックや改ざんに対して脆弱になる可能性があります。
図 9. 整合性チェックを起動する Secure Preferences ファイル内の関数への 2 バイト パッチ
整合性チェックを無効にすると、Adrozek はセキュリティ設定の変更に進みます。 Google Chrome または Microsoft Edge では、マルウェアはSecure Preferencesファイルの次のエントリを変更して、悪意のある拡張機能が Chrome API をより詳細に制御できるようにするアクセス許可を追加します。
セキュア設定ファイルへのエントリ | 価値 | 結果 |
browser_action_visible | 間違い | ブラウザのツールバーにプラグインが表示されない |
extension_can_script_all_urls | 真実 | 明示的な許可なしに拡張機能がすべての URL でスクリプトを実行できるようにします |
シークレット | 真実 | 拡張機能はシークレット モードで実行できます |
安全なブラウジング | 間違い | セーフ ブラウジングをオフにします |
以下のスクリーンショットは、セキュア設定ファイルに追加された権限を示しています。
図 10. Secure Preferences ファイルに追加された権限
Mozilla Firefox では、Adrozek は次のセキュリティ設定を変更します。
変更されたファイル名 | コンテンツ | 目的 |
prefs.js | user_pref(“app.update.auto”, false); user_pref(“app.update.enabled”, false); user_pref(“app.update.service.enabled”, false) |
更新をオフにする |
拡張機能.json | (悪意のある拡張機能に関する詳細を追加) | 拡張機能をブラウザに登録する |
Omni.ja (XPIDatabase.jsm モジュール) | isNewInstall = false | 拡張機能をロードする |
ブラウザの更新
変更された設定やコンポーネントを復元する可能性のある最新バージョンでブラウザーが更新されるのを防ぐために、Adrozek は更新をオフにするポリシーを追加します。
図 11. 更新をオフにするために追加されたポリシー
持続性
Adrozek は、ブラウザーの設定とコンポーネントを変更するだけでなく、いくつかのシステム設定も変更して、侵害されたデバイスをさらに制御できるようにします。構成パラメータは、レジストリ キーHKEY_LOCAL_MACHINESOFTWAREWow6432Node<programName> に保存されます。 「 tag 」および「 did 」エントリには、メイン ペイロードを起動するために使用するコマンドライン引数が含まれています。最近の Adrozek の亜種は、’ tag ‘ や ‘ did ‘ の代わりにランダムな文字を使用しています。
図 12. メイン ペイロードを起動するコマンドライン引数を含むレジストリ エントリ
永続性を維持するために、マルウェアは「メイン サービス」という名前のサービスを作成します。
図 13. 永続性を維持するために作成されたサービス
広告の挿入
複数のブラウザー コンポーネントと設定を改ざんした後、マルウェアは、影響を受けるブラウザーの検索結果に広告を挿入する機能を取得します。広告の挿入は、リモート サーバーからダウンロードされた悪意のあるスクリプトによって実行されます。
検索キーワードに応じて、スクリプトは関連する広告を正当な広告と検索結果の上部に追加します。挿入される広告の数と、広告が指すサイトはさまざまです。また、これらの広告がマルウェアをホストするサイトやその他の悪意のあるサイトを指し示していることは確認されていませんが、攻撃者はおそらくいつでもその変更を行うことができます.しかし、Adrozek の攻撃者は、特定の Web サイトへの参照トラフィックに対して支払うアフィリエイト広告プログラムを通じて稼ぐという、他のブラウザー モディファイヤと同じように動作します。
図 14. 影響を受けたマシンと Adrozek が実行されているマシンの検索結果ページの比較
資格情報の盗難
Mozilla Firefox では、Adrozek は物事をさらに進めます。資格情報の盗難を実行することで、足がかりを最大限に活用します。追加のランダムな名前の.exeファイルをダウンロードし、デバイス情報と現在アクティブなユーザー名を収集します。この情報を攻撃者に送信します。
図 15. %temp% フォルダーに書き込まれた追加の実行可能ファイル
次に、 login.jsonを含む特定のファイルの検索を開始します。 Mozilla Firefox では、 %appdata%RoamingMozillaFirefox Profiles<profile>logins.jsonにある上記のファイルは、暗号化された形式でユーザー資格情報と閲覧履歴を保存します。
図 16. 盗まれた認証情報を含む JSON ファイル
マルウェアは、 encryptedUsernameやencryptedPasswordなどの特定のキーワードを探して、暗号化されたデータを見つけます。次に、Firefox ライブラリ内の関数PK11SDR_Decrypt()を使用してデータを復号化し、攻撃者に送信します。
この追加機能により、Adrozek は他のブラウザ修飾子とは一線を画し、優先度の低い脅威や緊急性の低い脅威など存在しないことを示しています。そもそも、あらゆる種類の脅威がアクセスされるのを防ぐことが最も重要です。
高度なブラウザ修飾子に対する防御
Adrozek は、緊急または重大とは考えられていない脅威でさえ、ますます複雑になっていることを示しています。マルウェアの主な目的は、広告を挿入してトラフィックを特定の Web サイトに誘導することですが、攻撃チェーンには、攻撃者がデバイス上で強力な足場を築くことを可能にする高度な動作が含まれます。資格情報の盗難動作の追加は、攻撃者が目的を拡大して、取得できるアクセス権を利用できることを示しています。
これらの複雑な動作と、キャンペーンがポリモーフィック マルウェアを使用しているという事実から、悪意のある動作の特定と検出に重点を置いた保護が必要です。 Windows 10 に組み込まれているエンドポイント保護ソリューションである Microsoft Defender ウイルス対策は、動作ベースの機械学習を利用した検出を使用して、Adrozek をブロックします。
デバイスでこの脅威を発見したエンド ユーザーは、ブラウザーを再インストールすることをお勧めします。この脅威を Web 上で配布するために使用された大規模なインフラストラクチャを考慮すると、ユーザーは、 マルウェアの感染を防ぐこと、および信頼できないソースからソフトウェアをダウンロードしてインストールし、疑わしい Web サイトの広告やリンクをクリックするリスクについても自分自身を教育する必要があります。ユーザーは、Microsoft Edge の Microsoft Defender SmartScreen などの URL フィルタリング ソリューションも利用する必要があります。更新プログラムを自動的にダウンロードしてインストールするようにセキュリティ ソフトウェアを構成し、最新バージョンのオペレーティング システムとアプリケーションを実行し、最新のセキュリティ更新プログラムを展開することで、エンドポイントを脅威から強化することができます。
企業の場合、防御側は、これらのタイプの脅威の攻撃対象領域を減らすように努める必要があります。アプリケーション制御により、組織は許可されたアプリとサービスのみの使用を強制できます。 Microsoft Edge のようなエンタープライズ グレードのブラウザーは、条件付きアクセスや Application Guard など、ブラウザー上の脅威から防御する追加のセキュリティ機能を提供します。
企業にとって、エンドポイントでの悪意のある動作を詳細に可視化し、クラウド アプリ、電子メールとデータ、ID などの他のドメインからの脅威データと関連付ける機能を取得することも重要です。 Microsoft 365 Defenderは、ドメイン全体で調整された保護を提供し、防御側が攻撃に対応できるようにする豊富な調査ツールを提供します。 Microsoft Defender 365 を使用して、自動化されたクロスドメイン セキュリティと組み込みの AI を通じて組織が攻撃を阻止する方法について説明します。
Microsoft 365 Defender 研究チーム
私たちに話してください
この話に関する質問、懸念、または洞察はありますか? Microsoft 365 Defender 技術コミュニティでのディスカッションに参加してください。
Microsoft セキュリティ インテリジェンスのブログ投稿をすべてお読みください。
Twitter @MsftSecIntelでフォローしてください。
Comments