ソフトウェアセキュリティの現状と課題
2022年11月にChatGPTが登場し、従来であればエキスパートしかアクセスできなかったAIのハードルは一気に下がった。AIや大規模言語モデル(LLM)のAPI、プロンプトを活用した特化型サービスは近年続々とリリースされており、もはや「AI SaaSの大津波」とも呼ぶべき状況だ。
ただし、これらのAI SaaSについて岡田氏は、「バックエンドはLLMに任せ、フロント部分を工夫しているだけのものが多い印象」と分析する。LLMの設計・運用自体を行うのではなく、プロンプトをいじったり、僅かにファインチューニングしたりしたものが「サービス」として提供されているわけだ。
このような背景を押さえたうえで岡田氏は、開発におけるセキュリティ面の現状へと話題を移す。岡田氏によると、セキュリティ対策を講じるためには「外部脅威」と「システムの脆弱性」という2つのリスクをしっかりと押さえることが大事だという。
「外部脅威への理解が足りないと『こんな攻撃をしてくる人はいないだろう』という油断につながる。システムの脆弱性への知見が足りないと『そんな対策に手間暇かけていられない』となる。セキュリティリスクは、大抵どちらかが原因で生まれる」
外部脅威に関連する話として、岡田氏はNICTER(ニクター)を紹介した。NICTERは国立研究開発法人情報通信研究機構(NICT)が運営するサイバーセキュリティのためのプロジェクトであり、インターネット上のサイバー攻撃やネットワークインシデントをリアルタイムで監視・分析するためのシステムのことだ。
このシステムでは、ダークネットと呼ばれる未使用のIPアドレスをモニタリングすることにより、日本のIPアドレスレンジに押しなべてクローラーや無差別攻撃を送っていたり、開いているポートを探してスキャンをかけたりしているような攻撃者の情勢をモニタリングできる。
2024年2月に公開された最新のNICTER観測レポートによると、「1IPアドレスあたり、226万もの悪意のあるパケットが1年間に届いた計算になる」というから驚きだ。
「こうした攻撃は、そのIPアドレスが誰のものかには関係なく行われる。『入りやすいところはないか』『脆弱性はないか』と常にスキャンしている人たちがいる。ましてターゲットが金融機関や製造業、医療機関ともなれば、攻撃はさらに苛烈になる。」まさに油断大敵というわけだ。
状況の深刻さを強調すべく、岡田氏は2024年に起こった公開サイトでの被害例を一覧で示した。Webサイトの改ざん、そこからのデータ窃取、あるいは攻撃を停止する条件としての金銭要求など、手口は実にさまざまだ。その被害は甚大であり「開発費ぐらいは余裕で吹き飛ぶ」というから恐ろしい。
では、こうした外部脅威に対して、システムの脆弱性対策はどう進めるべきか。岡田氏は、幅広い層が関わるシステムになるほど対策が難しいと語る。
いわゆるハードウェアOSに近いところから、アプリケーションのソフトウェア、ネットワーク機器、オープンソースやサードパーティーなどのコンポーネント、プログラムコードまで、対応すべき箇所が多岐に渡るためだ。さらにはシステムのクラウドサービスの設定ミスや、ユーザーやオペレーターの操作ミスなども、アカウント乗っ取りなどを許す脆弱性になりうる。
「それぞれの層で対応手段が異なるうえに、アップデート適用でなんとかなるものばかりではなく、人力での修正や確認が求められるのが脆弱性対策の難しい点だ。適切な対策を講じるには、どこに脆弱性が生じうるのか、解像度を上げておくことだ」