この記事では、脆弱性の指標値を表す「CVSS」について詳しく解説します。
脆弱性の指標値を示す「CVSS」について理解する [3つの基準と区分ならび計算方法]
システムの脆弱性によるサイバー攻撃が激化している近年、脆弱性対策は極めて重要です。脆弱性対策の重要性を理解していても、脆弱性の正しい分類や重要度の理解に不安を感じている方も多いのではないでしょうか。
脆弱性を判断する国際的なフレームワークに「CVSS」があります。本記事ではシステムの脆弱性に不安を抱えている方に向けて、脆弱性の重要度を示す「CVSS」の3つの基準と区分、計算方法について紹介します。
CVSSとはなにか
CVSSは「Common Vulnerability Scoring System」を略した言葉で、国内では共通脆弱性評価システムと呼ばれています。脆弱性がどれほど深刻かをスコアでわかりやすく表示する国際的なフレームワークです。
深刻度をスコア化することにより緊急性が高い脆弱性がわかるため、優先的に対応すべきものがどれか判断できます。共通の尺度で深刻度を確認できて、開発元や評価者の違いによって結果が変わらないのもメリットです。
CVSSの原案は米国家インフラストラクチャ諮問委員会のプロジェクトによって作成されました。CVSSの管理母体として選ばれたFIRSTによって、適用の推進や仕様の改善が行われています。FIRSTは「インシデント対応およびセキュリティチームのグローバルフォーラム」と位置付けられている組織です。
CVSSは常に同じバージョンが利用されているのではなく、利用状況の変化に応じて仕様の改善が行われています。これまでのCVSSバージョンを見てみましょう。
バージョン | 公開時期 | 特徴 |
CVSS v1 | 2005年 | CVSSスコア作成時点で使用されていたバージョン |
CVSS v2 | 2007年 | 攻撃対象となるホストやシステムにおける脆弱性による深刻度を評価できるバージョン |
CVSS v3 | 2015年 | 仮想化などの利用状況の変化に合わせてコンポーネント単位での評価が可能になったバージョン |
現在は、v2とv3が主に利用されています。
CVSSの3つの基準と区分について理解する
CVSSには以下の3つの基準があります。
- 基本評価基準 (Base Metrics)
- 現状評価基準 (Temporal Metrics)
- 環境評価基準 (Environmental Metrics)
3つの基準にはそれぞれ区分があります。区分はv2とv3で違うケースがあるため、両方について紹介しています。
【基本評価基準】
基本評価基準は脆弱性の特性や攻撃の受けやすさを診断するための基準です。
以下の3つのセキュリティ特性に関して、ネットワークから攻撃可能かを基準として評価が行われます。
- 機密性(Confidentiality Impact )
- 完全性(Integrity Impact )
- 可用性( Availability Impact )
攻撃を行うために必要な条件やユーザーの関与の必要性などについて確認しており、利用者の環境や利用時間は考慮されません。
項目 | 詳細 | v2の評価内容 | v3の評価内容 |
攻撃元区分 | どこから攻撃できるか | ・ネットワーク ・隣接 ・ローカル | ・ネットワーク ・隣接 ・ローカル ・物理 |
攻撃条件の複雑さ | 攻撃を行うために必要な条件が複雑か簡単か | ・低 ・中 ・高 | ・低 ・高 |
必要な特権レベル | 攻撃を行うために必要な特権レベルはどれくらいか | ー | ・不要 ・低 ・高 |
ユーザ関与レベル | 攻撃を行うためにユーザーがファイルの閲覧などの行動をする必要があるか | ー | ・不要 ・要 |
スコープ | 攻撃範囲がスコープで留まるかスコープ外まで広がるか | ー | ・変更なし ・変更あり |
機密性への影響 | 攻撃を受けたときに情報漏洩による影響をどれくらい受けるか | ・全面的 ・部分的 ・なし | ・高 ・低 ・なし |
完全性への影響 | 攻撃を受けたときに情報が改ざんされる可能性がどれくらいあるか | ・全面的 ・部分的 ・なし | ・高 ・低 ・なし |
可用性への影響 | 攻撃を受けたときに業務の遅延や停止が起こる可能性がどれくらいあるか | ・全面的 ・部分的 ・なし | ・高 ・低 ・なし |
【現状評価基準】
現状評価基準は現在の脆弱性の深刻度を評価するための基準です。
現段階で攻撃される手法があるのか、脆弱性に関する情報に信頼性はあるのかなど、現状の把握を行います。
項目 | 詳細 | v2の評価内容 | v3の評価内容 |
攻撃される可能性 | 実際に攻撃手法や攻撃コードが利用できるか | ・未評価 ・容易に攻撃可能 ・攻撃可能 ・実証可能 ・未実証 | ・未評価 ・容易に攻撃可能 ・攻撃可能 ・実証可能 ・未実証 |
利用可能な対策のレベル | ・利用できる脆弱性への対策があるか ・開発者からの対策が利用できるか | ・未評価 ・なし ・非公式 ・暫定 ・正式 | ・未評価 ・なし ・非公式 ・暫定 ・正式 |
脆弱性情報の信頼性 | ・脆弱性に関する情報に信頼性はあるか ・開発者やベンダーからの情報提供があるか | ・未評価 ・確認済 ・未確証 ・未確認 | ・未評価 ・確認済 ・未確証 ・未確認 |
【環境評価基準】
環境評価基準は、製品利用者の利用環境も含めて、最終的な脆弱性の深刻度を評価する基準を指します。
項目 | 詳細 | v2の評価内容 | v3の評価内容 |
対象システムのセキュリティ要求度 | ・3つの該当項目(機密性、安全性、可用性)を重視するか ・該当項目が失われるとどれくらいの影響が出るか | ・未評価 ・高 ・中 ・低 | ・未評価 ・高 ・中 ・低 |
基準では、攻撃を受けた場合の被害なども想定しながら基本評価の再評価を行います。再評価の内容は以下の通りです。
項目 | 詳細 | 評価内容 |
緩和策後の攻撃元区分 | どこから攻撃できるか | ・未評価 ・ネットワーク ・隣接 ・ローカル ・物理 |
緩和策後の攻撃条件の複雑さ | 攻撃を行うために必要な条件が複雑か簡単か | ・未評価 ・低 ・高 |
緩和策後の必要な特権レベル | 攻撃を行うために必要な特権レベルはどれくらいか | ・未評価 ・不要 ・低 ・高 |
緩和策後のユーザ関与レベル | 攻撃を行うために利用者がファイルの閲覧などの行動をする必要があるか | ・未評価 ・不要 ・要 |
緩和策後のスコープ | 攻撃範囲がスコープで留まるかスコープ外まで広がるか | ・未評価 ・変更なし ・変更あり |
緩和策後の機密性への影響 | 攻撃を受けたときに情報漏洩による影響をどれくらい受けるか | ・未評価 ・高 ・低 ・なし |
緩和策後の完全性への影響 | 攻撃を受けたときに情報が改ざんされる可能性がどれくらいあるか | ・未評価 ・高 ・低 ・なし |
緩和策後の可用性への影響 | 攻撃を受けたときに業務の遅延や停止が起こる可能性がどれくらいあるか | ・未評価 ・高 ・低 ・なし |
CVSS値の計算方法
CASSではスコアを算出して脆弱性の危険度をわかりやすく表示しますが、v2とv3ではそれぞれ以下のようにスコアを見ます。
【v2】
スコア | 深刻度 |
7.0~10.0 | レベルⅢ(危険) |
4.0~6.9 | レベルⅡ(警告) |
0.0~3.9 | レベルⅠ(注意) |
【v3】
スコア | 深刻度 |
9.0~10.0 | 緊急 |
7.0~8.9 | 重要 |
4.0~6.9 | 警告 |
0.1~3.9 | 注意 |
0 | なし |
CVSS値を計算する際は、3つの基準それぞれについて計算を行います。基本基準評価を例に、計算方法を見てみましょう。
基本評価基準のスコアを計算するにあたって、以下のように評価内容別に値が決められ、項目には計算しやすいように略称が表記されています。
項目 | 評価内容別に決められた値 |
攻撃元区分(AV) | ・ネットワーク(N):0.85 ・隣接(A):0.62 ・ローカル(L):0.55 ・物理(P):0.20 |
攻撃条件の複雑さ(AC) | ・低(L):0.77 ・高(H):0.44 |
必要な特権レベル(PR) | ・不要(N):0.85 ・低(L):0.62※スコープ変更ありは0.68 ・高(H):0.27※スコープ変更有は0.50 |
ユーザ関与レベル(UI) | ・不要(N):0.85 ・要(R):0.62 |
スコープ(S) | 必要な特権レベルの部分で考慮 |
機密性への影響(C) | ・高(H):0.56 ・低(L):0.22 ・なし(N):0 |
完全性への影響(I) | ・高(H):0.56 ・低(L):0.22 ・なし(N):0 |
可用性への影響(A) | ・高(H):0.56 ・低(L):0.22 ・なし(N):0 |
表の値を元に、以下の順で計算します。
- 影響度
- 攻撃容易性
- 基本値
例えば影響度を出すのであれば、用意されている【1-(1-C)×(1-I)×(1-A )】という式で調整前影響度を出し、以下の式で影響度を計算する流れです。式はスコープの変更があるかないかで変わります。
- スコープ変更がある:6.42×調整前影響度
- スコープ変更はない:7.52×(調整前影響度-0.029)-3.25×(調整前影響度-0.02)^15
基本値を計算する式には関数が含まれていて、かなり複雑です。CVSS計算ツールを使用すれば難しい計算をせずにCVSS値が出せるため、ぜひツールを活用しましょう。
脆弱性の評価と対策について理解する
脆弱性を減らすには、評価のみを行っていても効果が期待できません。以下の流れで対策まで行う必要があります。
- 脆弱性を診断する
- 脆弱性を評価する
- 評価に従って発見された脆弱性への対策をする
- 再度脆弱性を診断する
脆弱性が発見されるうちは3と4の手順を繰り返して、対応すべき脆弱性が対処完了になるまで対策を行いましょう。
脆弱性を評価するには、脆弱性診断を行って脆弱性を検出しなければなりません。まずは脆弱性の検出力が強いサービスを利用し、脆弱性を検出することが重要です。
Sreake SecurityとCVSSで、検出と評価・対策を実現
脆弱性の検出の必要性を感じていても、高い技術力が必要とされるため自社では実施が難しいと悩んでいる企業様もあるのではないでしょうか。
高いレベルで脆弱性を検出したいとお考えの企業様は、ぜひSreake Securityが提供するサービスの利用をご検討ください。経験豊富なセキュリティ専門家が、貴社のセキュリティ課題を発見いたします。
弊社ではお客様の要望に合わせて、以下の2つの脆弱性診断サービスを提供しております。
サービス名 | 特徴 |
脆弱性診断ツール Securify | ・セキュリティツールを用いた2ステップで行える脆弱性診断 ・常時アップデートされている診断機能 ・複雑な事前設定不要 ・シンプルで直感的に操作できるインターフェイス ・専門知識が無くても理解しやすいレポート |
脆弱性診断サービス | ・セキュリティ専門人員によるセキュリティ診断 ・セキュリティ対策を行っている企業様でも新たな脆弱性が見つかるケースがあるほどの高いスキル ・課題と必要な対策がわかる報告書と動画による報告 ・診断後の脆弱性対策までサポート |
脆弱性診断ツール Securifyでは、発見された脆弱性の危険度や起こりうる問題から具体的な修正方法まで、丁寧に解説いたします。
脆弱性診断サービスでは、セキュリティ対策を行っている企業様でも新たな脆弱性が見つかるケースがあるほどの高いスキルによる脆弱性診断が可能です。
弊社のサービスで脆弱性を高いレベルで検出できれば、CVSSによる評価に従って正しい優先順位で脆弱性対策が行えます。脆弱性診断に不安のある企業様は、多くの実績があるSreake Securityにお問い合わせください。
東京在住のソフトウェア開発者、Motouchi Shuyaです。
システムの開発・運用・最適化が好きです。