米国のハッキング大会で今年優勝した杉浦隆幸氏が登壇

杉浦隆幸氏:本日は「生成AIを使った情報セキュリティマネジメント」ということで、私、日本ハッカー協会の杉浦がお話しします。私のことを知らない方もたくさんいらっしゃいますので、簡単に自己紹介をさせてください。

私は2000年に情報セキュリティ会社を作り、15年後に売却しました。そして、2018年に一般社団法人日本ハッカー協会を設立し、いろんな企業や政府機関から、「ちょっとセキュリティを見てくれ」「新しい組織作るんで入ってくれ」とお声掛けいただき活動しています。

今日はマネジメントの話ですが、いつもはけっこう技術系の話をしていまして、発明大賞やIPA(独立行政法人 情報処理推進機構)賞などいろいろと賞も取っています。

実際に自分で手を動かしてセキュリティをやっていることもあり、CTF(Capture The Flag=セキュリティの競技会)の大会で優勝したことも何度かあります。最近はCTFもメジャーにはなってきましたが、黎明期からCTFを主催したり参加したりしています。

セキュリティはけっこう幅の広い分野です。私もセキュリティを専門としていますが、わからないことや知らないこともたくさんあります。特に情報セキュリティの世界。例えばビルのセキュリティやダムのセキュリティ、港のセキュリティと、Webサイトのセキュリティはぜんぜん違うんですね。

セキリティはベースになる業務の内容や使っているシステムの詳細を知っていないと語ることもできず、検証もできません。そこで価値を生み出すことはなかなか難しい。逆に言うと、たくさんの分野があるので、1つを極めればその分野ではやっていけます。しかし、そこに仕事があるかどうかはまた別なので、非常に厳しい分野でもあります。

「OSINT」、Open Source Intelligenceというものがあります。(8月に)DEFCONというハッカーの大会がアメリカのラスベガスでありましたが、その中のRecon VillageというCTFは半分以上がOSINTの大会ですが、7~8年ぐらい参加を続けて今年ようやく優勝しました。

そのOSINTの技術を使って、最近は海賊版をやっている人の特定をしたり、写真からこれはどこだと探したりということをやっています。

それ以外にも専門分野はいくつかありますが、今回はセキュリティマネジメントについてご説明したいと思います。

生成AIとセキュリティ管理は相性がいい

これは先ほどお話しした今年の夏のDEFCON優勝時の写真ですね。

3Dプリンターをもらったんですけど、飛行機で行ったので持って帰るのに荷物追加で1万円くらい払わないといけなくて大変でした(笑)。

私はデジタル庁に協力していることもあり、(スライドのように)大臣にも優勝をXでポストされました。

(デジタル庁の)人材募集でちょっと使われたということですね(笑)。

それでは、本題に入ります。(スライドのように)生成AIを使うとセキュリティ管理を量産し、効率的にセキュリティの確保ができるようになります。

なぜ生成AIとセキュリティの管理は相性がいいのか。過去のドキュメントがたくさん公開されているので、AIがセキュリティ管理の定石をよく学習していることがあります。それもけっこう質のいい内容を学習しているので、この分野(での生成AI活用)は非常に効果的だと思います。ちなみに後ろの画像もAIで生成しています。

文書生成につきましては、昨今話題のChatGPTがかなり精度がいいです。GPT-3.5と有償のGPT-4がありますが、4を使ったほうが当然ながら良い結果が出ます。

月20ドル。今は円がとても安いので、月3,000円ぐらいを経費として見ていただきたいのですが、1ヶ月あればセキュリティマネジメントの文書を整えられるので、1ヶ月の間にパッと作っていただければ、3,000円ぐらいで済むかと思います。

ただ、3,000円程度ですので、ケチらずに課金していただきたいところではあります。

生成AIの弱点と補い方

ChatGPTが、どういうところで役立つのか。大企業ですと顧問弁護士さんもいますし、会社の制度が整っています。ChatGPTやAI生成を使わなくてもそのような(セキュリティマネジメントの)テンプレートがちゃんとあるので、それを使ったほうがいいと思います。

ただ、中小企業や大企業の小規模で始めるようなプロジェクトですと、(生成AIが)非常に役立ちます。

なぜか。

