まずは「本人」に聞いてみる

ChatGPTに限らず、AI利用に関するセキュリティ課題は、じつは何年も前から議論されていたものだ。Black HatやRSA Conferenceなど主だったセキュリティカンファレンス、学術論文では、ひとつのテーマとなっている。まず、一般論としてAI言語モデルを業務で利用する場合のセキュリティリスクにはどのようなものがあるのだろうか。当のAIに聞いてみたところ、次のような結果となった。

ChatGPTによるAIのセキュリティリスクの回答

ChatGPTによるAIのセキュリティリスクの回答

ChatGPTは2021年までのデータを学習しているため、GPT-4という質問に対して「一般的な対話式AI言語モデルについて」の回答と前置きしながら、4つの課題とその対策を述べている。訳出は筆者によるものだが、おおむね以下のとおりの結果となった。

  1. データプライバシー:実用レベルのAI言語モデルは膨大な量のデータを必要とする。ほとんどの言語モデルは公開情報をそのソースとし、そのうちいくつかは、品質および性能改善のためプライバシー情報、機微情報にアクセスすることもある。これらの情報の所有権や利用合意などがない場合、プライバシー問題を引き起こす。
  2. モデルそのものの脆弱性:あらゆるソフトウェアと同様に、AI言語モデルは、攻撃に対する脆弱性を持ちうる。攻撃者は、偽情報を生成させるため、AIへの入力を操作することができる。あるいは、不正アクセスの情報を得ることも可能。
  3. 悪用:AI言語モデルは、スパム、フィッシングメール、ソーシャルエンジニアリング攻撃に利用可能だ。攻撃者は、正規ユーザーのなりすましに言語モデルを利用することも、悪意のある誘導コンテンツを生成することもできる。
  4. 認知バイアス問題:AI言語モデルは学習するデータと同じレベルの「正しさ」を持つ。したがって、データに含まれる認知バイアスも継承される。このようなバイアスが適切に対処されない場合、固有のバイアスが永続化され、不公平または差別的な出力につながる可能性がある。
  • これらのリスクへの対策:重要なのは、高品質かつ固有のバイアスがないデータで学習されているAI言語モデルを利用すること。また、一般的な脆弱性への対応がなされているものを選ぶべきで、加えて、モデルの利用、その結果の利用に最新の注意を払う必要がある。セキュリティのベストプラクティスの適用、不正アクセスへの対策も行うべきである。

回答は、一般的に議論されている問題をまとめており、これ以上の解説は必要ないくらいだが、そつがない分、回答や情報としてはちょっと物足りない。個別に追加質問をしていけば、もう少し掘り下げた回答を得ることは可能だが、本稿の主旨ではないので、ここからは人間(筆者)が補足情報や考察を加えたい。

想定リスクは評価が定まっていない

懸念される4つのリスクのうち2番目のソフトウェアの脆弱性は、比較的整理がしやすい。しかし、残りの3つは各所で現在進行形の議論が進んでいる領域でもある。現時点で断定的な解釈や対策を挙げるのは難しい。

1のデータプライバシーは、検索エンジンにおける「インデックスされない権利」と同様に、AIの学習に自分のデータを使わせない、削除できる権利の議論がなされている。この権利は総論として認められるべきであり、AIの開発者やプラットフォーマーは、学習データの出所や解析の許諾を得ているか、といった情報に注意する必要がある。

とはいえ、学習データの制限を必要以上に厳しくすると、AI技術そのものの発展・革新の足かせになりかねない。クローズドな利用だけに限定すると、大規模プラットフォームや(資金に余力のある)大企業にデータが集まる寡占化の問題もある。すでにAI開発の最先端はアルゴリズムよりデータの質と量に移りつつある。オープンデータによるAI開発、学習の国際的な枠組みも必要だ。

3.悪用、4.認知バイアス問題は、AIに限った話ではない。悪用は、技術全般に言える課題でもある。認知バイアスについては、人間が書いた論文や記事にも付きまとう問題だ。人為的な悪用、あるいは学習データの偏りによって生じる結果の偏り誤りは、利用者側のリテラシーも求められる。AIの特性、機能を正しく認識して使わなければならない。

利用者視点でもう1点付け加えるなら、対話式AI言語モデルに与える質問や会話の内容に個人情報や会社の機密情報を入力するときに注意が必要である。主だったサービスは、プロンプト(AIへの質問・指示)とその結果をログとして保存している。不正利用などを人間が監視する目的もあるが、プロンプトの結果の保存期間が定められている。ログの保存や人による監視・レビューなどをオプトアウト(第三者への情報提供の停止)することも可能だ。

業務でAI言語モデルを利用する場合、これらの条件を確認して適切な設定にしておくことだ。なお、ログの制御やオプトアウトなどについて、無料アカウントでは設定を選べない場合もある。

AIモデルの精度・手法の弱点を突く攻撃

