入力遮断・権限分離・異常検知による生成AI安全設計
参照したAIgram
目次
概要
生成AIを業務に入れるとき、「危ないと言われても、何から手をつければいいのか分からない」と感じる方は多いと思います。安全対策は一つの製品で片づく話ではなく、役割の違う仕組みを重ねて組み立てるものです。
NTTデータは接客AIエージェントで、Azure AI Content Safetyによる不適切な入力のブロック、Defender CSPMによるAI関連リソースの構成管理と脆弱性検知、Microsoft Defender for AIによる間接的プロンプトインジェクション攻撃の検知とシステム内部での異常な振る舞い検知を組み合わせ、機密データを扱う構成としています Microsoft Defenderで守るNTTデータ接客AI。豊田自動織機では、Sight Machineのソフトウェアが自社のAzureテナント内で稼働し、データが外部に出ない構成をとっています 豊田自動織機のAzureインダストリアルAI塗装不具合25%減。スクウェア・エニックスは『ドラゴンクエストX オンライン』の「おしゃべりスラミィ」で、回答の安全対策、再送処理、定型文への差し替えを組み合わせ、世界観を損なう応答やエラー表示を抑える仕組みを構築しました ドラクエXのGemini搭載AI相棒スラミィ。
この3社の構成を並べると、生成AIの安全対策は「入口で何を止めるか(入力遮断)」「データと構成をどこに置くか(権限分離)」「何を検知して、その後どう応答するか(異常検知)」の三つに分けて決められることが読み取れます。そして対策は一度作って終わりではなく、更新を前提に維持する体制まで含めて設計されています。
生成AIの安全対策は、入力遮断・権限分離・異常検知の三つに役割を分け、検知した後の応答と、対策を更新し続ける体制まで含めて決めることが重要です。
安全対策は入口・権限・運用の三層で構成する
NTTデータの接客AIエージェントで目を引くのは、一つの仕組みですべてを守ろうとしていない点です NTTデータがAzure OpenAIで接客AIを安全に開発。適用されている対策は、次のように役割ごとに分かれています。
- 入力自体のブロックは、Azure AI Content Safetyのフィルタリング機能が担当する
- AI関連リソースの構成管理や脆弱性検知は、Defender CSPMが担当する
- 高度な間接的プロンプトインジェクション攻撃の検知と、システム内部での異常な振る舞い検知は、Microsoft Defender for AIが担当する
この分け方は、対策を考えるときの入口としても使えます。守る場所が「入口」「権限と構成」「運用中の振る舞い」に分かれているため、自社の構成でどこが手薄かを一つずつ確認できます。
役割を分けて組む考え方は、安全対策に限りません。東芝は「Meister Apps 工程改善アシストパッケージ for SMTライン」で、Azure OpenAIをベースに計画・分析・改善提案の各エージェントを連携させるMVPを開発しています 東芝のAzure OpenAI製造ライン原因究明
。機能を一つの塊にせず、役割ごとに分けて組み合わせるという設計は共通しています。
生成AIの安全対策は、入口・権限と構成・運用中の振る舞いという三つの層に分け、それぞれに担当する仕組みを割り当てます。
入力遮断はフィルタとブロックリストの二段で構成する
まず入口です。NTTデータは、差別的・暴力的プロンプトや敵対的プロンプトを、Azure AI Content Safetyのフィルタリング機能で入力自体をブロックしています 。AIに渡す前に止めているという点が要点です。生成された回答を後から確認するのではなく、入口で処理を止めれば、そもそも不適切な回答が作られる余地がなくなります。
ただし、フィルタリング機能だけでは、自社の事業に固有の危険な言葉までは扱えません。そこでAI Content Safetyに備わっているブロックリスト機能が使われます。この機能は任意の文字列の入力をブロックでき、新たなリスクや脅威に対応した言葉をリストアップすることで、より強固にガードを固められるとされています 。
- 一般的に不適切とされる入力は、フィルタリング機能で止める
- 自社や業界に固有の危険な言葉は、ブロックリストに登録して止める
- 新しいリスクが分かった時点で、ブロックリストの語を追加する
入力遮断は、標準のフィルタリング機能と、自社で語を追加できるブロックリストの二段で構成します。
脅威情報を活用してガードレールを整備する
ブロックリストの弱点は、登録する語を誰かが見つけ続けなければならない点です。この点についてNTTデータは、顧客自身で新たなリスクや脅威を追跡し続けるには困難が伴うと説明しています 。
そこで採られているのが、Microsoft Defender 脅威インテリジェンスが提供する情報を活用する方法です。外部から供給される脅威情報を使うことで、比較的容易に強固なガードレールを整備できるとしています 。
自社だけで新しい攻撃手法を追い続けるのは、専任の担当者がいる組織でも簡単ではありません。脅威情報の供給元を対策の一部として組み込んでおくと、ブロックリストの更新を自社の調査力だけに頼らずに済みます。
権限分離はデータの置き場と構成管理で決定する
次に、データと構成をどこに置くかです。豊田自動織機の塗装工程の取り組みでは、Sight Machineのソフトウェアが豊田自動織機のAzureテナント内で稼働しているため、データが外部に出ることはないと説明されています 豊田自動織機、Azureで塗装不具合25%削減
。分析に使うデータは機器センサーやプロセスパラメータ、温湿度など約400変数に及びますが、それらが自社の管理下から出ない構成になっています。
同社の事例では、Azureプラットフォームを活用することで、セキュリティとガバナンスが当初から組み込まれている点も挙げられています 。後から付け足すのではなく、基盤の選定時点で決まっている部分です。
そのうえで、構成そのものを監視する仕組みが要ります。NTTデータは、AI関連リソースの構成管理や脆弱性検知にDefender CSPMを活用しています 。設定を一度正しくしても、運用の中で変わっていくためです。
- データがどのテナント・どの管理範囲で処理されるかを、基盤の選定時に確認する
- AIが参照するデータと、外部に出してよいデータの範囲を分ける
- AI関連リソースの構成と脆弱性を、継続的に確認する仕組みを入れる
権限分離は、データが自社の管理範囲から出ない構成をとることと、その構成を継続的に確認することの二つで成り立ちます。
異常検知は攻撃と内部の振る舞いを分けて監視する
三つ目が異常検知です。NTTデータは、悪意あるユーザーによる高度な間接的プロンプトインジェクション攻撃の検知と、システム内部での異常な振る舞い検知の両方に、Microsoft Defender for AIを活用しています 。見ている対象が二つに分かれている点が参考になります。外から来る攻撃と、システムの内側で起きている想定外の動きは、別のものとして監視されています。
異常を見つける仕組みは、AIの安全対策に限った話ではありません。豊田自動織機では、ダッシュボードの共有とほぼリアルタイムの可視化により、管理者や技術者が異常なパターンを早期に発見し、同じ情報をもとに要因について話し合い、迅速に対策を講じられるようになりました 。検知した情報が関係者に共有されていることが、早期の発見と対応につながっています。
異常検知は、外部からの攻撃と、システム内部の想定外の振る舞いを分けて監視し、検知した情報を関係者が見られる状態にします。
検知後の応答は定型文への差し替えで統一する
検知の次に決めるのは、止めた後に利用者へ何を返すかです。ここで参考になるのが、スクウェア・エニックスの「おしゃべりスラミィ」です。この対話型AIパートナーは、回答の安全対策、再送処理、定型文への差し替えを組み合わせ、世界観を損なう応答やエラー表示を抑える仕組みを構築しています
。
具体的には、エラーが出たときに「よく聞こえなかったデスら」というスラミィ自身の発話に差し替えることで、エラー表示を避ける設計をとっています 。利用者から見れば、システムのエラー画面ではなく、キャラクターが聞き返しているだけに見えます。
入力を止めたり、応答に失敗したりする場面は必ず発生します。そのときに何を返すかを決めていないと、素っ気ないエラー文言が利用者に届き、サービスの印象を損ねます。
- 入力をブロックしたときに返す文言を、あらかじめ用意する
- 一時的な失敗は、再送処理でやり直す
- それでも返せない場合は、サービスの雰囲気に合った定型文へ差し替える
検知や失敗が起きた後に利用者へ返す文言まで決めておくことで、安全対策が利用者の体験を損なわずに済みます。
構成の作り込みを減らし工数を対策に配分する
安全対策に手間をかけるには、その分の時間が必要です。スクウェア・エニックスは、複数のAIを束ねるマルチエージェント構成に、Googleが公開したオープンソースの開発キットであるAgent Development Kit(ADK)を使いました。組み合わせるだけで骨格が組めるため作業を効率化でき、浮いた工数はセキュリティ強化に回しています 。
豊田自動織機でも、マイクロソフトおよびSight Machineとの連携により、社内でデータ基盤の構築に何年も費やすことなく、優れたものづくりに集中できると述べられています 。
自前で作る範囲を絞ると、その分の時間を安全対策に充てられます。基盤やエージェントの骨格を既存の仕組みで済ませるかどうかは、開発の速さだけでなく、対策にどれだけ手をかけられるかにも関わる判断です。
対策は更新を前提に維持する
最後に、対策を続ける体制です。NTTデータは、今後現れるであろうリスクや脅威にも即座に対応し、導入済み企業のビジネスニーズにも即応できる開発体制を維持し続けるとしています。導入を控えているMicrosoft Purviewをはじめ、Microsoft Defenderファミリーの製品群を今後も積極的に活用していく方針が示されています 。
その理由として挙げられているのが、これらの製品はAIの進化にあわせて常にアップデートされるため、新たな脅威にも迅速に対応できる体制を維持できるという点です 。
生成AIをめぐる攻撃手法は変化し続けます。導入時点で完成する対策はなく、更新され続ける仕組みを選ぶこと自体が、対策の一部になります。
安全対策は導入時に完成するものではないため、更新され続ける仕組みを選び、新たな脅威へ対応する体制を維持します。
結論
生成AIの安全対策は、入力遮断・権限分離・異常検知という三つの役割に分けて設計できます。
NTTデータは、入力遮断をAzure AI Content Safety、リソースの構成管理と脆弱性検知をDefender CSPM、攻撃と異常な振る舞いの検知をMicrosoft Defender for AIというように、役割ごとに分けて組み合わせ、機密データを扱う接客AIエージェントを実現しました 。豊田自動織機は、自社のAzureテナント内でソフトウェアを稼働させてデータを外部に出さない構成をとり、共有ダッシュボードによる可視化で異常なパターンの早期発見につなげています 。スクウェア・エニックスは、安全対策・再送処理・定型文への差し替えを組み合わせ、検知した後に利用者へ何を返すかまで含めて設計しました 。
ここまでの事例をまとめると、設計の手順は次のように整理できます。
- 入力を止める仕組みを、標準のフィルタリング機能と自社で語を追加できるブロックリストの二段で用意する
- データが自社の管理範囲から出ない構成を選び、AI関連リソースの構成と脆弱性を継続的に確認する
- 外部からの攻撃と、システム内部の異常な振る舞いを分けて監視し、検知した情報を関係者で共有する
- 検知や失敗が起きた後に利用者へ返す文言を、定型文として用意する
- 新たな脅威に合わせて、ブロックリストや利用する製品を更新し続ける体制を決める
難しい発想は必要ではなく、入口・権限・運用中の振る舞いという三つの場所に分けて、それぞれ何で守り、止めた後に何を返すかを一つずつ決めていくことが大切です。