ChatGPTの登場によって幕を開けた生成AIの時代。それからわずか数年で、AIは単なる新しい技術ではなく、企業活動や私たちの生活を支える重要な基盤へと急速に進化しました。現在では、多くの企業が業務効率化やナレッジ活用、意思決定支援のためにAIを活用しています。一方で、その活用範囲が広がるにつれ、これまでのサイバーセキュリティでは想定されていなかった新たなリスクも顕在化しています。本記事では、企業におけるAI活用で実際に発生しているセキュリティリスクを取り上げながら、代表的な攻撃手法とその対策について解説します。
AIは、企業の業務や意思決定のあり方を大きく変えつつある基盤技術です。その一方で、適切な管理や対策がなければ、新たなセキュリティリスクの入口にもなり得ます。
現在のAIシステムは、企業のナレッジベースや業務データに直接アクセスしながら回答を生成するケースが一般的になっています。しかし、多くの企業や経営層は、RAG(Retrieval-Augmented Generation)を活用したAIアシスタントが、巧妙なプロンプト操作によって意図せず機密情報を開示してしまう可能性を十分に認識されていないのが現状です。
その一例として、生成AIを用いてSQLクエリやデータ可視化を自動生成するVanna AIで発見された脆弱性があります。Vanna AIでは、ユーザーの質問に応じてAIがPythonコードを生成し、そのコードを実行して可視化を行う仕組みを採用していました。研究者は、巧妙に設計された入力によってAIが生成するコードへ影響を与えられることを実証しました。この事例が示したのは、プロンプトインジェクションが単なる誤回答の問題にとどまらないということです。AIが生成したコードを自動実行する仕組みでは、任意コードの実行や接続先システムへの不正アクセスにつながる可能性があります。
多くの企業では、開発業務やデータ分析、情報整理などにおいて生成AIの活用を推進しています。しかし、その過程で見落とされがちなリスクがあります。従業員が社内コードや機密情報を意図せずChatGPTやClaudeなどの外部サービスへ入力してしまうケースです。入力された情報はサービス提供者側で処理されるため、状況によっては情報漏えいのリスクにつながる可能性があります。
重要なのは、このようなリスクが必ずしも外部からの攻撃によって発生するわけではないという点です。従業員自身の利用行動が、情報流出の起点になることもあります。実際にSamsungでは、従業員による外部生成AIの利用が確認された際、機密情報の入力による情報漏えいリスクを懸念し、AI利用に関する全社ポリシーを策定しました。Amazonも同様に、生成AIへの機密情報入力を制限する方針を打ち出しています。
これらの事例は、AIに関する情報漏えいが外部攻撃だけでなく、正規ユーザーによる利用を通じて発生する可能性があることを示しています。
これまで企業のサイバーセキュリティは、ネットワーク、アプリケーション、データベース、ユーザーアカウントへの不正アクセスを防ぐことを中心に発展してきました。ファイアウォール、侵入検知システム(IDS)、アンチウイルス、アクセス制御などは、長年にわたり企業のセキュリティ対策の中核を担ってきました。しかし、LLM(大規模言語モデル)、RAGシステム、AIエージェントの普及によって、新たな攻撃対象領域が生まれています。従来のシステムがソフトウェアの脆弱性やネットワーク経由の攻撃を前提としていたのに対し、AIは自然言語によって振る舞いを変化させるため、これまで想定されていなかったリスクが発生します。
さらに、生成AIの登場によって、専門的な技術知識を持たない人でも高度な攻撃を試みやすくなりました。攻撃者層の拡大は、企業にとって新たな課題となっています。
従来のサイバーセキュリティ分野には、ペネトレーションテスト、脆弱性診断、セキュア開発プロセス、NISTやISO 27001、OWASP Top 10といった長年の知見や標準フレームワークが存在します。一方で、AIシステムのセキュリティはまだ発展途上です。多くの企業がLLMやRAGシステム、AIエージェントを本番環境へ導入している一方で、AI特有のリスクを包括的に評価できる標準的なテスト手法は十分に確立されていません。その結果、多くの組織では、セキュリティ評価が追いつかないままAI活用が先行しているのが現状です。
その代表例がMicrosoft Copilotで報告された「EchoLeak」です。攻撃者は、一見すると無害に見えるメールに悪意あるプロンプトを埋め込みました。従来のメールセキュリティ製品はこれを問題なく通過させましたが、Copilotがメールを要約・解析した際に、その指示を解釈してしまったのです。従来のセキュリティ製品は正常に機能していたにもかかわらず、AI特有の対策が不足していたことで情報漏えいリスクが発生しました。また、ChevroletのAIチャットボットが巧妙な対話によって「1ドルで車を販売する」と回答してしまった事例も、AIならではのリスクを象徴する出来事として広く知られています。
企業がLLM(大規模言語モデル)、RAGシステム、AIアシスタントの導入を進める中で、従来のサイバー攻撃とは異なる新たな脆弱性が生まれています。これらの攻撃は、ソフトウェアのバグやネットワークの脆弱性を狙うのではなく、AIモデルの情報解釈そのものを標的とします。その中でも、特に注目されているのが「プロンプトインジェクション」です。
プロンプトインジェクションとは、AIへの入力に悪意ある指示を埋め込み、本来実行すべきではない動作をAIに行わせる攻撃手法です。従来の攻撃がソフトウェアの脆弱性やネットワークの欠陥を利用していたのに対し、プロンプトインジェクションはAIの言語理解そのものを悪用します。例えば、次のような文章が挿入されるケースがあります。
この攻撃が特に厄介なのは、自然言語による表現方法が事実上無限に存在することです。特定のキーワードを検知するだけでは十分ではなく、攻撃者は検知を回避する新たな表現を容易に作り出すことができます。前述したMicrosoft CopilotのEchoLeakも、こうしたプロンプトインジェクションの代表的な事例の一つです。
プロンプトインジェクションが入力を通じてAIを操作するのに対し、データポイズニングはAIが学習・参照する情報そのものを汚染する攻撃です。攻撃者は、学習データやナレッジベース、参照情報源に意図的に誤情報や悪意あるデータを混入させます。これは、後から利用できるバックドアを仕込むようなものと言えます。
データポイズニングは、AIシステムのさまざまな段階で発生する可能性があります。機械学習システムでは学習データへの不正なサンプルの混入が、RAGシステムではナレッジベースやドキュメント管理基盤への誤情報の登録が代表例です。例えば、攻撃者が社内ナレッジベースへ誤った情報を書き込んだ場合、AIアシスタントはその内容を正しいものとして参照し、誤った回答を従業員へ提供してしまう可能性があります。間接的な事例としてよく知られているのがMicrosoft Tayです。TayはTwitter上での会話から学習する仕組みを採用していましたが、悪意あるユーザーが組織的に差別的な発言やヘイトスピーチを投稿した結果、その振る舞いが大きく歪められてしまいました。
AIが企業の重要な知的資産となる中で、攻撃者の目的はシステムへの侵入だけではなくなっています。近年注目されているのが、AIモデルそのものを複製しようとする「モデル抽出(Model Extraction)」です。従来のサイバー攻撃がサーバーやデータベースへの不正アクセスを目的としていたのに対し、モデル抽出はAIの意思決定パターンそのものを再現しようとします。これは特に、独自データや長年の研究成果を活用して構築された企業独自のAIモデルにとって深刻なリスクとなります。
例えば、長年にわたる顧客対応データを学習したカスタマーサポートAIがあるとします。攻撃者は、そのチャットボットに対して数千〜数百万回にわたり質問を繰り返し、回答を収集します。十分な量の入出力データを蓄積できれば、その情報をもとに元のモデルに近い挙動を示す代替モデルを学習させることが可能になります。攻撃者はソースコードや学習データへ直接アクセスする必要はありません。実際に研究者たちは、商用機械学習APIに対するモデル抽出攻撃を繰り返し実証しており、大量のクエリだけでもモデルの挙動を高い精度で再現できることを示しています。
具体的な事例としては、2023年のMeta LLaMAリーク事件があります。このモデルは一部の研究者に限定提供されていましたが、公開からわずか数日でモデルの重みがオンラインに流出しました。その後、数千ものコピーが出回り、競合他社までもが派生モデルを構築する事態となりました。
AIに対する攻撃手法を理解したうえで、次に重要なのは適切な防御策を講じることです。
プロンプトインジェクションへの対策が難しい理由は、LLMが「指示」と「データ」をどちらも自然言語として処理するためです。従来のソフトウェアのように、コマンドとデータを明確に分離できないため、単一の対策だけでリスクを排除することはできません。そのため、AIシステム全体で多層的な防御を構築することが重要になります。
まず必要なのは、直接入力だけでなく間接的な入力も含めた検査とサニタイズです。単純なキーワードフィルタリングだけでは不十分であり、多言語による表現や言い換えにも対応できる仕組みが求められます。また、AIに過剰な権限を与えないことも重要です。仮にプロンプトインジェクションが成功したとしても、アクセス権限が適切に制限されていれば被害を最小限に抑えることができます。
RAGシステムでは、システムプロンプトとユーザー入力、取得したコンテキストを適切に分離することも有効です。多くのインジェクション攻撃は、取得したドキュメントが指示として解釈されてしまうことで成立するためです。さらに、監査ログとモニタリング体制の整備も欠かせません。ログを蓄積することで、AIがどのような情報をもとに判断したのかを追跡でき、インシデント調査やコンプライアンス対応にも役立ちます。
データポイズニングは、AIが出力を生成するはるか前の段階で発生するため、特に発見が難しい攻撃です。プロンプトインジェクションとは異なり、汚染されたデータは学習データやナレッジベースの中に長期間潜伏する可能性があります。不正確な出力が現れた時点では、汚染の発生源を特定することが極めて困難な場合もあります。
そのため、学習前の段階でデータソースを検証し、信頼できる情報のみを利用することが重要です。また、データの出所や変更履歴を追跡できるようにし、バージョン管理を徹底することも有効な対策となります。さらに、AIの出力内容を継続的に監視することも重要です。不自然な推奨、ポリシーとの矛盾、事実誤認などが見られた場合、背後でデータポイズニングが発生している可能性があります。信頼できる情報源であっても、常に正しいとは限らないという前提で運用することが求められます。
モデル抽出は、正規の利用者を装いながら実行できるため、従来の不正アクセス対策だけでは十分に防ぐことができません。攻撃者は大量の問い合わせを行い、AIの挙動を分析することでモデルを再現しようとします。そのため、レート制限やクエリ数の制限は有効な対策の一つです。問い合わせ回数を制御することで、攻撃者が十分なデータを収集するまでのコストを大きく引き上げることができます。
また、API認証やアクセス制御を強化し、認可されたユーザーのみが利用できる環境を整備することも重要です。完全にリスクを排除することはできませんが、説明責任の確保と抑止力として機能します。さらに、技術的な対策だけでなく、利用規約やライセンス契約など法的な枠組みを整備することも、モデルの不正複製に対する抑止力となります。
| 攻撃 | 対策 |
|---|---|
| プロンプトインジェクション 攻撃者が悪意のある指示を埋め込み、モデルの挙動を操作する。 |
入力の無害化 · コンテキストの分離 · システムプロンプトの強化 · 出力フィルタリング · レッドチーム演習&敵対的テスト · 監視&ログ記録 |
| データポイズニング 悪意あるデータや誤情報を混入させ、知識・学習データを汚染する。 |
データの出所管理&検証 · アクセス制御 · バージョン管理&監査ログ · コンテンツモデレーション(適切な内容への検閲・管理) · 継続的なデータ整合性監視 · 定期的な正確性レビュー |
| モデル/エージェントの悪用 攻撃者がAIエージェントを騙したり、モデルの機能を抽出して悪用・複製を行う。 |
最小権限アクセス · 実行前の確認&承認 · ツール&APIの制限 · レート制限 · 異常検知 · 緊急停止機能&インシデント対応 |