担当者がセキュリティの専門家ではないことが多いので、まず何をやったらいいかわからない。ただ、そういうプロジェクトを任せられるので、国語力は人並み以上にある。そうじゃないと難しいです。生成AIは、文章を書けない人ではなかなか使いこなせない部分があります。

当然ITの知識も必要です。ないと出てきたものが何を言っているのかよくわからない。IPA試験の基本情報ぐらいの知識があれば大丈夫かと思います。

あと生成AIの弱点ですが、長い文章を作ることが得意ではないです。また、ゼロから文章を作るのは得意ですが、修正には人の手が必要です。

また、セキュリティマネジメントの文書を作っても、それをITのわからない人たちに説明しないといけません。「自分は基本情報ぐらい持っているのでできますよ」という方はいいかもしれませんが、そうじゃない人たちに理解させるという「組織に合わせる」部分。そこも人間の仕事として残ります。

(スライドに)基本情報技術者試験(経済産業大臣が行う国家試験「情報処理技術者試験」の一区分)とあります。

基本的には、指導者に付いて仕事ができるレベル(のIT人材)と定義されています。これをそういう人(セキュリティマネジメントの担当者)たちに勉強していただく、もしくは組織の決定権者にはこれくらいの知識が必要かなと思います。

特にAIを使って仕事をしたいのであれば、最低限このぐらいの知見がないとつらいと思います。

セキュリティマネジメントに生成AIを使う際の注意点

生成AIを使う上で注意点がいくつかあります。生成AIには、得意な部分と不得意な部分があることをちゃんと理解してください。そして、基本的に不得意な分野では利用しないでください。

間違った内容が生成されることもあります。例えば世の中的に(多くの人に)間違って認識されているけれど実際には正しいことや、実際は間違いだけど世の中的には正しいと認識されていることも生成されます。生成された内容のどこがどう間違っているかをちゃんと理解できる必要があります。

もう1つ重要なのが、生成AIが作成した文章を理解できない場合は利用しないことです。自分で読んで理解し、矛盾がないかをちゃんと確認してから使ってください。生成AIは適当に文章を生成しているだけなので、間違えることもあります。

生成内容を理解していないと訂正はできないので、使いこなすにはそのレベルに自分の知識を合わせる必要があります。そのままペロっと出すと、「生成AIを使っただろ」と言われるような内容になります。

使い方のポイントですが、(自分が)どういう立場なら生成AIがちゃんと答えてくれるかを考えて指示を出したほうがいいです。生成AIは「素人向けに書いてください」と指示すると素人向けの内容で返し、「プロフェショナル向けに返して」と言うとプロ向けのクオリティで回答してきます。

なので、みなさんがセキュリティのコンサルタントではないとしても「セキュリティのコンサルタントです」と書いたほうが、プロ向けの文章が返ってきます。このへんもけっこう重要ですね。

そしてちゃんとした文章を書いてもらうために、この場合は情報セキュリティ対策ですが、何が欲しいかをしっかりと書く必要があります。クライアント、特に業種はちゃんと書いたほうがいいです。

業種によって必要なセキュリティがちょっとずつ違うからです。先ほどお話ししたようにWebのセキュリティとビルのセキュリティはぜんぜん違うんですね。当然製造業の工場のセキュリティになるとまったく違います。

業種を入れることでその業種に即したセキュリティの内容を出してくれることが期待できるので、業種は絶対に入れたほうがいいと思います。また、「まず何から始めるべきかがわからない」という自分の状態も教えて、何をしてほしいかを明確に記述する必要があります。

そして、現状を理解してもらえるように的確な指示をすることが重要です。部下に指示をするよりも的確な内容で出さないと、ちゃんとした内容は得られません。

「生成AIは使えない」と言う人は、しっかりと指示ができていないんですよね。それではなかなか難しい。(スライドのように)短くてもいいので、きちんと指示をするとちゃんとした内容を返してくれます。

生成された内容から必要な情報を見つけ出すコツ

上の内容で指示をして、(生成AIから)中小企業のセキュリティで何をやったらいいかがいくつか出てきました。リスクアセスメントやセキュリティポリシーを作ったり、インシデント対応計画などが必要になってくると。

