まあCVSSの解説見ろよって話なんだけど、ありがちな脆弱性の危険度は個人的にはこんなイメージです。
総合的な危険度 = 条件 × 影響
条件
脆弱性の攻撃に必要な前提条件が「狭い」のであればそれほど問題ないです。
影響
- 即死級: コード実行
- 送り込まれたプログラムコードを実行してしまう。
- 発見次第即座にパッチを当てないと死ぬ。攻撃条件次第ではインターネット崩壊
- Shellshock、GHOSTはここ、ただし、コード実行に至る条件がそれなりに厳しかった
- 伝説のSQL Slammerもこれ。発生して最初の10分間で、インターネット上の条件を満たすサーバの90%に相当する75000台に感染したらしい。
- 超緊急: PKI基盤の毀損
- 緊急: サーバ内容(ディスクやメモリ)の漏洩
- 重要: 通信内容の漏洩
- ログイン情報などが漏れた場合は利用者対応が必要
- あくまでサービスの機能として可能な範囲に影響は留まる (提供していないことはやられない)
- 特定のサービスを対象に大規模にMITM等が行われた場合、リスト型攻撃などのリスト作成に使われる可能性もあるにはある。
- FREAKやPOODLE
- 要対応: サービス停止(DoS)
- サービスが止まること自体の損害のみ
- ただし、DoSと思っていたら、後になってメモリ漏洩も可能と変身回数を残している場合があるので注意。
- 今回のOpenSSLとか、ほとんどの環境におけるGHOST
備考
あくまで「ざっくり」なので、エンジニアであればちゃんとCVSSの解説を読んで、どういう判断軸があるか知った方が良いです。
- 基本評価基準 (Base Metrics)
- 現状評価基準 (Temporal Metrics)
- E :攻撃される可能性 (Exploitability)
- RL :利用可能な対策のレベル (Remediation Level)
- RC :脆弱性情報の信頼性 (Report Confidence)
- 環境評価基準 (Environmental Metrics)
- CDP :二次的被害の可能性 (Collateral Damage Potential)
- TD :影響を受ける対象システムの範囲 (Target Distribution)
- CR, IR, AR :対象システムのセキュリティ要求度(Security Requirements)
上では、基本評価基準のうちAV+AC+Auの例を「条件」、C+I+Aの例を「影響」として紹介しました。
実際に、脆弱性対応の緊急度(どれぐらいの間に対応が強いられているか)を判断するには、現状評価基準や環境評価基準の項目を考慮する必要があります。