ブログ日記/その他

今月15日、カナダのトロント大学の研究者らは、ターゲッティング広告を利用した新たなサイバー攻撃手法を確認したと発表し、これを「アドフェクション」と名付け、新たな脅威として警告しました。
この攻撃手法は、これまでのものとは違い、広告を閲覧するだけでスパイウェアに感染する恐れがあるとのことです。
この記事では、詳しい攻撃手法とその対策について、トロント大学の研究機関である「シチズン・ラボ」が、米サイバーセキュリティー企業のコンフィアントと共同で進めた調査の報告書を元に、私なりに色々と調べて解釈したものを噛み砕いて解説します。
インターネット広告の仕組み
まずは攻撃手法について解説したいのですが、そのためにはインターネット広告の仕組みについて理解する必要があります。
「ターゲッティング広告」とは
そもそも、攻撃に利用されている「ターゲッティング広告」とはどういったものなのでしょうか?
Webページを見ていると、よく自分に関連のある内容の広告が表示されませんか?
例えば、パソコンに関する情報を調べていると、各メーカーの直販サイトの広告が表示されたり、Youtubeで自動車系の動画を頻繁に見ていると、中古車サイトやカー用品の広告がWebサイトに表示されたりしますよね。ゲームやアニメの話題を調べていたら、かわいい女の子がでてくるゲームの広告ばっかりになってしまったとかも、よくあることではないでしょうか?
これが、ターゲッティング広告と呼ばれるもので、ユーザーが過去に訪問したことのあるWebサイトや検索ワード、クリックした広告に関連した広告を表示する手法です。この手法については、なんとなく聞いたことのある人も多いのではないかと思います。
では、このターゲッティング広告は、一体、どのような仕組みでユーザーが過去に訪問したWebサイトを把握しているのでしょうか?
そこには、アドネットワークやアドエクスチェンジ、RTBといった、インターネット広告のエコシステムが関係しています。
広告を一斉配信「アドネットワーク」
かつて、インターネットに広告を掲載するには、一つ一つのWeb媒体に対して個別に広告掲載を依頼しなければいけませんでした。広告主からすると、良い広告媒体を自分で探さないといけないですし、課金形態が媒体ごとにバラバラ、さらに、掲載後に提供されるデータも媒体間で異なり比較が難しかったです。
Web媒体を作る側にとっても、広告主から掲載依頼を受け取るたびにWebページを更新する必要があり、それなりの手間と時間がかかりました。

そこで誕生したのが、「アドネットワーク」です。アドネットワークでは、広告媒体となるWebサイトを多数集め、まとめて広告を配信します。代表的なものとしては、Google広告やLINEヤフー広告などが挙げられます。
例えば、私がGoogle広告に、広告の掲載を依頼したとします。すると、Google広告を利用しているサイトすべてに、私が掲載を依頼した広告が表示される可能性ができたというわけです。
広告主側は、アドネットワークに掲載を依頼するだけで、ネットワーク加盟サイトすべてに広告配信ができますし、課金形態や提供されるデータが統一されてわかりやすくなりました。
また、Web媒体を作る側にとっても、ネットワークから提供される広告掲載用のタグを貼り付けるだけで広告を掲載できるようになり、手間と時間から解放されました。さらに、ネットワークに加盟するだけで広告収入を得ることができるようになったので、有名なサイトでなくても広告収入を得ることができるようになったのです。

