【脆弱性】CVSSとは?意味・仕組み・算出方法などをわかりやすく解説!

セキュリティニュースを見ていると「CVSS 9.8」や「CVSS 3.5」といった数値を目にすることがあります。これはCVSSと呼ばれる、脆弱性の深刻度を「0.0〜10.0」で評価する国際標準のスコアです。

この記事では『CVSS』について、以下の内容をわかりやすく解説します。

  • CVSSとは?
  • CVSSのバージョン
  • CVSSを算出する評価基準
  • CVSSスコアの分類
  • CVSSを実際に算出してみる

CVSSとは?

CVSS(Common Vulnerability Scoring System)は、ソフトウェアやシステムの脆弱性の深刻度を「0.0〜10.0」の数値で評価する仕組みです。

この仕組みは、国際的なセキュリティ団体FIRST(Forum of Incident Response and Security Teams)によって策定され、世界中で共通の基準として使われています。

CVSSを用いれば、ベンダーや国ごとにバラバラな評価を避け、同じ指標で「どれから優先して修正すべきか(対策の優先順位)」を判断することができるのです。

なぜCVSSが必要なのか?

脆弱性は毎日のように見つかります。しかし、発見されたすべてをすぐに直すのは現実的に不可能です。ここで役立つのがCVSSです。

  • 例1: CVSS 9.8(Critical) → すぐに対応しないと危険
  • 例2: CVSS 3.5(Low) → 時間があるときに対応でもよい

CVSSを使うと、世界中の研究者や企業が同じ基準でスコアを付けられるため、対応の優先度を迷わず決められるのです。

CVSSのバージョン

CVSSには以下のバージョンがあります。

  • v1(2005年)
  • v2(2007年)
  • v3(2015年)
  • v3.1(2019年)
  • v4(2023年)

2025年時点ではv3.1がよく使われていますが、これからはv4への移行が進んでいきます。

CVSSを算出する評価基準

CVSSはいくつかの評価基準を組み合わせて算出します。これにより「脆弱性そのものの危険度」「現状の攻撃状況」「自分の環境にとっての重要度」など、複数の観点から柔軟にスコアをつけることができます。

CVSS v3.1の評価基準

v3.1では「基本評価基準(Base Score)」と「現状評価基準(Temporal Score)」と「環境評価基準(Environmental Score)」の3つの評価基準を組み合わせてCVSSを算出することができます。「基本評価基準(Base Score)」だけで算出するケースが多いですが、必要に応じて他の評価基準も組み合わせてCVSSを算出します。

  • 基本評価基準(Base Score)
    • 脆弱性そのものの深刻度を表す。
    • 主に以下の要素から計算します
      • 攻撃元区分: Attack Vector (AV)
      • 攻撃条件の複雑さ: Attack Complexity (AC)
      • 攻撃に必要な特権レベル: Privileges Required (PR)
      • 利用者の関与: User Interaction (UI)
      • 影響の想定範囲: Scope (S)
      • 機密性への影響: Confidentiality (C)
      • 完全性への影響: Integrity (I)
      • 可用性への影響: Availability (A)
  • 現状評価基準(Temporal Score)
    • 「いま現在」どれくらい危険かを反映させたスコアです。
  • 環境評価基準(Environmental Score)
    • 各組織におけるシステムやネットワークの重要度を反映させたスコアです。

CVSS v4の評価基準

v4.0では仕組みが整理され、「CVSS-B」と「CVSS-BE」と「CVSS-BT」と「CVSS-BTE」の4種類でCVSSのスコアを算出することができます。「CVSS-B」で算出することが多いです。

  • CVSS-B
    • 「基本評価基準(Base Metrics)」のみを利用して算出
    • 最もシンプルでよく使われる方法。
    • CVSS v3.1の「Base Score」と同じ立ち位置。
  • CVSS-BE
    • 「基本評価基準(Base Metrics)」および「環境評価基準(Environmental Metrics)」を利用して算出
    • 脆弱性の基本的な深刻度に加えて、自分の環境(システムの重要度)を反映。
  • CVSS-BT
    • 「基本評価基準(Base Metrics)」および「脅威評価基準(Threat Metrics)」を利用した算出
    • 基本的な深刻度に加えて「脅威状況(Threat)」を加味。
    • 「脅威評価基準(Threat Metrics)」はCVSS v3.1の「現状評価基準(Temporal Score)」に近いが、より詳細な脅威状況を考慮する形に進化。
  • CVSS-BTE
    • 「基本評価基準(Base Metrics)」、「脅威評価基準(Threat Metrics)」および「環境評価基準(Environmental Metrics)」を利用して算出
    • 基本の危険度、現状の脅威状況、環境の重要度をすべて加味した「完全版」。

補足

v4.0からは「補助評価基準(Supplemental Metrics)」も新設されました。これは、補助的に脆弱性の特性を追記するための基準で、CVSSの算出には使用されません。

CVSSスコアの分類

CVSSスコアは以下のように区分されます。

CVSSスコア深刻度(Severity)
0.0None(影響なし)
0.1–3.9Low(低)
4.0–6.9Medium(中)
7.0–8.9High(高)
9.0–10.0Critical(緊急)

  • CVE-2017-0144(EternalBlue)CVSS 8.8(High)
  • CVE-2021-34527(PrintNightmare)CVSS 8.8(High)

CVSSを実際に算出してみる

CVSSは手動でも計算できますが、以下の公式サイトで公開されているCVSS計算ツールを使うのが一般的です。対象の脆弱性に関する情報(攻撃経路、必要な権限、影響範囲など)を入力すると、0.0〜10.0のスコアと深刻度(Low/Medium/High/Critical)が自動表示されます。

例えば、CVE-2017-0144 のCVSS v3.1の「基本評価基準(Base Score)」は 8.8(High)です。ベクター値はCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:Hとなっている(参考リンク)ので、以下のようになります。

CVE-2017-0144のCVSS v3.1の基本評価基準

CVSSを実際に算出してみる
  • 攻撃元区分: Attack Vector (AV) → Network(ネットワーク経由で攻撃可能)
  • 攻撃条件の複雑さ: Attack Complexity (AC) → Low(攻撃は容易)
  • 攻撃に必要な特権レベル: Privileges Required (PR) → Low(権限は低レベルでOK)
  • 利用者の関与: User Interaction (UI) → None(ユーザーの操作不要)
  • 影響の想定範囲: Scope (S) → Unchanged(影響範囲の拡張なし)
  • 機密性への影響: Confidentiality (C) → High(深刻な影響)
  • 完全性への影響: Integrity (I) → High(深刻な影響)
  • 可用性への影響: Availability (A) → High(深刻な影響)

本記事のまとめ

この記事では『CVSS』について、以下の内容を説明しました。

  • CVSSとは?
  • CVSSのバージョン
  • CVSSを算出する評価基準
  • CVSSスコアの分類
  • CVSSを実際に算出してみる

CVSSは、脆弱性の深刻度を「0.0〜10.0」のスコアで客観的に評価できる国際標準の仕組みです。セキュリティ担当者にとっては「どの脆弱性から優先して対応すべきか」を判断するための非常に重要な指標となります。

お読み頂きありがとうございました。

スポンサーリンク