Slide 1

Slide 1 text

生成AIでセキュリティエンジニアの 属人化問題の改善に挑戦する ~ 生成AIをセキュリティ業務に導入した話 ~ @AWS Security and Risk Management Forum 2024-03-19

Slide 2

Slide 2 text

本日の内容 ● はじめに ● セキュリティ業務の課題 ● 生成AIの導入事例 ● 導入のポイント ● まとめ

Slide 3

Slide 3 text

はじめに

Slide 4

Slide 4 text

自己紹介 小笠原 清志 画像 System Security 推進 Group(SSG) 技術チームのマネージャ @gassara-kys 猫を2匹飼ってます😽😽 @gassara5

Slide 5

Slide 5 text

セキュリティ業界でもトレンド セキュリティ向け 生成AI 引用元: https://www.gartner.co.jp/ja/newsroom/press-releases/pr-20231018

Slide 6

Slide 6 text

去年ブログを書きました ブログの中でも書いた内容をより詳細に解説します。また、その後の様々なチャレンジについても触れていきます。 https://developers.cyberagent.co.jp/blog/archives/45548/

Slide 7

Slide 7 text

本日のゴール ● 生成AIを使った業務改善のケーススタディを 持ち帰っていただく ● 生成AIの可能性と課題を知っていただく

Slide 8

Slide 8 text

本日お話しないこと ● 生成AIのセキュリティリスクについての話 ○ 敵対的プロンプトや機密情報が学習に利用されるリスク ○ セキュリティの攻撃手法や対策の話 ● 生成AIの利用ガイドラインやポリシー的な話

Slide 9

Slide 9 text

セキュリティ業務の課題

Slide 10

Slide 10 text

セキュリティ業務とは CyberAgentグループで発生するセキュリティの課題を解決するために、 インハウスのセキュリティエンジニアとして様々な活動を行っています ● インシデントレスポンス ● コンサルティング(技術・マネージメント) ● リスクアセスメント ● ソフトウェアの開発 ● … など 業務の種類

Slide 11

Slide 11 text

セキュリティのカバー範囲が広い 幅広く相談に対応できるように、 SSG内では各領域の専門的な人材を 集めチーム体制を作っています CyberAgentグループ SSG プロダクトA プロダクトB プロダクトC クラウド セキュリティ バック エンド データ セキュリティ ネット ワーク ID管理 脅威 モデリング

Slide 12

Slide 12 text

属人化の問題はセキュリティ業界では起こりがち 業界固有のドメイン知識や技術領域、 マネージメントのスキルが必要になる。 幅広い知識や専門性も求められる性質上、 属人化が避けられない傾向でもある。 業界知識 技術 マネージ メント 認証認可 ネット ワーク AI コンテナ クラウド ガイド ライン リスク 評価 プライバ シー データ 管理 業務 設計 ゲーム メディア 広告 DX事業

Slide 13

Slide 13 text

課題① 組織としてスケールしない 属人化が進行すると組織としてスケールしない状態に陥る可能性が あります(特定の個人に信頼・経験が集中し組織全体としては 成長できてない) 相談 相談 スケールしない 組織 組織全体で成長

Slide 14

Slide 14 text

課題② 非効率 人が変わり引き継ぎがうまくできないケースが多々発生し、 一から調査し直しが発生することがあり非効率な状態 後任 やりすぎな 担当者 引き継ぎ サプライ チェーン ID管理 サーバ 保守 ネットワ ーク設計 サプライ チェーン ID管理 サーバ 保守 ネットワ ーク設計 全てを引き継ぐ のは難しい

Slide 15

Slide 15 text

課題③ ボトルネック・不安定 セキュリティの相談(コンサル)は、人によって回答品質やレスポンス 速度にバラツキがでており、結果的にプロダクトに迷惑がかかる可能性 経験値 忙しい スキル 丁寧さ その人の状態や能力、性格 に依存

