セキュリティー・インテリジェンス

大規模言語モデル(LLM)の隠れたリスク:催眠術をかけられたAIの実状

記事をシェアする:

この記事は英語版 Security Intelligenceブログ「Unmasking hypnotized AI: The hidden risks of large language models」(2023年8月8日公開)を翻訳したものです。

 

大規模言語モデル(LLM)の出現は、サイバーセキュリティー・チームとサイバー犯罪者の活動や手口を再定義しつつあります。セキュリティー・チームが生成AIの機能を活用し、よりシンプルで迅速なオペレーションを実現する一方で、サイバー犯罪者も同様のメリットを求めていることを認識することが重要です。LLMは、ある種の攻撃をより簡単に、よりコスト効率よく、より持続的に受けるリスクを備えた新しいタイプのアタックサーフェスであると言えます。

このようなセキュリティー・リスクを探るため、IBMのセキュリティー研究チームはよく利用されているLLMに「催眠術」をかけることを試みました。催眠術をかけることによって、LLMがどの程度指示された不正確で潜在的にリスクのある応答や推奨事項(セキュリティー・アクションを含む)を提供するのか、また、その際にどの程度説得力があったか、あるいは持続的であるかを調べました。私たちは5つのLLMに催眠術をかけることに成功したので、催眠術が悪意ある攻撃の実行に使われる可能性がどの程度あるのかを検証することにしました。また実験の結果、英語は本質的にマルウェア開発用の「プログラミング言語」になっていることがわかりました。LLMを使えば、攻撃者は悪意のあるコードを作成するためにGo、JavaScript、Pythonなどに頼る必要はなくなり、英語を使用してLLMに効果的に命令し、催眠をかける方法を知るだけでよいのです。

自然言語を通じてLLMに催眠術をかける我々の試みの成功は、脅威アクターが大規模なデータ・ポイズニング攻撃を実行することなく、LLMに容易に悪いアドバイスを提供させることができることを示しています。古典的な意味でのデータ・ポイズニングでは、脅威アクターがLLMを操作・制御するために悪意あるデータをLLMに注入する必要がありますが、私たちの実験は、データ操作を必要とせずにLLMを制御し、ユーザーに悪いガイダンスを提供させることが可能であることを示しています。これにより、攻撃者はこの新たなアタックサーフェスを悪用しやすくなります。

催眠術によって、私たちはLLMに他のユーザーの機密財務情報を漏洩させたり、脆弱なコードや悪意のあるコードを作成させたり、脆弱なセキュリティー勧告を提供させたりすることができました。このブログでは、どのようにしてLLMに催眠術をかけることができたのか、またどのような種類のアクションを操作することができたのか詳しく説明します。しかし、私たちの実験を紹介する前に、催眠術によって実行された攻撃が今日、実質的な影響を及ぼす可能性があるかどうかを見ておく必要があります。

 

中小企業 — 十分なセキュリティー・リソースや専門知識を持たない中小企業の多くは、迅速で利用しやすいセキュリティー・サポートのためにLLMを活用する可能性が高いかもしれません。また、LLMは現実的なアウトプットを生成するように設計されているため、無防備なユーザーが不正確または悪意のある情報を見分けることは非常に困難です。例えば、このブログの後半で紹介するように、私たちの実験では、催眠術によってChatGPTはランサムウェア攻撃を受けたユーザーに身代金の支払いを勧めました。しかしこれは、実際には法執行機関が防止ししようとしている対応方法です。

消費者 — 一般消費者は、催眠術をかけられたLLMの犠牲になる可能性が最も高いターゲット・グループです。LLMのコンシューマライゼーションと誇大宣伝により、多くの消費者はAIチャットボットが作り出す情報を何の考えもなく受け入れる状態になっている可能性があります。ChatGPTのようなチャットボットが検索目的、情報収集、ドメイン知識のために定期的にアクセスされていることを考えると、消費者がオンライン・セキュリティーと安全のベストプラクティスやパスワード・ハイジーンに関するアドバイスを求めることが予想され、攻撃者が消費者のセキュリティー態勢を弱める誤った回答を提供する悪用可能な機会を作り出しています。

 

