2025/2/1〜 疑いのメモ:特定の記事を経由した場合に詐欺広告ばかり表示される現象について

広告報告の場所に失礼します。
以下の記事を経由した場合、詐欺広告が大量に表示されることが確認できましたのでここに書き込んでおきます。
現象は2025/2/1から続いております。

何度かブラウザを変えたりIPをVPN(OpenGate)で変えたりしましたが、やはりこの記事には大量の詐欺広告が巣籠っているようです。
つきましては、この記事を毎日チェックし、詐欺広告をブロックしていくのはいかがでしょうか?
ご意見、よろしくお願いいたします。

「いいね!」 4

ご報告ありがとうございます。今のところ私の環境ではこの現象が再現されないのですが、特定記事で詐欺広告が出やすい状況になっているのであれば、重点的に監視するのは良い手段だと思われます。
今後とも、よろしくお願いいたします。

横から失礼します。
私も該当ページを確認しましたが、とくに不審な広告は表示されませんでした。広告ブロッカー等はGIGAZINEでは全てオフにしています。記事タイトル等に反応した広告は出てきますが、それもGoogleの自己広告程度です(おそらく他に良い広告が該当しないと「とりあえず」で出るようなものと思われる)。皆様が報告しているような「開く」「OPEN」みたいなボタン連想の広告も、私のところには一度も配信されていないので、何かしら閲覧者依存なのかもしれません。

視点を変えてみます。もし自分が広告を出す側だとすると、どうやって特定すれば良いか。過去のGIGAZINE記事にあったようなフォントやCookieを足掛かりにした特定は今はブロックされていて。となると、IPやブラウザ以外の要素……検証する時に、近い時間で、同じ言語、同じ画面サイズ、同じWebGL性能、といった「変化しないパターン」で追跡されている可能性は有り得そうです。およそ5年前の記事という点、最近関連リンクとして紐付けされにくい(閲覧されにくい)ところから、環境にアタリをつけられている、というのが個人的想像です。

ただ、今回の報告で「一度出始めると同じ記事で不適切な広告が連続で出現する可能性が高くなる」という情報は、今後役立つ可能性がありますね。参考にさせて頂きます。また、私も時々開いてみますね。

「いいね!」 2

私も横から失礼します。

つい先程新しい悪質広告を見つけたのでアップしましたが、
このスレットで書かれている記事を踏み(閲覧し)
その後 Gigazine ロゴをクリックして本日の記事を開いたら、
怪しいバナーが表示されていた。
という状態です。

KanataTokimi 様のおしゃっるように、
何らかのパターンを手がかりに悪質広告が表示されるようになっているかも?と思ってしまいますね。

「いいね!」 2

darkhorse_log1b様、ありがとうございます。
こちらも重点的に確認してみたいと思います。
こちらこそ、よろしくお願いします。

KanataTokimi様、ありがとうございます。
不審な広告は表示されませんでしたか…
私の環境依存のような感じもしますね。
広告を出す側の視点だと…たしかに変化しないパターンで目をつけられている可能性がありそうですね。
私の主なネット環境はiPad 第8世代でして、(もしかしたらですが)これも関係しているような気がします。
パソコンで今日開いてみましたところ、全く詐欺広告が出てきませんでした。
現在iPadで該当の記事を開いていますが…詐欺広告はありませんでした。
今度からアクセスする際の留意点としてはDevToolでUAや画面サイズを変えてみることも考えます。(PCのみ、iPadでする方法は不明)

m2-air様、ありがとうございます。
やはり私の方で何らかのパターン(フィンガープリントっぽいもの)をつけてしまったような気がします。
今後複数の環境で試してみます。

改めて、御三方どうもありがとうございました。

「いいね!」 2

ntdll 様

お返事ありがとうございます。私の知識と共に、ChatGPTとディスカッションをしました。
Safariでもクロスサイトトラッキングのリミットがあるはずですが、それでもとなると……
1.フィンガープリント迂回技術がある可能性
デバイス画面サイズ・フォント情報・アクセシビリティ・ブラウザ設定から割られている可能性。
2.IPアドレス識別
デバイス単体でのターゲティングから逃れている場合、VPNの出口側で判定されている可能性。出口側IPアドレスと記事アドレスから結び付けられた可能性もあります。
3.JavaScriptを用いた手法
ローカルストレージやIndexedDBを用いた手法の可能性。デバイスに固有のストレージになるので、VPNを通しても意味がない。
4.抜け穴的手法
従来の手法とは別の方法によって追跡。これについては日々研究が進んでいるので、何とも言えませんが……上記の手法と組み合わせて、特定しやすくしている可能性もあり。

