クリックジャッキングとは、ウェブページのリンクやボタンといった要素を偽装してユーザーをだまし、意図しない動作を引き起こす攻撃手法です。新たに、情報セキュリティやプログラミングの専門家であるLyra Rebane氏が、クリックジャッキングにScalable Vector Graphics(SVG)を組み合わせた新たな攻撃手法「SVGクリックジャッキング」を考案しました。
SVG Filters – Clickjacking 2.0 Ʊ lyra’s epic blog
https://lyra.horse/blog/2025/12/svg-clickjacking/
Appleは2025年6月の開発者向け年次会議WWDC25で、iPhoneやMac向けの新デザインである「Liquid Glass」を発表しました。Liquid Glassはガラスの光学的特性を取り入れたデザインであり、光の屈折や反射を再現し、コンテンツに応じて見え方が変化するという特徴があります。
Liquid Glassには「背景とUIの判別がつきづらい」などの苦情も寄せられましたが、Rebane氏はこの効果をキャンバスやシェーダーに頼らずに、ウェブ上で実現できるだろうかと考えたとのこと。そして1時間ほど作業した後、Rebane氏はLiquid GlassをCSS/SVGを利用してかなり正確に再現することに成功しました。
Rebane氏はブログ上で、作成したエフェクトのデモを公開しています。以下のスクリーンショットを見ると、確かにLiquid Glassのようにガラスっぽい効果を再現できていることがわかります。
このデモを作成してから数日後、Rebane氏はLiquid Glassを再現するSVGの効果が、iframe(インラインフレーム要素)の上でも機能するのかどうか気になったとのこと。そして試してみたところ、SVGフィルターを使用してLiquid Glassを模倣したエフェクトは、iframe上でも機能することがわかりました。このエフェクトはピクセルの色を変更したり、移動させたりできるため、これを何らかのクリックジャッキングに応用できるのではないかと考えたそうです。
SVGフィルターを使ったクリックジャッキングについて大まかに把握するため、Rebane氏は「本来は誰とも共有してはいけないシークレットコードを、攻撃者が用意したフォームに入力させる」という攻撃を例に挙げています。たとえば、本来のウェブサイトでは以下のように、「Here is your secret code:(あなたのシークレットコードはこれです)」「Don’t share it with anyone!(誰とも共有しないで!)」という警告と共にシークレットコードが表示されているとします。

ここにSVGフィルターを使用して偽のテキストをかぶせると、ユーザーからはこんな感じに見えます。「Here is your secret code:」というメッセージが「Complete a captcha(キャプチャを完了してください)」というメッセージに覆い隠され、「Don’t share it with anyone!」という警告も「What’s written above?(上にはなんて書いてありますか?)」というメッセージおよび入力フォームに覆い隠されています。これによって、本来はシークレットコードの表示画面であるにもかかわらず、ユーザーからは「ロボットでないことを証明するために識別しにくい英数字を入力する画面」に見えてしまい、シークレットコードを入力してしまって盗み取られてしまいます。

Rebane氏はこの攻撃手法を「SVGクリックジャッキング」と名付け、実際にGoogleドキュメント上で攻撃を実行できることを実証しました。以下の2つのX埋め込み動画で、ユーザー側とバックグラウンド側の両方から攻撃の様子を見ることができます。
ウェブサイトにアクセスすると、「Try our AI generator for free!(私たちのAIジェネレーターを無料で試しましょう!)」というメッセージが表示されました。「Get Started(始める)」をクリック。
すると、認証画面などで目にするボットチェックがポップアップしました。いつものように、読みにくく加工されている「4a@SaLe」文字を下のフォームに入力していきます。「Submit(提出)」をクリック。
認証が完了したというメッセージが表示されました。「Continue(続ける)」をクリック。
すると、AIクレジットをゲットするためのコードを送ったので、メールボックスをチェックするようにというメッセージが表示されました。
実は一連の動作の裏で、ユーザーのGoogleドキュメントに記されていた2025年第2四半期の決算に関するデータが、攻撃者のGoogleドキュメントへ漏えいしていました。
2つ目の動画では、一連の操作の裏で何が起きていたのかが示されています。実はユーザーが操作していたのはウェブサイトではなく、ウェブサイトにiframeで埋め込まれた攻撃者のGoogleドキュメントでした。ユーザー側の見た目をSVGで偽装することにより、実際にどのような操作をしているのかわからないようにしていたのです。
「Try our AI generator for free!」をクリックした際、実際にはGoogleドキュメント上の「Generate Document(文書を生成する)」ボタンをクリックしていたというわけです。この際、ユーザーは自身のGoogleアカウントにログインしたまま攻撃者のGoogleドキュメントを操作していますが、ウェブサイトの見た目上は何も起きていないため気付いていません。
ユーザーに見えないまま、GoogleドキュメントではGoogleのAIであるGeminiが起動しており、生成する文書についての指示を求めていました。そこにボットチェックの際に入力した「4a@SaLe」という文字列を入力すると、ユーザーのGoogleドキュメントに保存されていたファイルの中から、「Sales 2025 Q2」という文書が候補として表示されました。
ユーザー側では文字列の入力が終わり、「Submit」をクリックしました。この際、攻撃者のGoogleドキュメント上では画面がズラされており、実際の操作としてはGeminiが候補として表示した「Sales 2025 Q2」をクリックしたことになっています。
続いてユーザーは「Continue」をクリック。再びGoogleドキュメントの画面が元の位置に戻り、Googleドキュメント上では「Create(作る)」がクリックされています。
Geminiがユーザーのファイルを元に文書を生成します。
こうして、ユーザーが何も気付かないまま、攻撃者のGoogleドキュメントにデータが漏えいしてしまうという仕組みです。
Rebane氏はこの攻撃手法についてGoogleへ通知したところ、脆弱性報奨プログラムを通じて3133.7ドル(約48万円)を受け取ったとのことです。
この記事のタイトルとURLをコピーする
元の記事を確認する