セキュリティのコンサルタントに聞いてもだいたい同じような内容が返ってきます。ただ、これを鵜呑みにするのは非常によろしくない。なので、同じ内容を聞いてみます。右下の「Regenerate」(再生成)のボタンを押して、3〜4回くらいやってみます。

そうすると、ちょっとずつ違う内容が返ってくるんですね。

こうして複数の回答から本当に必要なものを見つけ出すことが可能になります。「リスクアセスメント」「セキュリティポリシー」「従業員の教育」とか、いろんなものが必要となってきます。

特に3回聞いて3回とも出てくるような項目は、絶対に必要だとわかると思います。

ただ、全部に共通して入っている項目以外でも必要な項目を追加することが重要です。

このように文書の生成を依頼すると、目的から適用範囲などを記した基本セキュリティ計画がけっこう簡単にできてくるんですね。

これをWordで成型して上司に出すと「プロに頼んだみたいな文章だね」と言われます。Webに公開されているプロの書いた文章を元に生成しているので、そういう感じになるんです。

ただ先ほどお話ししたように、生成AIには弱点があります。長い文章が得意ではないので、短くなるんですね。結果として足りない部分を追加しないといけないことも実際にあります。でも、中小企業やスタートアップのプロジェクトなら、これでもいいかなという感じですね。

文章を読んで理解することも含めて、ここまで1時間ぐらいで終わると思います。生成にかかる時間はとても短く、セキュリティの基本方針もバッと出てきます。

なお、各項目の具体的な実施案の作成も生成AIは苦手で、これは人間がやらないといけません。

例えば実施開始から完了までの期間とか、内製するか外注するかの判断、費用、工数の見積もり、社内手続きなどですね。なぜ苦手かというと、社内の手続きなどは公開されていないからですね。

セキュリティポリシーも生成AIで作れる

もう1つ、セキュリティポリシーを策定してみましょう。非常に長いセキュリティポリシーを作るのは当然不得意です。ですが、最近は普通の人が読んで理解できる、12項目ぐらいの短いセキュリティポリシーが増えています。

(スライドの)これくらいの項目であれば生成AIにピタッとはまります。

私はこれまでセキュリティポリシーをたくさん見てきましたが、生成AIで作ったものも(十分)評価できます。

セキュリティポリシーは必須項目をちゃんと満たしてれば基本的によく、それがないと弱いと言えます。意外と社名がないとかあるんですよ(笑)。そうすると意味がなくなります。

そういうのも踏まえて人が見てチェックすることが必要ですが、8割ぐらいは合っているので、足りないところをちょっと直すだけで使用できると思います。ただ、この「足りないところを追加する」というのがなかなか難しく、そこはプロフェッショナルの仕事になると思います。

もうちょっと進んで、生成AIでISMS(Information Security Management System)の認証を取れるかを試してみましたが、ぜんぜん足りませんでした。無理です(笑)。

先ほどセキュリティの必要項目の中に教育がありましたが、従業員の教育資料もパワポの自動生成AIなどを使えば、1分足らずでプレゼンの下準備ができます。

ただけっこう合っていないので、足りないところは足してください。

もう1つ、我々セキュリティのプロフェッショナルではないとできないことを、生成AIがちゃんと解決できるのか。気になるので、脆弱性のあるソースコードを持ってきて解析をかけてみました。

これはバッファオーバーフロー(サーバーの領域を大きく超えるデータを送って、誤作動を起こさせるなどの攻撃)があるソースですが、ChatGPTの結果を見るとちゃんと指摘しています。

ただ、ほかの項目がおかしいんですね。変数の初期化やポインタの扱いはバツで、リターン値の部分は半分だけ合っている。それほどできるものではないという結論になります。

ChatGPTではなく、GitHubに付いている脆弱性診断ツールもあります。そういうものはChatGPTより信頼できる内容ですが、それでも「余分に出る」ことが多く、ノイズが多く含まれる。ここはどうしようもないところですね。

重要な情報を流出させないポイント

ここまで見て、ChatGPTはけっこう使えることがわかってきたと思います。セキュリティに要する時間をもう少し短くすることができそうですが、システム設計などちゃんとやらないといけないところは、セキュリティのプロフェショナルに入っていただきたいと思います。

ChatGPTをセキュリティに使う上で、気をつけないといけないところがあります。(スライドの)「チャット履歴とトレーニング」。