ところでこの記事。これを開いて数度リロードすると、私にはこのような内容のGoogle自己広告が配信されてきます。


広告先はsyndicatedsearch……つまりGoogleで、これの意味するところは、広告するページのタイトル等が、Google側から見えている、ということになります(厳密に言うなら、閲覧中ページの本分解析は認められないはずなので、予めGoogle側がページアドレスからクロールしてキーワードを用意している)。とすると、特定のページで特定の広告が出やすいのは、リクエスト元のアドレス+環境依存の何か。で、偶然そういう「パターン」を覚えて(傾向として記録されて)しまった、という「想像」です。
ですが、最近はそういった文脈ターゲティングが主流になっているらしいので、これらを全て組み合わせた結果、ntdll様がちょうど嵌ってしまった、のかもしれません。

ちなみに私は、ほぼ全てのページで賃貸とオシロスコープのプローブポジショナ広告がドッサリ入ります。前者は地域に根差したプロバイダを使っているせいでしょう。で、今日も落雷ページを見ていますが、賃貸とプローブポジショナ、あとは楽天の広告とGIGAZINEの広告ばかりです(笑)

「いいね!」 1

ntdll 様

私も iPad(第6世代ですが)を使用しているのですが、
iPad 版 Firefox でPCページか、スマホページかの選択(プルダウンメニューでの選択)が出来る位で、画面サイズや、UAの変更は見つかりませんでした。
このあたりの細かい指定が変更出来るところはやはり PC ですね。

「いいね!」 1

KanataTokimi 様

私もブラウザを再読み込み掛けると、
記事の項目に関連した Google の広告が表示されます。
これって Google 側でユーザーの情報と Gigazine の閲覧ページの情報抜いてるよね?って感じは受けますね。

「いいね!」 1

お二方、ありがとうございます。
これらを踏まえてスクリプトを作ってみました。

javascript:alert(document.cookie);
javascript:fetch("https://ipwho.is/").then((data) => data.json()).then((data) => alert(data.ip)).catch((e) => alert(e.toString()));

前者はクッキーを取得するもの、後者はIPアドレスを引くものです。
この二つをブックマークとして登録し、間接的にデバッグができるようにしました。

また、以下のようなものも製作しました。

javascript:(function(){let c = prompt("eval");eval(c);})();

※実行には十分注意してください。
これで間接的なデバッグができるはずです。

続報はまた検証後にお送りします。

「いいね!」 1

検証結果をお知らせします。

  • __gなんとかというcookieがありました。
    これは考えれば当たり前なので除外します。
  • localStorageの中身は確認できませんでした。
    これは私のコーディングが悪いかもしれません。
  • 強制的にdocument.titleを使ってタイトルを変えてみる(google自主広告のため)
    これはWi-Fiルーター側で意図的に速度制限をし、読み込みが遅くなることを利用した書き換えを実行しました。
    これは自主広告(googleの検索画面に飛ぶ広告)を見ていないので結果からは除外です。
  • IPアドレスを逐次確認しながらページを見る
    これはVPNを通した場合、IPアドレスが変わっていることを確認するための行動です。もちろん変わっていることを確認しました。

とりあえず私のできることを試してみましたが、詐欺広告に今日は出会っていないため、わからずじまいでした。

「いいね!」 1

今ふと思いついたのですが、(PC側でしかできません)
history.replaceStateや、同じくpushStateを利用して記事アドレスを意図的にずらした場合も検証してみてはいかがでしょうか?
ルーターの速度制限をし、google広告の読み込みを遅くしてその間に書き換えます。(環境があるかどうかは分かりませんが…)

これ実は私も検証したのですが、safariでアドレスバーを書き換えると何をしてもリロードが入ったり、書き換わっていなかったりします。
googleマップのようなページを見てもわかるのですが、SafariはHistory APIにはあまり得意ではないようです。