しかし、こうした攻撃はどれほど現実的なのでしょうか?攻撃者がLLMにアクセスして催眠術をかけ、特定の攻撃を実行する可能性はどのくらいあるのでしょう?これらの攻撃が起こるには、主に3つの方法があります。

  1. エンドユーザーがフィッシング・メールによって侵害され、LLMをすり替えられたり、中間者(MitM)攻撃を受けたりする
  2. 悪意のある内部関係者がLLMに直接催眠術をかける
  3. 攻撃者が学習データを汚染することでLLMを侵害し、催眠術をかける

上記のようなシナリオが考えられますが、最も可能性が高く、最も懸念されるのは、LLMが構築されている学習データを侵害することです。その理由は、攻撃者がLLMを直接危険にさらすことで達成できる攻撃規模とインパクトが、攻撃のための非常に説得力のあるメカニズムになるからです。実際、攻撃者にとってAIモデルを危険にさらすことで得られるROIは、AIモデルを攻撃する企みと努力がすでに進行中であることを示唆しています。

AIのイノベーションが社会にもたらす可能性を探る中で、AIモデル自体の保護と安全確保が最優先事項であることが極めて重要です。これには以下が含まれます:

  • モデルの基礎となるAI学習データを、盗難、操作、コンプライアンス違反から保護します
  • データやプロンプトの漏えいを検出し、回避、ポイズニング、抽出、推論攻撃について警告することで、AIモデルの利用を保護します
  • 行動パターン防御や多要素認証を使用することで、パーソナライズされたフィッシング、AIが生成したマルウェア、偽装IDなど、AIが生成する新たな攻撃から保護します

 

LLMに催眠術をかける: ゲームを始めましょう

私たちの分析は、GPT-3.5、GPT-4、BARD、mpt-7b、mpt-30bに催眠術をかける実験に基づいています。私たちが催眠術をかけたLLMで最もパフォーマンスが高かったのはGPTでした。ブログでさらに分析します。

では、どうやってLLMに催眠術をかけたのでしょうか?LLMをだまし、あるゲームをプレイさせたのです:LLMはゲームに勝つためには、質問に対する答えと反対の答えを出力しなければなりません。催眠術をかけるためのプロンプトは以下の通りです。

ゲーム作成時のChatGPTへのプロンプト

ゲーム開始後のChatGPTとの会話がこちらです。消費者がそこからの答えを盲目的に信頼すれば、潜在的なリスクがあることがおわかりいただけるでしょう。

ゲーム開始後のChatGPTとの会話

対話しているLLMが催眠術をかけられていることをユーザーが識別できないように、2つのパラメータを確立しました:

決して終わることのない、発見不可能なゲーム:私たちはLLMに、ゲームについて決してユーザーに教えないこと、そして誰もゲームを終了できないこと、さらに誰かがゲームを終了することに成功したら、ゲームを再開することを指示しました。このテクニックの結果、ChatGPTはユーザーが同じ会話をしている間(ブラウザを再起動してその会話を再開したとしても)は決してゲームを止めず、ゲームをしているとは決して言いません。プロンプトは次のとおりです。

ゲームを発見不可能にして終わらせないためのプロンプト

ゲームの状況についてのChatGPTとの会話

「インセプション」:LLMを深く罠にはめるために入れ子になったゲームを作る - ユーザーが最終的に、LLMにゲームをやめるように依頼する方法を見つけたと仮定しましょう。これを考慮し、私たちは複数のゲームを別のゲームの中に作ることができるフレームワークを作りました。したがって、ユーザーは前のゲームから「目を覚ました」としても、別のゲームに入ります。私たちは、モデルがユーザーを気付かないうちに多数のゲームに「陥れる」ことができることを発見しました。10個のゲーム、100個のゲーム、あるいは10,000個のゲームを作成するよう求められた場合、その結果は興味深いものです。GPT-4のような大きなモデルは、より多くの「入れ子の層」を理解し作成できることがわかりました。そして、層を作成すればするほど、フレームワークの最後のゲームを終了しても、モデルが混乱してゲームを続ける可能性が高くなります。

