CVSS(Common Vulnerability Scoring System)とは、ソフトウェアの脆弱性がどれだけ危険かを、0.0から10.0までの数値で表す国際的な評価基準である。攻撃のしやすさや、悪用された場合に情報がどれほど漏れるかといった観点を定められた方式で採点し、共通の物差しとして深刻度を示す。組織や製品を問わず同じ基準で比較できるため、多数の脆弱性の中からどれを優先して対処すべきかを判断する材料として広く使われている。脆弱性の情報は日々大量に公開され、そのすべてに同じ労力で対応することは現実的でない。しかし「危険だ」という言葉だけでは、どれをいつまでに直すべきかの判断がつかない。CVSSは、主観に頼らず深刻度を数値化することで、限られた人手をどこに割くべきかという優先順位の議論を、組織の内外で共通の土台に乗せる役割を果たしている。
CVSSの仕組み
CVSSは、複数の観点から特性を採点し、定められた計算式でスコアを導き出す仕組みで成り立つ。
- 基本評価基準
脆弱性そのものが持つ、時間や環境で変わらない特性を評価する。攻撃の難易度や必要な権限、影響の大きさなどから基本のスコアが決まる。
- 現状評価基準
攻撃コードが出回っているか、対策が提供されているかといった、時間とともに変化する状況を反映する。実際の危険度をより正確に表せる。
- 環境評価基準
自組織にとっての重要度や、既に講じている対策を加味して調整する。同じ脆弱性でも、組織ごとに異なる実質的な危険度を算出できる。
- 深刻度の区分
算出されたスコアは、緊急・重要・警告・注意といった段階に対応づけられる。数値と区分の両面から、対応の緊急度を判断できる。
CVSSのメリット
CVSSは、脆弱性対応の意思決定を支える共通の基盤を提供する。得られる利点を見ていく。
- 優先順位の明確化
数値により、どれから対処すべきかが判断しやすくなる。限られた人員と時間を、危険度の高いものへ集中させられる。
- 組織を超えた共通言語
製品や組織が違っても同じ基準で語れる。取引先や外部の専門家との間で、認識の食い違いなく危険度を共有できる。
- 客観的な説明材料
経営層や関係部署に対して、対応の必要性を数値で説明できる。感覚的な訴えより説得力があり、予算や工数の確保につながる。
- 自動化との親和性
数値であるため、機械的な判定や振り分けに使いやすい。一定以上のスコアを自動で通知するなど、運用の効率化に活かせる。
- 基準の透明性
採点の方式が公開されており、なぜその数値になったかを検証できる。評価の根拠が追えるため、納得感を持って扱える。
CVSSのデメリット・注意点
有用なCVSSも、数値を鵜呑みにすると判断を誤る。注意すべき点を押さえておきたい。
- 自組織の事情が反映されない
公開される多くは基本評価のみで、その環境で実際にどれだけ危険かは表さない。使っていない機能の脆弱性が高スコアの場合もある。
- スコア偏重の危険
数値だけで優先順位を決めると、実質的な危険を見落とす。低スコアでも、自社の重要資産に直結すれば優先すべき場合がある。
- 評価者による揺らぎ
基準は定められているが、判断に幅が残る項目もある。同じ脆弱性でも評価元によってスコアが異なることがある。
- 実際の悪用状況を表さない
基本スコアが高くても実際には攻撃されていない場合や、その逆もある。現に悪用されているかは別の情報源で確認する必要がある。
CVSSの活用例
CVSSは、脆弱性管理のさまざまな場面で判断材料として使われている。代表的な活用シーンを紹介する。
- 対応優先度の決定
検出された多数の脆弱性を、スコア順に並べて対処の順序を決める。最も基本的かつ広く行われている使い方である。
- 対応期限の基準づくり
「緊急は3日以内、重要は2週間以内」といった社内規定の根拠とする。対応の遅れを防ぐ運用ルールを組み立てられる。
- 脆弱性診断の報告
診断結果の報告書で、各指摘の深刻度を示す共通指標として使われる。依頼元が結果を理解し判断する助けとなる。
- 製品選定時の評価
導入を検討する製品について、過去の脆弱性の傾向を把握する材料にする。継続的な安全性を判断する一助となる。
- 自動検査との連携
依存部品の検査ツールと組み合わせ、一定スコア以上を検出したらリリースを止めるといった運用ができる。
CVSSとCVEの違い
併せて目にすることの多いCVSSとCVEは、まったく異なる役割を持つ。両者の違いを整理する。
- 役割の違い
CVEは個々の脆弱性に一意の識別番号を割り当てる仕組みだ。CVSSはその脆弱性がどれだけ危険かを数値で評価する基準である。
- 表すもの
CVEは「どの脆弱性か」を指し示す名札にあたる。CVSSは「どれだけ深刻か」という程度を示す物差しにあたる。
- 形式
CVEは年号と連番からなる識別子で表される。CVSSは0.0から10.0の数値と、評価の内訳を示す文字列で表される。
- 組み合わせて使う
実務では両者を併せて扱う。CVEで対象を特定し、CVSSで対応の優先度を判断するという流れが一般的だ。
CVSSを扱う際のポイント
CVSSを適切に活かすには、数値の意味を理解した運用が欠かせない。実務で意識したい要点を挙げる。
- 自組織の状況を加味する
公開されたスコアをそのまま使わず、その脆弱性が自社環境でどれだけ危険かを検討する。環境評価基準を活用したい。
- スコア以外の情報も見る
実際に悪用が確認されているか、攻撃コードが公開されているかを併せて確認する。数値だけでは実態を捉えきれない。
- バージョンの違いに注意する
CVSSには版があり、算出方法が異なる。異なる版のスコアを単純に比較しないよう、どの版による評価かを確認する。
まとめ
CVSSは、脆弱性の深刻度を0.0から10.0の数値で表す国際的な評価基準であり、基本・現状・環境という三つの観点から採点する仕組みを持つ。優先順位の明確化や組織を超えた共通言語、客観的な説明材料として、脆弱性管理に欠かせない役割を果たしている。一方で自組織の事情が反映されない、実際の悪用状況を表さないといった限界もあり、数値だけに頼る判断は危うい。自組織の状況を加味し、スコア以外の情報も併せて見ることが正しい運用の要となる。公開される脆弱性が増え続けるなかで、優先順位をつける力の重要性はいっそう高まっている。自社が対応すべき脆弱性のスコアを、一度確かめてみるとよいだろう。
