CVSS基本スコアを絶対的なものとして扱ってはならない理由
コントラストブログを購読する
私たちのブログを購読することで、最新のappsecニュースをすべて把握し、ベストプラクティスを開発できます。また、最新のコントラスト製品ニュースとエキサイティングなアプリケーションセキュリティイベントについても通知されます。
Ciscoは2023年9月6日、同社の「BroadWorks Application Delivery Platform」および「BroadWorks Xtended Services Platform」のシングルサインオン(SSO)実装に影響する認証バイパスの脆弱性、すなわちCVSS深刻度の最大値10.0に値するバグに対して、緊急修正をリリースした。
その結果、CVE-2023-20238の対応は日々忙しいセキュリティ部門に押し付けられ、2022年時点で前年比59%増加しているCVE(共通脆弱性識別子)の絶え間ない激流に加えて、対応を迫られた。最近の分析によると、新たなCVEは平均して20分に1件の割合で登録されており、増え続ける脆弱性のバックログという果てしない山から自力で抜け出すことができる企業はほとんどないという事実が浮き彫りになっている。
CVSSスコア(共通脆弱性評価システム)は、技術システムのバグの重大性に関する事実上の尺度となっているが、このスコアの使い方が破綻していることが問題の一因だ、と言う人もいる。
Contrast SecurityのCISO(最高情報セキュリティ責任者) David Lindnerもその一人だ。 2023年8月18日付のCISOの視点で、同氏はリスクを測定するツールとして、「CVSSを活用することは実用的では無い」と主張している。「業界全体でCVSSの基本スコアのみに頼ることをやめるべきだ」と彼は言う。
主な問題はコンテキスト(リスクの前後関係の事象や情報)の欠如にあるとLindnerは主張する。なぜCVE-2023-20238は、最も危険な「Critical(緊急)」レベルの10.0となったのか?さらに言えば、脆弱性はどのようにその深刻度に分類されているのだろうか?
残念ながら、この分類は主観的なものだとLindnerは言う。「99.9%の確率で、これらのCVEは最悪のケースを想定してランク付けされていると言えるだろう。」「すべてが最悪のケースを想定している。1日に80のCVE、もしくはその数がなんであれ、毎日リリースされるんだ。」もちろん、その数は日によって大きく異なる。2023年9月8日(金)午後2時38分EST(米国東部標準時)の時点で、 NISTのNVDダッシュボードには、その週に439件の新たなCVEが受信し処理されことが記録されている。研究者Jerry Gamblin氏によるCVE.ICUプロジェクトによると、2023年9月11日時点で、2023年に作成されたすべてのCVEの平均CVSSスコアは7.19であり、これはHigh(重要)の深刻度となる。
出典: 研究者Jerry Gamblin氏によるCVE.ICUプロジェクト
「これら全てのCVEは最悪のシナリオを想定して設定されている。そして、セキュリティ担当者である我々は、危険なCVEをXYZ日以内(プログラムにより、7日とか30日など)に修正する必要があるという脆弱性管理マトリックスに基づいて対応することが期待されるのだ。」とLindnerは言う。
しかし現実には、CVSSスコアが誰かの最悪のシナリオを反映しているからといって、それが自分にとって危険(Critical)であるとは限らない。Lindnerの説明によるとCVSSスコアには重要な要素が欠けており、「このCVEは悪用されているか? エクスプロイトコードは公開されているか?など、CVEの評価には含まれていない要素がたくさんある。」と彼は言う。
同時にFedRAMP(米国連邦政府によるリスク承認管理プログラム)の様な規制では、企業はこれらのリスク評価に従う必要があるが、これもまたCVEが特定の企業にとって脅威であるかどうかを考慮しない最悪のシナリオであると、Lindnerは言う。CVEが1日に約80件発生しているからといって、1日あたり80件のバグのうち、悪用可能な脆弱性や実際に悪用されるといった最悪のシナリオが80件あるというわけではない。
「悪いけど、そうじゃないんだ」とLindnerは言う。「それらの脆弱性は、攻撃されてはいないんだ。最新の数字では、エクスプロイトコードを公開しているのはCVEの2%ほどだったと*思う。エクスプロイトコードは公開されていないから、攻撃される可能性はゼロに等しい。それにもかかわらず、この問題はランクが9の「Critical(緊急)」になり、社内プロセスに従って7日以内に修正しなければならない。」
(*カーネギーメロン大学によると、CVE-IDの4.1+/-0.1%が関連するエクスプロイトコードを365日以内に公開している)
広く採用されているCVSSは、過度に主観的であることに加えて、スコアの算出方法が複雑すぎることや、脆弱性の優先順位付けに誤用が多いことも批判されてきた。
しかし、変化が起きている。CVSS-SIG(CVSS Special Interest Group)は、2023年10月1日に新しいバージョンであるCVSS 4.0を正式にリリースする。現在、公開プレビュー・コメント期間中だ。
CVSS 4.0では、脆弱性計算に追加の指標がないことに対処するために、CVSS-B:基本評価、CVSS-BT:基本評価 + 脅威評価、CVSS-BE:基本評価 + 環境評価、CVSS-BTE:基本評価 + 脅威評価 + 環境評価を利用して算出するといった新しい体系が導入される。また、このリリースでは、攻撃条件(AT)と題する新しい基本指標が追加され、ユーザ関与(UI)指標が更新され、スコープ(S)指標が廃止される。
これらは「CVEを取得する際に考慮すべきこと」だとLindnerは言う。
CVSS 4.0は完璧ではない。 その理由について、CISOのLindnerは次の例を挙げた。JavaのSpringアプリケーションフレームワークに重大なCVEがあるとする。公開されているエクスプロイトはない。ただし、CVEを評価する要素には機密性、完全性、可用性への影響がある。この架空のCVEの機密性が「高」と評価され、データの機密漏洩につながる可能性があるとしよう。しかし、そのデータが実際には機密性の高いものでないとしたらどうだろう?もしそれが、Springの古いバージョンで実行されている地元の高校のランチメニューアプリから出てくるデータだとしたらどうだろう?
火曜日のランチのデータが「ケバブ」として公開されることは問題ではない。
しかし、このような場合、機密性が重要でないことは問題ではない。「それを考慮に入れる機会がないんだ」とLindnerは指摘する。「それでも重大な脆弱性があるから、全てを中断して脆弱性を修正しなくてはいけない。。。。」このような不安が、セキュリティ部門や開発部門、その周りにいる全員の間に生まれる。どうすれば良いのかわからないほど、人々の頭痛の種となっていく。そして、皆たじろぐだけだ。セキュリティ担当が言う、「いいよ、分かった。ただ指示に従って脆弱性を修正すればいいんだ。」
CVSSの評価は、CVEの数が現在の3分の1かそれ以下だった時代に作られた。毎年、何十、何百億行ものコードやソフトウェアが書かれているため、CVEの数はすぐには改善されないだろう。生成AIが常により多くのコードを構築しているような現在では、特にそうだ。
「イライラするよ」と、Lindnerはため息をつく。「そして難しい。」Contrastは、会社として限界に挑戦し、セキュリティの実施方法に対するより良いアプローチを人々に推進したいと考えている。そして、重要な要素の一つはリスクをどのように評価するか? そして、どうやってその全てを把握するのか?ということだ。
「Contrastは、このような情報をもっと一般公開し、より多くの人がいつ・何を修正すべきかについて、より最適な判断ができるように努めている。」
私たちのブログを購読することで、最新のappsecニュースをすべて把握し、ベストプラクティスを開発できます。また、最新のコントラスト製品ニュースとエキサイティングなアプリケーションセキュリティイベントについても通知されます。