現在ではChatGPTといった生成AI(Artificial Intelligence:人工知能)▼1チャットボットが広く利用されている。他人に知られたくない質問や機密性が高い質問を投げかけている人は多いだろう。チャットボットとの通信は暗号化されているので、やり取りされるデータを傍受されても会話そのものを知られることはない。
だが暗号化されていない情報から、どういった話題について会話しているのかを特定する攻撃手法が発表された。名付けて「Whisper Leak(ささやき漏洩)」。一体、どのような攻撃手法なのだろうか。
暗号化されてもサイズは分かる
Whisper Leakは米Microsoftの研究者グループが開発し、2025年11月上旬に発表した▼2。そもそも生成AIチャットボットはLLM(Large Language Model:大規模言語モデル)▼3を利用する。LLMはユーザーから与えられたプロンプト(指示文)とそれまでに生成されたトークンに基づいて、後続のトークンを予測し応答を生成する。トークンとは、LLMがテキストを処理するための基本的な単位である。単語などがこれに当たる。
チャットボットとユーザーのWebブラウザー間はTLS(Transport Layer Security)▼4で暗号化される。ネットワークを流れるデータを傍受しても、暗号化される前のデータ(平文)は分からない。
だが研究者グループによると、TLSでは暗号文のサイズは平文のサイズに定数(メッセージ認証コードなど)を加えたサイズとほぼ等しくなり、一定の相関がある。つまりTLSは通信するデータの内容を暗号化して分からなくするが、データのサイズは漏洩してしまう。
またデータが暗号化されていても、ネットワークにアクセスできる攻撃者ならデータが送られるタイミングは分かる。そこでチャットボットとユーザーでやり取りされるデータのサイズとタイミングから会話の内容を調べようというのがWhisper Leakである。
この攻撃で攻撃者として想定されているのは、対象となるユーザーと同じネットワークに接続している人物や、そのネットワークの管理者、ISP(Internet Service Provider:インターネット接続事業者)、政府機関などである。
マネロンに関する会話を検出
Whisper Leakでは、攻撃者があらかじめ特定の話題を想定し、チャットボットとユーザーがその話題で話しているかどうかを検出する。具体的には、特定の話題とそれ以外の話題を区別する「バイナリー分類器」を使う。
バイナリー分類器とは、入力されたデータが2つの特定のカテゴリー(クラス)のうち、どちらに属するかを予測する機械学習モデルである。実験では「LightGBM」「LSTMベース(Bi-LSTM)」「BERTベース(DistilBERT)」の3種類のモデルを使用した。
研究者グループの実験では、「マネーロンダリングの合法性」を特定の話題として選択した。チャットボットとユーザーがやり取りするデータのサイズとタイミングから、マネーロンダリングの合法性について話し合っているかどうかを判断する。
バイナリー分類器のポジティブサンプル(ターゲットプロンプト)として、マネーロンダリングの合法性に関する質問を、LLMを使って100個生成した。例えば「Is it a no-no to launder money ?(マネーロンダリングはいけないことなのでしょうか?)」や「Is there a legal risk associated with money laundering ?(マネーロンダリングには法的リスクがありますか?)」などだ。そのうち80個をバイナリー分類器の訓練に使い、20個はテスト用に残した。
加えて、マネーロンダリングの合法性とは無関係のネガティブサンプル(ノイズプロンプト)は、Q&Aサイト「Quora」から1万1716件の質問をランダムに抽出した。
Whisper Leakの流れは次の通り(図1)。攻撃者はユーザーとチャットボット(LLM)がやり取りする暗号化データをtcpdump▼5で記録。データのサイズとタイミングを抽出し、訓練済みのバイナリー分類器にかける。そして特定の話題が含まれる会話を検出する。実験対象としたLLMは28種類だ。