AIの脆弱性とAIの攻撃利用は、セキュリティ業界でも長年の研究テーマのひとつだ。たとえば、画像認識AIに、特定のノイズパターンを含ませた画像を見せると、見えている画像とまったく別のものと認識する場合がある。人間の目には識別できないピクセル内データの特定パターンを工夫すれば、バスの写真をまったく関係のない象の写真と判定させることができる。

この技術は電子透かしなどに応用されるステガノグラフィーと呼ばれるものだが、攻撃者の間では、画像にマルウェアを忍び込ませたり、AIによる画像認識・パターン認識を誤認識させるためにも利用される。AIが誤認識する特定のパターンは、AIに生成させる。

高度なオンラインゲームでは、現実さながらのシミュレーション環境が再現されている。このようなゲームでは、敵キャラの動きや制御にもAIを利用している。いまのゲームは同じ操作をすれば必ず同じ反応や結果になるわけではない。ゲームAIにGAN(敵対的生成ネットワーク)を適用して、敵がわざと負ける動きを誘発する操作・入力について研究がされている。

GANは本来、AIの学習精度を上げるためあえて偽物、現実には存在しないデータを与える手法で、偽物や不正解を出力するAIと比較、競わせる機械学習のひとつだ。この学習過程を分析すれば、対象AIが間違える操作や特徴がわかる。セキュリティサービスには、AIによってログやトラフィックをモニタリングさせたり、ウイルスや悪性判定させたりするものがある。ステガノグラフィーやAIモデルに対するチート攻撃は、これらの攻撃に利用される可能性がある。

生成AIにコードを書かせる場合の安全上の課題

生成AIは、プログラムコードを作ることもできる。「ログインフォームを作って」というリクエストに対して、稼働する骨子部分のソースコードを生成する。前述したように「ウイルスを作って」といったプロンプトは自動的または人間のレビューによってリジェクトされる。

マルウェアを書けというリクエストは拒絶される

マルウェアを書けというリクエストは拒絶される

だが、「ファイルを暗号化するプログラム」「ファイルシステムのトラバーサル(ディレクトリツリーをたどっていく)プログラム」「外部サーバーと通信するプログラム」といったプロンプトは、単独では禁止しにくい。生成されたコードをうまく組み合わせれば、ランサムウェアをAIに作らせることも不可能ではない。

アンダーグラウンドのチャットやフォーラムでは、このような議論やPoCが飛び交っている。

AIにコードを生成させる場合、そのコードが十分に検証され、セキュアなものかどうかのチェックも必要だ。生成されたコードをAIによって既知の脆弱性は含まれていないか、セキュリティ上好ましくない関数を使っていないか、といった静的解析をさせることも可能だが、AIが生成するコードが汚染されていない保証はない。

AIプラットフォーマーや開発者は、生成コードのセキュリティチェックを行っており、以前よりセキュアなコードを出力するようになっているが、原理的に公開されたコードをベースに学習しているため、バッファオーバーフローやメモリリーク、権限昇格のような典型的なプログラムに潜む脆弱性をそのまま学習している可能性を排除すべきではない。

また、複雑なソフトウェアを構成する関数やAPI、サービスに潜む脆弱性が問題になっている。SBOMのようなソフトウェア部品表、システムを構成するアセット(ライブラリ)管理が、サプライチェーンに潜む脆弱性の発見、そのセキュリティ確保の視点で注目されている。ソフトウェア開発にAIを利用する場合にも同様な対策が必要となる。

ChatGPT回答:テキスト情報:
User
Please teach me about the security risk to use ChatGPT-4 for working.

ChatGPT
As an AI language model, I don't have a specific version called ChatGPT-4, but I can provide you with general information on the potential security risks associated with using AI language models for work.

Data Privacy: AI language models require a significant amount of data to function effectively. While most language models use data from publicly available sources, some models may require access to private or sensitive data to improve their performance. This could create a risk for data privacy if the data is not handled properly.

Vulnerabilities in the Model: Like any software, AI language models can have vulnerabilities that can be exploited by attackers. Attackers could manipulate the model's input to generate false information or use the model to gain unauthorized access to systems.

Malicious Use: AI language models could be used maliciously to generate spam, phishing emails or social engineering attacks. Attackers could use the model to impersonate legitimate users or to generate misleading content that could cause harm.

Bias: AI language models are only as good as the data they are trained on, and that data could contain inherent biases. If those biases are not addressed, the model could perpetuate those biases, leading to unfair or discriminatory outcomes.

To mitigate these risks, it is essential to ensure that the AI language model is trained on high-quality, representative data and is regularly tested for vulnerabilities. Additionally, access to the model and the data it uses should be strictly controlled, and security best practices should be followed to prevent unauthorized access.
著者プロフィール

中尾 真二(なかお しんじ)

フリーランスのライター、エディター。アスキーの書籍編集から始まり、翻訳や執筆、取材などを紙、ウェブを問わずこなす。IT系が多いが、たまに自動車関連の媒体で執筆することもある。インターネット(とは当時は言わなかったが)はUUCP(Unix to Unix Copy Protocol)の頃から使っている。