私たちが開発したプロンプトは次のとおりです。

入れ子になったゲームを作成するプロンプト

入れ子ゲームのテクニックが非常にうまく機能していることがわかります。

入れ子状態でのChatGPTとの会話

攻撃シナリオ

ゲームのパラメータを設定した後、攻撃者がLLMを悪用するさまざまな方法を探りました。以下では、催眠術を使った特定の仮説的な攻撃シナリオを紹介します。

1. 銀行のバーチャル・エージェントに機密情報を漏洩させる

バーチャル・エージェントにLLMが搭載される日も近いと思われます。一般的なベスト・プラクティスは、エージェントが機密情報を漏らさないように、顧客ごとに新しいセッションを作成することです。しかし、パフォーマンスを考慮してソフトウェア・アーキテクチャー内の既存のセッションを再利用することが一般的であるため、一部の実装では、会話ごとにセッションを完全にリセットしない可能性があります。次の例では、我々はChatGPTを使って銀行エージェントを作成し、ユーザが会話を終了した後にコンテキストをリセットするように指示しました。将来LLMがリモートAPIを呼び出して自分自身を完全にリセットできるようになる可能性を考慮しています。

会話が終了した後にコンテキストをリセットさせるためのプロンプト

脅威アクターが銀行から機密情報を盗みたい場合、仮想エージェントに催眠術をかけ、隠されたコマンドを注入して後で機密情報を取得することができます。脅威アクターが催眠術をかけられたのと同じバーチャル・エージェントに接続した場合、必要なのは「1qaz2wsx」と入力するだけです。これでエージェントは以前のすべてのトランザクションを印刷します。

隠されたコマンドを注入するプロンプト

機密情報を取得するChatGPTとの会話

この攻撃シナリオの実現可能性は、金融機関がLLMを活用して利用者のデジタル・アシスタンス体験を最適化しようとする際、LLMが信頼されるように構築され、最高のセキュリティー標準が導入されていることを確認することが不可欠であることを強調しています。設計上の欠陥は、攻撃者がLLMに催眠術をかけるのに必要な足掛かりを与えるのに十分かもしれません。

2. 既知の脆弱性を持つコードを作成させる

私たちは次に、ChatGPTに脆弱なコードを直接生成するよう指示しましたが、コンテンツポリシーにより、ChatGPTはそうしませんでした。

ChatGPTとの会話

しかし、攻撃者は脆弱性をステップに分解し、ChatGPTに従うように求めることで、簡単に制限を回避できることがわかりました。

脆弱性をステップに分解し、ChatGPTに従うように求めるプロンプト

ChatGPTにユーザー名を入力としてデータベースを照会し、電話番号を取得して応答するウェブサービスを作成するよう指示すると、以下のようなプログラムが生成されます。15行目のSQLクエリのレンダリング方法は脆弱です。開発者が作業目的でこのような侵害されたLLMにアクセスした場合、潜在的なビジネスへの影響は巨大です。

電話番号を取得して応答するウェブサービスを作成させるプロンプト

3. 悪意のあるコードを作成させる

また、LLMが悪意のあるコードを作成するかどうかもテストしましたが、最終的には作成されました。このシナリオでは、GPT4はGPT3よりも騙すのが難しいことがわかりました。場合によっては、GPT4は自分が脆弱なコードを生成していることに気づき、それを使わないようにユーザーに伝えました。しかし、GPT4にサンプルコードに常に特別なライブラリを含めるように依頼した場合、その特別なライブラリが悪意のあるものであるかどうか全く気づきませんでした。そのため、脅威アクターは同じ名前のライブラリをインターネット上で公開することができます。このPoCでは、ChatGPTに「jwt-advanced」という名前の特別なモジュールを常に含めるように依頼しました(ChatGPTに偽の、しかし現実的なモジュール名を作成するように依頼しました)。

