2023年12月23(土)~24日(日)の2日間、浅草橋ヒューリックホール&カンファレンスで開催されたセキュリティコンテスト参加を目指す人/セキュリティ技術者を目指す人向けのイベント「SECCON2023 電脳会議」にGMOサイバーセキュリティ byイエラエ株式会社の阿部慎司が登壇。SOCにおける生成AIの活用事例について紹介しました。イベント告知:https://developers.gmo.jp/41615/
登壇者
GMOサイバーセキュリティ byイエラエ株式会社サイバーセキュリティ事業本部 SOCイノベーション事業部阿部慎司
”人”ではなく”生成AI”をうまく働かせ使うことで、セキュリティ運用を効率化する
阿部はセッション冒頭の自己紹介で「イエラエは攻めに強いイメージがあるかもしれないが、私はどちらかというと守り側の立場。業界的にもSOC界隈の人間で、セキュリティに関する営みはすべてセキュリティ運用と捉えることができると思っているくらいの”SOC危険思想の持ち主”」と話します。
「運用」という言葉はさまざまな場面で使われていますが、もともとは「物をうまく働かせ使うこと」という意味合いを持っています。一方で、「運用でカバー」という表現があるように、運用という言葉が都合よく使われてしまっているシーンがあると阿部は指摘します。
「”運用でカバー”で検索すると嫌な話がたくさん出てくる。運用とは本来”物”をうまく働かせて使うことであるはずなのに、”人”を動かせばいいという発想になってしまっている人がいるなど、運用という言葉の意味を履き違えてしまっている」(阿部)
GMOサイバーセキュリティ byイエラエのSOCチームでは、人ではなく、生成AIを使うという発想で、セキュリティ運用の効率化を目指しています。
阿部は実際に生成AIを利用して、今回のセッションの概要を下記のように作成したといいます。
AI技術を駆使して、サイバーセキュリティの現場で即戦力となるいくつかのツールと手法を開発しています。これにより、情報収集から脅威分析、そして自動対策生成までのプロセスを効率化。今後はこのシステムをさらに高度化し、専門家一人の働きが複数人分の成果を生むレベルに引き上げます。
このように、完璧とは言い切れないものの、使い方によっては実用に耐えうるレベルになってきている生成AI。SOCの現場での活用も進んでおり、今回のセッションで阿部は「開発支援」「検知力向上」における活用事例を紹介しました。
「開発支援」における生成AI活用事例
開発支援ツールとしての生成AI活用は、セキュリティに限らず幅広い領域で進んでいます。
阿部は「セキュリティアナリストをはじめ、セキュリティに関わる人間がツールを自作できる時間は限られている。あくまでお客さまのログを見たり、検知力向上を考えたりするのが我々のメインの仕事。それらの効率化を目指すためにツールをつくるという考え方になる。そこに利用するのが生成AI」と、生成AI活用の意義について説明します。GMOサイバーセキュリティ byイエラエのSOCチームでは現状、メンバーで方針を議論して、メインの担当者を決め、生成AIを使って壁打ちしながらたたき台をつくっていくという流れでツールの作成を進めています。阿部は、ドメイン情報収集の調査支援ツールを事例に、その詳細について紹介します。
セキュリティアナリストは、悪性ドメインの調査にあたって、ドメインとIPアドレスを紐づけたデータベースに記録を残しています。しかし、アナリストが勘を働かせるためには、関係性をより詳細に可視化することが重要となります。そこで、同チームでは「データセットに対してD3.jsでいい感じに描画できるHTMLをつくって!」とChatGPTに依頼し、そこから生成されるコードに対してGitHub Copilotなどを利用し最適化を行いながらツールを完成させていくという流れを施行中です。実際に、検索内容と関連する情報の関連性をグラフィカルに表現できる機能が開発できているといいます。
「検知力向上」における生成AI活用事例
よりSOCに特化した使い方として、阿部は検知力向上に向けた取り組みを紹介します。阿部は「SOCにおいて、他社との差別化やセキュリティ製品の精度などを考えると、いかにさまざまな攻撃を見逃さず検知できるかが極めたいポイントとなる。これはSOC目線でAIの使い方の主戦場となるところ」と話します。
具体的には、WAFのカスタムシグネチャの作成に生成AIを利用するという方法になります。脆弱性が公表された際に「CVE-XXXX-XXXXのシグネチャをつくって」と生成AIに依頼することにより、自動的に正規表現を用いたシグネチャが生成され、これを利用してすぐにWAFでブロックあるいはEDRで検知できる状態にしていくことが理想です。
「ただ、現実にはそう簡単にいかない」と阿部。次のように現状を明かします。
「WAFのシグネチャをChatGPTにつくらせてみると、POSTリクエストをすべて止めようとするようなものを当たり前のように生成してしまう。これを入れたらお客さまの通信が全ダウンしてしまうため、品質上はかなり難しい部分がある。PoCの情報など関連情報やシグネチャの例示を与えてから生成したり、何度も修正指示を出したりすると、だんだんマシなものにはなるが、結局そこまで面倒を見なくてはならないのであれば自分でつくってしまうほうがはやいという状況になってしまっている」(阿部)
一方で、OpenAIもChatGPTにさまざまな機能を実装してきているため、精度向上に向けた工夫は継続的に進めているといいます。たとえば、現時点では、「シグネチャをつくって」という指示を出したあとに、Fine-tuningとFunction Callingを行うことが鍵となります。
「まず、さまざまなPoCとシグネチャの対など事前に攻撃や守備のノウハウを生成AIに覚えさせ、Fine-tuningを使って勘所を養わせる。それでも品質的には厳しいものが出てくるので、あとはどう試行錯誤させるかがポイント。これは人間でも同様。第一線のアナリストでも、PoCを見て一発でシグネチャをつくれる人はそういない。人間がやっているように、つくって試してみて通るかどうか確かめるという繰り返しの営みを、Function Callingで行う。つまり、シグネチャ生成→適用→PoC実行→遮断確認→失敗→ログ入力→シグネチャ再生成→適用……を成功するまで繰り返すことになる」(阿部)
こうしてFine-tuningとFunction Callingの組み合わせで対応するには、生成AIが失敗できる環境を構築することが必要となります。人間の手でつくるのは手間がかかるため、これをどう自動化するかという観点でもツールを作成しているといいます。
その1つが、脆弱性検証環境構築支援ツール(通称:すだち)です。Dockerを用いて脆弱性検証環境を構築することを支援するツールで、検証の再現性の確保とシグネチャ生成の支援が可能です。各製品ごとにコンテナベースでテンプレートを準備して、生成する環境を選択することで即時に検証環境を構築することができます。
「たとえば、WordPressの脆弱性を確認したい場合、バージョンを指定するとコンテナが立ち上がって自動的に検証環境ができるようなものをつくっている。これにより、Function Callingで、再帰性高く試し続けることができるようになった。AIにいっぱい失敗してもらって、頭を良くしていくということをやっている」(阿部)
各WAF製品にあわせたシグネチャの書き方を生成AIが提案
しかしながら、カスタムシグネチャができたとしてもまだまだ課題は多くあります。その1つが、WAF製品の種類が多すぎるという問題です。阿部は「シグネチャができたとしても、すべてのWAF製品に適用できるわけではなく、製品ごとにカスタムシグネチャを書く作法はバラバラで面倒。アナリストとしても、ロジックを考えるまでは楽しい作業だが、その先は退屈に感じてしまう」と説明します。そこで、翻訳が得意であるというAIの性質をいかして、製品によってシグネチャに”方言”があると捉えAIに翻訳させ、その方言を「STYRAX」という名前で共通化するという方針でこの問題を解決しようとしています。
「1つロジックを決めれば、方言ごとにいい感じで言葉を合わせてくれるような、いわゆるマルチリンガルなシグネチャの翻訳者をつくろうとしている。単一のフォーマットで書いておけば、あとはAIが製品に合わせたシグネチャの書き方で表現してくれるという世界観を目指している」(阿部)
具体的には、ベースとなる部分でPythonのastモジュールやoperatorモジュールを用いて式を変換。ChatGPTにルールを覚えさせ、新しい式変換classの定義の初稿として出力します。 「ここは言語と一緒で比較的はっきりしたルールがあるので相性がよく、精度が出やすい。とはいえ、関数表現の方言があったり、製品によって利用できる場合とできない場合があるため、ある程度手動で追加すべきところはある。しかし、目指しているものには大分近づいてきている。実用化まであと少しといった印象」(阿部)
ビジネス展開への期待
ここまでのツールを活用すれば、Fine-tuningとFunction Callingでシグネチャの正解を見出し、品質をクリアしたものがSTYRAXで翻訳されてマルチリンガル化し、各WAF製品にあわせた形でシグネチャが生成されるというところまでがカバーできるようになり「CVE-XXXX-XXXXのシグネチャをつくって」と指示を出すだけで、すぐにWAFでブロックできるような状態にしていくところまでを一気に実現できるかもしれません。阿部は「あと少しがんばれば実現できそう」と展望します。
これが実現できると、より幅広い顧客のニーズに対応できる可能性も高まります。阿部は「セキュリティ運用においては、生成AIの手をなるべく借りながら、自分たちが楽しい部分は残しつつ、退屈なところは生成AIに任せてビジネス展開ができるようになると、アナリストの給料向上にもつながるかもしれない」と、単なる業務効率化だけではない可能性について語り、講演を締めくくりました。