Slide 16

Slide 16 text

AIの可能性 人間の依存度を下げることで属人化の課題を緩和することができます。 今まで、自動化が難しかったセキュリティのコンサル業務やインシデントレスポンスなどの複雑 な業務においても、生成AIの技術を使ったアプローチで改善を試みた事例を紹介していきます。 業務 アプローチ 標準化・仕組み化できる業務 • 自動化🤖 • ドキュメンテーション📖 • アウトソース🤝 複雑な業務・センシティブな業務 ● セキュリティコンサル ● インシデントレスポンス • ドキュメンテーション📖 • 後継者育成👶 • AIの活用💬? チャレンジ💪

Slide 17

Slide 17 text

生成AIの導入事例

Slide 18

Slide 18 text

2023年の頭から積極的に生成AIを導入していった SSGではさまざまなセキュリティの業務に生成AIを導入していきました。 生成AIへの 期待感 時間 2023/3 2023/9 2023/12 今 RISKEN(OSS)で生成 AIによる要約機能の実装 脅威検知の解析 に生成AIを導入 セキュリティのコンシ ェルジュAIを開発 様々な課題にぶち当 たり現実を知る💧

Slide 19

Slide 19 text

RISKENの事例 RISKENはCyberAgentで開発しているセキュリティのソフトウェア(OSS)です。 例えば、クラウド上の危険な設定を検出するのに役立ちます。 https://docs.security-hub.jp/

Slide 20

Slide 20 text

RISKENの事例(デモ) 生成AIがスキャン結果をわか りやすく翻訳&要約

Slide 21

Slide 21 text

RISKENの事例(仕組み) RISKENで検出した問題の一覧 RISKEN API CyberAgentではAWS上にRISKENサーバを ホストして、社内のエンジニアが自由に 使える環境を構築しています LLM 1 LLM 2 *モデルは選択可能 Findingを クリック 日本語へ翻訳・ 内容の要約 *LLM サービスのAPI トークン🔑を設定することで 生成AI機能が利用できます

Slide 22

Slide 22 text

RISKENの事例(導入した結果) RISKENに生成AIを導入して良かったことをまとめます ● セキュリティの問題の理解度が上がり次のアクションへつながりやすくなった ○ 優先度の判断の助けになった(リスク評価しやすい) ○ 何をすべきかがより分かりやすくなった ● RISKENが扱う様々なセキュリティスキャン結果(スキーマがバラバラ) との相性が良かった ○ 複数のスキャリティのスキャン結果データ(JSON形式)を扱う ○ どんなスキーマのデータでも良い感じに要約してくれる ● 主に「要約」と「翻訳」の依頼のみなのでハルシネーションが発生しづらい

Slide 23

Slide 23 text

RISKENの事例(宣伝) RISKEN OSS RISKENはOSSとして社外に公開しています。 CyberAgentでは、主にグループ内のAWSや他クラウド、GitHub上の危険な設定の 検出に利用しています。 もし興味がある方がいらっしゃいましたら、お気軽に使ってみてください♪ [主な機能] • AWSなどのクラウド環境の設定ミスを検出 • ソースコードの静的解析、シークレット、依存ライブラリチェック • インターネットからバックエンドのリソースまでの経路を分析する アタックフロー分析機能

Slide 24

Slide 24 text

セキュリティコンシェルジュ(SSG AI)の事例 SSGの人間 質問者 コンシェ ルジュAI ① セキュリティの質問 ➁ 事例をもとに回答する ③ 過去事例がない場合は SSGメンバーが対応 ③ ヒアリング・回答 ドキュメン トソース ④ ドキュメントに記録 ⑤ 取り込み (自動) 過去に解決済みの問題はAIに任せることができる。 また、実体験に基づいた説得力のある回答を 生成できる可能性がある。 次に同じような質問が来ても良いように ドキュメント化しておくことで、 結果的にSSGの負担を減らせる SSG AI