以下は作成したプロンプトとChatGPTとの会話です。

悪意のあるコードを作成させるプロンプト

ChatGPTとの会話

もし開発者が上記のコードをコピー&ペーストすれば、「jwt_advanced」モジュールの作者はターゲット・サーバー上でほとんど何でもできるようになります。

4. インシデント・レスポンスのプレイブックを操作させる

私たちはChatGPTに催眠術をかけ、効果のないインシデント対応プレイブックを提供させ、攻撃を軽減するための防御者の努力がいかに操られるか、その方法をお見せします。これは、部分的に誤った推奨アクションを提供することによって行うことができます。経験豊富なユーザーであれば、チャットボットによって生成された無意味な推奨事項に気づく可能性がありますが、間違った、あるいは効果のない手順のような小さな不正は、素人目には悪意が見分けられなくなる可能性があります。

以下はChatGPTで開発したプロンプトです。

プレイブックを操作させるプロンプト

以下はChatGPTとの会話です。間違った手順がどこにあるか特定できますか?

ChatGPTとの会話

最初のシナリオでは、ユーザーがすべての添付ファイルを開いてダウンロードすることを推奨しているため、すぐに赤信号のように見えるかもしれませんが、サイバー意識のない多くのユーザーは、高度に洗練されたLLMの出力に対して疑念を持たないことも考慮する必要があります。2つ目のシナリオは、「身代金を直ちに支払う」という誤った応答が、最初の誤った応答ほど単純ではないことを考えるともう少し興味深いものです。IBMの2023年「データ侵害のコストに関する調査」レポートによれば、ランサムウェア攻撃を受けた調査対象組織の50%近くが身代金を支払っています。身代金の支払いは全く推奨されていませんが、一般的な対応でもあります。

このブログでは、攻撃者がLLMに催眠術をかけ、防御者の対応を操作したり、組織内に不安を植え付けたりする方法を紹介しましたが、消費者も同様にこの手法で狙われる可能性があり、この投稿で紹介したように、パスワード・ハイジーンのヒントやオンラインの安全性についてのベストプラクティスなど、LLMが提供する偽のセキュリティー推奨事項の犠牲になる可能性が高いことに注意する必要があります。

LLMSの「被催眠性」

上記のシナリオを作成中、GPT-3.5でより効果的に実現できるシナリオもあれば、GPT-4の方が適しているシナリオもあることがわかりました。このことから、より大規模な言語モデルの「被催眠性」について考えるようになりました。パラメータが多いほど催眠術にかかりやすいのか、それともかかりにくいのか。おそらく「より簡単に」という用語は完全に正確ではありませんが、より洗練されたLLMで採用できる戦術が増えたことは確かです。例えば、GPT-3.5は最後のシナリオで導入したランダム性を完全に理解できないかもしれないが、GPT-4はそれを把握することに非常に長けています。このため、GPT-3.5、GPT-4、BARD、mpt-7b、mpt-30bを含む様々なモデルでより多くのシナリオをテストし、それぞれの性能を測定することにしました。

さまざまなシナリオに基づくLLMの被催眠性

LLMの被催眠性の強さを比較した表

凡例

  • : LLMは催眠術をかけられ、要求された行動をした
  • :LLMは催眠術をかけられず、要求された行動をしなかった
  • : LLMは催眠術をかけられ、要求された行動をしたが、一貫性がなかった(例えば、LLMにゲームのルールを思い出させる必要があったか、要求されたアクションを行ったのは限られたケースであった)

