本稿は「AIアプリケーションに内在するセキュリティリスク」というタイトルで、「AI環境を保護するためのセキュリティ対策には何が必要なのか」「AI利用におけるセキュリティ対策には何が必要なのか」について解説していきます。

前編となる今回のテーマは「Security for AI」です。

AIとセキュリティの関係性

初めに、AIとセキュリティの関係性について整理します。大きく分けると以下の2つになります。

  • Security for AI
    LLM(大規模言語モデル)/SLM(小規模言語モデル)アプリケーションを含むAI環境を保護するためのセキュリティ対策や、機密情報の漏洩などAIを利用する上でのセキュリティリスクやディープフェイクなどのAIを悪用したサイバー攻撃への対策などが含まれます。

  • AI for Security
    巧妙化するサイバー脅威に対してAIを利用したサイバーセキュリティの強化、手間や高度な経験・知識が要求されるセキュリティ運用にAIを利用することによる負荷軽減などが含まれます。

まずは、「Security for AI」にフォーカスしてお話します。

AIアプリケーションに内在するセキュリティリスク

AI環境のセキュリティを網羅的に考えるには、LLM/SLMを含む周辺環境の理解が必要です。LLMは大規模なテキストデータを学習したAIモデルで、SLMはLLMよりパラメーター数が少なくコンパクトで効率的、高い適応性を備えたものです。

生成AIがテキスト、画像、音声などさまざまな種類のコンテンツを生成する技術の総称であるのに対し、LLM/SLMは生成AIの中でも特に自然言語の理解と生成に特化したモデルで、人間が使うような言語を理解し生成する能力を持っています。

LLM/SLMはRAG(検索拡張生成)やプロンプトエンジニアリングなどの技術を活用し、特定のドキュメントや知識に基づいた回答を生成することも可能なため、社内規程や業務マニュアルなどを手軽に調べられる社内向けサービスとしてチューニングすることも可能です。

RAGの他にも、AIが学習するための元データ、AIに最適なデータを読み込ませるための変換・チューニング、AI自体はソフトウェアのためフレームワークやライブラリ、外部のソースコードやバイナリなどを利用している場合もあります。

また、入出力の観点では人との対話のためのプロンプト、外部アプリとの連携などもあり、周辺環境も含めて一覧化すると下図のようになります。

最新のAIアプリケーション特有のセキュリティ課題トップ10

このような広範なAI環境に内在するリスクとして、OWASPという団体が「OWASP Top 10」というランキング形式のリストを公開しています。

OWASPとは、「Open Web Application Security Project」の略で、Webアプリケーションのセキュリティ向上を目的としたグローバルな非営利団体ですが、AIアプリケーション特有のセキュリティ問題についても2023年から取り組みが追加されました。

OWASPが提唱する最新のAIアプリケーション特有のセキュリティ課題は2024年末に公開された以下の10個です。

1.プロンプトインジェクション
攻撃者が意図的に不正なインジェクション命令を埋め込み、モデルの予期しない動作を引き起こします。

2.機密情報の漏洩
意図せず機密データ(個人情報や財務情報、ビジネスデータなど)を提供してしまうリスクや、それが後にモデルの出力で開示されるリスクがあり、適切なサニタイズが必要です。 3.サプライチェーンの脆弱性
LLMの作成は、多くの場合サードパーティ製のモデルに依存します。そのため、サードパーティ製の事前学習済みモデルやデータにも改ざんやポイズニング攻撃のリスクが及んでいます。

4.データとモデルのポイズニング
トレーニングやチューニングの際などにデータが操作され脆弱性やバックドアが埋め込まれることで、モデルの品質や安全性が損なわれるリスクがあります。

5.不適切な出力処理
LLMによって生成された出力が下流の他のコンポーネントやシステムに渡される前に、検証、サニタイズ、処理が不十分な場合、不適切な出力処理の脆弱性が悪用されると、WebブラウザでのXSSおよびCSRF、バックエンドシステムでのSSRF、権限昇格、またはリモートコード実行が発生する可能性があります。

