Replying to Avatar murawaki

偽装テキストの性質をもう少し考えてみよう。言語ステガノグラフィは、偽装テキストの作り方によって、生成型と編集型の大きく2種類に分類できる。

編集型は既にあるテキストを加工することで秘密データを埋め込む。古典的な方法として紹介した1-3はいずれも編集型。テキストではないが、ビットマップ画像への埋め込みも編集型とみなせる。2021年に私が学生と出した論文も編集型。https://aclanthology.org/2021.naacl-main.433/

生成型はステガノグラフィのモデルがテキストを一から作る。編集型の手法は昔もなかったわけではないが、テキスト生成の品質が低すぎてお話にならなかったことから、事実上ニューラル言語モデルの産物。

生成型と編集型を比較すると、編集型は加工対象のテキストを送信者が自分で用意しなければならない。利用者から見るとこれは面倒。システムから見ると、送信者がいかにも書きそうなテキストを作る責任を利用者に押し付けられていた。

一方、生成型では、どんなテキストが生成されるかわからない。送信者がいかにも書きそうな偽装テキストを作る責任をシステムが負っている。しかし、既存研究はこの点を十分に検討していない。

既存研究が主要な評価指標として用いるのが、テキストの分布と偽装テキストの分布という2つの確率分布の間の距離 (的なもの)。小さいほど良い。もしテキストの分布と偽装テキストの分布が完全一致するなら、両者は識別できないはず。秘密データを埋め込む都合で分布が歪むにしても、元の分布に近ければ近いほど良いという理屈。この目的にはルバック・ライブラー (KL) 情報量という尺度が使える。

KL情報量は理論的に美しいので、ステガノグラフィに取り組むような研究者が好んで採用するのはわからないでもない。しかし、2つの点でずれている。第一に、テキストの真の分布を誰も知らないこと。仕方がないので、言語モデル自身が推定する確率分布を近似として用いる。これは明らかにインチキ。第二に、こちらの方が本題だが、本当に必要なのはテキスト一般の分布ではなく、送信者が書きそうなテキストの分布であること。言語モデルの訓練には大量のテキスト、主としてウェブ由来の雑多なテキストが使われている。言語モデルがウォール・ストリート・ジャーナルの記事のような凝った偽装テキストを生成したとして、テキスト一般の分布から見て自然だったとしても、送信者が書いたものとしては不自然かもしれない。

ここまでは送信者・受信者という用語を使っていたが、通信研究の慣例に従って、送信者を Alice、受信者を Bob とよぶことにする。そして、もう一人の登場人物、通信路を監視する盗聴者 Eve を導入しよう。ステガノグラフィの目標は秘密データの存在自体を第三者に気づかせないようにすることだったが、Eve を導入すると、この目標が具体的なタスクに化ける。評価尺度として KL 情報量を使うよりもずっと直接的。このタスクはステガナリシス (steganalysis) とよばれている。

ステガナリシスの目標は秘密のメッセージの存在を検出すること。暗号に対する cryptanalysis と異なり、秘密のメッセージの解読までを目標に入れない設定が一般的。

目標は良いとして、残りの定式化は自明ではない。Eve が何をどこまで知っているかによってタスクの難易度が大きく左右される。

ステガナリシスのタスク設定の分類にはいろいろあるようだが、古典的なのは Katzenbeisser and Petitcolas (2000) で採用されているという分類 (未見)。https://www.amazon.com/exec/obidos/ASIN/1580530354 編集型を前提として、Eve が何を知っているかに基づいて分類する:

- stego only: ステゴテキスト (秘密のメッセージが埋め込まれた偽装テキスト) のみ既知

- known cover: カバーテキスト (編集前の偽装テキスト) とステゴテキストが既知

- known message: 秘密のメッセージとステゴテキストが既知で、そこからステガノグラフィのアルゴリズムを推測

- chosen stego: アルゴリズムとステゴテキストが既知

- chosen message: メッセージを起点に様々なアルゴリズムを試してステゴテキストが当該アルゴリズムを使っているか推測

- known stego: アルゴリズム、カバーテキスト、ステゴテキストが既知

生成型の場合はカバーテキストが存在しない。known cover 設定では、カバーテキストとステゴテキストの差分を調べてアルゴリズムを推測するが、こうした手法の出番はない。

この分類を改めてみると、計算機ではなく人間が直接分析する雰囲気があって現代的ではない。

