CVSS (共通脆弱性評価システム)
TL;DR
CVSSはセキュリティバグの深刻度を示す標準的な方法です。各脆弱性に0から10のスコアを与え、チームが何を優先して修正すべきかを判断できるようにします。
次のように考えてください:
- 0.0 → 問題なし
- 10.0 → すぐに修正が必要
CVSSとは?
CVSSは、セキュリティ脆弱性のための無料で広く使用されている評価システムです。これはFIRSTという業界団体によって維持されており、セキュリティに関わるほぼすべての人が使用しています。
各脆弱性は、以下のような要素に基づいて0.0から10.0の間の数値を与えられます:
- 悪用のしやすさ
- リモートで攻撃可能かどうか
- どれだけの被害を引き起こす可能性があるか
簡単に言えば:CVSSはソフトウェアバグのための温度計です。
CVSSが重要な理由
CVSSがなければ、誰もが深刻度を異なる方法で説明するでしょう。あるベンダーはバグを「重大」と言い、別のベンダーは「中程度」と呼ぶかもしれません。CVSSは共通の言語を提供します。
それが重要である理由は次のとおりです:
- チームに何を優先して修正すべきかを伝える多くの企業は「9.0以上のものは48時間以内に修正しなければならない」といったルールを設定しています。
- 脆弱性データベースで使用されている国家脆弱性データベース(NVD)は、ほぼすべてのCVEにCVSSスコアを割り当て、ツールが数千の問題を自動的に分類できるようにしています。
- 推測を排除するバグの深刻度について議論する代わりに、CVSSは悪用可能性や影響といった具体的な要素を考慮することを強制します。
CVSSの仕組み
CVSSには3種類のスコアがあります。ほとんどの場合、最初のスコアだけが表示されます。
1. 基本スコア(誰もが使用するもの)
これは、脆弱性がそれ自体でどれほど悪いかを測定します。どこに展開されているかに関係なく。
次のような質問を考慮します:
- インターネット経由で悪用可能か?
- 実行が簡単か難しいか?
- 攻撃者はログインが必要か?
- ユーザーを騙す必要があるか?
- 悪用された場合に何が起こるか?(データ盗難、システム乗っ取り、ダウンタイム)
これは通常、CVEリストに表示されるスコアです。
2. 時間的スコア(時々使用される)
これは、現在何が起こっているかに基づいてスコアを調整します。
例えば:
- 公開されたエクスプロイトコードがあるか?(スコアが上がる)
- パッチが利用可能か?(スコアが下がる)
3. 環境スコア(高度でオプション)
これはあなたの環境に合わせてスコアを調整します。
例えば:
- システムが内部専用か?(深刻度が低い)
- 顧客データを保持しているか?(深刻度が高い)
実際の例: Log4j
Log4j(Log4Shell)は最も有名な脆弱性の一つです。
そのCVSSスコアは**10.0(クリティカル)**でした。
なぜでしょうか?
- リモートで悪用可能
- ログイン不要
- 悪用が容易
- システム全体の乗っ取りが可能
誰がCVSSを使用するのか?
- ソフトウェアベンダーはバグの深刻さを説明するため
- セキュリティチームは最も危険な問題に集中するため
- 監査人は脆弱性が時間内に修正されているか確認するため
CVSSスコア範囲(v3.1)
通常、数値は次のように翻訳されます:
- 0.0 → 問題なし
- 0.1–3.9 → 低 (後で修正)
- 4.0–6.9 → 中 (早めに修正)
- 7.0–8.9 → 高 (緊急に修正)
- 9.0–10.0 → 重大 (即時修正)
ベストプラクティス (重要)
- CVSSのみに頼らないCVSSは重大度を測定するものであり、リスクを測定するものではありません。電源が切れているサーバー上の重大なバグは実際の脅威ではありません。
- CVSSと可能性を組み合わせるCVSSをEPSSと組み合わせて、実際に悪用される可能性のあるバグを確認します。
- 環境に合わせて調整するテストサーバー上のバグは、プロダクションデータベース上のバグとは異なります。
- バージョンを知るCVSS v4.0は存在しますが、今日最も一般的に使用されているのはv3.1です。
アラート疲労を避ける
セキュリティ問題を見つけることは、チームが何を最初に修正すべきかを知っている場合にのみ有用です。エンジニアに何百ものアラートを投げつけてもセキュリティは向上せず、アラート疲労を引き起こします。
Plexicusは脆弱性をランク付けすることで、チームが実際に重要なことに集中できるようにします。すべての問題を同じように扱うのではなく、Plexicusはいくつかの簡単な指標を使用して優先順位付けをガイドします。
1) 優先度
意味: この問題がどれほど緊急であるか
優先度は0から100のスコアで、すべてを一つの数字にまとめます:
- 技術的重大度 (CVSS v4)
- ビジネスへの影響
- 悪用される可能性
これがあなたのアクションリストです。優先度で並べ替え、上から始めてください。
- 優先度 85 → すべてを中断して今すぐ修正
- 優先度 45 → 重要だが、次のスプリントまで待てる
例
内部ツールにおけるSQLインジェクションの問題:
- 会社のVPNを通じてのみアクセス可能
- 機密データは保存されていない
スコア:
- CVSS v4: 8.2(技術的には深刻)
- ビジネスインパクト: 45(内部ツール、限定的な露出)
- エクスプロイトの利用可能性: 30(ログインが必要)
- 優先度: 48
なぜ優先度が重要か
CVSSスコアだけを見ると、8.2は恐ろしいと感じるかもしれません。優先度は問題を文脈に置き、「これは現実の問題だが緊急ではない。次のスプリントで修正する。」と示します。
これにより、チームはすべての高いCVSSスコアに反応するのではなく、実際のリスクに集中することができます。
2) インパクト
意味: これが悪用された場合にどれほど悪化するか
インパクトは0から100までのスコアで、技術的なものだけでなくビジネスの結果を反映します。以下のような点を考慮します:
- 顧客データが関与しているか?
- このシステムは運用にとって重要か?
- コンプライアンスや規制上のリスクがあるか?
例
- 公開顧客データベースにおけるSQLインジェクション → インパクト 95
- 内部テスト環境における同じ問題 → インパクト 30
同じバグでも、ビジネスリスクは大きく異なります。
3) EPSS
意味: 攻撃者がこれを悪用する可能性
EPSSは、次の30日間で現実世界で脆弱性が悪用される可能性を予測します。範囲は0.0から1.0です。
例
- 古い脆弱性でCVSS 9.0だが、アクティブな攻撃はない → EPSS 0.01
- 新しい脆弱性でCVSS 6.0だが、攻撃者が積極的に利用している → EPSS 0.85
EPSSは、紙面上で悪く見えるものだけでなく、今攻撃者が関心を持っているものに焦点を当てるのに役立ちます。
Plexicusでこれらのメトリクスを使用する方法
- リポジトリを接続し、スキャンが完了するのを待ちます
- Findingsページに移動します
- Priorityでソートおよびフィルタリングして、最初に修正するものを決定します

関連用語
- CVE (Common Vulnerabilities and Exposures)
- EPSS (Exploit Prediction Scoring System)
- 脆弱性管理
- NVD (National Vulnerability Database)
CVSS FAQ
最高のCVSSスコアは何ですか?
10.0です。これは、バグが簡単に悪用され、大きな損害を引き起こすことを意味します。
9.0は常に7.0より悪いですか?
紙面上では、はい。しかし、現実には必ずしもそうではありません。アクティブに悪用されている7.0は、誰も使用していない9.0よりも危険である可能性があります。
CVSSスコアは誰が設定しますか?
通常、ソフトウェアベンダーまたはNVDが設定します。時にはセキュリティ研究者が行うこともあります。
CVSSスコアを内部で変更できますか?
はい。多くのチームは、特に強力な保護がある場合、現実のセットアップを反映するためにスコアを調整します。