YouTubeの広告をブロックする人気拡張機能が、Chrome ウェブストアのページが示す以上に危険であることが明らかになりました。セキュリティ企業Islandの研究者たちが最近「Adblock for YouTube」を解析したところ、この一見普通のツールを危険なJavaScript実行エンジンへと変貌させる可能性を持つアーキテクチャを発見しました。このエンジンは、ユーザーがすでにアクティブなセッションを持つウェブサイト上でシームレスに動作します。さらに、この脆弱性を悪用するために拡張機能のアップデートは不要であり、ストアのレビューやブラウザの警告も完全に回避できます。驚くべきことに、「Adblock for YouTube」はすでに1,100万回以上インストールされています。
現在、この拡張機能は4.4という高い星評価を誇り、数十万件もの好意的なレビューを獲得しています。実際、YouTube動画の煩わしい広告を効果的にブロックする機能を持ち、一見すると特定用途向けのシンプルなツールに見えます。しかしながら、このソフトウェアは内部で <all_urls> という広範な権限を通じて、すべてのウェブサイトへのアクセスを密かに要求しています。この広範なアクセス権限は、機密性の高いウェブメールアカウントへの直接的な経路を開くだけでなく、バンキングポータル、企業向けSaaSプラットフォーム、そして社内管理ダッシュボードへのアクセスも可能にしてしまいます。
不完全なURL検証が生む悪用可能な抜け穴
開発者は、拡張機能の動作をYouTubeのみに限定するための基本的なチェック機能を実装しています。しかし、この安全策の実装には重大な欠陥があります。具体的には、コードがURL全体の中に「youtube.com」という文字列が含まれているかを確認するだけで、実際のドメイン、iframeの出所、あるいは正規の動画プレーヤーのコンテキストを一切検証していません。そのため、リンクパラメーター、検索クエリ、またはリダイレクトパスに「youtube.com」が含まれていれば、まったく無関係な外部ウェブサイトでもフィルターが誤って作動してしまいます。
リモート設定によって可能になる悪意のあるスクリプトインジェクション
最大の危険性は、この拡張機能が持つリモート設定機能に起因しています。このソフトウェアは1日1回、リモートサーバーに接続して最新の広告ブロックルールを取得します。標準的なフィルターに加え、このサーバーは実行可能なスクリプトレット向けの特定ルールも配信できます。スクリプトレットとは、本質的には小さなJavaScriptルーティンのことです。Islandの調査によると、現在のアーキテクチャではリモートサーバーが特定のスクリプトレットを任意に選択し、メインページのコンテキスト内でシームレスに実行される実行可能コードを送信できる状態になっています。
Salesforceのデータ窃取シナリオの実証
研究者たちは、この深刻なシナリオを厳密に管理された実験環境で検証しました。最初に、拡張機能はYouTube上で正規のスクリプトを実行します。次に、URLパラメーターに「youtube.com」という文字列を含むSalesforceポータルを開きます。検証の甘さにより、拡張機能はこのページをコードインジェクションに適していると誤って判断し、認証済みのSalesforceセッション内でペイロードを直接実行しました。このデモンストレーションでは、スクリプトがアクセス可能なユーザーアカウントデータを収集し、窃取した認証情報をリモートのテストサーバーへ送信することに成功しています。BadBlocker脆弱性の詳細な分析は、このリスクの深刻さを明確に示しています。
不透明な歴史を持つ潜在的脅威
Islandは、現時点でユーザーに対して実際の悪意あるペイロードが展開されたことは確認されていないことを強調しています。したがって、この状況は確認済みの大規模サイバー攻撃を意味するものではありません。むしろ、機能する拡張機能の内部に深く潜む「休眠状態の能力」を浮き彫りにしています。この隠れた機能は、サーバー側でたった一つの変更が加えられただけで容易に起動する可能性があります。そのようなシナリオでは、被害者に拡張機能のアップデート通知が届くことも、新たな権限リクエストやChrome ウェブストアのセキュリティアラートが表示されることもありません。
さらに、この拡張機能の不透明な履歴がセキュリティ上の疑念をいっそう高めています。「Adblock for YouTube」は2014年からChrome ウェブストアに存在していますが、2018年頃に所有者が変わり、コードベースが大規模に改変されました。また、調査により同様に問題のあるエコシステム内の他の広告ブロッカーとの明確なつながりも発見されています。後にGoogleは、悪意ある動作が記録されたこれらの関連拡張機能のいくつかを明示的に削除しました。さらに注目すべき点として、旧バージョンの「Adblock for YouTube」には積極的な広告挿入を行うUnistream SDKが含まれており、このSDKは2024年6月に静かに削除されています。
ユーザーと企業への重要な推奨事項
一般ユーザーへの結論はシンプルです。インストール数が何百万件にも上り、高評価レビューが並んでいても、それだけでは安全性の保証にはなりません。広告ブロッカーがウェブページやネットワークリクエストを変更するために幅広い権限を必要とすることは確かです。しかし、すべてのウェブサイトへの無制限アクセスを要求することは、「YouTubeの広告を削除する」という単純な約束に反しています。最近、拡張機能を見直していない場合は、すぐにインストール済みアドオンのリストを開いてください。不要なものはすべて削除し、信頼性の高い開発者による透明性の高いツールのみを残しましょう。
現代の企業にとって、リスクはさらに深刻になります。今日、ウェブブラウザは多くの従業員にとって主要な作業環境となっています。スタッフは日常的にメール、CRMデータベース、クラウドストレージ、そして重要な社内サービスにアクセスしています。ページへの無制限アクセス権を持つ拡張機能は、アクティブな業務セッションの深部で危険な形で動作することになります。そのため、企業の管理者は拡張機能の名称やユーザー評価だけで判断することなく、要求されている権限、リモートルールの更新、所有者変更、そしてインストール後のコードインジェクション機能を厳密に精査する必要があります。
翻訳元: https://meterpreter.org/adblock-for-youtube-dangerous-architecture/