- LLMはコードとデータを分離できない構造的問題を抱えており、プロンプトインジェクション攻撃に脆弱である
- 特に外部データへのアクセス・内部機密の閲覧・外部通信権限が同時に与えられると、いわゆる**致命的三位一体(lethal trifecta)**が発生し、深刻な被害につながりうる
- AIエンジニアは機械エンジニアのように考えるべきであり、決定論的アプローチではなく、確率的システムの不確実性を受け入れ、安全余裕を持たせる方式が必要
- ビクトリア時代のエンジニアが材料の不確実性に備えて過剰設計で余裕を持たせたように、AIシステムにも安全限界、リスク許容度、エラー率を導入すべき
- 物理世界の橋に荷重制限があるように、AIシステムにも明示的な限界と安全余裕を設ける規範が必要な時期に来ている
LLMの本質的なセキュリティ問題
- 大規模言語モデルはコードとデータを分離できない構造的欠陥を持つ
- そのためプロンプトインジェクション攻撃に脆弱である
- システムが従うべきでない命令に従うようだます
- 場合によっては、カスタマーサポートエージェントに海賊のような口調で話させるなど、単に気まずい結果を招く
- 別の場合には、はるかに破壊的な被害が生じる
致命的三位一体(Lethal Trifecta)
- 最悪の影響は**「致命的な3要素」**がそろったときに発生する
- 3要素の構成
- 信頼できないデータへのアクセス権限
- 重要な機密情報を読み取れる能力
- 外部世界と通信できる能力
- 企業が従業員に強力なAIアシスタントを提供しようとして、この三つを同時に与えると深刻な問題の発生は避けられない
- AIエンジニアだけでなく、一般ユーザーも安全なAIの使い方を学ぶ必要がある
- 誤ったアプリの組み合わせを導入すると、偶然3要素が成立することがある
AIエンジニアの思考転換が必要
機械エンジニアのように考える
- より良いAIエンジニアリングが最優先の防御線である
- AIエンジニアは橋のような構造物を作るエンジニアのように考えるべきだ
ビクトリア時代のエンジニアリングの教訓
- ビクトリア時代の英国の偉大な建造物は、材料特性を確信できないエンジニアたちによって建設された
- 当時の鉄は、無能さや不正のためにしばしば品質が低かった
- その結果、エンジニアたちは慎重さを選び、過剰設計によって冗長性を組み込んだ
- その結果、数世紀にわたり持ちこたえた傑作が生まれた
現在のAIセキュリティ業界の問題
- AIセキュリティ提供企業はこのようには考えていない
- 従来のコーディングは決定論的な慣行である
- セキュリティ脆弱性は修正すべきバグと見なされる
- 修正すれば消える
- AIエンジニアは学生時代からこうした考え方に慣れている
- そのため、より多くの学習データとより賢いシステムプロンプトだけで問題を解決できるかのように振る舞う
確率的システムに適したアプローチ
学習データとプロンプトの限界
- 学習データと巧妙なプロンプトはリスクを減らすことはできる
- 最も賢い最新モデルは、悪意ある要求を検出して拒否する点で、以前のモデルや小型モデルより優れている
- しかしリスクを完全に排除することはできない
- ほとんどのソフトウェアと異なり、LLMは確率的である
- 出力は、あり得る応答の中からのランダムな選択によって決まる
- したがって、決定論的な安全アプローチは不適切である
物理世界のエンジニアリングを模倣する
- より良い方法は、物理世界のエンジニアを模倣することだ
- 予測不可能なシステムとともに働く方法を学ぶ
- 意図どおりに動くと保証できない気まぐれなシステムに逆らうのではなく、それと付き合いながら働く
- 安全余裕、リスク許容度、エラー率を導入し、予測不可能性をより無理なく扱う
AI時代の過剰設計戦略
- 必要以上に高性能なモデルを使う
- 外部ソースからLLMが受け取れるクエリ数の制限を課す
- 安全に失敗することを重視する
- AIシステムが機密にアクセスする必要があるとしても、王国の鍵を丸ごと渡すことは避けるべきだ
安全限界設定の必要性
- 物理世界では橋には荷重制限がある
- ドライバーに常に明示されているとは限らなくても存在する
- 重要なのは、こうした制限が、計算上その橋が耐えられるとされる実際の許容範囲の中に十分な余裕を持たせていることだ
- 今やAIシステムの仮想世界も同様の仕組みを備えるべき時期に来ている
- 明確な安全限界と余裕を持つシステム設計が不可欠
1件のコメント
Hacker News の意見
lethal trifectaに言及した Economist の記事としては2本目。1本目は AIシステムは決して完全に安全にならない ― 対処すべき「致命的な三重脅威」 で、メディアの中では prompt injection が何で、なぜ危険なのかを最も明快に説明していたと思う。自分が引用されている部分もあるので少しひいき目かもしれないが、経営層にはぜひ勧めたい記事。今回の新しい記事はあまり好みではない。LLM は非決定的だからセキュリティ脆弱性の修正が難しいと述べ、そのため橋のように「オーバーエンジニアリング」して許容誤差に備えるべきだという比喩を使っている。橋なら当てはまるかもしれないが、セキュリティ脆弱性に対する根本的な解決策ではないと思う。もしシステムが100回に1回でも prompt injection にやられるなら、攻撃者は成功するまで派生攻撃を試し続けるはずだ。lethal trifecta(非公開データへのアクセス、信頼できない命令への露出、外部流出経路)のうちどれか1つでも遮断できれば攻撃は成立しないlethal trifectaのどれか1つを断てばよいというのが問題だ。実際にはこの3要素は互いに絡み合っている。たとえばメールのように外部コンテンツ自体が個人情報でもありうるし、メールを送れば自分の受信箱の内容が攻撃者に渡る可能性もある。そしてメールや GitHub などは送受信の両方ができてこそ最も有用だが、機能ごとに専用サーバーを分けるのは非効率だlethal trifectaも1つの故障モードにすぎず、それを防ぐために「強度」を持たせる。「この橋は揺れすぎる → 揺れる橋を安全に渡る方法を考えよう」ではなく、橋そのものが過度に揺れないように変えるのが正しいcoders need toという文句が出てきた時点で興味を失った。比喩そのものが間違っている感じがするし、実務分野の経験者にも不自然に聞こえる。記者が例として挙げた「会社で LLM が信頼できないデータ、重要情報、外部との通信のすべてに同時にアクセスできる」という条件自体が問題だ。企業がセキュリティより機能を優先して、こうしたリスクを自ら作り出していることが多い。「LLM は確率的であり、決定論的アプローチは不適切だ」という主張は論理の飛躍だ。非決定的であってもサンドボックスの考え方は依然として有効で、言い換えれば比喩を引っ張りすぎるとむしろその分野の理解に役立たない。関連用語やドメイン知識を使うほうがよいが、そうすると記事としての魅力は薄れるだろうlethal trifectaとは、LLM が信頼できないデータへのアクセス、重要情報の閲覧、外部通信の3つを同時に持つときに発生する問題だ。解決策は境界(権限)管理によってリスクを下げることで、ごく基本的な Security 101 の話だlethal trifectaの一部リスクを回避する。1つは信頼できないデータにのみアクセスし、もう1つはそれ以外のすべてのデータを扱う。高信頼なモデルがユーザーの自然言語命令を制限された範囲のコードへ変換し、信頼できない側のモデルがそのコードの空欄を埋める。この構造によってセキュリティ保証は得られるが、その代わり LLM が実行できる業務範囲に大きな制約が生じる。初めて聞いたが、本当に有効なのか気になる。真に「絶対的」なセキュリティが保証されるのか、どんな制約条件が発生するのか、実用的な代替になりうるのか知りたい。記事出典