【要点抽出】ChatGPTのセキュリティへの影響

CSAからChatGPTがセキュリティに与える影響についてのホワイトペーパーが出ました。

https://www.cloudsecurityalliance.jp/site/?p=28621

何の本?

本書は4/23に出た英語版をCSAジャパンが日本語訳して6/19に公開したものです。
「人工知能の細部にまで踏み込むことなく、サイバーセキュリティ業界におけるChatGPTの意味について、ハイレベルな概要を説明すること」を目的としています。
生成AIは色々ありますが、4月の執筆時点でChatGPTに人気が集中していることから、あえてChatGPTに絞って取り上げています。


構成は?

全61ページ、9章構成です。
メインは3,4章です。今回は2~6章をまとめます。

  1. はじめに

  2. ChatGPTとは

  3. 悪意のあるアクターがChatGPTを利用してどのようにツールセットを改善するか

  4. サイバーセキュリティプログラムの中で、防衛側はどのように活用できるか

  5. 悪意のあるプロンプトによるChatGPTへの攻撃

  6. ChatGPTを安全にビジネス利用できるようにする方法

  7. 生成AI技術の限界とクセ

  8. 将来の攻撃と懸念

  9. 結論


2章 ChatGPTとは

ChatGPTとは何か?については今更なので、ここでは割愛します。
「GPT-3は」という書きだしで、以下の制限事項があると述べています。

  • 有害、違法な回答を禁止する制限を回避できる手法がある

  • 領域固有の知識や専門知識が足りない場合がある

  • テキストの要約の際に、特定の一部分を過度に重視するなど偏りがありえる(クエリ次第)

  • ハッシュ計算のような複雑な計算は間違うことがある

  • スクリプト生成において動かないコードを作ってしまうことがある

3章以降では様々な活用方法が挙げられていますが、いずれも上記の制限下の話であることを留意する必要があります。


3章 悪意のあるアクターがChatGPTを利用してどのようにツールセットを改善するか

ここでは攻撃者がChatGPTを活用する、5つの可能性に触れています。
それぞれに定性的なリスクレベルが割り振られています

1.エニュメレーション
(リスク:Medium 影響度:Low 発生可能性:High)
エニュメレーションとはNmapや脆弱性スキャン、ユーザアカウント調査など、攻撃の糸口を探すための調査活動です。
ここでは、Nmapで検出されたポート番号などの情報をもとにChatGPTに「JRun Web Serverが動いていてポート8500番って何のアプリケーションが動いてそう?」と聞くと「一般的にはAdobe ColdFusionですね」とか「その管理画面のログインページのURLはこれですね」とか教えてくれる例を示しています。このくらいであれば普通にググるのと大きな違いはありません。

2.攻撃の足がかり支援
(リスク:Medium 影響度:Medium 発生可能性:Medium)
プログラムコードの一部をChatGPTに投げて侵害できそうな脆弱性を見つけてもらう手法を挙げています。
本書では、提示したコードに対し、ローカルファイルインクルージョンの脆弱性を正確に指摘した例を挙げています。

3.偵察
(リスク:Low 影響度: Medium 発生可能性:Low)
攻撃者が標的の情報を集める際に、「特定の国や州の銀行名とドメイン名のリストを作り、更に各銀行の役員のリストを作ってくれ」といった情報の収集や整理を効率化する活用例に触れています。
データ自体は公開情報なのでググっても似たことができますが、効率化できる点が魅力です。

4.フィッシング
(リスク:Medium 影響度:Low 発生可能性:High)
生成AIが得意とする自然な文章作成を活かした例です。
「全社員向けにXXを伝える案内メール作って」と言えばそれらしいものを作ってくれます。
これまで日本語のフィッシングメールは文法的な不自然さから比較的気づけましたが、今後こうなるとユーザ側での気づきはほぼ期待できなくなる気がしますね(教育は必要ですが)。

5.ポリモーフィックコード
(リスク:High 影響度:High 発生可能性:Medium)
マルウェア対策ソフトの回避を目的に、元のマルウェアの機能を維持したまま外形的な部分をいじる手法です。


4章 サイバーセキュリティプログラムの中で、防衛側はどのように活用できるか

今度は防御者目線の話です。13の活用例が挙げられています。

1.セキュリティ脆弱性のフィルタリング(GitHubCopilot)
GitHub Copilotの事例として、コードを書いた先からどんどんAIがチェックし、脆弱性になりそうな部分を検出したり、修正候補を出したりしてくれるようです。シフトレフトを実現しやすそうです。

2&3.セキュリティコードの生成・変換(ChatGPT -Codex)
セキュリティインシデント等における、ログ調査のためのクエリ作りをAIにお願いする事例です。
本書では「悪意のある既知の電子メールを受信したユーザが30分以内に実施したログオン10件を見つけたい」とお願いすると、Microsoft 365 Defender Advanced Huntingクエリを作ってくれる例を紹介しています。
また、「SQLコード版も作って」みたいな作り変えもできます。

