脆弱性の評価指標(CVSS)
当ページでは、システムの脆弱性の指標「CVSS」について分かりやすく説明しています。
この記事を読むことによって、発見された脆弱性のCVSSスコアを計算できるようになり、脆弱性の深刻度を評価することが可能となります。
CVSSの概要
CVSS (Common Vulnerability Scoring System)とは、情報システムの脆弱性の深刻度を定量的に評価するためのスコア付けシステムのこと。
情報システムの脆弱性に対するオープンで汎用的な評価手法であり、ベンダーに依存しない共通の評価方法となっている。
脆弱性の深刻度を0.1~10.0の範囲でスコア付けし、「この脆弱性は対策すべきか?」であったり「優先的に対策すべき脆弱性はどれか?」などの見極めに利用する。
深刻度 | スコア |
---|---|
緊急 | 9.0 - 10.0 |
重要 | 7.0 - 8.9 |
警告 | 4.0 - 6.9 |
情報 | 0.1 - 3.9 |
CVSSのバージョン
CVSSはこれまでに複数回のバージョンアップが行われて改良されてきた。
バージョン一覧とその概要は以下の通り。
バージョン | 公開年 | 概要(前バージョンとの変更点) |
---|---|---|
CVSS v1 | 2005年 | 最初のバージョンで、脆弱性の深刻度を数値化する仕組みを導入。 |
CVSS v2 | 2007年 | 時間や環境の観点をスコアに反映させた。 |
CVSS v3.0 | 2015年 | 脆弱性の影響範囲・攻撃前提条件の複雑さ・ユーザの関与の有無をスコアに反映させた。 |
CVSS v3.1 | 2019年 | 一部の用語や定義を明確化し、評価者による解釈の違いを減少させた。 |
CVSS v4.0 | 2023年 | 脆弱性の影響だけでなく、実際に攻撃されるリスクをより現実的に評価可能にした。 |
CVSSのスコアの計算方法
CVSS v3.1のスコア計算
以下の3種類のスコアが存在する。
- (基本評価値) :脆弱性そのものの深刻度のみを評価した基本スコア。 Base Metrics(基本評価基準)と呼ばれる8つの項目からスコアを算出する。
- (現状評価値) :Base Scoreに加え、脆弱性の現時点での深刻度を加味したい場合に算出するスコア。 攻撃方法公開の有無や、セキュリティパッチの有無などを考慮し、時間経過によってスコアも変化する。 Temporal Metrics(現状評価基準)と呼ばれる項目を加えてスコアを算出する。
- (環境評価値) :Temporal Scoreに加え、製品利用者の利用環境を加味したい場合に算出するスコア。 各利用者によってスコアも変化する。 Encironmental Metrics(環境評価基準)と呼ばれる項目を加えてスコアを算出する。
以上3種類のスコアがあるが、主に使われるのはBase Scoreであり、Temporal ScoreとEnvironmental Scoreはオプション。
Base Metrics(基本評価値)の詳細
Base Scoreは以下の8つの項目(基本評価基準)から計算される。

- (攻撃元区分) :攻撃者が脆弱性を悪用するためのアクセス条件の範囲。
選択肢 | 概要 |
---|---|
Network (N) | インターネット経由で遠隔で攻撃が可能 |
Adjacent (A) | 同じ物理または論理ネットワーク内でのみ攻撃可能(例: サブネットやVPN経由)。 |
Local (L) | ローカルシステムでのみ攻撃可能(例: SSHでのターミナル操作)。 |
Physical (P) | 攻撃者が直接システム本体に触れる必要がある(例: USBデバイスを挿入)。 |
- (攻撃の複雑さ) :攻撃を成功させるために必要な条件の難易度。
選択肢 | 概要 |
---|---|
Low (L) | 攻撃を成功させるための条件が単純で、追加の条件を満たす必要がない。 |
High (H) | 特別な準備や情報収集が追加で必要。 |
- (必要な権限) :攻撃を成功させるために必要な権限。
選択肢 | 概要 |
---|---|
None (N) | 攻撃に特別な権限が不要。 |
Low (L) | 制限された権限が必要(例: 一般ユーザ権限)。 |
High (H) | 高い権限が必要(例: 管理者権限)。 |
- (ユーザの関与) :攻撃を成功するために、ユーザの関与が必要か
選択肢 | 概要 |
---|---|
None (N) | ユーザの関与は不要。 |
Required (R) | 攻撃を成功させるためにユーザの関与が必要(例: リンクをクリック)。 |
- (影響範囲) :脆弱性の影響が攻撃対象以外のシステムやコンポーネントに及ぶかどうか。
選択肢 | 概要 |
---|---|
Unchanged (U) | 影響は攻撃対象の範囲内にとどまる。 |
Changed (C) | 影響が他の範囲(システムや特権)に及ぶ。 |
- (機密性) :機密情報への影響。
選択肢 | 概要 |
---|---|
High (H) | 完全な機密性の喪失(例: 全データの漏洩)。 |
Low (L) | 一部の機密性が損なわれる(例: 部分的なデータ漏洩)。 |
None (N) | 機密情報には影響がない。 |
- (完全性) :データやシステムの改ざんに関する影響を評価します。
選択肢 | 概要 |
---|---|
High (H) | 完全性が大幅に損なわれる(例: 全データの改ざん)。 |
Low (L) | 一部の完全性が損なわれる。 |
None (N) | 完全性に影響はない。 |
- (可用性) :システムやサービスの利用可能性への影響を評価します。
選択肢 | 概要 |
---|---|
High (H) | サービスが完全に停止する。 |
Low (L) | サービスが部分的に停止、または一時的な影響がある。 |
None (N) | 可用性に影響はない。 |
その他の脆弱性指標の関連用語
CVE
CVE (Common Vulnerabilities and Exposures)とは、世の中の脆弱性の一元的なIDのこと。
「CVE-【西暦】-【一意の番号】」といった命名規則で付けられる。
例えば2014年にOpenSSLの情報漏洩を引き起こしてしまう脆弱性(Heartbleed 問題)が発見されたが、この脆弱性には「CVE-2014-0160」というIDが割り振られている。
CVE IDの発行はCVE Numbering Authorities (CNA) という認定機関が行なっている。
CWE
CWE (Common Weakness Enumeration)とは、脆弱性をカテゴリ分けしたもの。
脆弱性の種類を脆弱性タイプとして分類して階層構造で体系化している。
例えば「クロスサイトスクリプティング」と呼ばれる脆弱性は「CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')」として登録されている。