「どの脆弱性を優先して対応するべきか」をスコア化してくれる「EPSSモデル」とはいったいどんな仕組みなのか
ソフトウェアにおいて、システムの安全性が保てなくなるような設計ミスなどのことを脆弱性と言います。ソフトウェア開発にはバグがつきもので、毎月のように多数の脆弱性が発見されているため、全ての脆弱性に対応するのは難しいもの。そうした状況において、脆弱性対応の優先順位付けする方法として考案されたのが「EPSSモデル」です。
The EPSS Model
https://www.first.org/epss/model
公開されている脆弱性の情報(CVE)のうち、実際に悪用されている脆弱性は2%~7%にすぎません。
EPSSモデルでは、脆弱性の情報と実際の悪用の証拠を組み合わせることで「脆弱性が悪用される可能性」を算出します。具体的には下記のデータを利用しているとのこと。
・MITREのCVEリストで公開状態のCVE
・CVEの説明やその他の脆弱性についての情報源から抽出されたテキストベースの「タグ」
・CVEが公開されてからの日数
・CVEにリストされている参照の数
・Metasploit、ExploitDB、Githubのいずれかで公開された脆弱性を実証するエクスプロイトコード
・「Jaales」「Intrigue」「Nuclei」「sn1per」などのセキュリティスキャナ
・National Vulnerability Database(NVD)で公開されている基本スコアのCVSS v3ベクトル
・NVDで公開されているベンダー(CPE)情報
・AlienVaultとFortinetによる実際に行われている攻撃の観察
モデルのパフォーマンスは、「効率」と「カバー率」という2つの尺度で計測することができます。例えば下図のように、修正した範囲を青色で表示し、実際に攻撃が発生した範囲を赤色で表示した場合、「効率」は青色部分のうち赤色部分と重なった範囲の割合となります。一方、「カバー率」は赤色部分のうち青色部分と重なった範囲の割合です。
計算式にすると下記の通り。
・効率=真陽性(True Positives)/{真陽性(True Positives) + 偽陽性(False Positives)}
・カバー率=真陽性(True Positives)/{真陽性(True Positives) + 偽陰性(False Negatives)}
下図は「効率」「カバー率」という2つの指標に基づいてEPSSモデルの性能を比較した結果です。CVSS v3の基本スコアが8.8以上の脆弱性を修正すると、カバー率が約50%で効率は約5%となりました。カバー率が同程度になるようにEPSSスコアに基づいて修正した場合の効率はEPSS v1の場合は12.9%、EPSS v2の場合は42.5%と予測の精度が大幅に向上していることが分かります。
上記の比較ではカバー率が一致するように修正する脆弱性の範囲を変更しましたが、逆に修正する脆弱性の範囲を固定した場合の比較は下図のようになります。CVSS v3に基づく修正をするとカバー率34%・効率5.7%ですが、EPSS v1を用いるとカバー率58.1%・効率10.1%まで上昇し、EPSS v2ではカバー率72.4%・効率19.9%とさらに精度が向上していることが分かります。
シャープレイ値を用いてモデル内の変数の寄与度を調べ、中央値の高い順で並べ替えた結果は下図の通り。上位にランクインしている要素が多い脆弱性ほど悪用される可能性が高くなります。例えばMicrosoft製品で権限無しでリモートコード実行できる脆弱性の実証コードが公開されて簡単に利用できる場合、脆弱性が悪用される可能性が高いというわけです。
モデル内の変数それぞれの寄与度は下図の通り。多くのCVEから参照されている脆弱性は悪用される危険度が高まることや、CVEが発行されて6~7年経過後に悪用のピークが発生し、その後活動が低下していくことが確認できます。
脆弱性の対応に潤沢なリソースを注げない場合、EPSSを利用することで効率よくシステムを守ることができそうです。なお、EPSSを利用するには全てのCVEデータが含まれた毎日更新のCSVをダウンロードするか、API経由でデータを取得すれば良いとのことです。
・関連記事
脆弱性にIDを割り振って管理する「CVE」のシステムには欠陥があるという指摘 - GIGAZINE
新しい脆弱性がCVEで開示されると攻撃準備として15分以内にスキャンされ数時間以内に実際の悪用が試みられる - GIGAZINE
中国はソフトウェアの脆弱性を報告せずにまとめあげてサイバー兵器にしようとしている - GIGAZINE
老舗圧縮解凍ソフト「WinRAR」でファイルを開くだけで任意コード実行を可能にする脆弱性が発見される、すでに修正版が配布済み - GIGAZINE
OpenSSLで史上2度目の「致命的」レベルの脆弱性が発見される、2022年11月1日夜間に修正版がリリースされるため即更新を - GIGAZINE
40%のUbuntuに影響大の深刻な脆弱性「GameOver(lay)」、2020年に修正されたはずなのに改めて発見されてしまう非常事態 - GIGAZINE
・関連コンテンツ