CVSSとは? 脆弱性の深刻度の評価基準とスコアの算出方法

CVSS(Common Vulnerability Scoring System) とは、共通脆弱性評価システムと呼ばれる、ソフトウェアやシステム上の脆弱性の深刻度を評価する国際的な指標です。

CVSSを用いれば脆弱性を同一の基準で定量的に評価することができるため、深刻度に応じて対応の優先度を検討するのに役立ちます。本記事ではCVSSの概要や評価基準、スコアの算出方法などについて解説します。

CVSSとは

CVSSとは、情報システムの脆弱性に対して同一の基準を設けてスコアを算出し、深刻度を可視化するシステムです。CVSSが登場する以前は、ベンダーごとに脆弱性および緊急性の表現が異なり、評価がしづらいことが課題になっていました。CVSSはベンダーに依存しないオープンかつ汎用的な評価システムとして、ベンダー・セキュリティの専門家・システム管理者・ユーザなどの間で共通の言語で議論できる枠組みを提供しています。

またCVSSにはバージョンがあり、管理母体であるFIRST(Forum of Incident Response and Security Teams)によって適用の推進や仕様改善が繰り返されています。現在の最新バージョンはCVSS v3です。

CVSSのスコア

CVSSの特徴として、深刻度をスコアによって表すことが挙げられます。深刻度は0からもっとも高い10.0までの点数で評価され、以下のように5段階のレベルに分けられます。

深刻度スコア
緊急(Critical)9.0 〜 10.0
重要(Important)7.0 〜 8.9
警告(Warning)4.0 〜 6.9
注意(Attention)0.1 〜 3.9
なし(None)0

CVSSのスコアは、基本評価基準・現状評価基準・環境評価基準の3つの観点から評価し、算出します。

まず脆弱性そのものの特性と深刻度が基本評価基準として公開されます。基本評価基準のスコアは固定であり、時間の経過や環境の差異などで変動することはありません。

現状評価基準はその名の通り、その時点における深刻度を評価するものです。その脆弱性に対する攻撃は既に実行され得る状態なのか、利用可能な対応策が既にあるのか、といった状況から判定します。

環境評価基準はユーザ個々の環境における実際の危険度を評価するものです。該当するシステムにおける情報セキュリティ3要素の要求度はどうか、外部から攻撃が可能な環境か、緩和策が行えるかなどから判定します。

脆弱性情報として公開されているCVSSのスコアは基本評価のスコアとなっています。その基本評価に加えて、現状評価と環境評価を行うことでその脆弱性の脅威をより正確に理解することができます。

CVSSが重視する情報セキュリティ3要素とは

機密性・完全性・可用性とは、「情報セキュリティの3要素」と呼ばれ、セキュリティ対策における中核的な概念です。それぞれの頭文字を取って「C.I.A」と表されることもあり、情報セキュリティにおいては頻出する用語です。

  • 機密性(Confidentiality)
    機密性とは、許可された者のみがデータにアクセスできることです。権限のない第三者にデータを侵害される状況は、機密性が損なわれているといえます。
  • 完全性(Integrity)
    完全性とは、データが完全で正確であることです。データが破損したり改ざんされたりする状況は、完全性が損なわれているといえます。
  • 可用性(Availability)
    可用性とは、必要なときにデータが使用できることです。システムがダウンしたり、サービス拒否攻撃を受けるなどしてアクセスできない状況は、可用性が損なわれているといえます。

CVSSのスコアの算出には、これら3要素に対する影響の有無及び大小が密接に関係します。具体的な評価基準と方法については、順に解説していきます。

CVSSの評価基準

先述したとおり、CVSSのスコアは基本評価基準・現状評価基準・環境評価基準の3つの観点から評価されます。ここでは3つの基準と評価要素について詳しく解説します。

基本評価基準(Base Metrics)

脆弱性そのものを評価する基準です。その脆弱性がどのような条件下で攻撃が可能なのか、その脆弱性により機密性・完全性・可用性がどの程度影響を受けるのかといった基準で評価します。具体的には以下の8つの要素から評価し、CVSSの基本値として算出します。この評価結果は脆弱性の特性として固定され、時間経過や利用環境によって変化することはありません。

項目評価
攻撃元区分:どこから攻撃可能であるかネットワーク:インターネットなど
隣接:ローカルIPサブネット、Bluetooth、無線LANなど
ローカル:ローカルアクセス権限、デバイス上のアプリケーション経由など 物理:USB経由など
攻撃条件の複雑さ:攻撃する際に必要な条件の複雑さ低:特別な条件が不要で、常に攻撃可能
高:攻撃者以外の条件が存在する。例えば設定情報や共有鍵などの情報収集が事前に必要、攻撃が成功するための環境条件がある など
必要な特権レベル:攻撃する際に必要な特権のレベル不要:特別な権限が不要 
低:コンポーネントに対する基本的な権限のみ ・高:コンポーネントに対する管理者権限相当が必要
ユーザ関与レベル:攻撃する際に必要なユーザ関与レベル不要:ユーザが何もしなくても攻撃が成立する  
要:リンクのクリックやファイル閲覧、設定の変更などのユーザ動作が必要
スコープ:攻撃による影響範囲変更なし:影響範囲が脆弱性のあるコンポーネントの帰属する範囲にとどまる  
変更あり:影響範囲が脆弱性のあるコンポーネントの帰属する範囲外に広がる可能性がある
機密性への影響:影響想定範囲の情報が漏えいする可能性高:機密情報や重要なシステムファイルが参照可能であり、その影響が全体に及ぶ 
低:情報漏えいや不正アクセスなどが発生するが、影響が限定的である
なし:機密性への影響はない
完全性への影響:影響想定範囲の情報が改ざんされる可能性高:機密情報や重要なシステムファイルの改ざんが可能で、その影響が全体に及ぶ
低:情報の改ざんが可能ではあるが、機密情報や重要なシステムファイルの改ざんはできないため影響が限定的である
なし:完全性への影響はない
可用性への影響:影響想定範囲の業務が遅延・停止する可能性高:リソース(ネットワーク帯域、プロセッサ処理、ディスクスペースなど)を完全に枯渇させたり、完全に停止させることが可能
低:リソースを一時的に枯渇させたり、業務の遅延や一時中断させることが可能
なし:可用性への影響はない

