CVSS に関するメモ 2
先日 CVSS (Common Vulnerability Scoring System; 共通脆弱性評価システム)のバージョン 2 が公開された。 CVSS については以前紹介したが, 今回はその続きということで CVSS v2 についてメモしていく。 まず関連ページを挙げておく。
あぁ, それから, 今回も JavaScript で作ったデモページを作っているので興味のある方は是非どうぞ。 「ドキュメント読むよりは実際にコードを書いたほうが理解しやすいしね」 という程度の品質だけど。
v1 との違いは
- 各評価項目値の調整
- 環境評価基準(Environmental Metrics)に機密性/完全性/可用性の要求度(Confidentiality/Integrity/Availability Requirement)を追加
- ベクタ(Base, Temporal, Environmental Vectors)の追加
といったところか。 今回の目玉は環境評価基準に追加された3つの項目だろう。 機密性,完全性,可用性については基本評価基準(Base Metrics)に影響度(Impact)として組み込まれているが(現在もある), 実際にはこれらの項目は環境評価基準(つまりユーザが行う評価)にも関係してくる。 例えば, 基本評価基準では機密性への影響(すなわち情報漏えいの可能性)は低めに見積もられていたとしても, ユーザが運用するシステムにおいて機密性への要求が非常に高い場合は実際の影響度はもう少し高めに見積もったほうがいい (逆のパターンもあるだろう)。 要するに基本評価基準の影響度に対してバイアスをかけるのである。 (今回の項目追加によって基本評価基準にあった Impact Bias 項目は削除された)
ベクタというのは評価項目とその値について簡単な文字列で表記する方法を指す。 書式は以下に示すようにコロンとスラッシュの2つのデリミタを使う。
評価項目1:評価値1/評価項目2:評価値2/ ... /評価項目n:評価値n
具体的には以下のような感じになる。 (“A Complete Guide to the Common Vulnerability Scoring System Version 2.0” より引用)
Base | AV:[L,A,N]/AC:[H,M,L]/Au:[M,S,N]/C:[N,P,C]/I:[N,P,C]/A:[N,P,C] |
Temporal | E:[U,POC,F,H,ND]/RL:[OF,TF,W,U,ND]/RC:[UC,UR,C,ND] |
Environmental | CDP:[N,L,LM,MH,H,ND]/TD:[N,L,M,H,ND]/CR:[L,M,H,ND]/ IR:[L,M,H,ND]/AR:[L,M,H,ND] |
適当なパーサさえあれば各ベクタを読み込ませて評価を行うことができる。 上述したように環境評価基準では各影響度にバイアスをかけて再評価するロジックがあるため, 各評価基準の値(Metrics Score)が分かっているだけではダメで, 各項目の値(Metric Value)も把握しておく必要がある。 なのでこのベクタ表記は結構重要である。 (IPA/ISEC の資料には言及がないけどw)