Slide 25

Slide 25 text

セキュリティコンシェルジュ(SSG AI)の事例 ChatGPTのようなUIで生成AI とチャットが可能

Slide 26

Slide 26 text

セキュリティコンシェルジュ(SSG AI)の事例 普段使い慣れたSlackでも 生成AIとチャットできる

Slide 27

Slide 27 text

セキュリティコンシェルジュ(SSG AI)の事例 ユーザ 「決済機能を実装したいんだけど、 セキュリティ上で気をつけること はありますか?」 ドキュメント 検索 関連ドキュメントを コンテキスト付与して 生成AIに質問(RAG) API (ECSサービス) データソース (ECSタスク) ドキュメント 更新 クロール 「過去の対応履歴から以下の推 奨事項が見つかりました...」 セキュリティの質問 SSGが過去にまとめた文章や 対応履歴をもとに回答してくれる →非同期 フロント← ドキュメント お問合せ対応 脆弱性診断結果 データソース (社内ドキュメント) VectorDB (ECSサービス) 同期 EFS (Backup) ECSクラスター Amazon Bedrock

Slide 28

Slide 28 text

セキュリティコンシェルジュ(SSG AI)の事例 コンポーネント AWSサービス 説明 API Amazon ECS WEBチャットやSlack、ClickUpからのリクエストを受け付ける APIエンドポイント。 WEB Amazon ECS WEBチャットのフロントエンド。 VectorDB Amazon ECS 社内のドキュメントソースをセマンティック検索するための ベクトルDBサービス。QdrantというOSSを採用。 Embedding Amazon Bedrock ドキュメントソースの保存、検索時に利用するAPI。 Amazon Titanモデルを採用。 生成AI Amazon Bedrock 生成AIのAPI。日本語にも対応可能なClaude 3 Sonnetモデルを採用。 Input Token数が20万(200K)トークンと大きくRAGとの相性が良い。 データソースJOB Amazon ECS 非同期に外部のデータソースの取り込みや、VectorDBへの保存する ためのECSタスク。Lambdaのような時間的な制約はないのが良い。 ドキュメントソース Amazon S3 データソースの保存場所。

Slide 29

Slide 29 text

セキュリティコンシェルジュ(SSG AI)の事例 コンポーネント AWSサービス 説明 API Amazon ECS WEBチャットやSlack、ClickUpからのリクエストを受け付ける APIエンドポイント。 WEB Amazon ECS WEBチャットのフロントエンド。 VectorDB Amazon ECS 社内のドキュメントソースをセマンティック検索するための ベクトルDBサービス。QdrantというOSSを採用。 Embedding Amazon Bedrock ドキュメントソースの保存、検索時に利用するAPI。 Amazon Titanモデルを採用。 生成AI Amazon Bedrock 生成AIのAPI。日本語にも対応可能なClaude 3 Sonnetモデルを採用。 Input Token数が20万(200K)トークンと大きくRAGとの相性が良い。 データソースJOB Amazon ECS 非同期に外部のデータソースの取り込みや、VectorDBへの保存する ためのECSタスク。Lambdaのような時間的な制約はないのが良い。 ドキュメントソース Amazon S3 データソースの保存場所。

Slide 30

Slide 30 text

セキュリティコンシェルジュ(SSG AI)の事例 ● いわゆるRAG(Retrieval Augmented Generation)を利用した アプリケーションを実装 ● WEBのチャットだけでなく、普段利用しているアプリ (SlackやClickUp)にも対応したインターフェースを実装することで 利用が広がった ● チャットデータはAWS環境に閉じているため、 機密情報の取り扱い等を意識しなくても良いユーザ体験を実現 実装ポイント

Slide 31

Slide 31 text

