セキュリティ

センター長 園田道夫のセキュリティコラム

第18回 脆弱性をめぐる冒険

情報通信研究機構(NICT)のサイバーセキュリティ研究所ナショナルサイバートレーニングセンターでは、情報処理安全確保支援士向けの実践講習(特定講習)としてRPCI(リプシィ)を提供しています。 今年度からその冒頭にミニミニセミナーというコンテンツを入れることにしましたが、どういうものかというと筆者園田がトレンドっぽい(笑)話題で10分喋る、というものです。 時にはシークレットゲストが来るかも、という企画なのでどうぞお楽しみに。

・・・で終わったらただの宣伝になってしまうのですが(笑)、6月26日(木)に今年度第一回目のRPCIを開催する、その冒頭で喋るネタを当コラムでも採り上げたいと思います。

2024年、共通脆弱性識別子であるCVE は年間総数で40,000件を初めて突破、7年連続での記録更新となりました(IoT OT Security News)。 ちょっと前までは30,000超えるかどうか、みたいなことを話題にしてた覚えがあるんですが、一気に増えましたね。ITというものがすばらしく浸透して世の中本当に便利になってきてますが、それだけシステムが増える、ということでもあり、総数の大幅増に繋がっているのだと思います。

人間がシステムを作っている限り一定数のバグは作られて、一定数の脆弱性が作られる。その図式が大きく変わらない限り、CVEは増え続けるのでしょう。 もしかしたら生成AIが変えてくれるかもしれませんが、今のところエキスパートの生産性を上げる、もしくは入門者のハードルを下げる、というところに大いに役立ってくれてはいるものの、制作されるソフトウエアの品質を劇的に上げるような成果はあがっていません。 現在の生成AIは大量の公開データを学習してその中から最適解を示すような仕組みですが、ということはつまりバグも学習データの中に含まれているわけで、何らかの形でデータを精製できなければその面での品質向上は難しいでしょう。

一方、攻撃ベクター(攻撃コード)を生み出す仕組みは生成AIによって生産性が向上していくでしょう。善のプログラマー、特にエキスパートが生産性向上の恩恵に浴してますが、犯罪者たちも同じように恩恵にあずかることになってしまうのです。 もちろん、商用ベースのAIの場合は簡単に攻撃コードを書かないようなフィルター機能が組み込まれていますが、フィルターというものはすべからくイタチごっこになる運命で(笑)防御側は攻撃コードを生み出させたい側のアイディアを後追いしつつ機能強化を図る、 というあまり良くない図式に陥っています。さらに言えば、悪い人たちが独自にノンフィルターな生成AIを作ってしまえば、フィルター強化の努力とは関係無く悪の生成AIが暗躍することになるわけです。 悪のサブスクサービスが攻撃側の基盤を強固にしてしまってから数年、そうした基盤およびサービスに組み込まれるのは自然な流れでしょうし、今後ますますサイバー攻撃への参入障壁が下がっていくことになるはずです。

まったく、嫌な時代ですね(苦笑)。良かれと思って作ったものを最大限に活用しているのは実は悪者たち、という流れは何とか変えていきたいものですが・・・。 そんな状況においても、一筋の光明になりうる研究結果が発表されました。ChatGPT4のo3を使ってLinuxのksmbdゼロデイ脆弱性を見つけた、 というブログがそれですが、 平たく言えば脆弱性探索を生成AIに任せる、という選択肢が現実的になってきた、ということです。