マルウェアはchatgpt.comでホストされていた——そして、それこそが狙いだった
新たなキャンペーンが、あなたがすでに信じているドメインの信頼を借り受けます。Googleの広告が本物のchatgpt.com共有リンクへ誘導し、その共有リンクが偽の障害通知を表示し、その通知がマルウェアを手渡す。信頼がどのように借り受けられるのか——そして、すべてが使い捨てのVMの中で起きるとき、その借り受けがなぜ意味を失うのかを示します。
アドレスバーにはchatgpt.comと表示されていた。鍵アイコンは緑だった。ページ はOpenAIから配信されていた。注意深い人間が確認するよう教えられてきたあらゆる シグナルが、きれいな結果を返した——それでもなお、そのページはコンピュータに マルウェアをインストールしようとしていた。信頼済みドメインは手違いではなかった。 それが計画だったのです。
あなたはChatGPTを検索しています。何億人もの人々が毎日そうするように、Googleに
それを打ち込みます。最初の結果は広告です。その広告にはChatGPTと書かれ、ChatGPTへ
リンクし、アドレスがまさにchatgpt.comで始まるページへとあなたを着地させます。
ここまでは何も間違っていません。何も間違って見えないのは、何も目に見えて
間違っていないからです——あなたはOpenAIの本物のドメインの上にいるのです。
すると、そのページがウェブサイトはダウンしていると告げます。「現在、大量の トラフィックが発生しています」と書かれている。「多数のユーザーにより、当ウェブ サイトは一時的にご利用いただけません」。代わりにデスクトップ・アプリをダウンロード することを勧めます。ボタンがあります。あなたはchatgpt.comにいて、サービスは明らかに 不調で、デスクトップ・アプリは欲しくなって当然のものです。あなたはクリックします。
それがこの仕掛けのすべてであり、Push Securityのセキュリティ研究者が 5月末にそれを文書化しました。 彼らがLLMShareと呼ぶキャンペーンです。詳細に理解する価値があります。 というのも、これは今後も現れ続けるであろう攻撃パターンのきれいな例だからです—— 信頼済みサービスに侵入するのではなく、その評判を借り受けるという攻撃です。
ページは本当にchatgpt.comの上にあった。
ChatGPTは、ほとんどの大規模AI製品と同じく、会話の共有を可能にしています。共有を
クリックするとchatgpt.com/s/の下にあるリンクが得られ、そのリンクを持つ誰もが
やり取りのレンダリングされたコピーを見られます。便利で、ありふれていて、どこにでも
あります。
落とし穴は「レンダリングされた」が何を意味するか、です。これらの共有ページには モデルの出力を含めることができ、その出力にはHTMLとCSS——あらゆるウェブ・ページが 作られているのと同じ材料——を含めることができます。つまり攻撃者は、会話を共有する 代わりに、その中身が手作りの偽物である「会話」を共有するのです。ピクセル単位で 忠実なOpenAIの障害通知、正しいフォント、正しい青、正しいトーン込みで。研究に よれば、見破る手がかりは微妙です——共有ビューには依然としてChatGPT自身の 「Show code」と「Remix」のコントロールが付いていて、それこそが「障害ページ」が 誰かの書いたカスタムのマークアップにすぎないという手がかりなのです。
このやり方を取る狙いはURLにあります。マルウェアの餌は
chatgpt-downloads-official.bizの上には住んでいません。それはchatgpt.comの上に
住んでいます——汚れのない評判、有効な証明書、そしてこの製品を使ったことのある
すべての人の身体に染み付いた場所を持つドメインです。「これは私たちが信頼する
ドメインか?」と問うことで機能するあらゆる防御は、イエスと答えます。正直な答えが
イエスだからです。
ダウンロード・サーバーはスキャナーに嘘をつく。
偽の障害ページのダウンロード・ボタンをクリックすると、あなたはchatgpt.comから
openew[.]appへと送られます。OpenAIの公式ダウンロード・ポータルを装ったサイト
です。ここに第二のクローキングが住んでいます。
クローキングとは、異なる訪問者に異なるコンテンツを見せることです。攻撃者の サーバーは、誰が要求しているのかを見ます。要求が自動セキュリティ・スキャナーの 匂いがすれば——インターネットの安全の多くは、URLScanの ようなサービスがURLをクロールし、サンドボックスの中でレンダリングすることに 頼っています——サーバーは無害なものを提供します。この場合、研究によれば、URLを 訪れたスキャナーには無害な拡張現実/仮想現実企業のウェブサイトが見せられました。 きれい。フラグを立てるものは何もない。代わりに、要求が餌をたどった本物の人間の 匂いがすれば、サーバーはマルウェアを提供します。
こうしてopenew[.]appへの自動判定は「良性」となり、そして人間の判定——重要な
ほうの判定——はセカンド・オピニオンを決して得られません。ダウンロードはmacOSと
Windowsの両方に対して提供されます。攻撃者はあなたがどちらを使っているか知らないし
気にもしないからです——彼らは両方の観衆が欲しいのです。(Windowsのサンプルは、
進む前に自分が仮想マシンの中で動いていないかどうかを確認すらします。解析サンド
ボックスをかわすためのよくある一手です——その点を覚えておいてください。)
これらのどれも珍しいものではありません。私たちが以前に書いたマルバタイジングや SEOポイズニングの連鎖と同じ種類の手口です。LLMShareが投稿に値する理由は、借り 受ける信頼の質にあります。同じ研究者たちは、このパターンはChatGPT特有のもの ではない、と述べています——彼らは他のAI製品の共有/レンダリング機能——Claudeの Artifacts、共有されたGrokの会話——が同じ役務へと駆り出されるのを見てきました。 見知らぬ他人があなたのブランドのドメインの下でレンダリングされたHTMLを公開する ことを許すあらゆる製品は、そのつもりもなく、そのブランドを悪用したい誰かのための ホスティング・プロバイダーになってしまっているのです。
なぜすべての検問所がそれを通すのか。
連鎖をさかのぼり、注意深いユーザーが持つそれぞれの防御本能が、設計によって満たさ れていることに気づいてください。
これは本物のサイトか?
はい。アドレスバーにはchatgpt.comと書かれ、証明書は有効で、ページはOpenAIから 配信されています。「URLを確認せよ」——私たち皆が与える助言——はきれいな答えを 返します。URLがきれいだからです。
スキャナーはダウンロード・ホストにフラグを立てたか?
いいえ。リダイレクト・ドメインはクローキングします——セキュリティ・クローラーには 無害なAR/VRサイトを見せ、マルウェアは人間の被害者のために取っておきます。評判 フィードや「このリンクは確認済み」のバッジは、何も問題を報告しません。
ページはフィッシングっぽく見えるか?
いいえ。OpenAIの障害通知を模した忠実なHTML/CSSとして作られています。不器用な タイポも、ブランド違いのロゴも、粗い翻訳の手がかりもありません。それが装って いるものと、まさにそっくりに見えます。
デスクトップ・アプリのダウンロードは異例か?
いいえ。多くの本物のサービスがネイティブ・アプリのインストールを促しますし、 負荷で苦しむウェブサイトがアプリを勧めるのは、見慣れた、もっともらしい理由です。 話の筋が通っているのです。
ここが居心地の悪い部分です。標準的な助言——URLを検査せよ、スキャン済みのリンクを 信頼せよ、雑なフィッシングに用心せよ、奇妙なドメインを警戒せよ——は良い助言で あり、このキャンペーンはそのすべてをまっすぐ通り抜けていきます。信頼済みドメイン というシグナルそのものが攻撃であるとき、そのシグナルは役に立つのをやめます。 彼らが知るあらゆるチェックを通過するページについて、注意深い人間にもっと注意深く あれとは言えないのです。
ですから、興味深い問いは「ユーザーはどうすればそれを見抜けたか」ではありません。 ほとんどのユーザーにとって、ほとんどの日において、それは見抜けなかったでしょう。 興味深い問いはこうです——バイナリが実際に走る瞬間に、何が起きるのか?
すべては一つのタブの中で起きる。
連鎖をもう一度見て、それがどこに住んでいるかに気づいてください。広告はブラウザの 中で開きます。chatgpt.comのページはブラウザの中でレンダリングされます。偽の障害 通知はブラウザの中のウェブ・ページです。リダイレクトはブラウザの中で起きます。 ダウンロードはブラウザによって開始されます。ブラウザを離れる唯一のステップは 最後のもの——ダウンロードされたインストーラーが走り、それが作られた目的を、その コンピュータの上で、ユーザーのファイルと権限を相手に行い始めるとき——です。
その最後の一足こそがゲームのすべてです。それより前のすべては前準備です。攻撃者は 広告予算、説得力あるページ、クローキング基盤に本物の労力を費やしました——その すべては、一つのバイナリを一つのマシンの上で実行させることに奉仕するためです。 もしバイナリが、あなたのものを何も含まない場所で実行されるなら、攻撃者はそのすべてを 空っぽの部屋を侵害するために費やしたことになります。
これがBromureが変える幾何学です。Bromureでは、ブラウザは通常の意味であなたの コンピュータの上で動きません。各タブは使い捨てのLinux仮想マシンの中で動きます—— 独自のファイルシステムを持ち、クリーンなイメージから起動される密閉されたゲストで、 あなたのファイル、キーチェーン、他のタブ、ローカル・ネットワークが一切見えません。 ウェブ・ページ、レンダラー、JavaScript、ダウンロード、そしてダウンロードされた プログラムの最初の実行は、すべてそのゲストの中で起きます。ウィンドウを閉じると、 ゲストとその中のすべてが破壊されます。
ここで、信頼済みドメインというシグナルが攻撃者に何を買い与えるかに注意して
ください——何も買い与えません。このキャンペーン全体は「私はこのページを信頼するか」
という問いを打ち負かすよう設計されています。Bromureはその問いを発しません。
chatgpt.comが信頼できるかどうかを知る必要はありません。なぜなら、そもそもいかなる
ページ——信頼済みであろうとなかろうと——の中身も、ゲストVMを越えて到達することを
許さないからです。そのページがインターネット上で最も正当なページであっても、
封じ込めは同一です。信頼は、このアーキテクチャが担う荷重ではないのです。
スキャナー・クローキングの仕掛けについても同じです。攻撃者はopenew[.]appを
自動解析に対して良性に見せるべく懸命に働きました。Bromureはその解析が正しいことに
依存しません。たとえダウンロード・ホストが完璧にきれいと採点され、ファイルが
通されたとしても、ファイルは使い捨てのゲストに届きます。そして、展開する前に自分が
仮想マシンの中で動いていないか確認するあのWindowsサンプルを思い出してください——
その反解析の反射は今や、攻撃者のためではなく、攻撃者に不利に働くのです——VMの中で
走るのを拒むマルウェアは、それが着地し得た唯一の場所で走るのを拒むのです。
これが解決しないこと。
分離は実行を封じ込めます。それは現実を書き換えません。挙げておくべき正直な隙間が 二つあります。
第一に、Bromureはあなたが説得されることを止めません。もしページが、あなたを説き 伏せて本物のOpenAIのパスワードを本物のログイン・フォームに打ち込ませたり、ファイルを ゲストから運び出してあなたのMacに置き自分でそれを走らせたりさせるなら、分離は あなた自身の手によって迂回されたことになります。守られるのは、前準備とマルウェアの 最初の実行が封じ込められること——ソーシャル・エンジニアリングが不可能になることでは ありません。これほどなりすましの上手いページは、それでも疑う価値のあるページです。 アーキテクチャは騙される代償を下げますが、騙す者を見抜く確率を上げはしません。
第二に、これは根本的にブラウザ経由で配送される攻撃であり、だからこそ封じ込めが 決定的なのです。連鎖の全体——広告、ページ、リダイレクト、ダウンロード、最初の 実行——はタブの中に住んでいます。侵害すべき別個のネイティブ・アプリも、メール・ クライアントも、ユーザーが信頼する第二のプログラムもありません。バイナリが走る 地点で連鎖の首をはねれば、下流には何も残りません。攻撃がブラウザで始まり、ブラウザで 終わるとき、その一撃を吸収するブラウザこそが立つべき場所なのです。
次の一つも、あなたが信頼するドメインの上にあるだろう。
LLMShareは、本当はChatGPTについての物語ではありません。それは一つの手法についての 物語です——人々が信頼するサービスを取り上げ、見知らぬ他人がその名の下にレンダリング されたHTMLを公開できる隅を見つけ、その隅を使って餌をホストする。今日はChatGPT。 研究者たちはすでにClaudeとGrokが同じように使われるのを見ています。明日には、人気が あって、かつあなたの代わりにレンダリングするものに気前のいい、どんな製品であれそれに なるでしょう。
これは、悪いドメインを見抜くのが上手くなることでは勝てません。手口の全体が、良い ドメインを使うことなのですから。これに勝つには、あなたの安全にとってアドレスバーを 無関係にすること——どんなロゴが乗っていようと、ページにできる最悪のことが、ウィンドウを 閉じることで空にできる使い捨ての部屋を満たすことだけになるよう、物事を整えること—— です。
それがBromureの目的です。インストールし、デフォルトにし、借り受けた信頼が攻撃者に 何も買い与えないようにしましょう。