そして、このタイミングで生まれたのが「ターゲッティング広告」です。先ほど、Web媒体側はネットワークから提供される広告掲載用のタグを貼り付けるだけで広告を掲載できると書きましたが、このタグには、広告IDやCookieなどといった、ユーザー毎のWebサイトのアクセス履歴や広告の表示・クリック回数を収集する機能が含まれています。このようにして収集した情報を元に、ターゲッティング広告は配信されるようになりました。
広告枠を売る「アドエクスチェンジ」
さて、アドネットワークによって幅広い範囲に広告を発信できるようにわけですが、今度はアドネットワーク間で広告の量の均衡が崩れるということが発生します。例えば、Google広告は広告枠が余りまくっている一方で、LINEヤフー広告では広告枠が足りないほどたくさんの広告で逼迫するといったことが起きるわけです。
そこで登場したのがアドエクスチェンジという仕組みです。これまで、広告主は一つ一つのアドネットワーク事業者と直接取引をしていたのを、このアドエクスチェンジでは、広告枠一つ一つに対して取引を行うようになりました。その結果、広告枠の均衡がとれるようになっただけでなく、広告主は複数のアドネットワークから成る膨大な広告枠へ容易に、そして効率的に配信ができるようになったのです。(構成の都合上、アドエクスチェンジが発展する流れを端折っています。詳しく知りたい人は参考サイトの記事を読んでみてください。)
広告オークションでWin-Winの関係「RTB」
こうして、アドエクスチェンジによって効率的により幅広く広告を発信できるようにわけですが、広告を一つ打つのにもお金が掛かるので、広告主からすると広告はできれば効果的に掲載したいものです。また、Web媒体側にとっても、広告枠はできるだけ高い単価で販売したいと考えているわけです。人間ってわがままですね。
そんな人間のわがままに答えるのが、RTB(Real Time Bidding)というリアルタイムに広告の入札を行うオークションです。
広告主側は、DSP(Demand Side Platform)というプラットフォームを使い、広告を表示させたいターゲット層や広告の予算、入札価格を設定したりします。例えるなら広告枠の入札代行ですね。
一方でWeb媒体側は、SSP(Supply Side Platform)というプラットフォームを通じて広告枠をいくらで売るのかを設定し、SSPから提供された、Web媒体への広告表示・ターゲッティング広告の情報収集用のタグを追加します。こちらも例えるなら広告枠の出品代行ですね。
双方の条件に該当するWebページで広告の表示処理が発生すると自動的に入札が実施されます、条件に該当する広告主が複数いる場合は競りとなり、最も高い価格で入札した広告がアドネットワークを通じてユーザーのWebページに表示されます。
広告主側はターゲットとしているユーザー層に確実に表示できる広告枠を1回1回の単位で購入でき、Web媒体側は入札により広告枠をより高い単価で販売できるので、まさにWin-Winの関係というやつです。

インターネットの世界では、このような広告オークションが1日に数え切れないほど行われているというわけです。
攻撃手法
いよいよ本題に入ります。
今回の攻撃は、イスラエルのオンライン広告企業「ディスカバー・テック」による、インターネット広告のエコシステムを悪用したものです。
ディスカバー・テックとは
ディスカバー・テックはMyDSPというDSPプラットフォームを提供しており、Google広告などを通して、様々なWebページやスマホアプリに広告を掲載していました。先ほどの例で言う広告枠の入札代行ですね。下に掲載していた広告の例を載せていますが、いたって普通なよくある広告のように見えます。

