- ブラウザURL入力
- DNS名前→IP
- ルータ経路選択
- ロードバランサ振り分け
- Nginx受け口
- アプリ処理今ここ
- DB保存
前回は並んだ順位がどう作られたかを見ました。今回は1件ごとに付く数が、誰の何を見た数なのかを見ます。
まず結論
脆弱性のスコアを優先順位付けの入力にするのは、CVSS の仕様が想定しているとおりの使い方です。ただし仕様自身が「優先順位付けに関して言えば、スコアの有用性は、それを作るのに使ったメトリクスに正比例する」と書いています。
そして仕様は、公開されるスコアの多くが4群のうち Base だけで作られていることも名指しします。自分の環境の値を入れていない数は、自分の環境を見ていない数です。
公開データベースで「9.8」と表示された脆弱性があります。この 9.8 は、あなたの環境での深刻さをどこまで反映しているでしょうか。
当てることが目的ではありません。外した予測ほど記憶に残るので、直感で選んでください。
スコアは、使ったメトリクスの分だけ役に立つ
前回、並んだ順位が観測だけで決まってはいないことを見ました。今回は1件ごとに付く数を見ます。CVSS は4つのメトリクス群を持ちます。
CVSS consists of four metric groups: Base, Threat, Environmental, and Supplemental.
Base は時間と利用者環境を通じて一定の固有の性質、Threat は時間とともに変わる性質、Environmental は「利用者の環境に固有の性質」 を表します。
仕様自身が、優先順位付けとの関係を明示しています。
Regarding prioritization, the usefulness of a numerical CVSS score is directly proportional to the CVSS metrics leveraged to generate that score.
禁止ではありません。 深刻度区分についてはむしろ They are intended to help organizations properly assess and prioritize their vulnerability management processes と書かれており、優先順位付けに使うこと自体は想定の範囲内です。
書かれているのは比例関係です。4群のうち1群しか使っていないスコアは、そのぶんしか役に立たない。
Base スコアが置いている仮定
では Base だけのスコアは何を見ているのか。
The Base Score reflects the severity of a vulnerability according to its intrinsic characteristics which are constant over time and assumes the reasonable worst-case impact across different deployed environments.
「環境を知らない」ではなく「最悪の環境を仮に置いている」。 最悪を置いているなら、自分の環境がそれより軽い場合に一貫して高く出るということです。
仕様は、世に出回るスコアがどの群で作られているかも名指しします。
Assessment providers such as product maintainers and other public/private entities such as the National Vulnerability Database (NVD) typically provide only the Base Scores enumerated as CVSS-B.
- ・仕様: Threat と Environmental の適用は利用者側の責任
- ・×印は「自分が入れない限り入らない」の意
CVSS v4.0 の Base スコアが「自分の環境を見ていない」と言えるのはなぜですか。
入力しないことも、ひとつの入力になる
仕様は利用者に何をすべきと書いているか。2箇所です。
Consumers of CVSS should enrich the Base metrics with Threat and Environmental metric values specific to their use of the vulnerable system to produce a score that provides a more comprehensive input to risk assessment specific to their organization.
Assessment of the Threat and Environmental metrics is not required, but is highly recommended for more meaningful results.
not required, but is highly recommended。 義務ではないが強く勧める、という温度です。「仕様が義務づけている」と強めて読むと、出典が言っていないことになります。
入れなかった場合に何が起きるかも書かれています。Environmental の Security Requirements について——
Following the concept of assuming “reasonable worst case”, in absence of explicit values, these metrics are set to the default value of Not Defined (X), which is equivalent to the metric value of High (H).
明示的な値が無ければ High 相当。 自分の資産の重要度を入力しないという選択は、「すべての資産が最も重要である」と入力したのと同じ結果になります。空欄は中立ではありません。
仕様が自分で「範囲外」と宣言しているもの
もうひとつ決定的な逐語があります。利用者が CVSS 以外の要素も考慮してよい、と述べた直後の文です。
Such factors may include, but are not limited to: regulatory requirements, number of customers impacted, monetary losses due to a breach, life or property threatened, or reputational impacts of a potential exploited vulnerability. These factors are outside the scope of CVSS.
規制要件・影響を受ける顧客数・金銭的損失・人命や財産・評判。これらは範囲外だと仕様が宣言しています。
深刻度区分そのものにも、限定が2つ付いています。
Rating CVSS Score 備考None 0.0 4段階と説明されがちだが None があるLow 0.1 - 3.9Medium 4.0 - 6.9High 7.0 - 8.9Critical 9.0 - 10.0
The use of these qualitative severity ratings is optional, and there is no requirement to include them when publishing CVSS scores.
任意であり、公開時に含める要件も無い。それでいて同じ節が「組織が適切に評価し優先順位を付けるのを助けるもの」とも書いています。片方だけ引くと、仕様が言っていないことになります。
自分の環境の重要度(Security Requirements)を入力せずに計算すると、仕様上は何が起きますか。
CVSS の数値スコア
9.8 という数は、どの群で作られたかによって意味が変わります。仕様は有用性が使ったメトリクスに正比例すると述べ、公開されるものは Base だけであることが多いと名指ししています。見た目が同じでも背後の情報量は同じではありません。
表記 使った群 自分の環境CVSS-B Base のみ 見ていないCVSS-BE Base + Environmental 見ているCVSS-BTE Base + Threat + Environmental 見ている
CVE の識別番号
年と連番でできた番号は、いつ何が起きたかを表しているように見えます。しかし公式スキーマでは、年は発見された年か ID が公開された年のどちらかで、番号からは決まりません。連番も4桁固定ではありません。
項目 規定 通説連番 4 to 19 digit number 4桁固定年 発見された年 or 公開された年 発見された年正規表現 ^CVE-[0-9]{4}-[0-9]{4,19}$ —
数値スコアと識別番号。どちらも整った形式を持ちますが、共通して起きている読み違いは何でしょうか。
形式が決めていることと、読み手が読み取ったつもりになることの差を書き出してみてください。
この章のまとめ
- CVSS を優先順位付けの入力にするのは仕様の想定どおり。深刻度区分も「評価と優先順位付けを助けるもの」と書かれている。
- ただし仕様は、優先順位付けに関してスコアの有用性は使ったメトリクスに正比例すると明記している。
- 公開されるのは Base だけであることが多い(仕様が NVD 等を名指し)。Base は合理的な最悪ケースを仮定した数。
- Environmental の値を入れないと既定値は High 相当。入力しないことも入力になる。
- 規制要件・顧客数・金銭的損失・人命や財産・評判は、仕様自身が
outside the scope of CVSSと宣言している。 - 深刻度区分は None を含む5段階で使用は任意。CVE の連番は4〜19桁、年は発見年か公開年のどちらかで一意には決まらない。
自分の現場で確かめる
読んだだけでは身につきません。手元の環境で実際に見てみてください。
理解度チェック
読んだ直後は「分かった」と感じやすいものです。実際に解いて確かめてください。
優先順位付けとスコアの関係を CVSS v4.0 仕様がどう書いているかの説明として、最も正確なのはどれですか。
用語集(5語)
- CVSS の4つのメトリクス群
- Base / Threat / Environmental / Supplemental。Base は時間と利用者環境を通じて一定の固有の性質、Threat は時間とともに変わる性質、Environmental は環境に固有の性質を表す(CVSS v4.0 仕様)。
- CVSS-B
- Base だけで作られたスコアであることを示す表記。仕様は、製品の保守者や NVD のような提供元が CVSS-B だけを提供することが多いと述べる。
- 合理的な最悪ケース (reasonable worst case)
- Base スコアが置く仮定。異なる配備環境を通じた最悪の影響を仮に置く。Security Requirements も、値を入れなければ既定でこの考え方に従い High 相当になる。
- 深刻度区分 (Qualitative Severity Rating Scale)
- 数値を語に対応させた5段階。None(0.0) / Low(0.1-3.9) / Medium(4.0-6.9) / High(7.0-8.9) / Critical(9.0-10.0)。仕様は使用を任意とし、公開時に含める要件は無いとする。
- CVE ID
- CVE の文字・年・連番からなる識別子。公式スキーマでは連番は4〜19桁、年は発見された年か公開された年のいずれかを示す。