FIRSTのEPSS Score活用入門

Sep 22, 2024 14:45 · 3096 words · 7 minute read security owasp

2024年9月21日にOWASP Kansaiの10周年イベントに参加してきました。

OWASP Kansai DAY 2024.09 〜10周年記念セキュリティ・マシマシ全部盛り〜 - OWASP Kansai | Doorkeeper

講演で聞いたEPSSの活用アイデアが面白そうだったので、EPSSについて調べました。

目次

EPSSは脆弱性を悪用される確率の指標

EPSS(Exploit Prediction Scoring System)は、今後30日以内に脆弱性が悪用される確率を計算した数値です。 ハニーポットやIDSなど、協力組織から共有してもらった大量の攻撃データを機械学習にかけて算出しています。

EPSSを運用しているFIRSTのWebページ:Exploit Prediction Scoring System (EPSS)

EPSSとCVSSの違い

脆弱性の管理に使う有名な指標の1つにCVSSがあります。 CVSSは脆弱性の脅威度を表現する指標です。

CVSSでは、脆弱性を下記3つの基準で評価します。

  • 基本評価基準(Base Metrics)
  • 現状評価基準(Temporal Metrics)
  • 環境評価基準(Environmental Metrics)

それぞれの解説をIPAのWebページから引用します。


(1)基本評価基準(Base Metrics)

脆弱性そのものの特性を評価する基準です。情報システムに求められる3つのセキュリティ特性、『機密性(Confidentiality Impact)」、『完全性(Integrity Impact)」、『可用性(Availability Impact)」に対する影響を、ネットワークから攻撃可能かどうかといった基準で評価し、CVSS基本値(Base Score)を算出します。この基準による評価結果は固定していて、時間の経過や利用環境の異なりによって変化しません。ベンダーや脆弱性を公表する組織などが、脆弱性の固有の深刻度を表すために評価する基準です。

(2)現状評価基準(Temporal Metrics)

脆弱性の現在の深刻度を評価する基準です。攻撃コードの出現有無や対策情報が利用可能であるかといった基準で評価し、CVSS現状値(Temporal Score)を算出します。この基準による評価結果は、脆弱性への対応状況に応じ、時間が経過すると変化します。ベンダーや脆弱性を公表する組織などが、脆弱性の現状を表すために評価する基準です。

(3)環境評価基準(Environmental Metrics)

ユーザの利用環境も含め、最終的な脆弱性の深刻度を評価する基準です。脆弱性の対処状況を評価し、CVSS環境値(Environmental Score)を算出します。この基準による評価結果は、脆弱性に対して想定される脅威に応じ、ユーザ毎に変化します。ユーザが脆弱性への対応を決めるために評価する基準です。

引用元:共通脆弱性評価システムCVSS v3概説 | 情報セキュリティ | IPA 独立行政法人 情報処理推進機構


CVSSは脆弱性の脅威度を表現する指標であり、EPSSは脆弱性が攻撃に悪用される確率を表現する指標です。 これらの指標の違いを表す興味深い図がFIRSTのWebページで公開されています。

CVE全体の中でCVSS Scoreが7以上の脆弱性と、実際に攻撃に悪用された脆弱性の割合が図で表現されています。 グレーの円がCVE全体、青の円がCVSS Score7以上の脆弱性、赤い円が実際に攻撃に悪用された脆弱性です。 図を見ると、実際に攻撃に悪用されている脆弱性はCVSS Scoreが高い深刻な脆弱性のごく一部であることがわかります。

続いてEPSSと実際に攻撃に悪用された脆弱性を比較した図が下記です。 CVSSよりも一致率が高い事がわかります。

画像引用元:The EPSS Model

CVSSを基準として脆弱性の対策をした場合とEPSSを基準として脆弱性の対策をした場合では、EPSSを基準とした場合の方が対策の効率が良いことがわかります。 「有限の人的資源をどのように活用するか?」を考えた場合、EPSSが有効な指標の一つであると言えそうです。

試験勉強に例えるなら、「試験範囲の中の重要な項目を中心に学習するのか(CVSS)、それとも試験に出そうな所だけを学習するのか(EPSS)」というところでしょうか。

EPSS活用時の注意点。ヤマが外れた時に大きな被害がでるかも

「EPSSの方が効率がいいなら、EPSSを基準にして脆弱性に対応したらいいじゃん」と考えるかもしれませんが、注意が必要です。

EPSSでは脆弱性の深刻度や影響度を加味していないため、EPSSだけを基準として対策した場合には影響度の大きな脆弱性が野放しになってしまう可能性があります。 例えば、とある深刻な脆弱性がある日急に悪用され始めた場合、それまで低かったEPSSの数値が急に上昇します。組織の脆弱性対応には時間がかかるので、影響度の大きな脆弱性の被害を受けてしまう結果になりかねません。

前述の試験勉強を例にすると、「試験に出る確率が高い所だけヤマを張って学習した場合、予想が外れたら試験の結果が悲惨になる」という感じでしょうか。 試験であれば「結果が悲惨になる」程度で済みますが、企業活動の場合は多額の損害金や信用の失墜により、事業継続ができない状態になるかもしれません。

企業活動に深刻な影響を受けることを防ぐために、EPSSとCVSSを組み合わせて脆弱性に対応するべきでしょう。 どちらの指標をどの程度サポートするかに正解はなく、組織の事業内容や人的リソースの状況によって検討が必要です。

参照:EPSS User Guide

EPSSのデータをCSVで取得する

EPSSはCSV形式でデータを公開しています。 Webページからダウンロードするか、APIで取得できます。

例えば、直近100件のCVEのEPSSを取得するAPIはこちら。

api.first.org/data/v1/epss

日々変化するEPSSのCSVデータを活用するアイデア

OWASP Kansaiで伊藤さんが検証していたアイデアが非常に興味深い内容でした。
※この活動は伊藤さんの所属企業の活動ではなく、終業後に伊藤さんが個人的に進めた検証だそうです。

EPSSの値は日々変動します。 そしてEPSSのスコアは非常に偏っており、ごく一部の脆弱性だけが実際に悪用されています。

画像引用元:Exploit Prediction Scoring System (EPSS)

この特性を利用して、EPSSの値が前日比で急騰した脆弱性(直近で悪用される確率が急上昇した脆弱性)をモニタリングすることで攻撃対策に活かせるのではないか?という内容です。

検証用に開発したツールで日々のCSVを取得し、前日のデータと比較。そして比較結果を自動でレポーティングしていました。 毎日大量に発生する脆弱性の情報を効率よく管理収集するアプローチとして非常に興味深い内容です。 後日発表スライドを公開してくださるらしいので、スライドが公開されたらURLを追記します。

最後に

OWASP Kansaiで聞いたEPSSの話が興味深かったので講演内容の復習をしつつ、自分なりにインプットとアウトプットしてみました。

自分の知らなかった情報やアイデアを得られるので、やっぱりイベント参加はいいですね。今後も積極的に参加したいと思います。

その他参照URL

tweet Share