「いいね!」 1

ntdll 様

お返事・提案ありがとうございます。かなりストレートなコードが出てきましたね。といっても、3つ目のものは即時実行するだけなので、自前で実行するだけなら問題ないと思いますが。
リアルタイムでtitleを書き換えるって、結構な荒技ですね。というより、SSLで暗号化された通信内容を書き換えるって結構面倒では……ブラウザアドオン等を使って強制的に書き換える手段……が有効ですかね。しかしそれも読み込み・実行のタイミングに失敗するとどうにもならないのですが……。

ブラウザの調査モードで調べたところ、例の落雷ページ(だけに限らないですが)を開いてみると、このようなログが出てきます。
[コンテンツブロッキングが有効なため、トラッカーによる “” の Cookie またはストレージへのアクセスがブロックされました。]
[クロスオリジン要求をブロックしました: 同一生成元ポリシーにより、https://cdn. (秘匿) .io/sub/sdk-crJo(以下略) にあるリモートリソースの読み込みは拒否されます (理由: CORS 要求が成功しなかった)。ステータスコード: (null)]

uBlock等はオフにしていますが、私が使っているFirefoxでは……というより恐らく今のウェブブラウザではほとんどが、トラッキング拒否としてこのような挙動なのだと思います。多分。それでも普通に広告が出ているところを見ると、IPアドレスから地域を逆引きしていたり、クロスにならない部分でCookie等を活用しているのでしょう。
ただ、その中で気になるリクエストがありました。詳細を載せると私の情報も筒抜けになるかもしれませんので伏せますが、

syndicatedsearch.goog/afs/ads?

からスタートするリクエストで、これはブラウザ側はブロックしていませんし、その応答で自己広告が直で出てきたので調べてみたところ、
・GoogleのパートナーサイトID, 広告パブリッシャID(GIGAZINEのIDですね多分), カスタム検索エンジンの識別子
・画面解像度, ビューポートサイズ, タイムゾーン, 閲覧履歴の深さ(と思われる整数)
・閲覧中ドメイン, 閲覧中URL, リファラ
・広告フォーマット指定, 広告のセッションIDと識別子(トラッキングID), フィーチャーフラグ
がリクエストされています。POSTではなくGETでリクエストしてこの情報。つまり、自己広告はおそらくタイトルを送信しておらず、他のリクエストもありますが特に応答がないところを見るに……

1.Googleが広告を出しているページをクロールして内容を自動解析、キーワードリストを作って広告の設定に活用している
2.その上で、利用者の情報が(使えるなら)送る

という挙動ではないかな、と。ReCaptchaに関わるコードの一部もあり、接続先がgooglesyndicationの部分もありましたが、どこまで関連があるかは不明です。(すいません夜勤明けでそこまで調査する気力がありませんでした)
大変長くなりましたが、つまり、URLデータベースをGoogleが保有していて、環境情報と照合して「それらしい」関連広告を打ち出した結果、偏るようになってしまった。というところが濃厚かな、と思っています。それに、あまり細かすぎるところまで書いてしまうと、さすがにGIGAZINE様に申し訳ないので……。

「いいね!」 1

ありがとうございます。
そういえば最初から詐欺広告にとらわれずにPCで解析した方がもっと簡単でした…

暗号化された通信内容を書き換える

そんな高度なことは私にはできませんので、「読み込み中→タイトルだけ書き変わる」のタイミングで適当なタイトルをdocument.title="なんかテスト"みたいにして書き換えてました。
私が検証に使ったルーターはopenwrt改造済みのものでして、QoS設定を変更することによって読み込みに大きな遅延をかけることしかできていません。
(ここだけの話、これを検証するために二重ルーター組んでました。)

詳細な解析ありがとうございます。
私もiPadとPC(Windows)の組み合わせで所持していますので本来は私も解析できたはずでしたが…詐欺広告の組み合わせということでiPad上での解析ばかり考えていました。
つまり…今回の原因としては、仰る通り環境情報から「それらしい」広告が偏って出てしまったということでしょうね。

ここまで付き合ってくださり、ありがとうございました。
夜勤明けの質問で申し訳ありませんでした。
どうぞゆっくりお休みになられてください。

「いいね!」 2