【CVSS】脆弱性情報の確認ポイントまとめ
こんにちは。今回はITエンジニアなら少しは耳にしたことのある、CVSS報告で使われる脆弱性情報データベース ( nvd.nist.gov ) の確認ポイントを紹介しようと思います。
CVSSって?
アメリカの国家機関であるインフラストラクチャ諮問委員会( NIAC: National Infrastructure Advisory Council )が中心となり情報システムの脆弱性に対してオープンで包括的、汎用的な評価手法の確立と普及を目指したプロジェクトが元になっています。
現在はFIRST (Forum of Incident Response and Security Teams) と呼ばれる国際団体によって管理運営されているシステムの名前です。
source via IPA
脆弱性情報データベースって?
2017/03/09に報告されたCVE-2017-5638 を元に説明します。リンクを開くと下記のようなページが表示されると思います。これが脆弱性情報データベースです。
ちなみに日本にも同じようなデータベースがあります。それが下記のページにです。
確認ポイントは?
日本版ではわかりやすく書いてるので日本版の解説は省略します。アメリカ版の確認ポイントを紹介していきます。
ポイント① 【CVSS v3 Base Score値】
これは数値が高いほど影響度合いが高くなります。パッチなどで対応すると数値が下がる仕組みのため正直あまり参考になりません。
ポイント② 【CVSS v3 Vector値】
Scoreの元になるVectorとそのVector別にヤバイかヤバくないかを評価した値です。
具体例
2017/03/09に報告されたCVE-2017-5638 だとVectorは以下の記載になっています。
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
これを分解すると、
CVSS:3.0 / AV:N / AC:L / PR:N / UI:N / S:C / C:H / I:H / A:H
Vectorをわかりやすく日本語にしてみます。
CVSS:3.0 / 攻撃元区分(AV):N / 攻撃の複雑さ(AC):L / 攻撃前の認証有無(PR):N / ユーザ関与レベル(UI):N / スコープ(S):C / 機密性への影響(C):H / 完全性への影響(I):H / 可用性への影響(A):H
最後にVector別の判定をします。NとかLとか1文字で書いてる部分を以下の表で判定できます。
太い赤文字だと脅威があるとみなされ、スコアが加算されます。
攻撃元区分(AV) | ネットワーク(N) |
隣接(A) | |
ローカル(L) | |
物理(P) | |
攻撃条件の複雑さ(AC) | 低(L) |
高(H) | |
必要な特権レベル(PR) | 不要(N) |
低(L) | |
高(H) | |
ユーザ関与レベル(UI) | 不要(N) |
要(R) | |
スコープ(S) | 変更なし(U) |
変更あり(C) | |
機密性への影響(C) | 高(H) |
低(L) | |
なし(N) | |
完全性への影響(I) | 高(H) |
低(L) | |
なし(N) | |
可用性への影響(A) | 高(H) |
低(L) | |
なし(N) |
source via IPA
まとめ
これらのVector値を参考に、自システムの使い方でも脅威に該当するかどうかを考えます。
たとえば、外部ネットワークには接続しない環境では「攻撃区分:N(ネットワーク)」は脅威ではありません。
逆に外部公開しているサーバ上のクラスタソフトウェアの脆弱性で「可用性への影響:H(高い)」であれば脅威です。
Scoreの数値が高いからヤバイではなく、何のVectorでヤバいのかを考えてみてください。