SnykでEPSSスコアを活用したリスク評価を強化
2023年5月22日
0 分で読めますソフトウェアの脆弱性は、数も複雑さも増し続けています。開発チームやセキュリティチームが個々の脆弱性の脅威レベルを評価し、適切に修正の優先順位を付けるには、その脆弱性に関するできるだけ多くの情報が欠かせません。
Snykはこれまで、アプリケーション内の潜在的な脆弱性を特定するだけでなく、幅広い情報に基づいて優先順位を付け、修正できるよう、必要なセキュリティインテリジェンスを提供することを重視してきました。このたび、Snyk Open SourceとSnyk Containerの脆弱性に対するSnykのセキュリティインテリジェンスに、EPSS(Exploit Prediction Scoring System)を追加しました。
最新のEPSSモデル(EPSS v3)の情報は、本日よりSnyk Vulnerability Databaseでご覧いただけます。SnykアプリのUI、API、レポートなど、その他のSnykワークフローにも年内に順次導入される予定です。
EPSSとは?
FIRSTの後援を受けるEPSS SIG(特別利益団体)は、「ネットワーク防御担当者が脆弱性の修正に適切な優先順位を付けられるよう支援する」ことを目的に、2020年に正式に発足しました。プロジェクトを運営するボランティア研究者や実務担当者が着目したのは、CVSSなどの既存の業界標準は脆弱性の深刻度を測るには役立つものの、実際にどの程度の脅威となるかを評価するには限界があるという問題です。
EPSSスコアで何がわかりますか?
EPSSは、脆弱性が悪用される可能性を推定し、0%から100%の確率スコアで示します。スコアが高いほど、その脆弱性が今後30日以内に実際の環境で悪用される可能性が高いことを意味します。またEPSSは、パーセンタイルも算出してスコアを相対的に示します。パーセンタイルは、その脆弱性と同じかそれ以下のスコアを持つ脆弱性の割合であり、脆弱性がもたらす脅威のレベルを把握する手がかりになります。
公開されているすべてのCVEについて、EPSSスコアとパーセンタイルが毎日算出されます。現在、EPSSのデータと統計情報のページから、HTTPリクエストでCSV形式のスコアをダウンロードできます。また、データを利用するためのAPIも用意されています。
EPSSとCVSSの違いは?
共通脆弱性評価システム(CVSS)は、脆弱性の特性を捉え、その深刻度(低、中、高、緊急)を数値で示すためのフレームワークです。
どちらのフレームワークも、優先順位付けという同じ課題に取り組む組織を支援することを目的としています。また、どちらもオープンなフレームワークであり、データは無料で公開されています。主な違いはアプローチにあります。この違いを理解することは、両者が相互に排他的かどうかを判断するうえで重要です。
CVSSは、基本評価基準、現状評価基準、環境評価基準という3つの指標グループに基づいて、脆弱性の深刻度を標準化して評価します。これらの指標を順に計算し、脆弱性の深刻度を示す1~10のスコアを算出します。しかし実際には、現状評価基準と環境評価基準をモデルに加える複雑さから、多くの組織は基本評価スコアだけを使用しています。CVSSのドキュメントでも指摘されているように、基本評価スコアだけでは実際のリスクを評価するには不十分です。
CVSS基本評価スコアには、環境の状況分析や、時間の経過とともに変化し得る属性を考慮する現状評価基準と環境評価基準による補完が必要です。より適切には、CVSS基本評価スコアだけでなく、さらに多くの要因を考慮する包括的なリスク評価システムを採用すべきです。こうしたシステムでは通常、CVSSの対象範囲外である攻撃対象への露出や脅威などの要因も考慮します。
これが、多くのセキュリティアナリストや実務担当者がCVSSを鵜呑みにしない主な理由です。脆弱性のリスクレベルをより正確に把握し、修正の優先順位を付けるには、追加の情報や状況を併せて考慮する必要があると理解しているのです。
前述のとおり、EPSSはCVSSのこの限界に対処するために設計されました。データ駆動型の機械学習モデルに基づき、CVEデータベースの最新の脅威情報と複数の情報源から集めた実際のエクスプロイトデータを組み合わせ、脅威が発生する可能性を予測します。
CVSS | EPSS | |
管理組織 | FIRST | FIRST |
スコア範囲 | 0~10 | 0%~100% |
スコアの意味 | 脆弱性の深刻度 | 今後30日以内に脆弱性が悪用される可能性 |
データソース | 基本、現状、環境の各指標をスコアに反映 | 過去の脆弱性データや日々のエクスプロイトデータなど、多様な情報源を使って機械学習モデルをトレーニング |
更新 | 最新バージョン:CVSS 3.1(2019年6月リリース) | 機械学習を活用したプロセスにより、スコアは毎日更新されます。モデル自体も定期的に更新されます。 |
EPSSの仕組み
EPSSは機械学習モデルを使ってスコアを算出します。このモデルのトレーニングにあたり、EPSSは複数の情報源からデータを収集します。既知の脆弱性や関連するエクスプロイトのデータ、悪用されやすさに影響するその他の要因などが含まれます。データソースには、MITRE CVE List、NVD(National Vulnerability Database)、MetasploitやExploitDBなどの各種脅威インテリジェンスフィードがあります。
こうしたデータを組み合わせてEPSS予測モデルをトレーニングし、これまで知られていなかった新たな脆弱性についても、悪用される可能性を正しく予測できるようにします。新たな脆弱性やエクスプロイトのデータが得られると、精度と関連性を保つためにモデルを更新します。
モデルの初版は2021年にリリースされ、EPSSの最新アップデートは2023年3月にリリースされました(EPSS v3またはv2023.03.01)。最新モデルでは、予測効率が向上し、大幅な予測精度の向上が実現しています。

