CVSS4.0 の変更点:攻撃の複雑さと要件のパラメータについて詳述する

Does CVSS 4.0 solve the exploitability problem?

2024/01/31 HelpNetSecurity — 脆弱性スコアリングシステム CVSS の最新版である、CVSS 4.0 が登場した。2015年の CVSS 3.0 のリリースから長い時を経て、2023年11月から、CVSS 4.0 が正式に稼動している。CVSS 3.0 を基に構築された CVSS 4.0 では、脆弱性のスコアリング/認識/分類方法などが改善されている。

CVSS 3.0 の問題点

CVSS 3.0 は、脆弱性の “影響度” の測定には非常に適しているものの、”悪用可能性” のスコアリングには不向きだった。悪用可能性とは、エンドユーザーとのやりとり/脅威アクターのスキルセットや能力/問題のシステムのセットアップなどを考慮した上で、脆弱性が悪用される可能性を示すものである。

CVSS 3.0 には、他にも複数の指摘があった。CVSS 3.0 は、サイバー上の脅威に重点を置いているため、物理的なセキュリティ・リスクは CVSS フレームワークに上手く馴染まなかった。また、さまざまなテクノロジー・スタックや、サプライチェーンを持つ複雑な相互接続システムにも適合しなかった。

さらに、CVSS に統合されたパラメータの多くにおいて、アナリストごとに異なるスコアが導き出され、常に主観的に解釈されていた。こうした背景から、CVSS は改善を求められていた。

CVSS 4.0 の変更点

Attack Complexity:CVSS 3.0 では、攻撃の複雑さのパラメーターは2進数であり、High/Low の2択に設定されていた。しかし CVSS 4.0 では、攻撃の複雑さ (Attack Complexity) /攻撃要件 (Aattack Requirements) の、2つのパラメータに分割されるようになった。

“Attack Complexity“ パラメータは変更されていないが、”Aattack Requirements” には、攻撃を成功させるために必要な前提条件が入っている。たとえば、Web サーバ上における特定のコンフィグレーション/特定のコードとの依存関係の存在などである。

それは、攻撃の複雑さとは異なるものであり、攻撃を成功させるために突破する必要のあるセキュリティ対策 (バッファ・オーバーフローに対する ASLR/WAF など) と密接に関係している。つまり、防御側/攻撃側の双方において、攻撃の成功要件が詳細になるため、喜ばしい変更と言える。

UI (User Interaction):CVSS 3.0 では、これも Yes/No の2択設定されていた。そして、あらゆる種類のユーザー・インタラクションを必要とする攻撃において、攻撃を成功させるために必要なものを、誤って表現していた。

たとえば、悪意のサイトにアクセスさせるための、URL が記載されたフィッシング・メールを受け取ったユーザーは、URL をクリックするという、1つのアクションで完結する。しかし、ユーザーに添付ファイルをダウンロードさせて、悪意のファイルを開かせる必要のある攻撃においては、複数のアクションが必要となる。しかし、CVSS 3.0 では、どちらも同じものと見なされていた。

CVSS 4.0 では、UI は、3つのパラメータ (None/Passive/Active) に分割されるようになった。

”Passive” とは、ユーザーが、能動的にセキュリティの仕組みを破壊する必要のないインタラクションを指す。たとえば、XSS (cross-site scripting) が仕込まれている Web サイトをユーザーが訪問することは、Passive (受動的) なインタラクションに分類される。

“Active” は、能動的なインタラクションを指す。たとえば、ワークステーションへとファイルを配置/ダウンロードする際に、関連するポップアップやプロンプトが表示されるようなケースが、それに該当する。

CVSS 3.0 では、”all or nothing” 的なアプローチであり、ユーザーが 4〜5 回のインタラクションを要求した場合であっても、URL のシングル・クリックを要求したユーザーと同じように扱われていた。そのため、UI のパラメータが分類されることも、歓迎すべき追加要素といえる。

以上が主要なアップデートであり、他のパラメータや文言にも、スコアリングを効率化するための細かな変更が加えられている。

CVSS 4.0 の実例

CVSS 4.0で変わるものについて、いくつかの例を挙げてみる。

まずは、2023年に発見された Avo (オープンソースの Ruby on Rails 管理パネル作成フレームワーク) の XSS 脆弱性 CVE-2023-34103 だ。この脆弱性の CVSS 3.0 でのスコアは 5.4 (深刻度 Medium) だったが、CVSS 4.0 では、主に UI (User Interaction) パラメータの変化により、4.8  (深刻度は同じく Medium) まで下がった。

では、リモート・コード実行 (RCE:Remote Code Execution) につながるような、より深刻な脆弱性の場合はどうだろうか?

Atlassian Asset Discovery エージェントの RCE 脆弱性 CVE-2023-22523 は、CVSS 3.0 では 8.8 (深刻度 High) と評価された。しかし、この脆弱性は、特定のコンフィグレーション/エージェントのセットアップなどを必要とするため、CVSS 4.0 のスコアは 7.8 (深刻度 High) に下降する。

どちらも、リモート・ネットワーク・ベースのシナリオの例だが、Palo Alto の権限昇格の脆弱性 CVE-2023-3282 のような、ローカル・アクセスを必要とするものを考慮した場合は、より大幅にスコアが変化する。

この脆弱性の CVSS 3.0 スコアは 6.7 だったが、CVSS 4.0 では 4.9 に下降した。つまり、この脆弱性がシステムに与える直接的な影響に加えて、CVSS 3.0 までは考慮されていなかった、ローカルの条件や権限を必要とする点が、考慮されたからである。

まとめ

CVSS とは、ユーザー企業が脆弱性を容易に評価し、修正の優先付けを効果的に行えるようにするためのものだ。CVSS 4.0 という新しいシステムには、注目すべき改善点がいくつかあるが、おそらく不十分な点もあるだろう。しかし CVSS 4.0 は、自社に打撃を与える脆弱性と、対応を後回しにできる脆弱性の判別を容易にするために、悪用の可能性をより適切に表現している。

残された唯一の問題は、この新しいスコアリング・システムが、セキュリティ・ベンダーにより迅速に適用され、私たちが現在使用しているツール上で、その恩恵をいつから受けられるようになるかという点だ。