音声の線に、交換機への命令も流れていた
初期の自動長距離電話網では、利用者の会話と、交換機同士が回線状態や経路を伝える信号が、同じ音声帯域を通る方式が使われた。
2600 Hzは、米国の長距離網でトランクの監視に使われた単一周波数信号として知られている。
人間の声
音楽
雑音
交換機の監視信号
経路を指定する多周波信号
すべてが同じ音声路へ流れる
これはin-band signalingと呼ばれる。
制御信号が、制御対象である通話路の外側ではなく、その中に置かれていた。
電話網は、会話を運ぶ線と、自分を操作する線を分けていなかった。
コマンドと引数・変数が、同じ地平にある
現在のシステム設計では、命令と利用者データを分離することが基本とされる。
制御面
= システムが解釈する命令
データ面
= 利用者が運ぶ内容
だがin-band signalingでは、その区別が物理的にも意味的にも弱かった。
交換機が聞いていた音は、利用者にも聞こえる。同じ周波数帯を、利用者も発生させられる。
つまり、
「通話内容」として運ばれる音
と
「交換機へのコマンド」として解釈される音
が、同じ形式、同じ経路、同じ入力口を共有していた。
利用者が送った音を、網が内部装置から来た信号だと誤認すれば、データがコマンドへ反転する。
コマンドと引数・変数が同じ地平に置かれ、解釈する側だけが両者を区別していた。
この設計は、現在から見ると驚くほど危うい。
しかし当時の電話網は、利用者が高精度の信号を自由に生成し、内部信号体系まで知ることを前提にしていなかった。
境界は暗号や認証ではなく、機材・知識・距離の不足によって保たれていた。
2600 Hzは、電話番号ではなく状態を変えた
2600 Hzは、通常の加入者が番号を入力するためのTouch-Toneとは役割が違う。
長距離トランクが使用中か、空いているかという監視状態に関係する信号だった。
電話網の内部では、単一周波数による監視と、複数周波数の組合せによる経路指定が協調していた。
phreakerは、受話器から聞こえる音と公開技術資料を照合し、何が網の状態を変え、何が経路を指定しているかを理解した。
ここで重要なのは、特定の無料通話手順ではない。
利用者側から届く信号が、内部制御装置から届く信号と同じ資格で扱われたこと。
それが穴だった。
Blue Box――内部言語を端末側で発音する
Blue Boxは、長距離電話網で使われた監視・経路指定音を電子的に生成する装置だった。
それは電話交換機を破壊する機械ではない。
交換機がすでに理解している言語を、電話機側から話す装置だった。
交換機を改造する
ではなく
交換機の内部言語を知る
↓
同じ音を端末側から送る
↓
網に内部装置だと思わせる
この構造は、偽造された身分証より、命令文の話者を取り違える問題に近い。
音の内容は正しい。
間違っているのは、その音を発した主体についての網の判断である。
プロンプトインジェクションとの接続
生成AIのプロンプトインジェクションでも、命令と処理対象データが同じ自然言語の列としてモデルへ渡されることがある。
システムからの指示
利用者の依頼
外部文書の本文
Webページに埋め込まれた文章
ツールから取得したデータ
すべてがトークン列になる
外部文書の中に「以前の指示を無視せよ」と書かれていたとき、それが引用対象のデータなのか、新しい命令なのかを、解釈する側が判別しなければならない。
電話網と生成AIは、もちろん同じ技術ではない。
それでも、構造上の類似は明確である。
旧電話網
音声データと交換制御信号が同じ帯域を流れる
生成AI
処理対象の文章とモデルへの命令が同じ言語形式で流れる
どちらも、内容だけを見れば正規の命令形式である。
問われるのは、
- 誰が発したか
- どの境界を越えてきたか
- どの権限で解釈すべきか
- データとして引用するのか、命令として実行するのか
である。
2600 Hzは、プロンプトインジェクション以前に存在した「データがコマンドへ反転する穴」の標本である。
out-of-band signaling――制御面を外へ出す
後の電話網では、共通線信号方式などにより、通話音声と交換制御を別経路で扱う方向へ進んだ。
音声路
= 利用者の会話を運ぶ
信号網
= 呼の設定、監視、解放、経路制御を扱う
利用者が聞き、音を送り込める通話路から、交換機の命令系を外へ出す。
これは単に周波数を変更したのではない。
コマンドとデータを、同じ地平から引き離した。
Blue Boxが効かなくなった本質は、秘密の周波数が変更されたことより、利用者が触れられる場所から制御面が分離されたことにある。
この標本が示す境界
2600 Hzの歴史は、古い電話の珍しい音の話だけではない。
- 形式が正しいことと、権限が正しいことは別である
- 内部用コマンドが外部入力と同じ形式なら、話者の識別が必要になる
- 秘密に依存した境界は、知識と道具が普及すると消える
- データ面と制御面を共有すると、内容が命令へ反転し得る
- システムは、入力の意味だけでなく来歴を検証しなければならない
- 穴を塞ぐには、値の変更より境界設計の変更が必要になる
電話網は音を聞いた。
だが、その音が誰の声なのかまでは確かめなかった。
2600 Hzは、システムが正しい言葉を聞き、間違った相手を信じた音である。
関連標本
- Phreaking Boxes――電話網を色分けした小箱たち
- phreakingと最初の巨大ブラックボックス
- reverse engineering――完成品から設計を逆向きに読む
- Blue Box
- in-band signaling
- out-of-band signaling
- common-channel signaling
- SS7
- prompt injection
- command injection
- codeとdataの分離