また、ディスカバー・テックは、2020年から2026年にかけて、Googleおよび広告業界団体IAB Europeが管理する「認定」および「承認」広告ベンダーのリストに複数掲載されていたとのことです。「信頼のおける入札代行」というお墨付きをもらっていたという感じでしょうか。
このように、ディスカバー・テックは、一見よくある普通の広告枠入札代行業者のように見えます。しかし、それは表の顔で、ディスカバー・テックにはスパイウェア支援という裏の顔がありました。
ディスカバー・テックの裏の顔
ディスカバー・テックの広告が表示されると、なんと、ユーザーの情報とIPアドレスが、ディスカバー・テックの運営するサーバーに送信されます。オークションで例えるなら、発送先を私用目的で控えておくという、とても恐ろしいことです。信頼がおけるとされていた入札代行は、まさかの信頼できない入札代行でした。
そして、運悪くユーザーがハッキングの対象として選ばれてしまった場合、最終的にデバイスへ悪意のあるJavaScriptコード(簡単にいうとWebサイト用のプログラミングコード)が送信され、デバイスは見事スパイウェア(ユーザーに気付かれないように個人情報を抜き取るソフトウェア)に感染してしまいます。オークションの例だと、送られてきた広告にこっそりと盗聴器が仕掛けられていたといった感じです。このような攻撃を「ゼロクリック攻撃」と呼びます。
攻撃の被害
報告書によると、中東の衛星テレビ局アルジャジーラのジャーナリストやスタッフの端末が、この攻撃によってスパイウェアに感染してしまったとのことです。
また、ディスカバー・テック社が入札した広告は、2026年3月から6月の間に7万以上のモバイルアプリと12万以上のウェブサイトで表示されていたことがわかりました。その種類も多様で、アプリではYahoo MailやOpera Mini、Duolingoなど、WebサイトではBBCやFOXニュース、ニューヨーク・タイムズなどといった、有名なものでも表示されていたとのことです。アプリやWebサイトから感染したと聞くと、何か怪しいものを入れたり、卑猥なものを見ていたからなのではないかと思われるかもしれませんが、そうではありません。今回のケースは、どんなアプリやサイトであっても広告が表示される限り感染のリスクがあります。
そして、何よりもいやらしいのが、広告が表示されても必ずしも攻撃を受けたわけではないということ。これが、広告が表示された人、全員に攻撃を仕掛けるものだったら、もっと早くこのことに気がつく人がいたのかもしれませんが、普段は無害な広告を装っていたのが、事態を長期化させたのだと思います。
調査結果を受けて
この調査結果の報告を受けて、GoogleとIAB Europeはディスカバー・テック社を広告ベンダーリストから外しました。また、Googleは同社のデジタル広告取引プラットフォームへのアクセスを停止したとのことです。
シチズン・ラボは、このようにターゲッティング広告を通じてゼロクリック型スパイウェアを配信する攻撃手法を、「アドフェクション」と名付けました。
アドフェクションへの対策
ディスカバー・テック社による攻撃は終わりましたが、現在のインターネット広告のシステム上、いつ似たような攻撃が起こっても不思議ではありません。特に最近はあちこちでサイバー攻撃の事例を聞くので不安なところ。そこで、アドフェクションへの有効な対策として次の2つを提案します。
1. ブラウザへの広告ブロックの導入
アドフェクションは、表示された広告を経由して危険なコードが実行されることによって引き起こされます。それなら、そもそも広告が表示されなければ良いのです。ということで、一番有効的な対策は広告ブロックだと思います。
ですが、広告ブロッカー選びも慎重にやらないといけません。世の中にはいろんな悪い人がいるようで、中には個人情報を抜き取る広告ブロッカーもあります。危険な目に合わないために入れる広告ブロッカーで危険な目にあっては元も子もありません。
そこで、私なりにおすすめの広告ブロッカーとその導入方法を、PC(Windows/Mac/Linux/Chromebook)、iOS/iPadOS、Androidの順に紹介していきます。
①PC(Windows/Mac/Linux/Chromebook)
PCにおいて、最も手軽かつ効果が高いと考える広告ブロッカーは、Raymond Hill(gorhill)によって提供されている「uBlock Origin Lite」です。
こちらの広告ブロッカーは、ChromeやEdge、Vivaldiなど、主要なブラウザの拡張機能として提供されており、ユーザー数が多く、評判も良いです。
導入方法は簡単。各ブラウザの拡張機能ストアで「uBlock Origin Lite」と検索し、インストールするだけです。
ちなみに偽物がいくつかあるので、気をつけましょう。繰り返しになりますが、本物の提供元は「Raymond Hill (gorhill)」です。世の中にはどれだけ悪い人がいるのでしょうか...

後は基本的には初期設定のままで大丈夫です。
なお、広告ブロッカーを使用すると正常に機能しないなどの理由で、そのサイトでの広告ブロックを無効にしたい場合は、フィルタリングモードをフィルタリングなしに設定すると、そのサイトでの広告ブロックを止めることが出来ます。

②iOS/iPadOS編
iOS/iPad OSの場合も、標準のブラウザであるSafari向けにuBlock Origin Liteが提供されているので、そちらを使用することが出来ます。
導入方法は、まずApp Storeを開いて「uBlock Origin Lite」と検索してインストール。

インストール完了後にアプリを開くと、Safariの設定を変えるように案内されるので、「Open Safari Extensions settings」を押します。

その先の画面で「拡張機能を許可」を有効にします。

その後、Safariを開いてページメニューを開くと、「uBO Lite」という項目が追加されています。

この項目を押すと、先ほどのPCの部分でも述べたフィルタリングモードの設定が可能です。こちらも基本的には初期設定のまま使い、うまく動かないサイトがあったら無効にするという使い方が良いと思います。

