脆弱性管理のキモ
第2回「脆弱性に関する情報の利用(後編)」
前編では、どこで脆弱性が取りまとめられているのか、どこから情報を取得するのかについて解説しました。
後編では「どのように脆弱性を評価するか?」という観点で、脆弱性を評価しているデータベース NVD に掲載される CVSS の利用方法について解説します。NVD は、NIST が管理している各脆弱性(CVE) を評価した情報のデータベースです。評価結果には、CVSS、CWE、CPE などが利用されます。
CVSSとは何か?
CVSS は、脆弱性の特性と重大性を評価するための標準化されたフレームワークです。CVSS によって算出される結果は「 CVSS スコア」などと呼ばれます。数多く存在する脆弱性に対して、一貫性のあるスコアを算出することが可能なため、脆弱性の対処のための優先度づけに利用されることがあります。2015年には、CVSS V3 のバージョンが公開されました。2019年には V3 の標準の定義が明確化された CVSS V3.1 がリリースされています。
このCVSS V3.1 では、以下の3つの基準を利用してスコアが算出されます。
- 基本評価基準(Base Metrics)
- 現状評価基準(Temporal Metrics)
- 環境評価基準(Environmental Metrics)
以下、これら3つの基準について解説します。
【CVSS V3.1 基本標準 Base Metrics】
基本標準は、時間の経過とともに一定であり、さまざまな環境全体において一貫した脆弱性の重大度を反映します。以下の要素から計算されます。
● 攻撃元区分(AV:Attack Vector)
● 攻撃条件の複雑さ(AC:Attack Complexity)
● 必要な特権レベル(PR:Privileges Required)
● ユーザー関与レベル(UI:User Interaction)
● スコープ(S:Scope)
● 機密性への影響(情報漏えいの可能性、C:Confidentiality Impact)
● 完全性への影響(情報改ざんの可能性、I:Integrity Impact)
● 可用性への影響(業務停止の可能性、A:Availability Impact)
基本標準のスコアには、対応する数値によって Severity や深刻度、重大性と呼ばれる脆弱性のレベルが定義づけられています。
重大性 Severity | 基本標準スコア Base Score |
緊急 Critical | 9.0~10.0 |
重要 High | 7.0~8.9 |
警告 Medium | 4.0~6.9 |
注意 Low | 0.1~3.9 |
なし None | 0 |
【CVSS V3 現状評価基準 Temporal Metrics】
現状評価基準は、悪用可能なコードの可用性など、時間の経過とともに変化する要因に基づいて、脆弱性の基本評価基準のスコアを調整します。
以下の要素から計算されます。
● 攻撃される可能性(E:Exploit Code Maturity)
● 利用可能な対策のレベル(RL:Remediation Level)
● 脆弱性情報の信頼性(RC:Report Confidence)
【CVSS V3 環境評価基準 Environmental Metrics】
環境評価基準は、特定のシステム環境に合わせて、緩和策などの要因に基づいて上記2つのスコア(Base / Temporal Metrics)を調整します。以下の要素から計算されます。
● 対象システムのセキュリティ要求度(CR、IR、AR:Security Requirements)
● 環境条件を加味した基本評価の再評価(Modified Base Metrics)
【CVSS 計算機】~CVSSスコアリングの仕組みは?
上記、3つの評価基準の関係について、次のように図にまとめました。
ここで3つの評価基準を計算機で計算することで 、CVSS 3つの基準値からなる脆弱性の重要性を把握することが可能です。NVD で公開されるCVSS の情報は、基本標準(Base) のスコアのみ、あるいは基本標準(Base) と現状評価標準(Temporal)のスコアのみが公開されるので、ユーザーが環境評価基準(Environment)のスコアを追加して、全体の CVSS のスコアを計算します。CVSS スコアは以下のサイトの計算機から算出することができます。
- FIRST
○CVSS 計算機
- NIST NVD
○CVSS 計算機
○各脆弱性詳細ページ
Severity の項目内の Base Score (数値)をクリック
- JVN iPedia
○各脆弱性ページ
CVSSv2、またはCVSSv3の基本値(数値)をクリック
【CVSS V2 と CVSS V3 の違い】
冒頭のように、現在CVSSの最新版はV3です。では以前のCVSS V2 と比べて、 どのような変更が加えられたのでしょうか? CVSS V3 には、以下のような違いがあります。
- 基本標準要素の変更
- 基本標準要素の追加
- 必要な特権レベル
- ユーザー関与レベル
- スコープ
- 評価対象の変更
- 影響を受ける範囲の評価ではなく、重要な情報に対する影響の評価
- 基本標準要素の追加
- 環境評価基準要素の追加
V2 では、攻撃対象となるホストやシステム全般への影響を評価する要素のみでしたが、V3 では、環境条件を加味した基本評価の再評価(Modified Base Metrics) が追加され、システムの実態に合わせて評価することができます。
たとえば、環境条件を加味した基本評価の再評価には「緩和策後の必要な特権レベル(MPR:Modified Privileges Required)」という項目があり、脆弱性のあるコンポーネントを攻撃する際に必要な特権のレベルを評価します。ここで、脆弱性が内在するが、特権が不要な場合「低(L)」の評価が適用されます。
【CVSS V3 と CVSS V3.1 の違い】
なお、CVSS V3 と CVSS V3.1 の違いですが、これは先に説明したように評価基準には大きな変更はありません。V3.1 は「既存の基準を明確化すること」を目的に作成されました。以下のような違いがあります。
- CVSS 基本評価基準の明確化
システムのリスクについて総合的な評価が必要とされる場合に、基本評価基準 Base Score のみが利用されることが懸念されます。CVSS v3.1仕様書には、CVSS 基本評価基準 Base Score は、時間の経過とともにユーザー環境全体で一定であり、脆弱性の固有の特性のみを表すことが明確に記載されています。
つまり、リスク評価のために「 CVSS 基本評価基準 Base Score のみで判断してはいけない」ということです。ここで重要なのは、基本評価基準だけでなく、現状評価基準、環境評価基準を加味した包括的な評価を実施することです。
- スコアリングガイダンス、名称の変更
- 拡張フレームワークの追加
- あいまいさ排除のためのCVSS スコア算出のための数式の変更
詳細な変更についてはFIRST の仕様書をご確認ください。
CVSS スコアの例
ここからは、具体的なCVSSスコアの例を取り上げてみましょう。たとえば、前編で紹介した sudo の脆弱性(CVE-2021-3156)について、JVN iPedia を利用してCVSS スコアを見てみましょう。
① JVN iPedia で 該当する脆弱性の詳細ページを表示する
https://jvndb.jvn.jp/ja/contents/2021/JVNDB-2021-001020.html
前述したように、CVSS V2 のスコアと CVSS V3 のスコアには違いがあります。
➁ 基本値の数値をクリックし、CVSS 計算機のページへ
下にスクロールすると、スコアとともに各評価基準の評価が選択されたページが確認できます。
前述したように、基本評価基準、現状評価基準の評価はベンダーが提供する値です。
システムを総合的に評価するためには、ユーザーによる環境評価基準の再評価が必要です。
③ 環境評価基準の評価
緩和策後の攻撃元区分を再評価してみましょう。
たとえば、攻撃元から特にファイアウォールなどの対策を講じておらず、ネットワーク経由で攻撃可能な場合、評価は「ネットワーク」に該当します。
そこで攻撃元から攻撃可能な「ネットワーク」を選択してみました。
すると環境評価が加味され、右上のCVSS スコアの値が 7.8 から 8.8 に変化していることがわかります。
このようにして、CVSS はシステム環境を総合的に評価することが可能になっています。
これまでの総括
最後にまとめです。ここまで前編と後編の2回にわたり、脆弱性情報の利用について、以下の観点で紹介してきました。
- どこから脆弱性情報を取得するのか
- どのように脆弱性を評価するのか
【どこから脆弱性情報を取得するのか】
以下の情報提供サイトを紹介しました。
- CVE (Mitre) https://cve.mitre.org/cve/
- NVD (National Vulnerability Database) https://nvd.nist.gov/
- IPA 重要なセキュリティ情報一覧 https://www.ipa.go.jp/security/announce/alert.html
- JVN (Japan Vulnerability Note) https://jvn.jp/
- JVN iPedia https://jvndb.jvn.jp/
OS やソフトウェアなどの公式ベンダ
Cisco:https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-sudo-privesc-jan2021-qnYQfcM
Debian:https://www.debian.org/security/2021/dsa-4839
【どのように脆弱性を評価するのか】
脆弱性をスコアリングする CVSS について解説しました。CVSS スコアを利用することで、システムにおける脆弱性の重大性について一貫した総合的な評価が可能です。また、対応すべき脆弱性の優先度づけが明確になります。ただし、基本標準のスコアだけで判断するのではなく、3つの評価基準を適切に評価することが重要です。 サイバートラストでは、NVD の情報、各ベンダの脆弱性情報や CVSS を用いてシステムに内在する脆弱性の重要度を可視化し、パッチ管理するツールを提供しています。
詳細はこちらhttps://www.cybertrust.co.jp/zabbix/vul-hammer/
【参考文献】
・https://www.ipa.go.jp/security/vuln/CVSS.html
・https://www.ipa.go.jp/security/vuln/SeverityLevel3.html
・https://www.first.org/cvss/
・http://cwe.mitre.org/index.html
・https://jvndb.jvn.jp/nav/jvndbhelp.html#jvndb3
<著者>富田佑実(とみたゆみ)
サイバートラスト株式会社 サイバートラスト (cybertrust.co.jp)
サイバートラストに入社後、エンジニアとしてOSS製品のサポートや
開発に携わる。現在は脆弱性管理ツール「MIRACLE Vul Hammer」の
製品担当を務め、セキュリティや脆弱性管理の課題に取り組んでいる。
脆弱性管理のキモは、新たな記事が公開されたらメールマガジンで案内をしております。
是非JAPANSecuritySummit Updateのメールマガジンにご登録ください。
メールマガジンの登録はこちらからお願いします。