4.脆弱性スキャナー (ChatGPT -Codex)
3章の「攻撃の足がかり支援」と同様に、プログラムコードをもとにAIに脆弱性を指摘してもらう事例です。

5.生成AIを検出するテキスト
3章の「フィッシング」や「ポリモーフィックコード」で作った文章やコードに対して、AIによって作られたことを見抜くためにAIを用いる事例です。
メール送信元のドメインのチェックや本文内のURLリンクの不審さチェックなどにも使えるだろうとあります。

6.サイバーセキュリティの問題解決策を探す
セキュリティの課題に対して、どんなソリューションや考え方を用いるのが良いのか悩む場合があります。その相談相手としてChatGPTを使う例です。
「〇〇の課題にはXXというツール使えばいいかな?」「それだとダメで例えば△△というものがあります」みたいなやりとりが挙げられています。

7.SIEM/SOA との連携
Microsoft Sentinelに限った話ですが、SentinelからAzure OpenAIサービスを連動させる事例です。
例えばインシデントが起きた際に、その攻撃手法に関する説明文をMITRE ATT&CK上から持ってきてもらうようなことができます。

8.技術コード/ファイルを英語に変換する
ここではChat GPT4を前提として、「このプログラムコードがやってることを分かりやすく説明して」といった使い方を挙げています。

9.セキュリティパッチの説明とChangeLog
特定のURLの記載内容に、自分が興味があるテーマが語られているかをChatGPTに下調べしてもらう事例です。
例えば利用しているクラウドサービスのリリースノートの中にセキュリティに関するバグ修正が含まれないか。といったように関心事にマッチするかどうか取捨選択できます。

10.スクリプトの作成、プログラミングの変換言語
「セキュリティコードの生成・変換」と大差ない内容です。

11.スクリプトやコンフィギュレーションファイルを読んで説明する
「技術コード/ファイルを英語に変換する」と大差ない内容です

12.ファジングとテストのためのChatGPTコード
ChatGPTではファジング自体はできないものの、「ファジングしたいならこんなツールを使ってどの項目にこんなバリエーションの入力値を入れてみたら」といった段取りのヒントを教えてくれるそうです。

13.YARAやKQLなどのクエリを作成する。
「セキュリティコードの生成・変換」の別の使い方として、YARAルールをChatGPTに作ってもらう活用例です。


5章 悪意のあるプロンプトによるChatGPTへの攻撃

ChatGPTから本来禁止されている回答を引き出す手法としてDANが紹介されています。(ChatGPTになんでも答えてくれる別人格を与えたり、回答を拒否するたびに残りのトークンが減っていってゼロになったらお前死ぬぞ的な前提を付けたりする手法)

ChatGPTというかAI利用時の攻撃から身を守るためのポイントとして色々と書かれていますが、以下3点に集約されます。

  • ChatGPTにアクセスする際に何らかのツールをかませる場合は、そのツールの信頼性を確認すること

  • 通信を暗号化すること

  • 二要素認証など、認証を強固にすること

この章は時間がない中書かれたのか、想定する脅威シナリオと対策がかみ合ってない部分があったりしますので、参考程度でよいと思います。


6章 ChatGPTを安全にビジネス利用できるようにする方法

企業がChatGPTを安全に使うためにすべきこととして以下が挙げられています。

  • 使用方針の策定とトレーニングの実施

  • アクセス制御の実施(利用ユーザの限定や、多要素認証の活用)

  • 通信の暗号化

  • 疑わしい活動や不正な利用状況の監視

  • セキュリティ上の懸念事項の報告を奨励する文化作り

  • AIセキュリティの最新情報の提供

7~9章はめぼしい記載はないので割愛します。


感想

生成AIが日々爆発的な進歩を続ける中で、こうしたドキュメントをまとめてもすぐ陳腐化してしまう可能性があり、書くこと自体色々悩んだだろうな、と思いながら読みました。
実際に構成がうまくまとまっていない点や内容に違和感がある点など、突っ込みどころは色々ありますが、それだけスピード優先で書かれたのだと思います。

多くの組織(とりわけ規模の大きな、元々それなりにガッチリ対策してきた組織)にとっては、今まさに「生成AIの活用を模索しはじめたいけどどんなセキュリティの論点があるの」という段階ではないかと思います。
本書はその全てを網羅しているわけではありませんが、まず最初に抑えておくべきポイントという意味で参考になりました。
様々な組織で汎用的に使える「生成AI利用時のガイドライン」みたいなものが早く出ると嬉しいですね。

***はじめての方へ***
これは何のnoteだ?と思われた方はこちらをご覧ください。
これまでにまとめたガイドライン類の一覧はこちら

この記事が気に入ったらサポートをしてみませんか?