現状評価基準(Temporal Metrics)

脆弱性の現在の深刻度を評価する基準です。評価結果は脆弱性の対応状況に応じて、時間の経過とともに変化します。

項目評価
攻撃される可能性:攻撃コードや攻撃手法が実際に利用可能であるか未評価:この項目を評価しない
容易に攻撃可能:攻撃コードが如何なる状況でも利用可能である/攻撃コードを必要とせず攻撃が可能である
攻撃可能:攻撃コードが存在し、ほとんどの状況で利用可能
実証可能:攻撃が実証されたコードが存在している
未実証:実証コードや攻撃コードが利用可能ではない
利用可能な対策のレベル:脆弱性の対策がどの程度利用可能であるか未評価:この項目を評価しない
なし:利用可能な対策がない
非公式:製品開発者以外による非公式な対策が利用可能
暫定:製品開発者による暫定対策が利用可能
正式:製品開発者による正式対策が利用可能
脆弱性情報の信頼性:脆弱性に関する情報の信頼性未評価:この項目を評価しない
確認済:製品開発者が脆弱性情報を確認している/ソースコードレベルで脆弱性の存在を確認されている
未確証:セキュリティベンダーや調査団体から、複数の非公式情報が存在している/ソースコードレベルで脆弱性の存在が確認できていない
未確認:未確認の情報のみ存在している

環境評価基準(Environmental Metrics)

ユーザが製品を利用する環境を含め、最終的な脆弱性の深刻度を評価する基準です。以下の2つの要素からCVSSの環境値として算出します。評価結果は脆弱性に対して想定される脅威に応じ、ユーザごとに変化します。

項目評価
対象システムのセキュリティ要求度:該当のシステムにおける情報セキュリティ3要素の重要性未評価:この項目を評価しない
高:該当項目を失われると、壊滅的な影響がある
中:該当項目を失われると、深刻な影響がある
低:該当項目を失われても、一部の影響にとどまる
環境条件を加味した基本評価の再評価:現時点/緩和対策後の利用環境において、攻撃の難易度や攻撃による影響を再評価する緩和策後の攻撃元区分
緩和策後の攻撃条件の複雑さ
緩和策後の必要な特権レベル
緩和策後のユーザ関与レベル
緩和策後のスコープ
緩和策後の機密性への影響
緩和策後の完全性への影響
緩和策後の可用性への影響

CVSSスコアの算出方法

前章の基本評価基準、現状評価基準、環境評価基準を項目ごとに評価していきます。評価項目にはそれぞれに数値が設定されており、計算式に当てはめて値を掛け合わせていくと脆弱性の深刻度を表すスコアを算出できます。

詳しい計算式についてはIPA「共通脆弱性評価システムCVSS v3概説」の「3. 値の算出方法」を参照してください。もしくはJVNの「共通脆弱性評価システム Version 3.1 Calculator」に各項目を入力することで、簡単にスコアを算出することも可能です。

脆弱性そのものの特性を表す基本評価のスコアは変動しませんが、現状評価や環境評価はタイミングやユーザによって状況が異なるため、基本評価のスコアを確認しただけでは脆弱性の危険性を正しく理解することはできません。該当の脆弱性があるシステムは外部からアクセスは可能なのか? 重要なデータが存在しているのか? ベンダーによって対策は行われるのか? セキュリティアップデートは適用しているか? セキュリティソリューションが導入されているのか? などによって対応方法や優先度は変わってくるため、CVSSを正しく理解した上で活用しましょう。

まとめ

CVSS(共通脆弱性評価システム)は、ソフトウェアやシステム上の脆弱性の深刻度を評価するオープンかつ汎用的な指標です。脆弱性を3つの基準から評価し、深刻度を定量的なスコアで表せるため、立場が違うメンバー間でも共通の認識を持ちやすいメリットがあります。

脆弱性が発見された際にCVSSを用いて自社環境の評価を行えば、優先順位の判断・対応がしやすくなるでしょう。サイバー攻撃の標的とされやすい脆弱性を適切に管理するためにも、CVSSについて正しい理解が大切です。

この記事をシェアする

ベアケアブログは、システムとその基盤となるITインフラのセキュリティリスクの軽減・安定稼働を支援するための情報をお届けします

タグ一覧