Natalie Zagarov
Natalie Zargarov is a Security Researcher with more than 10 years of experience in cybersecurity as a malware reverser and cyber intelligence researcher.
今すぐ登録して、お客様のビジネスに合わせて構築された AI コンピューティング、ストレージ、マネージド K8s を解放しましょう。
お客様のビジネスニーズに合わせた最適なソリューションをご提案いたします。営業チームまでお気軽にご相談ください。
イスラエルのLayerX Security(現在はAkamaiの一部)が運営するLayerX Researchは、Chrome WebストアとMicrosoft Edgeアドオンストアで、32種類の悪性ブラウザー拡張機能が関与する組織的なキャンペーンを発見しました。このキャンペーンによる影響は6,150人を超えるユーザーに及びました。
これらの拡張機能は、テキストカウンター、メモアプリ、YouTubeの機能拡張など、無害な生産性向上ツールを装うことで信頼を得る一方、密かにデータを収集し、ユーザーの閲覧習慣を監視していました。
静的解析の結果、ほぼ同一のコードベース、リモート設定エンドポイント、韓国語による開発上の痕跡などが確認され、この一連の拡張機能が単一の韓国語話者の脅威アクターに強く結び付いていることが示されました。
攻撃者は、外部にホストされた設定ファイルを使用し、その内容を実行時に難読化解除することで、公式ストアの審査プロセスを経て拡張機能を更新することなく、Webページの遷移を操作し、アフィリエイト詐欺を実行していました。
このような動的な脅威に対処するには、広範な権限(webNavigation、<all_urls>)を要求する不要な拡張機能を削除し、リモートのコマンド&コントロール(C2)インフラを監視するとともに、外部の設定ソースも確認対象に含めるようブラウザーストアの審査を拡充する必要があります。
ブラウザーの拡張機能は、脅威アクターがユーザーの閲覧活動に継続的にアクセスするための、最も効果的な手段の1つとなっています。従来のマルウェアとは異なり、悪性拡張機能はユーザーからの信頼を利用し、ブラウザー内で実行されます。また、多くの場合、一度インストールされるだけで、その後も継続的に活動できます。
Chrome WebストアとMicrosoft Edgeアドオンストアを対象とした継続的な脅威ハンティングの中で、イスラエルのLayerX Security(現在はAkamaiの一部)が運営するLayerX Researchは、32種類の悪性拡張機能から成る組織的なブラウザー拡張機能キャンペーンを特定しました。これらの拡張機能は合わせて6,150人を超えるユーザーに影響を及ぼしていました。
一見すると、これらの拡張機能には関連性がないように見えます。それらは、テキストユーティリティ、YouTube機能拡張、SEO支援ツール、メモアプリ、言語アシスタント、Markdownユーティリティ、その他のブラウザー向け便利ツールなど、生産性向上を目的としたさまざまなツールを装っています。それぞれが異なるブランド名やデザインを使用し、異なる機能をうたっています。
しかし、この表面的な多様性の裏で、ほとんどの拡張機能がほぼ同一のインフラを共有しています。このことから、これらの拡張機能が共通の開発フレームワークを基に作成された可能性が示唆されます。さらに、すべての拡張機能に、韓国語のローカライズリソース、韓国語によるコメント、その他の開発上の痕跡が共通して確認されています。
これらの共通点は、これらの拡張機能が同一のキャンペーンの一部であり、組織的なグループまたは個人によるものであるかを問わず、同一の脅威アクターによって開発されたという当社の評価を裏付けています。
今回の分析では、これらの拡張機能の大部分について、以下の特徴が確認されました。
ユーザーの閲覧活動を継続的に監視する
同一のリモートインフラから、攻撃者が管理する設定ファイルを取得する
リモートから取得した命令をローカルでデコードし、キャッシュする
追加のアクションを実行する対象となるWebサイトを動的に判定する
ほぼ同一のバックグラウンド・サービス・ワーカーを実装している
同一のテレメトリイベント、ストレージ構造、ナビゲーションロジックを使用している
さらに懸念されるのは、このキャンペーンがリモート設定に依存しており、攻撃者がブラウザーストアで拡張機能を更新することなく、公開後にそのふるまいを変更できる点です。今回主に確認されたのは、閲覧情報のテレメトリ収集とトラフィック操作でしたが、同じアーキテクチャをフィッシング、マルウェアの配布、認証情報の窃取などに容易に転用することも可能です。
この主要なキャンペーンとは別に、イスラエルのLayerX Securityの研究者は、同じパブリッシャーアカウントから公開された悪性拡張機能の別のクラスタも特定しました。分析時点では、これらの拡張機能は主にアフィリエイト詐欺に利用されており、ユーザーをアフィリエイトリンクへ自動的にリダイレクトすることで、不正にコミッションを獲得していました。
このキャンペーンは2025年3月に始まり、悪性ブラウザー拡張機能が、個別の脅威から、ブラウザーストアの審査を通過した後に長期間にわたって機能を変更できる、リモート管理型のプラットフォームへと進化し続けていることを示しています。
このキャンペーンに関連する最初の拡張機能は2025年3月に登場し、その後数か月にわたって追加の拡張機能が継続的に公開されました。
攻撃者は同じ拡張機能を再公開するのではなく、同一の基本フレームワークをベースに構築した新たな亜種を継続的に投入していました。
イスラエルのLayerX Securityの研究者が特定した内容は以下のとおりです。
32種類の悪性ブラウザー拡張機能
配布場所:
Google Chrome Webストア
Microsoft Edgeアドオンストア
6,150人を超えるユーザーに影響
これらの拡張機能は、以下のような互いに無関係に見えるユーティリティを装っていました。
テキストカウンター
Markdownユーティリティ
YouTube機能拡張
動画速度コントローラー
SEOツール
言語アシスタント
メモ作成ツール
スクロールユーティリティ
AI関連ツール
これらの拡張機能は一見すると無関係に見えますが、静的解析の結果、その大部分で、ほぼ同一のバックグラウンド・サービス・ワーカー、テレメトリロジック、ストレージ構造、ナビゲーション処理が再利用されていることが明らかになりました。ブランド関連のアセットやうたわれている機能を除けば、基盤となる実装はほぼ変わっていません。このことから、これらの拡張機能が共通の開発フレームワークから生成されたことが強く示唆されます。
個々の拡張機能を単独で見ると、特に目立った特徴はありません。それぞれがもっともらしい生産性向上機能をうたい、独自のブランドやデザインを使用しており、ユーザー数も比較的少数です。しかし、パブリッシャー情報、コードの類似性、共通したリモートインフラ、実行時のふるまいを相互に照合することで、初めてキャンペーン全体の実態が明らかになります。
図1は、現代のブラウザー拡張機能キャンペーンが、一見すると無関係な多数の拡張機能に悪性機能を分散させることで、いかに発見されにくい状態を維持できるかを示しています。
共通コードベースを分析した結果、ほとんどの亜種に共通して見られる4つの主要な機能が明らかになりました。
C2通信によるリモート設定の取得
設定の難読化解除
閲覧活動の監視
リモート制御によるナビゲーション操作
ほとんどの拡張機能では、動作に必要なロジックを拡張機能のパッケージ内に埋め込むのではなく、同じjsDelivrホストのエンドポイントからリモート設定ファイルを取得しています(図2)。
設定ファイルをダウンロードすると、その内容を解析してローカルにキャッシュします。
await chrome.storage.session.set({
nav_cfg_cache: parsedConfig
});
リモート設定を使用することで、キャンペーンの柔軟性は大幅に高まります。Chrome WebストアやMicrosoft Edgeアドオンストアで新しいバージョンの拡張機能を公開する代わりに、攻撃者は設定ファイルを変更するだけで、拡張機能のふるまいを変更できます。そのため、ブラウザーストアで再度審査を受けることなく、対象となるWebサイト、リダイレクト先、キャンペーンのロジックなどを即座に変更できます。
調査中、リモート設定が何度も変更されることを確認しました。ある時点では、設定が完全に空になっており、インフラが一時的に無効化されたか、リセットされたことを示唆していました(図3)。
数日後には、アフィリエイトトラフィックをリダイレクトするためのルールが設定に追加されていました。これは、このキャンペーンのふるまいが拡張機能内部に静的に埋め込まれているのではなく、リモート設定を通じて管理されていることを示しています(図4)。
ダウンロードされた設定ファイルの値は、プレーンテキストではありません。代わりに、ホスト名、リダイレクト用のペイロード、内部識別子がBase64でエンコードされており、実行時に再構成されます(図5)。
Base64エンコードには暗号学的な保護機能はなく、拡張機能自体に機能上のメリットをもたらすものでもありません。その代わり、対象ドメインやリダイレクト用ペイロードを実行時まで隠蔽することで、手動での調査や自動静的解析を困難にしています。
デコードされた値は、その後、拡張機能の実行中に適用されるナビゲーションルールを再構築するために使用されます。
初期化が完了すると、バックグラウンド・サービス・ワーカーはwebNavigation APIを使用して、ユーザーの閲覧活動を継続的に監視します(図6)。
完了したすべてのナビゲーションが処理されるため、この拡張機能は、ユーザーが訪問したWebサイトが拡張機能のうたわれている機能に関連しているかどうかにかかわらず、ユーザーの閲覧セッションを実質的に監視できます(図7)。
ホスト名がリモートから提供されたルールのいずれかに一致すると、拡張機能はchrome.tabs.update()を呼び出し、アクティブなタブを密かに置き換えます。
あらかじめリダイレクト先がコードに埋め込まれたキャンペーンとは異なり、遷移先URLは拡張機能自体に埋め込まれておらず、ダウンロードした設定から動的に再構築されます。
リダイレクト先が拡張機能に埋め込まれず、リモートから提供されるため、攻撃者は新しいバージョンをブラウザーストアに公開することなく、いつでもキャンペーンの対象を変更できます。
攻撃者の特定や帰属を判断することは本質的に困難です。しかし今回のケースでは、複数の証拠から、このキャンペーンが韓国語話者の脅威アクターによるものであることが示されています。脅威アクターは組織的なグループである可能性も、個人である可能性もあります。 確認された痕跡情報には、以下があります。
コードベース内の韓国語の識別子
韓国語のローカリゼーションリソース
韓国語によるコメントや開発の痕跡
アフィリエイト関連のクラスタでの韓国のショッピングサービスの使用
キャンペーン全体を結び付ける最も強力な技術的証拠は、共通のリモート設定エンドポイントと、ほぼ同一のバックグラウンド・サービス・ワーカーの実装です。
コード、インフラ、テレメトリ、ストレージ設計が共通して再利用されていることは、これらが互いに無関係な拡張機能パブリッシャーによって開発されたのではなく、単一の脅威アクター、または緊密に連携したグループによって一元的に開発されたことを強く示唆しています。
このキャンペーンは、現代の悪性ブラウザー拡張機能が、単独で動作するマルウェアからリモート管理型のプラットフォームへと進化していることを示しています。一見すると互いに無関係な生産性向上ツールを装っていますが、これらの拡張機能は、同じインフラ、コードベース、そしてリモート設定フレームワークを共有しています。
拡張機能自体に悪性ロジックを直接組み込むのではなく、攻撃者は重要なふるまいを自らが管理する設定ファイルに外部化しているため、ブラウザーストアの審査を通過した後も、キャンペーンを継続的に進化させることが可能になっています。
さらに、同じパブリッシャーが運営する別のアフィリエイト詐欺クラスタも発見されたことから、これらの調査結果は、複数の収益化手法や攻撃手法を同時に展開できる、活発なエコシステムが存在する可能性を示しています。
| ID | 名前 | インストール数 | ストア |
|---|---|---|---|
ID | 名前 | インストール数 | ストア |
dblfldpldecohjpjgmhnigajjdjloega | YouTube Detox: Reclaim Your Time, Stay Focused! | 56 | Google Chrome |
ofgiffiieajicdflklkoapgndinhfacm | Eye Rest Reminder
| 91 | Google Chrome |
nokclhllnnnahhfbpibpmnahpepahklo | YouTube Detox: Reclaim Your Time, Stay Focused!
| 25 | Microsoft Edge |
kdkfbahpggclmigankbnjgmhimfoijkk | Eye Rest Reminder
| 24 | Microsoft Edge |
hgcmokdfbgnakiifclhfifdphfofmngp | Quick Memo
| 89 | Google Chrome |
ffjagifkdpammmgijbglgkklomipinem | Quick Memo
| 127 | Microsoft Edge |
mfnlknmbkfnlgcjebdogolbakcekohfj | KoreaDropdown
| 825 | Google Chrome |
ddbhcdcfllihhljfboihdbpfddibkjjg | Language Learning
| 38 | Microsoft Edge |
ekoglbhkaeljnakpledcdpfojbjdllmb | YouTube Summary
| 51 | Microsoft Edge |
pllpmojagjlnbclefckhdebmlkjhhcfh | Air Quality Monitor | 17 | Google Chrome |
cogfipmojjaephpnihpeemgdmofhnaaj | SnapShot | 69 | Google Chrome |
pppcpccgdjdniohmegcejgamdnhilkml | SnapShot | 18 | Microsoft Edge |
coohonllohmhpbklloifbjjibeggijol | Copy as Markdown
| 102 | Microsoft Edge |
bjdlhcllmhaiigiaibaoihlmheomjjgo | YouTube Enhancer
| 32 | Microsoft Edge |
bodnffdkjnpeholiplcncfegnliheamk | SEOツールキット
| 35 | Microsoft Edge |
ahagmkpannaempjmlijhejhaajoiibel | Text Counter - Word & Character Count | 8 | Microsoft Edge |
ahemlacbncnpikgfoegfjfendahcahdl | Web Highlighter - Highlight Text on Pages
| 10 | Microsoft Edge |
ieigeddfggngchfecpibaikoebaenpgm | Page Ruler - Measure Pixels on Screen | 27 | Microsoft Edge |
bahnaggfidlcllmceahngpllpaahkbkd | Video Speed Controller - Playback Speed
| 13 | Microsoft Edge |
pncbphagfmgfopmhlbkifoonnbfdihbm | Tab Manager - Organize & Search Tabs | 5 | Microsoft Edge |
hbjfkpmmomlaghbembkhhaaegbnlaicf | Scroll to Top - Back to Top Button | 35 | Microsoft Edge |
nehmipanmmnkdpbjjfinnnlficndfhhd | Web Highlighter - Highlight Text on Pages | 60 | Google Chrome |
eobmkhocignkllbfigodhemdefbjldcb | Video Speed Controller - Playback Speed | 108 | Google Chrome |
gajghfhmgcemdgjkamllmoejhkklphnc | Holiday D-day
| 18 | Google Chrome |
pifjjafdfdkglnnkeahlcndkmknlgocm | Reaction Time Test - New Tab Game | 60 | Google Chrome |
ndoihodpeipgbogeecdiphdkjpcjoofp | Page Ruler - Measure Pixels on Screen | 38 | Google Chrome |
bjokekhmbkkgohiedecgkkfgppoghjji | Reading Time — Article Read Time Calculator | 19 | Google Chrome |
efieelkohffbjnblcmomcejjbapaipnh | Scroll to Top - Back to Top Button | 11 | Google Chrome |
gbgdekgkmaaamplkcdaanpdokmjjcdbm | Image Downloader - Save All Images | 29 | Google Chrome |
fkddfdhkgfneiibakfdhgpbkkcnnlook | GitHub 한국어 (GitHub Korean) | 4,000 | Google Chrome |
ebkkpkifaojdccgpaldnpclompdojmbh | SEOツールキット
| 22 | Google Chrome |
iclkfegmbldfjjlgngidahinmhogbfna | Auto Scroll - Hands Free Page Scroller | 78 | Google Chrome |
jocoenanieejnoookkphbljadiahaopd | YouTube Summary
| 27 | Google Chrome |
https://cdn.jsdelivr.net/gh/chosanghyeon-dev/chosanghyeon-dev@main/cf.json
https://link.coupang.com/a/dUnRI6
https://link.coupang.com/a/ej6z6U
api.pvmf.workers.dev
indie05hacker@gmail.com
| 戦術 | 手法 |
|---|---|
初期アクセス | LX3.003(T1199):信頼関係 |
防御回避 | LX7.003(T1140):コードの難読化/難読化解除 |
防御回避 | LX7.021:偽装トラフィックによる隠蔽 |
認証情報アクセス | LX8.008:ネットワークの改ざん |
コレクション | LX10.012(T1114):Web通信データ |
ユーザーは、自分の環境にインストールされているブラウザー拡張機能を慎重に確認し、不要になったものを削除する必要があります。特に、<all_urls>、webNavigation、tabsなどの広範な権限を要求する一方で、それらの権限が拡張機能のうたわれている機能とは無関係である拡張機能には注意が必要です。
組織は、ブラウザー拡張機能を継続的に監視し、疑わしい権限の組み合わせ、リモート設定の取得、ナビゲーション操作機能に注意を払う必要があります。また、リモートから制御される拡張機能については、静的なブラウザーアドオンではなく、継続的に利用できる攻撃基盤として捉える必要があります。
ブラウザーベンダーは、共通するコードやインフラに基づいて拡張機能のファミリーを特定するとともに、公開後に拡張機能のふるまいを変更できる外部ホスト型の設定ファイルも検査対象に含めるよう審査プロセスを拡充することで、リスクをさらに低減できます。