脆弱性の深刻度をセルフチェック CVSS
CVSS(Common Vulnerability Scoring System) とは、ソフトウェアやシステム上で発見された脆弱性の深刻度を評価する指標のひとつです。
日本語では共通脆弱性評価システムとも呼ばれます。
システムや評価者の状況にかかわらず共通の尺度で深刻度を表すもので、3 種類の指標を 0.0 から 10.0 までの得点で表します。
本記事では、CVSS の概要と活用方法について解説します。
CVSS とは
CVSS は、一言でいうと「脆弱性の深刻度のスコア」になります。
セキュリティ診断を実行した際に記載されている「CVSS スコア」というものがまさにこれにあたります。
CVSS は脆弱性の深刻度をスコアとして可視化してくれるので、脆弱性の把握と、脆弱性の対応優先度まで知れるというメリットがあります。
また、ベンダーに依存しない共通の評価方法を用いているので、オープンかつ汎用的な評価手法と言えるでしょう。
また、CVSS にもバージョンがあり、2020 年 5 月時点で最新のバージョンは v3.1 となっています。
ただし古い脆弱性においては、CVSS v3.0 や v2.0 が使われていることもあります。
CVSS のバージョンは、国際フォーラム FIRST(Forum of Incident Response and Security Teams)が管理しており、随時更新されていくので都度確認するようにしましょう。
CVSS のスコアと深刻度
CVSS では 「基本評価基準、現状評価基準、環境評価基準」 の 3 つの基準で脆弱性の深刻度を評価します。
スコアは上記の計算を元に 0.0 ~ 10.0 の範囲で算出されます。
スコアには深刻度のレベル分けがなされており、スコアが高ければ高いほど深刻度が高く緊急性も高いという診断になります。
深刻度 |
スコア |
---|---|
緊急(Critical) |
9.0 〜 10.0 |
重要(Important) |
7.0 〜 8.9 |
警告(Warning) |
4.0 〜 6.9 |
注意(Attention) |
0.1 〜 3.9 |
なし(None) |
0 |
CVSS スコアの判定に大きく関わる要素
CVSS スコアの判定には以下の要素が大きく影響してきます。
機密性(Confidentiality Impact)
機密性(Confidentiality)は、対象の脆弱性が攻撃された際に、情報をどの程度漏洩するかを評価する項目です。
たとえば何も漏洩しない脆弱性であればこの項目は該当せず、逆に重要なデータの多くが漏洩する場合は「全面的に機密性への影響がある」といった評価がなされます。
完全性(Integrity Impact)
完全性(Integrity)はシステム上の情報をどの程度改ざんすることが可能であるかを評価します。
たとえばネットワーク上のデータを途中で書き換えるケースや、ファイルシステム上にあるデータを直接書き換えるケースなどが、脆弱性を介してできるようであれば完全性に該当します。
この問題は「どの程度の情報を改ざんできるか」が評価軸となっています。
仮にシステム全体の情報を書き換えることができた場合、完全性における評価は深刻なものになります。
可用性(Availability Impact)
可用性(Availability)は、情報が使いたい時に使える状態になっているかどうかを判定する要素です。
仮にサービスのダウンが発生した場合、情報が利用できないためこの可用性への影響があることになります。
可用性に影響があるケースとしては「ネットワーク異常」「プロセッサの異常」「ディスクスペースの枯渇」などが挙げられます。
情報セキュリティの 3 要件(C.I.A.)
機密性・安全性・可用性の 3 つは「情報セキュリティの 3 要件」と呼ばれ、セキュリティ対策を徹底する基本となります。
英語名の頭文字を取って「C.I.A.」と略されることもあります。
これらは CVSS 以外の場面でも頻出する用語なので念頭に入れておくと良いでしょう。
CVSS 3 つの評価基準
冒頭で述べたように、CVSS には「基本評価基準、現状評価基準、環境評価基準」があります。
ここではそれぞれの評価基準の概要について解説していきます。
脆弱性深刻度の割り出し方
基本評価基準(Base Metrics)
脆弱性そのものの特性を評価する基準です。
情報セキュリティの 3 要件である「機密性」「完全性」「可用性」に対する影響と合わせて、複数の要素を合算し CVSS 基本値として算出します。
情報セキュリティの 3 要件以外の要素としては「どの領域(例:外部ネットワーク)から攻撃可能か」「攻撃に必要な権限(例:Admin 権限)の有無」「攻撃前に認証が必要かどうか」といった要素が含まれます。
基本評価基準による評価結果は固定のため、時間経過や利用環境によって変化することはありません。
現状評価基準(Temporal Metrics)
脆弱性の深刻度を評価する基準です。
攻撃コードの出現有無や対策情報が利用可能であるかといった基準で評価し、CVSS 現状値として算出します。
現状評価基準による評価結果は、脆弱性の対応状況に応じ変化します。
環境評価基準(Environmental Metrics)
製品の利用環境も含め、最終的な脆弱性の深刻度を評価する基準です。
攻撃をうけた場合の二次的な被害の大きさや、組織での対象製品の使用状況といった基準で評価し、CVSS 環境値として算出します。
環境評価基準による評価結果は、脆弱性に対して想定される脅威に応じ、利用者ごとに変化します。
実際の CVSS には上記 3 つの評価基準の中にさらに細かい評価項目が存在します。
「CVSS v3」は CVSS v3 Calculator で計算することができますので深刻度の把握にぜひ活用してみてください。
さいごに
CVSS は、脆弱性そのものの深刻度(Base Score × Temporal Score)に加えて、最終的に自分の環境でどの程度危険なものであるか(Environmental Score)を判別することができる指標です。
これにより、みなさまの環境において発見された脆弱性に優先度をつけることを可能にします。
しかしながら、脆弱性をある一定期間でおいて見るとまとまった数で出てくることが一般的で、各指標の計算を一つ一つ行なうことは困難なものであると思います。
その場合は、NVD など CVSS BaseScore を掲載した脆弱性データベースを使用し、深刻度の高いものから順に対応していくことをお勧めします。
yamory ではオープンソースの脆弱性に関して、BaseScore ならびに TemporalScore をベースとした脆弱性の危険度を表示することができます。
お使いのシステムで危険となりうる脆弱性を自動的にピックアップするため、よりセキュアなシステム構築の助けになるかと思います。
無料でトライアルができますので、ぜひ一度お試しいただければ幸いです。