こんにちは、セキュリティエンジニアの田所です。
現地参加した AWS Summit Japan のセッションの模様をお届けします。

 

セッションについて

AWS-61 実社会のセキュリティを支える生成 AI 活用ユースケース

実社会における生成 AI のユースケースはたくさんありますが、セキュリティの改善ではどうでしょうか。このセッションでは、インシデント対応、コンプライアンス要件への対応、脅威分析などの具体的なユースケースに関するアーキテクチャやデモを通じて、セキュリティ業務を自動化・効率化するために生成 AI を活用する方法を学んでいただけます。

最近は生成 AI という単語を耳にしない日はないくらいに様々な文脈で飛び交うようになりました。
AI 駆動開発、LLMOps、AIOps、AI チャットボット
それだけ多くのユースケースがあり、もはやインターネットのようなインフラと化してきています。

セキュリティでの生成 AI の活用はどうでしょう。
生成 AI のためのセキュリティ、セキュリティのための生成 AI、などセキュリティひとつ取っても複数の切り口がありますが、
今回はセキュリティのための生成 AI、つまりセキュリティの運用を改善するための生成 AI の活用ユースケースを見ていきます。

 

セキュリティ x 生成 AI の分類

セキュリティ x 生成 AI では大きく以下の3つのトピックがあげられます。

  • 生成 AI のセキュリティ:生成 AI をセキュアに使う
  • セキュリティのための生成 AI:生成 AI を活用してセキュリティ運用を改善する
  • 生成 AI を利用した脅威からの保護:生成 AI を使った新たな攻撃手法に対策する

今回は「セキュリティのための生成 AI」を扱います。

生成 AI でセキュリティ運用の生産性をどう上げるか、
専門性と能動性の2軸で考えて、以下の4つに区分します。

  • 専門能力 x リアクティブ(検知ルール作成、プレイブック実行、マルウェア解析など)
  • 単純作業 x リアクティブ(レポート作成、ツール出力結果要約、アラートの処理など)
  • 専門能力 x プロアクティブ(脅威モデリング、設定緩和措置など)
  • 単純作業 x プロアクティブ(パッチ適用、異常な設定検出など)

それではユースケースについて見ていきましょう。

 

1. セキュリティインシデント対応(専門能力 x リアクティブ)

例えば AWS Security Hub で上がった Findings に対して修正するケースを考えます。
修正が必要な対象リソースや設定内容の洗い出しから修正コマンド作成まで、生成 AI に手伝ってもらいます。

Amazon SageMaker Notebook と Amazon Bedrock を使って、Security Hub の Findings を要約し、修正するためのコードを生成します。

以下のようなプロンプトで要約と次の実行内容を提案してもらいます。

生成されたスクリプトを実行するだけで修正が完了します。
環境に合わせてランブックを動的に作るイメージです。

人の目でチェックする必要はありますが、ここまでやってくれたら対応完了までの時間が大幅に短縮されそうです。

 

2. コンプライアンス対応(単純作業 x リアクティブ)

セキュリティ監査ではしばしば、指定の形式でのデータを用意したり、コンプライアンス準拠を示すために膨大な文書を参照したりする必要があります。
そこでも生成 AI が活躍するシーンが多数存在します。

 

SBOM 作成

まずはデータを標準形式に加工する作業を生成 AI で行います。
昨今、SBOM (Software Bill of Materials:ソフトウェア部品表) と呼ばれる、製品に含まれるソフトウェアを構成するコンポーネントや依存関係などを一覧化したものが注目されています。
ソフトウェアサプライチェーン攻撃が増加する中で、脆弱性管理を格段にしやすくするのがこの SBOM です。

SBOM は管理をするための部品表なので、統一されたフォーマットが必要です。
SPDX や CycloneDX といったフォーマットが広く用いられています。

AWS の脆弱性管理サービス Amazon Inspector では両フォーマットでの SBOM のエクスポートが可能ですが、
例えば AWS Systems Manager の情報から SBOM を作成したいとします。
この場合は SBOM のフォーマットに沿ったエクスポートはサポートされていません。

そこで Amazon SageMaker Notebook とAmazon Bedrock で Systems Manager のデータを SBOM 形式に変換します。

「CycloneDX 形式に変換して」のような、捻りのないプロンプトで本当に簡単にできるとのことでした。

 

ドキュメント参照のアシスタント

コンプライアンスの文書はしばしば膨大になります。
要件を確認する際にも、ドキュメントを Ctrl + F → V  でキーワード検索して、数百件ヒットして、そこから探し出していく、ということが現実に起こります。

そこで RAG を用いて生成 AI に要件、要点を探し出してもらいます。
例えばナレッジベースには NIST SP800-53、ISMS、PCI-DSS といったセキュリティ標準や、会社や組織の規定を格納、参照します。

単語レベルではなく、文脈に沿った項目、要件の検索が可能になります。

 

3. セキュリティテストツールの生成(専門能力 x プロアクティブ)

環境のセキュリティテストを行う場合、時間をかけたいのは分析や対策であり、テストの作成ではないですよね。
そのテストの開発を Amazon Q Developer を用いて時間短縮します。

例えばネットワークのテストを行うとします。
自然言語で Amazon Q Developer とやり取りしながら、以下の機能を実装していきます。

  • セキュリティグループ一覧を取得する
  • 問題があるセキュリティグループには警告文をつける
  • CSV 形式で出力する

これまでセキュリティテストの工数を見積りしていたその時間に、テストのプロトタイプが作れるくらいのスピード感になってきた、と話していたのが印象的でした。
生成 AI 恐るべし、、!

アクションを入れるのであれば人による承認を入れること、手動テストは必ず行うこと、を注意点としてあげていました。

また Amazon Inspector から既知の脆弱性をまとめるプロンプト作成も紹介されていました。
参照するデータソースや、出力の形式、パラメーターの定義に関しては、プロンプトに工夫が凝らされていました。

Amazon Q Developer との数回のやり取りで、Amazon Inspector で検出された脆弱性の一覧を取得し、CVE 識別番号や脆弱性 DB への URL を追加して出力する機能まで実装できました。

 

4. セキュリティチャットボットの生成(単純作業 x プロアクティブ)

セキュリティチームへの簡単な問い合わせ回答をチャットボットで自動化します。
問い合わせが多くてセキュリティ担当者がボトルネックになり得る、というシーンは何だかイメージが湧きます。

ここでは Amazon Q Business を活用してチャットボットを作成します。
RAG で社内ポリシーなどを参照した上でセキュリティに関する回答を生成するようにします。

社内文書を参照し、文脈に沿った回答をするチャットボットが実装できました。
生成した回答の証拠となるリンクも出力するとハルシネーション防止に役立ちます。

 

まとめ

「セキュリティのための生成 AI」のユースケースを見てきました。

セッションの結びとして、

  • 生成 AI は人間に代わるものではなく、あくまで効率を最適化するものです。
  • 自然言語でできるので今すぐ始めましょう。

と述べられており、勇気付けられると共に、ますます自身の継続的なアップデートが必要になると感じるのでした。

おしまい