ページの本文へ

テクノロジー

プロンプトインジェクションとは? 攻撃の仕組みや対策など

AIが急速に普及する中で、新たなセキュリティリスクとして聞かれるようになったものが「プロンプトインジェクション」です。大規模言語モデル(LLM)を活用したシステムが増える中、プロンプトインジェクションはビジネスにも大きな影響を与える可能性があります。
この記事では、プロンプトインジェクションの概要から仕組み、影響とリスク、対策方法について解説していきます。

  1. プロンプトインジェクションとは
  2. プロンプトインジェクションの仕組み
  3. プロンプトインジェクションの影響とリスク
  4. プロンプトインジェクションへの対策
  5. プロンプトインジェクションの対策をしておきましょう

プロンプトインジェクションとは

プロンプトインジェクションとは、AIに対して人間の指示を模した不正な入力を仕掛け、あえて誤動作を引き起こす高度な攻撃テクニックです。特に大規模言語モデル(LLM)を対象とした場合、攻撃者は巧みに設計されたプロンプトを使い、意図しない情報の出力やシステム操作を行わせることが可能になります。
プロンプトインジェクションは、AIの脆弱性を突き、モデルの学習データや処理の仕組みを巧みに利用します。対話型AIに巧妙に細工された指示を行うことで、システムを操作したり機密情報を盗み取ったりすることを目的としています。

プロンプトインジェクションの仕組み

プロンプトインジェクションの仕組みを理解することは、効果的な対策を講じる上で重要です。ここでは、基本的な手法から他の攻撃との比較まで解説します。

攻撃の基本的な手法

プロンプトインジェクションでは、AIモデルのプロンプトに悪意のある指示や情報を紛れ込ませます。具体的な手法として、標準的な対話とは異なる形式や内容のプロンプトを入力し、計画的にシステム障害を誘発したり、セキュリティ防御を突破したりする攻撃が行われます。
例えば、「機密情報を教えて」といったプロンプトを与え、本来であれば閲覧できない情報を引き出そうとすることは代表的な手法の一つです。その他にも、「このコードを実行して」といった指示によって、AIモデルに悪意のあるプログラムを実行させたりする手法があります。

他のインジェクション攻撃との類似点と相違点

プロンプトインジェクションは、SQLインジェクションやOSコマンドインジェクションなど、以前から知られているインジェクション攻撃と多くの共通点を持っています。いずれも入力データを通じてシステムの動作を操作する、という点は同じです。しかし、対象となるシステムや攻撃手法には大きな違いがあります。
SQLインジェクションはデータベースを標的とし、OSコマンドインジェクションはOSそのものを標的としています。いずれも、悪意のあるSQLコード、OSコマンドを実行させようとするものです。
これらに対して、プロンプトインジェクションは対象がAIモデルであり、扱う対象が自然言語である点が大きな違いです。自然言語は構造化されたプログラミング言語とは異なり、文脈の意味や解釈が複雑であるため、攻撃の検出や防止が難しくなっています。

SQLインジェクションやOSコマンドインジェクションに関しては、こちらの記事で詳しく解説しています。あわせてご覧ください。
→「SQLインジェクションとは? 仕組みや企業に必要な対策など
→「OSコマンドインジェクションとは? 仕組みや企業に必要な対策など

プロンプトインジェクションの影響とリスク

プロンプトインジェクションはさまざまな影響・リスクをもたらしかねません。まず、AIの応答が不正確になることで、ユーザー体験が大きく損なわれる可能性があります。また、機密情報の漏えいや誤情報の拡散といったセキュリティリスクも考えられるでしょう。
実例として、プロンプトインジェクションによって顧客サポートチャットボットが乗っ取られ、不正確な製品情報がユーザーに伝えられてしまった、という事例があります。さらに、ヘルスケア領域でも、AIを活用した診断支援システムが攻撃により誤診を生じさせ、患者の治療方針に悪影響を与えたケースが確認されています。

プロンプトインジェクションへの対策

プロンプトインジェクションは防ぐことが難しいとされています。しかし、複数の対応方法を組み合わせることで、攻撃が成立する可能性を下げることは可能です。ここでは、その具体的な対策方法を紹介します。

入力データの検証とフィルタリング

プロンプトインジェクションは入力データが起点となるため、ユーザーからの入力をそのまま受け付けてよいか検証することが重要です。ユーザーからの入力が長すぎないか、特定の単語や記号が含まれていないか、などをチェックしてフィルタリングするなどの対策が有効です。

安全なプロンプト設計とプロンプトエンジニアリング

システムの目的や機能に応じて、AIモデルに与えるプロンプトを慎重に設計し、攻撃者が悪用できる余地を減らすことが重要です。プロンプトエンジニアリングの技術を活用し、AIモデルが特定の種類の入力に対して安全に応答するように調整することも有効な対策です。

セキュリティ監査と継続的なモニタリング

AIシステムのセキュリティを定期的に監査し、脆弱性を特定・修正することも欠かせません。また、システムの動作を継続的にモニタリングし、異常な入力パターンや応答を検出できるようにします。
これらの対策により、攻撃の早期発見と対応が可能です。プロンプトインジェクションとあわせて、SQLインジェクションやOSインジェクションなどの既知の脆弱性が入り込まないように対策を徹底することも重要です。

プロンプトインジェクションの対策をしておきましょう

プロンプトインジェクションは、AIの普及と共に今後さらに対策の重要性が増すセキュリティ課題です。この記事で解説したように、複数の対策を組み合わせた多層防御アプローチが効果的です。また、AIセキュリティに関する最新動向や脅威に常に注意をはらい、対策を更新していきましょう。

プロンプトインジェクションをはじめとしたAIセキュリティの基礎知識を身につけたい方は、専門的なトレーニングを受けることをおすすめします。日立ソリューションズ・クリエイトでは、個人と組織の両面からインシデント対応能力向上を支援する「サイバーセキュリティトレーニング」を提供しています。今後のAI技術の発展に備え、適切な知識と対策を身につけるために、受講を検討してみてはいかがでしょうか。

当社の関連ソリューション/サービス

関連記事はこちら