2022 年 12 月 15 日
脆弱性の評価基準 CVSS の活用
本記事では、近年増加する脆弱性に対して「どのように脆弱性を評価するか」という観点で、脆弱性を評価しているデータベース NVD に掲載される CVSS の利用方法について解説します。NVD は、NIST が管理している各脆弱性 (CVE) を評価した情報のデータベースです。評価結果には、CVSS、CWE、CPE などが利用されます。
脆弱性とは何か知りたい方は下記のブログをご覧ください。
本記事は、JAPAN Secuirty Summit Update へ寄稿した記事から引用し、CVSS の利用方法について要点をまとめたものです。
より詳細な内容をご覧になりたい場合は下記をご確認ください。
1. CVSS
1.1 CVSS とは
CVSS は、脆弱性の特性と重大性を評価するための標準化されたフレームワークです。
CVSS によって算出される結果は「 CVSS スコア」などと呼ばれます。数多く存在する脆弱性に対して一貫性のあるスコアを算出することが可能なため、脆弱性の対処のための優先度づけに利用されることがあります。2015 年には、CVSS V3 のバージョンが公開されました。2019 年には V3 の標準の定義が明確化された CVSS V3.1 がリリースされています。
CVSS V3.1 では、以下の 3 つの基準を利用してスコアが算出されます。
- 基本評価基準 (Base Metrics)
- 現状評価基準 (Temporal Metrics)
- 環境評価基準 (Environmental Metrics)
1.2 CVSS V3.1 基本標準 Base Metrics
基本標準は、時間の経過とともに一定であり、さまざまな環境全体において一貫した脆弱性の重大度を反映します。以下の要素から計算されます。
- 攻撃元区分 (AV:Attack Vector)
- 攻撃条件の複雑さ (AC:Attack Complexity)
- 必要な特権レベル (PR:Privileges Required)
- ユーザ関与レベル (UI:User Interaction)
- スコープ (S:Scope)
- 機密性への影響 ( 情報漏えいの可能性、C:Confidentiality Impact)
- 完全性への影響 ( 情報改ざんの可能性、I:Integrity Impact)
- 可用性への影響 ( 業務停止の可能性、A:Availability Impact)
基本標準のスコアには、対応する数値によって Severity や深刻度、重大性と呼ばれる脆弱性のレベルが定義づけられています。
重大性 Severity | 基本標準スコア Base Score |
---|---|
緊急 Critical | 9.0~10.0 |
重要 High | 7.0~8.9 |
警告 Medium | 4.0~6.9 |
注意 Low | 0.1~3.9 |
なし | None 0 |
1.3 CVSS V3 現状評価基準 Temporal Metrics
現状評価基準は、悪用可能なコードの可用性など、時間の経過とともに変化する要因に基づいて、脆弱性の基本評価基準のスコアを調整します。
以下の要素から計算されます。
- 攻撃される可能性 (E:Exploit Code Maturity)
- 利用可能な対策のレベル (RL:Remediation Level)
- 脆弱性情報の信頼性 (RC:Report Confidence)
1.4 CVSS V3 環境評価基準 Environmental Metrics
環境評価基準は、特定のシステム環境に合わせて、緩和策などの要因に基づいて上記 2 つのスコアを調整します。以下の要素から計算されます。
- 対象システムのセキュリティ要求度 (CR、IR、AR:Security Requirements)
- 環境条件を加味した基本評価の再評価 (Modified Base Metrics)
1.5 CVSS 計算機
3 つの評価基準の関係について、図にまとめました。
CVSS のスコアの仕組み
3 つの評価基準を計算機で計算することで CVSS 3 つの基準値からなる脆弱性の重要性を把握することが可能です。NVD で公開される CVSS の情報は、基本標準 (Base) のスコアのみ、あるいは基本標準 (Base) と現状評価標準 (Temporal) のスコアのみが公開されるので、ユーザが環境評価基準 (Environment) のスコアを追加して全体の CVSS のスコアを計算します。CVSS スコアは以下のサイトの計算機から算出することができます。
- FIRST
- NIST NVD
- CVSS 計算機
- 各脆弱性詳細ページ Severity の項目内の Base Score ( 数値 ) をクリック
- JVN iPedia
- 各脆弱性ページ
CVSSv2、または CVSSv3 の基本値 ( 数値 ) をクリック
- 各脆弱性ページ
1.6 CVSS V2 と CVSS V3 の違い
CVSS V2 と CVSS V3 には、以下のような違いがあります。
- 基本標準要素の変更
- 基本標準要素の追加
- 必要な特権レベル
- ユーザ関与レベル
- スコープ
- 評価対象の変更
- 影響を受ける範囲の評価ではなく、重要な情報に対する影響の評価
- 基本標準要素の追加
- 環境評価基準要素の追加
V2 では、攻撃対象となるホストやシステム全般への影響を評価する要素のみでしたが、V3 では、環境条件を加味した基本評価の再評価 (Modified Base Metrics) が追加され、システムの実態に合わせて評価することができます。
例えば、環境条件を加味した基本評価の再評価には「緩和策後の必要な特権レベル (MPR:Modified Privileges Required)」という項目があり、脆弱性のあるコンポーネントを攻撃する際に必要な特権のレベルを評価します。ここで、脆弱性が内在するが、特権が不要な場合「低 (L)」の評価が適用されます。
CVSS 計算機への適用
1.7 CVSS V3 と CVSS V3.1 の違い
CVSS V3 と CVSS V3.1 には、先に説明したように評価基準に大きな変更はありません。V3.1 は既存の基準を明確化することを目的に作成されました。以下のような違いがあります。
- CVSS 基本評価基準の明確化
システムのリスクについて総合的な評価が必要とされる場合に基本評価基準 Base Score のみが利用されることが懸念され、CVSS v3.1 仕様書には、CVSS 基本評価基準 Base Score は、時間の経過とともにユーザ環境全体で一定であり、脆弱性の固有の特性のみを表すことが明確に記載されています。
つまり、リスク評価のために CVSS 基本評価基準 Base Score のみで判断してはいけないということです。ここで重要なのは、基本評価基準だけでなく、現状評価基準、環境評価基準を加味した包括的な評価を実施することです。 - スコアリングガイダンス、名称の変更
- 拡張フレームワークの追加
- あいまいさ排除のための CVSS スコア算出のための数式の変更
詳細な変更については FIRST の仕様書 をご確認ください。
どのように脆弱性を評価するのか
脆弱性をスコアリングする CVSS について解説しました。CVSS スコアを利用することで、システムにおける脆弱性の重大性について一貫した総合的な評価が可能です。また、対応すべき脆弱性の優先度づけが明確になります。ただし、基本標準のスコアだけで判断するのではなく、3 つの評価基準を適切に評価することが重要です。
サイバートラストでは、NVD の情報、各ベンダの脆弱性情報や CVSS を用いてシステムに内在する脆弱性の重要度を可視化し、脆弱性を管理するツールを提供しています。
MIRACLE Vul Hammer の脆弱性検出結果のページ
MIRACLE Vul Hammer の脆弱性詳細ページ
MIRACLE Vul Hammer では、対応するべき脆弱性について、タスクポリシーを設定しておくことで利用環境状況を加味したトリアージを行なうことができます。
MIRACLE Vul Hammer のタスクポリシー
参考文献
- https://www.ipa.go.jp/security/vuln/CVSS.html
- https://www.ipa.go.jp/security/vuln/SeverityLevel3.html
- https://www.first.org/cvss/
- http://cwe.mitre.org/index.html
- https://jvndb.jvn.jp/nav/jvndbhelp.html#jvndb3
以下では、ソフトウェアの脆弱性やセキュリティポリシーの形式・命名方法を一連の仕様によって標準化し、自動化による脆弱性・パッチチェックの負荷軽減やセキュリティ製品の運用を促進することを目的として策定された SCAP 規格群の解説を行なっています。
この記事の著者
サイバートラスト株式会社 OSS 事業推進本部 富田佑実