【初心者向け】CVSS(共通脆弱性評価システム)とは?スコアやベクターの見方を分かりやすく解説!

「セキュリティニュースで『CVSSスコア 9.8の脆弱性』という言葉を見たけれど、どういう意味?」
「脆弱性の深刻度を表すらしいけど、具体的な見方がよく分からない……」

サイバーセキュリティの勉強を始めると、必ずと言っていいほど目にするのが「CVSS」という言葉です。なんだか難しそうなアルファベットですが、意味を理解してしまえば、脆弱性の危険度をひと目で判断できるようになります。

この記事では、セキュリティ初学者向けに、CVSSの基本から「スコア(数値)」の意味、そして一見暗号のように見える「ベクター値」の読み方まで、どこよりも分かりやすく解説します!

最新のMicrosoft脆弱性を公開後すぐに解説する勉強会を開催しております。
無料の勉強会なので、ぜひお気軽に参加してみてください!

1. CVSS(共通脆弱性評価システム)とは?基本をサクッと理解

CVSSとは、英語の「Common Vulnerability Scoring System」の略称で、日本語では「共通脆弱性評価システム」と呼ばれます。

一言でいうと、「コンピュータのプログラムやシステムにある『弱点(脆弱性)』が、どれくらい危険かを数値で表すための世界共通の物差し」です。

なぜCVSSが必要なのか?

CVSSが登場する前は、セキュリティの危険度を各ベンダー(MicrosoftやAppleなど)が「高・中・低」といった独自の基準で評価していました。しかし、これでは以下のような問題が起こります。

  • A社にとっての「高」と、B社にとっての「高」の基準がバラバラで比較できない
  • ユーザーが「本当に今すぐ修正すべきなのはどれか」を客観的に判断しにくい

そこで、世界共通の客観的な評価基準として作られたのがCVSSです。現在では、セキュリティ対策の優先順位を決めるための国際的な標準として、世界中で広く使われています。

【豆知識】CVSSのバージョンについて
CVSSにはバージョンがあり、現在は「CVSS v3.1」が広く普及しています。また、より正確な評価ができる最新版の「CVSS v4.0」の導入も進んでいますが、基本的な考え方は同じです。この記事では、最もよく目にする「v3.1」をベースに解説します。

2. CVSSを構成する「3つの評価基準」

CVSSでは、脆弱性を多角的に分析するために「3つの基準」が用意されています。まずは全体像を押さえましょう。

評価基準概要(何を評価するのか?)
① 基本評価基準
(Base Metric)
脆弱性そのものが持つ、時間が経っても変わらない絶対的な危険度を評価します。
一般的にニュースや脆弱性データベースで表示されるCVSSスコアは、基本評価基準(Base Score)です。
② 現状評価基準
(Temporal Metric)
「攻撃するためのプログラム(攻撃コード)が既に出回っているか」「修正パッチが提供されているか」など、時間の経過とともに変化する状況を評価します。
③ 環境評価基準
(Environmental Metric)
「そのシステムが自社にとってどれだけ重要か」「どんなセキュリティ対策を既に施しているか」など、ユーザーの個別の環境に合わせて評価をカスタマイズします。

初学者は、まずすべての土台となる「① 基本評価基準」だけをマスターすればOKです!

3. 詳しく解説!CVSSスコア(数値)の見方と深刻度

CVSSでは、脆弱性の深刻さを「0.0 から 10.0」までの数値で表します。この数値を「CVSSスコア」と呼びます。10.0に近ければ近いほど、危険性が高い(最悪な状態)ということです。

スコアの数値に応じて、以下のように5つの「深刻度(レべル)」に分類されます。

CVSSスコア深刻度(Severity)一般的な対応の目安
9.0 ~ 10.0緊急(Critical)最優先で対応が必要。放置するとシステムを乗っ取られるなど破滅的な被害の恐れあり。
7.0 ~ 8.9重要(High)迅速な対応が必要。機密情報の漏洩やシステム停止に繋がるリスクが高い。
4.0 ~ 6.9警告(Medium)計画的に対応が必要。特定の条件下で攻撃が成立する可能性がある。
0.1 ~ 3.9注意(Low)必要に応じて対応。影響範囲は極めて限定的。
0.0なし(None)セキュリティ上の影響はない、または極めて無視できるレベル。

例えば、CVSS 9.8は非常に深刻な脆弱性を示します。ただし、実際の対応優先度はシステムの公開状況や攻撃の観測状況によって変わるため、CVSSだけで判断するわけではありません。

4. 難しくない!CVSSベクター値の読み方

CVSSを調べていると、スコアの横に以下のような謎の文字列が書かれているのを見たことがありませんか?

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

これが「CVSSベクター値(評価ベクトル)」です。一見、呪文のようで難しそうですが、実は「なぜそのスコアになったのか」という計算の根拠を、アルファベットの略称で並べたものに過ぎません。