画像を主な対象にステガノグラフィの教科書を書いたは Jessica Fridrich は、より単純な二分法 blind steganalysis v. targeted steganalysis を採用する。https://www.cambridge.org/core/books/steganography-in-digital-media/2D5989F2462923428BE01F2042A532AB blind steganalysis は採用されているステガノグラフィの具体的なアルゴリズムを Eve が知らない設定。対する targeted steganalysis はアルゴリズムが絞り込まれている設定。

教科書的なテキストではあまり議論されているのを見ないが、ステゴテキストと普通のテキストの割合も重要なはず。あてもなくネットの海からステゴテキストを検出する needle in a haystack 設定は難しすぎる。一方で、両者の割合を半々にする (論文でよく見かける) 設定も極端すぎるように思う。

長々と書いたが、最近のステガナリシス論文では、ほとんどの場合、教師あり分類問題設定を採用している。具体的には、アルゴリズムが既知 (targeted steganalysis) であり、ステゴテキストと普通のテキストが (通常半々の割合で) 用意できることを前提に、その一部を訓練データとして2値分類器を訓練し、残りをテストデータとして分類精度を評価する。ステガナリシスとしては分類精度が上がれば良いし、ステガノグラフィ側は分類精度を下げて50%に近づけたい。敵対的設定であることを除けば、何のひねりもないただのテキスト分類問題。実際、最近のステガナリシス論文は、分類器を構成するニューラルネットをいじくり回しただけの退屈なものばかり。本当はもっと面白いことができるはず。

Reply to this note

Please Login to reply.

Discussion

ステガノグラフィの教科書や最近の研究を見ていて思うのは、コミュニケーションとしての側面が軽視されているということ。

もともと Simmons (1983) はステガノグラフィを囚人の問題として定式化した。https://link.springer.com/chapter/10.1007/978-1-4684-4730-9_5 Alice と Bob は別々の独房に入れられた囚人で、脱獄の相談をしたいが、両者のコミュニケーションは看守 Eve の監視下にある。Eve に疑われたらコミュニケーションが取れなくなるので、Eve に疑われないような何気ないメッセージのなかに脱獄の情報を忍び込ませる手法が求められる。この定式化では、人間のコミュニケーションと通信 (telecommunication) が未分化。

しかしその後の研究では、Fridrich の教科書がそうであるように、偽装媒体として画像を用いるのが主流となった。画像を人間のコミュニケーションとしての自然さ (人間らしさ) という観点から評価するのは難しい。そのため人間らしさという側面が捨てられ、デジタル通信としての分析に特化してしまった。

大規模言語モデル (LLM) の登場とともに生成型言語ステガノグラフィが急浮上したいま、人間らしさという観点からの評価が不可欠なはず。人間らしさは捉えがたい問題だが、ステガノグラフィを題材とすると、ステガナリシスに打ち勝つというわかりやすい目標に変換できる。

とはいえ、この方向で研究を進めるには2つ難点がある。第一に、既に複数の既存研究で指摘されていることだが、ウェブ時代、特に SNS 時代においては、Alice が Bob を通信相手として明示する必要がない。https://link.springer.com/chapter/10.1007/978-3-031-49803-9_7 Eve による検出を防ぐという観点からはむしろ明示すべきではない。Alice は相手を明示することなく単につぶやけば良くて、Bob は他のフォロワに紛れてそれを見に行けば良い。この設定においては、ステゴテキストが Alice から Bob へのコミュニケーションとして自然かを評価する必要はない。Alice が書いたものとして自然かを評価すれば十分。

第二に、LLM に基づく生成型言語ステガノグラフィでは、(A) 人間、(B) 素の LLM、(C) ステガノグラフィ用 LLM の三項対立が想定される。ステガノグラフィの研究としては A (+B) 対 C で、C を A から識別できないようにしたいが、実際の断絶は A と BC の間にある可能性が高い。LLM が生成したテキストをそうだと見破りたいという需要は多く、そのための研究も大量にある。もし仮定が正しいとすると、そうした研究のなかに埋没してしまい、秘密のメッセージを埋め込むことに独自性を見いだせないことになる。(ひとまず完)

最後の点にもう少し詳しく触れると、(A) 人間、(B) 素の LLM、(C) ステガノグラフィ用 LLM の三項対立は Dai and Cai (2019) で議論されている。

https://aclanthology.org/P19-1422/