つまり入力した内容を勝手に使っていいかということです。ここがオフになっていないと、使われることがあります。

もう1つ、ChatGPTにはチャット全体を共有する機能があり、共有になっている過去の内容はちゃんとリスト化されます。この共有は一部ではなく全部が共有されますので、たまにチェックをして、機微な内容を共有していないかに気をつけていただきたいと思います。

ChatGPTに原稿を書かせようという人もいるかもしれませんが、(「チャット履歴とトレーニング」が)オンになっていると、全部ChatGPTに持っていかれてしまいますので、共有ではないほうがいいと思います。

あとChatGPT自体のセキュリティですが、実は私は(OpenAIの)バグバウンティ(外部のホワイトハッカーやセキュリティ専門家の支援を得て、バグや脆弱性に対応する仕組み)に参加していて、報告などもしています。

OpenAIはいろんなハッカーの方々から報告を受けて、脆弱性を修正する仕組みを持っており、いろんな人の目が入っている状態なので、大切なデータを入力しなければ、わりと安全に使えるシステムかと思います。ただ、入力すると出てしまうので、課金をした上で使い、共有状態もちゃんと管理する必要があります。

セキュリティマネジメントができても、攻撃は防げない

生成AIでできるのは基本的にはセキュリティマネジメントのみです。攻撃を防ぐなどの技術的な対応はできない。生成AIなので、フィッシングや攻撃の文章を生成することはできたとしても、それを防ぐことはできません。そこに過度な期待をしないでいただきたいと思います。

「プリンターから英語の文章が出てきて、よくわからないので対応してください」という依頼がたまに来ますが、これはランサムウェアに感染して脅迫文がプリンターから出ている状態です。

スマートフォンで写真を撮って、OCR機能(画像データのテキスト部分を文字データに変換する機能)で文章にして、「これにどう対応したらいいか」をChatGPTに聞いたら、ちゃんと「ランサムウェアです」と判断して、どう対処すればいいかという台本が出てきました。

基本的には「セキュリティの専門家に聞いてください」ということですが、その前段階で何をしたらいいかも出してくれたので、そういう時にも使えます。

英語の文章が得意ではない人は、ChatGPTが生成した文章を読むとどうしたらいいかがわかります。ただ、「セキュリティの専門家に聞いてください」の箇所は正しいですが、すべてが正しいかどうかはまた別問題です。

必要なのは国語力と指示の明確化

まとめます。情報セキュリティマネジメントは質の高い文章が多く公開されているので、良いものが自動的に生成されます。特にプライバシーポリシーや、Webサイトに掲載が必要な利用規約などは意外と簡単に作れます。

ただ、短いものは得意ですが、長い文章は得意ではないので、そのへんを考慮して作る必要があります。

私はGPT-3.5と4の両方を使ってみましたが、3.5が良い結果を返す時もあれば、4が良い結果を返す時もあります。また、生成AIはほかにもいくつかありますので、それを使うとまた違う結果が返ってきます。いろんな情報を集め、いろんな意見を聞いてから話すのと同じで、「生成AIに作らせてみて使えるものを使う」が重要です。

もう1つ、AIの苦手なことや理解できない文章を返す場合は、絶対に人の手による修正が必要です。そこはセキュリティマネジメントをわかっている人じゃないといけません。

ゼロから作るのは容易ですが、良い結果を出すには、国語力と指示の明確化が重要です。特に指示の明確化ですね。部下を使うことに慣れている人でもけっこう文句を言っていますが、一度ChatGPTで(指示出しの)練習をしてみると、ちゃんと指示できているかどうかがわかります。

ちなみにこの講演の内容もChatGPTで生成できるか確認したんですけど、ちょっと微妙な感じになりました。「生成AIじゃできないよ」という返しがいくつか出ました(笑)。そういう意味では今回は新しい内容だったことがわかるかと思います。

こういうふうに、講演の内容などが語り尽された内容かどうかはChatGPTにかけるとわかるかと思います。ChatGPTの返しと同じことを言っていたらその人はChatGPTを使って作ったか、あるいは昔からやっている内容だというのがわかったりします。

そんなオチもありまして、本講演は以上とさせていただきます。ご清聴ありがとうございました。