スラッシュ(/)で区切られたパーツを分解して見ると、パズルのように簡単に解読できます。主要な要素を解説します。

ベクターを構成する「8つの基本要素」

基本評価基準(v3.1)のベクター値は、大きく分けて「攻撃のしやすさ(4要素)」「攻撃されたときの影響度(3要素)」、そして「影響の広がり(1要素)」の計8項目で構成されています。

▼ 攻撃のしやすさを表す要素

  • AV(Attack Vector / 攻撃元区分): どこから攻撃できるか?
    • N (Network):インターネット経由でどこからでも攻撃可能(一番危険!)
    • A (Adjacent) : 同一LANやBluetoothなど近接ネットワークから攻撃可能
    • P (Physical) : 機器への物理的アクセスが必要
    • L (Local):そのパソコンに直接触るか、ログインしないと攻撃できない
  • AC(Attack Complexity / 攻撃条件の複雑さ): 攻撃の難しさは?
    • L (Low):特別な条件はなく、誰でも簡単に攻撃できる(危険!)
    • H (High):高度なタイミングや高度な技術が必要で、攻撃が難しい
  • PR(Privileges Required / 必要な特権レベル): 攻撃するのにログイン権限は必要?
    • N (None):事前のログイン不要、誰でも攻撃できる(危険!)
    • L(Low) : 一般ユーザー権限程度が必要
    • H (High):管理者のパスワードを知っていないと攻撃できない
  • UI(User Interaction / ユーザー関与の必要性): 被害者側の操作が必要?
    • N (None):被害者が何もしなくても、勝手に攻撃が成功する(危険!)
    • R (Required):被害者が「怪しいリンクをクリックする」などの行動をしないと攻撃が成功しない

▼ 影響の広がりを表す要素

  • S(Scope / 影響範囲): 他のシステムまで被害が飛び火するか?
    • U (Unchanged):そのシステム内だけで被害が収まる
    • C (Changed):そのシステムだけでなく、脆弱性の影響が、もともと想定されていた権限やセキュリティ境界を越えて広がるかを表します。(危険!

▼ 攻撃されたときの影響度を表す要素(セキュリティの3要素)

  • C(Confidentiality Impact / 機密性への影響): 情報漏洩のリスクは?
    • H (High):重要なデータがすべて盗まれる(危険!)
    • N (None):情報は一切漏洩しない
  • I(Integrity Impact / 完全性への影響): データの改ざんリスクは?
    • H (High):ホームページを書き換えられたり、データを消されたりする(危険!)
    • N (None):改ざんの心配はない
  • A(Availability Impact / 可用性への影響): システム停止のリスクは?
    • H (High):システムが完全にダウンして使えなくなる(危険!)
    • N (None):システムの稼働には影響しない

※実際には「Low(低)」も存在しますが、ここでは理解しやすいよう主要な値のみ紹介しています。

【実践】ベクター値を読んでみよう!

さきほどの例をもう一度見てみましょう。

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

これを言葉に翻訳すると、次のようになります。

「CVSSバージョン3.1で評価。インターネット経由で(AV:N)誰でも簡単に(AC:L)ログイン不要で(PR:N)ユーザーの操作も関係なく(UI:N)攻撃ができる。影響範囲は閉じているが(S:U)、情報漏洩(C:H)データ改ざん(I:H)システム停止(A:H)のリスクがすべて最大級に高い」

だからこそ、このベクターから計算されるスコアは「9.8(緊急)」という非常に高い数値になるのです。ベクター値を読めば、数値の裏側にある「どう危険なのか」が具体的に見えてきます。

5. まとめ:CVSSを活用してセキュリティ対策を優先づけよう

今回は、セキュリティの重要指標である「CVSS(共通脆弱性評価システム)」について解説しました。ポイントを振り返りましょう。

  • CVSSとは: 脆弱性の深刻度を評価する世界標準の物差し。
  • CVSSスコア: 0.0〜10.0の数値。7.0以上(High)や9.0以上(Critical)は迅速な対応が必要。
  • CVSSベクター: スコアの計算根拠をアルファベットで表したもの。読み方が分かれば「どんな攻撃を受けやすいか」が丸分かりになる。

日々発表される無数の脆弱性にすべて同じ熱量で対応するのは、時間もコストも足りません。CVSSのスコアやベクター値を正しく読み解くことで、「どれを今すぐ修正すべきで、どれは後回しにしていいのか」を賢く判断できるようになります。

セキュリティ初学者の一歩として、まずはニュースを見たときに「スコア」と「AV(攻撃元)」だけでもチェックする習慣をつけてみてくださいね!

経験豊富な現役エンジニアである野々下氏に「Microsftの月次脆弱性」について解説していてただく勉強会を開催しております。無料開催なのでぜひお気軽にご参加ください!