③Android
Androidの場合、標準のブラウザであるChromeにはAndroid用の拡張機能が一切提供されていないため、残念なことに「uBlock Origin Lite」は使えません。
ですが安心してください。uBlock Origin Liteでのブロックと比べるとやや精度が劣るものの、「AdGuard DNS」を使用した広告ブロックができます。
AdGuard DNSとは、キプロスに本社を置くAdGuard Software Limitedが提供するDNSタイプの広告ブロッカーです。DNSについてざっくり説明すると、私たちがインターネット上のコンテンツにアクセスする際に、ドメイン名(google.comとかの部分)をIPアドレスに変換するしくみのことで、AdGuard DNSは、その過程で広告コンテンツをブロックしてくれます。
導入方法は、設定画面を開いて「プライバシーとセキュリティ」→「セキュアDNSを使用する」と進み、「別のプロバイダを選択」を選択。すると、プロバイダのURLを入力する画面になるので、次のアドレス(https://から入力してください)を打ちこんでください。

これで、Chromeへの広告ブロッカーの導入は完了です。なお、サイトによって正常に動作しない場合は、上記の手順でセキュアDNSの設定を一時的に「現在のサービス プロバイダを使用」に戻してください。
④広告ブロッカーが導入できない場合
諸般の事情で広告ブロッカーの導入ができないこともあると思います。その場合は次のようなブラウザの保護機能の設定をしてみると良いと思います。
2. スマホへのAdGuard DNSの導入
ブラウザに広告ブロッカーを導入し、これで一安心といきたいところですが、まだ安心できません。広告ブロッカーが適用されるのはブラウザの中だけなので、スマホアプリなどでの広告は引き続き表示されます。ここから攻撃されるリスクもあるのです。
そこで導入したいのが、AndroidのChromeにおすすめの広告ブロッカーとして紹介したAdGuard DNS。AdGuard DNSはブラウザだけでなく、すべての通信に使用することができます。これによって、アプリ内広告などもブロックすることが出来るのです。
しかし、弊害もあります。アプリ内広告が表示されなくなることにより、広告を見たら報酬を得られる機能(例:無料漫画アプリ)が正常に動作しなくなります。また、AdGuard DNSを使用していると、一部のサイトへのアクセスやアプリの使用に支障がでたり、携帯会社やフリーWi-FIなどの自動認証が使えなくなったりすることがあります。私の場合、キャリアメール(@softbank.ne.jp)の受信と、携帯会社のマイページ(My SoftBank)への自動ログインが出来なくなりました。
ですが、この点が大丈夫なのであれば、かなり有効な対策なので、ぜひ活用してほしいです(弊害に関しては、一時的にDNSの設定を元に戻すなどで対処するのもいいかもしれません)。
設定方法は下記のWebサイトに書いてあるので、そちらを参考にしてください。
設定アプリ→「一般」→「VPNとデバイス管理」→「DNS」
<上級者向け>必要最低限のJavaScript以外をブロックする
万が一、広告ブロックをすり抜けた場合のことを考えて、必要最低限のJavaScript以外をブロックするのも良い対策だと思います。
JavaScriptの制御が得意な拡張機能といえばNoScriptです。私はこの拡張機能を使って、トップレベルドメイン以外のJavaScriptはブロックするようにしています。

そして、サイトの動作に問題がある場合は、正常な動作に必要そうなJavaScriptを一つ一つ有効にしていく形です。

まとめ
今回の件では、ただ単にWeb媒体を見たりアプリを使っているだけでも、サイバー攻撃を受ける可能性があることを改めて実感しました。
各団体などには、より厳しい広告のチェックを実施してほしいものですが、正直、攻撃者とのいたちごっこな気もします。
これからは、広告ブロッカーを入れるのが当たり前になる日も、そう遠くないのかもしれません。
参考文献
・入門マルチメディア [第二版] (公益財団法人 画像情報教育振興協会)
参考サイト
・タップしなくてもスマホ感染、広告悪用のスパイウエア 研究者が報告 - 日本経済新聞
・アドネットワークの仕組みと特徴 - デジタルマーケティングラボ

すごいわかりやすい解説でした!
だんだん広告ブロッカーが必須になってるのは悲しいですね...
そうなると収益行かなくなってしまいますけど、実際やばい広告も多いですし...