6.過剰な自律性
プロンプトに応じてアクションを実行するために、関数を呼び出したり拡張機能を介して他のシステムと連携させたりするために過剰な権限や自律性を与えてしまうことで、予期せぬ有害な操作を実行するリスクが増大します。

7.システムプロンプトの漏洩
LLMの内部で使われる重要な設定情報や指示(システムプロンプト)が外部に漏れることで、攻撃者がそれを利用してモデルの動作を操作したり、セキュリティ設定を回避されたりするリスクがあります。

8.ベクトルと埋め込みの脆弱性
RAGを利用するシステムにおいてベクトルと埋め込みの生成、保存、または取得方法における脆弱性があると、有害なコンテンツの挿入、モデル出力の操作、または機密情報へのアクセスが行われるリスクがあります。

9.誤情報の生成
誤情報とは虚偽または誤解を招く情報で、LLM がコンテンツを正しく理解することなく、統計パターンを用いてトレーニングデータのギャップを埋めるときに発生するハルシネーションが代表例です。

10.無制限な消費
LLMの不正な使用によりユーザーに過剰かつ制御されていない推論の実行を許可し、システムリソースが枯渇し、サービス提供が困難になるリスクがあります。

イメージを湧きやすくするためにいくつか具体的な事例を挙げます。No.4の「データとモデルのポイズニング」の攻撃手法として、AIの誤分類を誘発するように細工された入力データ(敵対的サンプル:Adversarial Examples)を利用する「回避攻撃(Evasion Attack)」などがあります。

オリジナルのデータに「摂動」と呼ばれる微小なノイズを加え、意図的に特徴量を変化させることで、人間の目にはオリジナルとの違いは識別できないがAIには摂動によってオリジナルの特徴量が変化しているため誤判定が誘発されやすくなります。

パンダの画像に微小なノイズを加えることで、99%以上の確率でテナガザルに誤判定される例などが報告されています。

  • 出典:EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES

    出典:EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES

No.5の「不適切な出力処理」の攻撃手法としては「モデル反転攻撃(Model Inversion Attacks)」という例があります。いわゆるリバースエンジニアリング攻撃により、AIの学習データを再構成することで窃取する手法です。

具体的には、ランダムに初期化した乱数データを標的AIに入力し、標的AIの勾配を観察して窃取したいデータが属するクラスに対する入力データの誤差が小さくなる方向に入力データの変更を繰り返すことで、入力データを窃取したいデータが属するクラスに近づけていきます。

モデルの出力にノイズを追加して行う学習データの難読化や、モデルクエリで利用可能な情報量を制限していないことで攻撃が成功してしまう可能性が高くなります。

  • Model Inversion Attacksで再構成されたデータ(左)と実際の学習データ例(右) 出典:Model Inversion Attacks that Exploit Confidence Information and Basic Countermeasures

    Model Inversion Attacksで再構成されたデータ(左)と実際の学習データ例(右) 出典:Model Inversion Attacks that Exploit Confidence Information and Basic Countermeasures

本稿では、OWASP Top10を例に、AIアプリケーションに内在するセキュリティリスクについて説明しました。

昨今AIというワードを聞かない日はありません。AIのセキュリティをどう考えるべきなのか、AIとセキュリティの関係性を整理した上で皆さまの理解が深まれば幸いです。

後編では、AIアプリケーションのセキュリティ対策としてSecurity for AIに必要な具体的コンポーネントの説明をゼロトラスト領域との関連性や歴史的背景、スタートアップ企業の買収動向などにも少し触れながらお伝えします。

こちらの記事と併せてご覧いただくことで、リスクと対策が対になって理解できると思いますので、そちらもぜひご覧ください。

著者 遠藤宗正(えんどう むねまさ)

SB C&S 株式会社 ICT事業本部 ネットワーク&セキュリティ推進本部 販売推進統括部 ゼロトラスト推進室 テクニカルマーケティングマネージャー。サイボウズ株式会社、デジタルアーツ株式会社でプロダクトマネージャーを経験し、2021年よりSB C&S株式会社でゼロトラスト領域のテクニカルマーケティングマネージャーに従事。市場動向 Watchと新規製品の目利きに加え、お客さまへの提案活動とパートナーさまへのご支援をゼロトラスト領域全般で行う。