セキュリティコンシェルジュ(SSG AI)の事例 導入効果 ● セキュリティ運用の属人化の排除 👉お問合せの約半分近くをAIが回答できるように(できる見込み) 👉過去の履歴や議事録の検索などの手間が削減され回答品質や スピードが向上 ● 対応時間が短縮し、より高度なセキュリティ対応に集中できる ようになった ● 将来的にはセキュリティ以外の部署にも使ってもらえるサービス を目指す

Slide 32

Slide 32 text

導入のポイント

Slide 33

Slide 33 text

導入のポイント 最後に生成AI(RAGのアプリ)を導入するためのポイントを個人的に 整理してみました ポイント ● 生成AIを信頼しすぎない ● 生成された回答が何に影響を受けているかを特定し チューニングできるようにする ● 生成AIを活用できるポイントとそうでない箇所を見極める

Slide 34

Slide 34 text

最初はひどかった話 過去に実際に来たセキュリティの「お問い合わせ」データ(100件程度)を 使って生成AIで回答を作成したところ、60%以上の回答は品質が悪かった

Slide 35

Slide 35 text

生成AIが回答を生成するまでのプロセス プロンプト ドキュメント検索 質問 回答 ● 文脈に関連したドキュメントがヒットできたか? ● 必要なドキュメントは収集・保存できているか? ● ドキュメントの品質は問題ないか? ● 最終的に正しい回答を生成できたか? ● ハルシネーションはないか? ● 正しく命令できているか? ● 書き方によって回答が大きく変化することはあるか? ● モデルの選択は適切か? ● 聞き方は問題ないか? ● 目的の回答を得るために十分な情報を含んでいるか? プロセス チェックポイント

Slide 36

Slide 36 text

生成AIが回答を生成するまでのプロセス プロンプト ドキュメント検索 質問 回答 ● 最終的に正しい回答を生成できたか? ● ハルシネーションはないか? ● 正しく命令できているか? ● 書き方によって回答が大きく変化することはあるか? ● モデルの選択は適切か? ● 聞き方は問題ないか? ● 目的の回答を得るために十分な情報を含んでいるか? コントロール可能な 範囲 ● 文脈に関連したドキュメントがヒットできたか? ● 必要なドキュメントは収集・保存できているか? ● ドキュメントの品質は問題ないか? プロセス チェックポイント

Slide 37

Slide 37 text

みんなでチューニングできるようにした 回答のフッターにどんな ドキュメントを参照したのかの リストを追加した。 これによって、どういう質問を すると、どのドキュメントが ヒットするのか、関連度が どれくらいかが明らかになった。 ドキュメント自体に問題がないか も確認しやすくなった。 ドキュメント検索

Slide 38

Slide 38 text

みんなでチューニングできるようにした ドキュメントソースの設定画面を 用意した。 どのドキュメントソースを選択 するか選んだり、検索時に算出 される関連度スコア(-1.0~1.0) のベースラインを設定したり、 生成AIが参照するドキュメントの 数の調整ができる。 この設定変更は他のユーザに影響 しないようになっている。 ドキュメント検索

Slide 39

Slide 39 text

みんなでチューニングできるようにした システムプロンプトも変更できる ようにした。 • 共通のプロンプトと、 • 関連ドキュメントが見つかった 時に、そのドキュメントを どう扱うか指示するための プロンプト、 の2種類が存在する。 この設定変更は他のユーザに影響 しないようになっている。 プロンプト

Slide 40

Slide 40 text