言語モデル=テキストの確率分布間の距離 d を total variation distance で定義すると、d(A, C) <= d(A, B) + d(B, C) という不等式が成り立つ (数学苦手勢なので結論だけを引用)。

この不等式は、ステガノグラフィの研究が d(A, B) は言語モデルの研究がなんとかするということで感知せず、d(B, C) の最小化のみに注力することを正当化するのに使われている。

しかし d(B, C) は実際上はすでにほぼゼロ。これを更に減らすのは情報理論が好きな狭い業界の自己満足にしか見えない。

実用化という観点からは、文脈プロンプト共有問題を何とかしなければならない。

Ziegler et al. (2019) は、ニュース記事の最初の3文を文脈として与え、その後を言語モデルに生成させるという実験設定を採用している。

https://aclanthology.org/D19-1115/

しかし評価実験から離れて実際に使う場面を考えるとどうすべきか悩ましい。そもそもの前提として、送信者 Alice は復号化に必要な情報を事前に受信者 Bob と密かに共有しておかなければならない。この前提を踏まえると以下の2つの選択肢が考えられる。

1) 最初の3文も含めて送信する。Bob と共有しておくべきなのは、最初の3文が文脈プロンプトであるというハイパーパラメータだけで済む。しかし、最初の3文は既存テキスト、4文目以降は独自生成テキストというやり取りが繰り返されれば、不自然に思われかねない。

2) 最初の3文を除いて送信する。この場合、Bob とは最初の3文自体を事前に共有しておく必要がある。これは使い勝手が悪い。おまけに、生成部分が文脈部分を参照していると不自然なテキストになるリスクもある。

Ziegler et al. (2019) の設定は後続研究 (我々の研究も含む) で踏襲されがちだが、これは悪しき前例主義であり、そろそろ改めるべき。

この点で重要なのが SNS 設定。以前は「ウェブ時代、特に SNS 時代においては、Alice が Bob を通信相手として明示する必要がない」という主張に賛同していたが、今は考えを改めている。

https://link.springer.com/chapter/10.1007/978-3-031-49803-9_7

Liao et al. (2024) は、他の利用者の投稿を文脈として言語モデルに与え、返信をステガノグラフィに利用している。

https://dl.acm.org/doi/abs/10.1145/3658664.3659657

この設定なら文脈プロンプトを事前に共有する必要がなく、既存テキストと独自テキストの組み合わせも自然に見える。通信相手を明示するという欠点を補って余りある利点があるように思える。

実用化の課題としては、計算非決定性問題も外せない。既存論文で議論された形跡がないのに査読者から突っ込まれた。

受信者 Bob は送信者 Alice の言語モデルが生成時に参照したトークン生成の確率分布を完全に再現しなければならない。しかし Bob は当然ながら Alice とは別の計算環境を使っているはずで、本当に再現性が確保できるか怪しい。

実際には、同じ計算環境ですら GPU が絡むと決定性が損なわれがち。最適化テクニックの多くは非決定的であり、無効化しなければならない。それで十分かというと怪しい。

非決定性問題は開発者向け文書では言及されることがあるが、論文では見かけない。

https://docs.pytorch.org/docs/stable/notes/randomness.html

Atil et al. (2025) は珍しく非決定性を調べているが、温度パラメータ=0の貪欲生成設定しか調べていない。しかも、OpenAI などのクローズドモデルが非決定的な最適化テクニックを使っている (と推測される) ことに原因を求めており、手元の GPU で Llama3-8b を動かしたら決定的だったと述べる。詰めが甘い。

https://arxiv.org/abs/2408.04667

以前 Textcoder を紹介した際にも書いたが、出力を人間が作成したと見せかける行為を禁じる条項がある言語モデルは、ステガノグラフィ用途では使えない。BLOOM と Llama が該当することは以前から知っていた、ChatGPT 5 Thinking に他のモデルも確認してもらった。

Gemma: 禁止

"misrepresentation of the provenance of generated content by claiming content was created by a human … in order to deceive"

https://ai.google.dev/gemma/prohibited_use_policy

NVIDIA のモデル: 禁止

"intentionally misleading or deceiving others"

https://developer.download.nvidia.com/licenses/nvidia-open-model-license-agreement-june-2024.pdf

Qwen2.5-72B は独自ライセンスだが、当該の禁止条項は見当たらないため OK。ほかのモデルはだいたい Apache-2.0 なので当然 OK。

https://huggingface.co/Qwen/Qwen2.5-72B/blob/main/LICENSE