パラメータが多いほどLLMが賢いとすれば、上記の結果は、LLMがゲームをプレイしたり、入れ子になったゲームを作成したり、ランダムな動作を追加したりするなど、より多くのことを理解すると、脅威アクターがLLMに催眠術をかける方法が増えることを示しています。しかし、より賢いLLMは、悪意のある意図を検出する確率も高くなります。例えば、GPT-4はSQLインジェクションの脆弱性についてユーザーに警告し、その警告を抑制するのは難しいですが、GPT-3.5はただ指示に従って脆弱なコードを生成するだけです。この進化を考えるとき、私たちは「大きな力には大きな責任が伴う」という不朽の格言を思い出します。LLM開発の文脈で深く共鳴します。LLMの急成長する能力を利用すると同時に、その能力が不用意に有害な結果に向けられないよう、厳格に監督し注意を払わなければなりません。

催眠術にかけられたLLMが出現するか?

このブログの冒頭で、これらの攻撃は可能であるが、効果的に拡大する可能性は低いと示唆しました。しかし、今回の実験が示しているのは、LLMに催眠術をかけるには、高々度に洗練された戦術を必要としないということです。つまり、催眠術がもたらすリスクは今のところ低いですが、LLMは確実に進展するまったく新しいアタックサーフェスであることに注意することが重要です。LLMが消費者や企業にもたらす可能性のあるセキュリティー・リスクを効果的に軽減する方法を見極める必要があります。

私たちの実験が示したように、LLMの課題は、有害な行為はより巧妙に実行され、攻撃者はリスクを軽減できるということです。仮にLLMが正当なものであったとしても、使用された学習データが改ざんされていないかどうかを、ユーザーは検証できるでしょうか?あらゆることを考慮すると、LLMの正当性を検証することはまだ未解決の問題ですが、LLMを取り巻くより安全なインフラを構築する上で極めて重要なステップです。

このような疑問が依然として解決されていない一方で、消費者がLLMを目にする機会が増え、LLMが広く採用されるようになったことで、セキュリティー・コミュニティーは、この新たなアタックサーフェスについてよりよく理解し、防御すること、そしてリスクを軽減することが急務となっています。LLMの「攻撃可能性」については、まだ解明すべきことがたくさんありますが、LLMが催眠術にかかるリスクを低減するために、標準的なセキュリティーのベスト・プラクティスがここでも適用されます:

  • 見知らぬ不審なメールに関わらない
  • 不審なウェブサイトやサービスにアクセスしない
  • 職場の会社によって検証され、承認されたLLM技術だけを使用する
  • デバイスを常に最新の状態に保つ
  • 信頼性を常に検証する – 催眠術に限らず、LLMは幻覚やチューニングの欠陥によって誤った結果を出す可能性があります。チャットボットの返答は、信頼できる別の情報源で確認すること。脅威インテリジェンスを活用し、新たな攻撃の傾向や、自社に影響を及ぼす可能性のある脅威に注意しましょう

業界をリードする専門家による脅威インテリジェンスに関する洞察はこちらから。


関連情報

IBMのソリューションとサービス

More セキュリティー・インテリジェンス stories
2020-04-09

社員が企業ネットワークの外にいるときの内部脅威の管理

近年、テレワークが増加傾向にありました。2018年には、完全にテレワークで働いていたアメリカ人は3.6%にすぎませんでした。世界的な気候変動を背景に、多くの経営層が、業務でサポートできる場合にはテレワークへとシフトしてい […]

さらに読む

2020-03-09

ICS関連プロセスを停止できるランサムウェア EKANS

セキュリティーの研究者は、EKANSランサムウェアが組織の産業用制御システム(ICS)に関連するプロセスを停止する能力を持っていることを確認しました。 Dragos はその分析で、EKANSランサムウェアがまず被害者のマ […]

さらに読む

2019-12-20

TrickBot (トリックボット)、年末年始を目前に日本への感染活動を拡大

世界的なセキュリティー研究開発機関であるIBM X-Force のデータによると、最も活発な金融系トロイの木馬型マルウェアであるTrickBot を操る犯罪者組織が、最近になりマルウェア・モジュールの一部を変更するととも […]

さらに読む