SnykでEPSSを活用する
前述のとおり、Snyk Intel Vulnerability Databaseに掲載されているオープンソースの脆弱性にEPSSスコアが追加されました。特定のCVEを確認すると、ページ右側のThreat IntelligenceボックスにEPSSスコアが表示されます。

上の例のように、SnykではEPSSの主な指標である確率(この場合は0.04%)に加え、他のすべてのスコアと比較した確率を示すパーセンタイル(6パーセンタイル)も表示されます。
Snyk CLIを使ってアプリケーションを構築している場合、脆弱性をJSONファイルとして表示した際にもEPSSスコアを確認できます。
より包括的なリスク評価モデルに向けて
EPSSは、脆弱性が悪用される確率を推定します。しかし、EPSSとは何かを理解するだけでなく、EPSSでは何が分からないのかも理解することが大切です。
EPSSは、環境に関する追加要因を考慮せず、脆弱性が悪用された場合の影響も推定しません。そのため、EPSS SIG自身が述べているように、EPSSは「リスクの全体像を示すものではなく、そのように扱うべきでもありません」。EPSS SIGはプロジェクトの内容を詳細に文書化していますが、モデル自体は詳しく評価できるほど透明性が高くない点にも留意が必要です。それでも、EPSSは脆弱性のリスク評価や優先順位付けに用いるべきリスク要因の一つです。そこで、Snykでは脆弱性データに順次追加することにしました。
Snykは現在、より詳細で包括的な新しいリスク評価モデルの開発に取り組んでいます。このモデルにはCVSSとEPSSに加え、多数の追加のリスク要因が盛り込まれる予定です。それらを総合的に評価することで、脆弱性が悪用される可能性と、実際に悪用された場合の影響を明らかにし、より包括的でリスクに基づいた優先順位付けと課題管理を実現します。
今後のお知らせにご期待ください。
開発者に愛され、セキュリティチームから信頼される。
Snykの開発者ファーストのツールは、ガバナンスやコンプライアンスのニーズに応える、統合された自動化セキュリティを提供します。