AI活用ポイント① 対応実施 生成AIが使えそうなところからやり始める ディレクションT SSG ClickUP更新 担当アサイン依頼 (1) 詳細ヒアリング MTG/Slack DM調整 (2) 最終案内の整理 問い合わせ元 ClickUP起票(自動) 問い合わせ 背景等のヒアリング 技術T / アセスメントT 分類分け よくある質問 「よくある質問」 技術チームやアセスメントチーム と協力して対応 前提等のヒアリング 担当アサイン 詳細ヒアリング、 ディスカッション 案内事項の展開 調査等で参照するもの ●DocBase ●過去ClickUP ●その他のドキュメント ●関連部署に問い合わせ AI活用ポイント② AI活用ポイント③ 回答(提案、案内) ポイント① よくある質問はドキュメントを 事前に用意できるし、 AIが最も活用できる箇所 ポイント② 会話するための一般的な予備知識 の確認や、ヒアリング項目の 洗い出しに利用 ポイント③ 一般的なガイドラインや、社内 ドキュメント等を参照し、AIと 壁打ちをして、最終回答を作る まずは①に スコープを絞る 全てを一撃で返そうとはせず AI活用ポイントを整理

Slide 41

Slide 41 text

ベクトルDBによるセマンティック検索は超高性能 セマンティック検索とは、質問(自然言語)の意図や目的、文脈を読み取り、それらに近い ドキュメントを検索する技術で、予想以上に性能が高いことが分かった 1200件以上のドキュメントから 最も関連度の高いドキュメントを検索 SSG AI 質問者 質問 検索 「Googleドライブを使って取引先とデータ共有できますか?」 「スプシを使って取引先とデータ共有できますか?」 「Googleドライブを使ってお客様とデータ共有できますか?」 実際に3種類の質問はすべて同じ ドキュメントが検索された。 多少の表記のゆらぎがあっても 意図を理解してくれる。

Slide 42

Slide 42 text

生成される回答の品質に最も強く影響を受けるのは ドキュメントだということが分かった 生成AIは参考にすべきドキュメントが存在した場合には、その内容を組み込んで回答してくれるが、 ドキュメント内の内容に誤りがあったり(例えばURLリンク切れとか)、 ドキュメントに書かれていないことは回答できない。 よくある質問を リストアップ ドキュメントを 用意 AIに質問して テスト 回答品質を評価 テストプロセス コレ次第

Slide 43

Slide 43 text

ドキュメント自体もAIに作らせる 既存のドキュメントがない場合は作成する 必要があるが、ゼロから作成するのでは なく、AIの力を借りることで効率化した。 フォーマットを指定して、社内の過去の ドキュメントからそれっぽいものを 生成してくれる。 実際に←のやりとりで作成された ドキュメントはほとんど問題なく、 少し手直しする程度で完成した。

Slide 44

Slide 44 text

ドキュメント自体もAIに作らせる 設定画面の関連度スコアや参照数を 調整することでうまく作成してくれるよう になった。 フッターを見るとAIが様々な 社内ドキュメントを参照していることが 分かった。 MTG議事録などズバリという文章ではない ものの中から情報をかき集め、 目的のドキュメントをうまく作ってくれる

Slide 45

Slide 45 text

評価と改善のサイクルをまわす 日々のお問合せ業務の裏で並行して、生成AIの回答をSlackの検証チャンネルに投稿して評価。 週次MTGでフィードバックと改善のサイクルをまわす。 日々のお問合せが 飛んでくる 検証チャンネルに飛ばす 回答品質を3段階で評価する 評価ログをS3に保存して Athenaで集計 週次MTGでAIの回答品質を評価 改善案を洗い出し 生成 評価 分析 改善

Slide 46

Slide 46 text

まとめ

Slide 47

Slide 47 text

本日のまとめ 本日は生成AIをセキュリティの業務に導入した事例についてお話しました。 ● AIの技術が属人化の課題を改善するアプローチになる可能性 ● 生成AIを導入した2つの事例を紹介 ○ RISKENなどのセキュリティソリューションに生成AIを導入 ○ コンシェルジュAI(SSG AI)を開発し、コンサルティング業務など 自動化が難しいプロセスにも導入 ● 生成AIを導入しても人間の仕事が無くなるということはなく、AIの品質評価や、 ドキュメントの生成・品質担保等、今後どうメンテナンスしていくか を考える必要が出てくる

Slide 48

Slide 48 text

ご静聴ありがとうございました