CVSSとはなんぞや? 計算方法とスコアの見方を解説します

お久しぶりです。
目覚ましは7つセットするヨシダです。

よくセキュリティ診断を実行した際に記載されているCVSSスコアという謎の数値がありますが、今回はその数値を出す計算方法とスコアの見方を解説していきます。

CVSS(Common Vulnerability Scoring System) とは共通脆弱性評価システムと呼ばれ「基本評価基準現状評価基準環境評価基準の3つの基準でIT製品のセキュリティ脆弱性の深刻さを評価するもの」です。脆弱性の深刻度を計算して見やすいようにスコアにすることによって、それがどの程度の脆弱性で、どの程度緊急で対応しなければいけないのか、そういったことがわかりやすくなります。情報システムの脆弱性に対するオープンで汎用的な評価手法であり、ベンダーに依存しない共通の評価方法になります。

CVSSというシステムにもバージョンがあり、現在最新のバージョンはv3となっております。2015年6月10日、コンピュータセキュリティに関する国際フォーラムFIRST(Forum of Incident Response and Security Teams)から新しいバージョンのCVSS v3が公開されました。脆弱性対策情報データベースであるJVN iPedia(http://jvndb.jvn.jp/cvss/v3/ja.html) こちらのサイトから計算することができます。JVN iPediaは日々発見される脆弱性対策情報を蓄積することで幅広くご利用いただくことを目的としています。脆弱性対策情報が公表されてから一週間程度を目安に公開していますが、公開時期が遅れてしまう場合もありますので注意してください。

計算方法に関してですが、先ほどのサイトから選択肢の項目を入力していくと自動的に算出されます。中では、「基本値 = ((0.6× 影響度)+(0.4× 攻撃容易性 )-1.5)×f(影響度)」とか「現状値 = 基本値 ×E×RL×RC」みたいな計算をしているみたいですが、最終的に0.0~10.0の範囲でスコアが表示されます。

項目をひとつひとつ解説していく前に、情報セキュリティにおいて切っても切り離せない「機密性完全性可用性」の3つの解説を先にします。
機密性-アクセスコントロールとも呼ばれる概念です。許可された正当なユーザーだけが情報にアクセスするよう、システムを構成することが要求されます。
完全性-情報が完全で正確であることを保証することです。情報の一部分が失われたり、改ざんされたりすると完全性が失われます。インティグリティといいます。
可用性-ユーザーが情報を必要とするときに、いつでも利用可能な状態であることを保証します。機器が故障していたり、停止していたりすることで可用性は低下します。
CVSSスコアはこの3つのセキュリティ情報の要素が、攻撃によって影響を受けるかどうかを判定するため大きく反映されます。

では「CVSS v3」を使って実際に計算してみましょう。→http://jvndb.jvn.jp/cvss/v3/ja.html
計算(脆弱性を評価)するための項目は下記の通りになります。

①基本評価基準

-脆弱性そのものの特性を評価する基準で、時間の経過や利用環境の異なりによって変化しません。

[攻撃元区分]-どこから攻撃ができるのかを評価します

  • ネットワーク(インターネットなど、ネットワーク経由でリモートから攻撃可能である)
  • 隣接(ローカルIPサブネット、ブルートゥースなど、隣接ネットワークから攻撃する必要がある)
  • ローカル(ローカルアクセス権限での攻撃やワープロのアプリケーションに不正なファイルを読み込ませる攻撃など、ローカル環境から攻撃する必要がある)
  • 物理(USB経由など、物理アクセス環境から攻撃する必要がある)

 
[攻撃条件の複雑さ]-攻撃する際に必要な条件の複雑さを評価します

  • 低(特別な攻撃条件は不要)
  • 高(攻撃者以外に依存する攻撃条件が存在)

 
[攻撃に必要な特権レベル]-攻撃する際に必要な特権レベルを評価します

  • 不要
  • 低(基本的な権限があればいい)
  • 高(管理者権限相当を有する必要あり)

 
[利用者の関与]-攻撃する際に必要なユーザー関与レベルを評価します

  • 不要
  • 要(リンクのクリック、ファイル閲覧、設定変更などユーザーの動作が必要)

 
[影響の想定範囲]-スコープと呼ばれ、攻撃による影響範囲を評価します

  • 変更なし
  • 変更あり(他のコンポーネントにも影響が広がる可能性がある)

 
[機密性への影響]-対象とする影響想定範囲の情報が漏洩する可能性を評価します

  • なし(機密性への影響なし)
  • 低(情報漏洩やアクセス制限の回避は発生するが、その問題による影響が限定的)
  • 高(機密情報や重要なシステムファイルが参照可能で、その問題による影響が全体に及ぶ)

 
[完全性への影響]-対象とする影響想定範囲の情報が改ざんされる可能性を評価します

  • なし(完全性への影響なし)
  • 低(情報の改ざんが可能ではあるが、機密情報や重要なシステムファイルの改ざんはできないため、その問題による影響が限定的)
  • 高(機密情報や重要なシステムファイルの改ざんが可能であり、その問題による影響が全体に及ぶ)

 
[可用性への影響]-対象とする影響想定範囲の業務が遅延・停止する可能性を評価します

  • なし(可用性への影響なし)
  • 低(リソースを一時的に枯渇させたり、業務の遅延や一時中断が可能)
  • 高(リソースを完全に枯渇させたり、完全に停止させることが可能)

 

②現状評価基準

-脆弱性の現在の深刻度を評価する基準で、攻撃コードの出現有無や対策情報が利用可能であるかといった基準で評価します。

[攻撃される可能性]-攻撃コードや攻撃手法が実際に利用可能であるかを評価します

  • 未評価(この項目を評価しない)
  • 未実証(実証コードや攻撃コードが利用可能ではない/攻撃手法が理論上のみで存在)
  • 実証可能(実証コードPoCが存在している/完成度の低い攻撃コードが存在)
  • 攻撃可能(攻撃コードが存在し、ほとんどの状況で使用可能)
  • 容易に攻撃可能(攻撃コードがいかなる状況でも利用可能/攻撃コードを必要とせず攻撃可能)

 
[利用可能な対策のレベル]-脆弱性の対策がどの程度利用可能であるかを評価

  • 未評価(この項目を評価しない)
  • 正式(製品開発者からの正式対策が利用可能)
  • 暫定(製品開発者からの暫定対策が利用可能)
  • 非公式(製品開発者以外からの非公式な対策が利用可能)
  • なし(利用可能な対策がない/対策を適用できない)

 
[脆弱性情報の信頼性]-脆弱性に関する情報の信頼性を評価します

  • 未評価(この項目を評価しない)
  • 未確認(未確認の情報のみ存在/いくつかの相反する情報が存在)
  • 未確証(セキュリティベンダーなどから複数の非公式情報が存在)
  • 確認済(製品開発者が脆弱性情報を確認している)

 

③環境評価基準

-製品利用者の利用環境も含め、最終的な脆弱性の深刻度を評価する基準です。

[機密性の要求度]-要求されるセキュリティ対策に対して、機密性の要求度を評価します

  • 未評価(この項目を評価しない)
  • 低(機密性を失われても、一部の影響にとどまる)
  • 中(機密性を失われると、深刻な影響がある)
  • 高(機密性を失われると、壊滅的な影響がある)

 
[完全性の要求度]-要求されるセキュリティ対策に対して、完全性の要求度を評価します

  • 未評価(この項目を評価しない)
  • 低(完全性を失われても、一部の影響にとどまる)
  • 中(完全性を失われると、深刻な影響がある)
  • 高(完全性を失われると、壊滅的な影響がある)

 
[可用性の要求度]-要求されるセキュリティ対策に対して、可用性の要求度を評価します

  • 未評価(この項目を評価しない)
  • 低(可用性を失われても、一部の影響にとどまる)
  • 中(可用性を失われると、深刻な影響がある)
  • 高(可用性を失われると、壊滅的な影響がある)

 
[緩和策後の攻撃元区分]-どこから攻撃ができるのかを、現状(緩和策や対策後の利用環境)に合わせて再評価します

  • ネットワーク(インターネットなど、ネットワーク経由でリモートから攻撃可能である)
  • 隣接(ローカルIPサブネット、ブルートゥースなど、隣接ネットワークから攻撃する必要がある)
  • ローカル(ローカルアクセス権限での攻撃やワープロのアプリケーションに不正なファイルを読み込ませる攻撃など、ローカル環境から攻撃する必要がある)
  • 物理(USB経由など、物理アクセス環境から攻撃する必要がある)

 
[緩和策後の攻撃条件の複雑さ]-攻撃する際に必要な条件の複雑さを、現状(緩和策や対策後の利用環境)に合わせて再評価します

  • 低(特別な攻撃条件は不要)
  • 高(攻撃者以外に依存する攻撃条件が存在)

 
[緩和策後の攻撃に必要な特権レベル]-攻撃する際に必要な特権レベルを、現状(緩和策や対策後の利用環境)に合わせて再評価します

  • 不要
  • 低(基本的な権限があればいい)
  • 高(管理者権限相当を有する必要あり)

 
[緩和策後の利用者の関与]-攻撃する際に必要なユーザー関与レベルを、現状(緩和策や対策後の利用環境)に合わせて再評価します

  • 不要
  • 要(リンクのクリック、ファイル閲覧、設定変更などユーザーの動作が必要)

 
[緩和策後の影響の想定範囲]-スコープと呼ばれ、攻撃による影響範囲を、現状(緩和策や対策後の利用環境)に合わせて再評価します

  • 変更なし
  • 変更あり(他のコンポーネントにも影響が広がる可能性がある)

 
[緩和策後の機密性への影響]-対象とする影響想定範囲の情報が漏洩する可能性を、現状(緩和策や対策後の利用環境)に合わせて再評価します

  • なし(機密性への影響なし)
  • 低(情報漏洩やアクセス制限の回避は発生するが、その問題による影響が限定的)
  • 高(機密情報や重要なシステムファイルが参照可能で、その問題による影響が全体に及ぶ)

 
[緩和策後の完全性への影響]-対象とする影響想定範囲の情報が改ざんされる可能性を、現状(緩和策や対策後の利用環境)に合わせて再評価します

  • なし(完全性への影響なし)
  • 低(情報の改ざんが可能ではあるが、機密情報や重要なシステムファイルの改ざんはできないため、その問題による影響が限定的)
  • 高(機密情報や重要なシステムファイルの改ざんが可能であり、その問題による影響が全体に及ぶ)

 
[緩和策後の可用性への影響]-対象とする影響想定範囲の業務が遅延・停止する可能性を、現状(緩和策や対策後の利用環境)に合わせて再評価します

  • なし(可用性への影響なし)
  • 低(リソースを一時的に枯渇させたり、業務の遅延や一時中断が可能)
  • 高(リソースを完全に枯渇させたり、完全に停止させることが可能)

 
以上を入力し終わると、それぞれのCVSSスコアがでます。
スコアの見方ですが、下記のようになります。

脆弱性の深刻度

深刻度 スコア
緊急 9.0~10.0
重要 7.0~8.9
警告 4.0~6.9
注意 0.1~3.9
なし 0

緊急、重要レベルの脆弱性を含んでいる場合は、今すぐレオンテクノロジーに相談しましょう。
こちらは、全てのシステムが停止するようなサービス運用妨害(DoS)、OSコマンド・インジェクション、SQLインジェクション、バッファオーバフローによる任意の命令実行などによって以下の脅威がある可能性があります。

  1. リモートからシステムを完全に制御されるような脅威
  2. 大部分の情報が漏えいするような脅威
  3. 大部分の情報が改ざんされるような脅威

また、警告、注意レベルが出た場合でも、クロスサイト・スクリプティング、一部の情報が漏えいするようなディレクトリ・トラバーサル、一部のシステムが停止するようなサービス運用妨害(DoS)など再現性が低いとはいえ、以下のような脅威がある可能性があります。

  1. 一部の情報が漏えいするような脅威
  2. 一部の情報が改ざんされるような脅威
  3. サービス停止に繋がるような脅威

このように、深刻度が高いほどすぐに対応が必要だということがわかります。
そのまま放置していると、大きな被害に繋がります。
セキュリティ対策のアップデートなどは、出たらすぐに行うのがベストですよ。

ありがとうございました。

レオンテクノロジーは現在、一緒に働く仲間を募集しております!
興味がある方はこちらから!

セキュリティに関するご相談はこちらから!

こんな記事も読まれています