「生成AIが攻撃を受ける」とはどういうこと? LLMの脅威“10選”:LLMの「10大リスク」と対策【前編】
大規模言語モデル(LLM)に基づいた生成AIツールの利用が広がっているが、十分にセキュリティ対策を講じずに使っている組織もあるだろう。LLMを巡る「10大脅威」と、安全利用のこつとは。
人工知能(AI)ベンダーOpenAIのAIチャットbot「ChatGPT」が利用している「GPT」シリーズをはじめ、LLMはビジネスに欠かせない存在になりつつある。このLLMの利用が、ユーザー組織にさまざまなリスクももたらすことは、それほど広くは知られていない。LLMを利用する場合、何に注意が必要なのか。LLMを巡る「10大脅威」とは何か。
LLMの「10大脅威」これだ
ソフトウェアのセキュリティ向上を活動目的とする非営利組織Open Worldwide Application Security Project(OWASP)は、生成AIツールの安全利用のための取り組みを進めている。OWASPはLLMを巡るセキュリティリスクと、それぞれの対策を定義している。OWASPの定義を踏まえ、LLMのユーザー組織が注意しなければならない主な攻撃シナリオをまとめた。
- プロンプトインジェクション攻撃
- 不正出力を利用した攻撃
- データポイズニング攻撃
- LLMへのDDoS攻撃
- LLMの脆弱(ぜいじゃく)性
- 機密情報の漏えい(後編で紹介)
- 安全でないプラグイン(後編で紹介)
- LLMに過剰な機能を持たせること(後編で紹介)
- 過度な信頼(後編で紹介)
- LLMの盗難(後編で紹介)
1.プロンプトインジェクション攻撃
LLMの利用に際して最も注意が必要なのは、プロンプトインジェクションと呼ばれる攻撃だ。この手法では、攻撃者が悪意のあるプロンプト(生成AIへの指示)を入力してLLMを操作。データを盗んだり、マルウェアを実行したりする。プロンプトインジェクション攻撃には、攻撃者がLLMを直接狙う手法の他に、「間接攻撃」もある。間接攻撃では例えば、不正コードを含むWebサイトの要約を依頼して、要約処理開始とともに不正コードを実行させる。
プロンプトインジェクション攻撃のリスクを軽減するためには、以下の対策が有効だと考えられる。
- IAM(IDおよびアクセス管理)ツールを用い、LLMへのアクセスを制限する。
- LLMに重要な変更を加えるに当たり、管理者による承認を必須にする。
2.不正出力を利用した攻撃
攻撃者はLLMへの不正アクセスに成功したら、LLMがユーザーのプロンプトに対して悪意のある出力を作成するよう指示できる。悪意のある出力により、以下の攻撃の実行が可能になる。
- クロスサイトスクリプティング(XSS)
- Webサイトに不正スクリプトを埋め込む
- クロスサイトリクエストフォージェリ(CSRF)
- ユーザーに、悪意のあるリクエストを送信させる
- サーバサイドリクエストフォージェリ(SSRF)
- サーバに、悪意のあるリクエストを送信させる
- 権限昇格
- 管理者権限を取得するなど、より高位のアクセス権限を取得する
不正出力による攻撃のリスクを軽減するためには、以下の対策が有効だと考えられる。
- LLM出力に対し、ゼロトラスト(何も信用せず、全てを検証する考え方)に基づいたセキュリティポリシーを設定する。
- OWASPの「入力検証チートシート」を使い、出力データが安全かどうかを検証する。
- LLM出力に対し、出力エンコーディング(符号化)を実行。LLM出力データをコードから文字に変換し、ブラウザが平文として解釈するようにする。
3.データポイズニング攻撃
LLMは以下を中心に、さまざまな学習データを利用する。
- SNS(ソーシャルネットワーキングサービス)やニュースサイト、求人情報サイト、各種フォーラムなど、インターネットで公開されるコンテンツ
- メールやチャットなど、社内外コミュニケーションのデータ
- 財務やマーケティング、販売のデータ
- 「UCI Machine Learning Repository」といった公開データセット
攻撃者はLLMの学習データに悪意のあるデータを挿入することでLLMをだまし、不正な学習をさせることができる。この手法を、データポイズニング攻撃と呼ぶ。データポイズニング攻撃のリスクを軽減するためには、以下の対策が有効だと考えられる。
- 学習データのソース(情報源)を検証する。特に外部のデータセットを利用する場合に重要だ。
- 学習データをどこから取得するのかに関して範囲を定義し、LLMが意図しない場所からのデータを自動収集しないようにする。
- 目的に応じて、複数のLLMを用いる。異なるLLMを利用していれば、1つがデータポイズニング攻撃を受けても被害の拡大を防げる。
4.LLMへのDDoS攻撃
DDoS(分散型サービス拒否)攻撃とは、攻撃者が標的システムに大量の通信を送信し、過大な負荷によってシステムの障害や停止を引き起こす手口を指す。LLMもDDoS攻撃の標的になり得る。LLMを使用するには、ハードウェアとソフトウェアが必要になる。いずれかがDDoS攻撃で狙われれば、LLMが使えなくなる恐れがある。LLMへのDoS攻撃のリスクを軽減するためには、以下の対策が有効だと考えられる。
- LLMにデータを送る際、データのフォーマットや分量、内容などを検証する。
- 特定のユーザー(IPアドレス)からの入力クエリのみを許可し、許可する数を制限する。
- 入力データの分量を制限する。
- 専用ツールによってSQLインジェクション(正規のSQLクエリに悪意ある操作を挿入し標的のサーバで実行させる攻撃)といった不正な動きを検出してブロックする。
- 通信データ量が多い場合は、複数のサーバに負荷を分散する。
- CAPTCHA(ゆがみ文字列による入力認証)、ハニーポット(攻撃側をおとりに誘導する能動的多層防御)のツールを利用する。
5.LLMの脆弱性
LLMは他のソフトウェアと同様、複数のベンダーが開発したコンポーネントで構成されている。さらにLLMの仕組みはソフトウェアだけではなく、それを実行するためのサーバを中心としたインフラも必要とする。ソフトウェアやハードウェアのどこかに脆弱性があれば、データ盗難やLLMの誤動作などを目的とした攻撃のリスクが高まる。
LLMの脆弱性を悪用した攻撃のリスクを軽減するためには、以下の対策が有効だと考えられる。
- 信頼できるベンダーのソフトウェアコンポーネントのみを使用する。
- コンポーネントを利用する前に、サンドボックス(テスト環境)を使って安全かどうかを確認する。
- プラグイン(拡張機能)をLLMに組み込む前に、安全かどうかをテストする。
- 暗号化によってデータを保護する。
後編は、6つ目以降のリスクを取り上げる。
TechTarget発 先取りITトレンド
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.