EPSSスコア(Exploit Prediction Scoring System)
TL;DR: EPSSスコア
Exploit Prediction Scoring System(EPSS)は、特定のソフトウェアの脆弱性が実際に悪用される可能性を推定するデータ駆動型の標準です。
このプロセスは以下のことに役立ちます:
- 最初に修正するべきものを優先する 実際の脅威データに基づいて。
- アラート疲れを軽減する 攻撃者が実際には狙っていない高深刻度の脆弱性を無視することで。
- セキュリティリソースを最適化する 真のリスクをもたらす脆弱性の5%に集中することで。
EPSSの目的は、攻撃がどれほど損害を与えるかではなく、脆弱性が攻撃される可能性がどれほど高いかを伝えることです。
EPSSスコアとは
EPSSスコアは、特定の脆弱性(CVE)が今後30日以内に悪用される確率を表す0から1(または0%から100%)の指標です。
これは、CVSSを管理するのと同じ組織であるインシデント対応とセキュリティチームのフォーラム(FIRST)によって管理されています。CVSSが脆弱性の深刻度(どれほど悪いか)を測定するのに対し、EPSSは脅威(どれほど発生しやすいか)を測定します。
簡単に言えば:
CVSSは「この窓は壊れていて、大きな窓です」と伝えます。EPSSは「その特定の窓のすぐ外に泥棒が立っています」と伝えます。
EPSSが重要な理由
セキュリティチームは「重大な」アラートに溺れています。典型的な企業のスキャンでは、CVSSスコアが9.0以上の脆弱性が数千件表示されることがあります。それらすべてをすぐに修正することは不可能です。
では、なぜEPSSが重要なのか:
**CVSSは十分ではありません。**研究によると、公開されたCVEsのうち、実際に野外で悪用されるものは5%未満です。CVSSの深刻度に基づいて脆弱性を修正するだけでは、誰も攻撃していないバグを修正するために時間を浪費しています。
**現実世界での優先順位付け。**EPSSは現在の脅威インテリジェンスを使用します。脆弱性は紙の上では危険に見えるかもしれません(高CVSS)が、エクスプロイトコードが存在せず、攻撃者が使用していない場合、EPSSスコアは低くなります。
**効率。**高EPSSスコアをフィルタリングすることで、チームは最も危険な脅威に対処しながら、修正のバックログを最大85%削減できます。
EPSSの仕組み
EPSSは静的な数値ではありません。毎日更新される機械学習モデルです。膨大なデータを分析して確率スコアを生成します。
1. データ収集
モデルは複数のソースからデータを取り込みます。
- CVEリスト: MITREおよびNVDデータ。
- エクスプロイトコード: MetasploitやExploitDBなどのツールでのエクスプロイトスクリプトの可用性。
- 野外活動: ファイアウォール、IDS、ハニーポットからのログにより、活発な攻撃を示します。
- ダークウェブのチャター: ハッカーフォーラムでの議論。
2. 確率計算
モデルは0.00(0%)から1.00(100%)のスコアを計算します。
- 0.95は、この脆弱性が現在悪用されているか、近いうちに悪用される可能性が95%あることを意味します。
- 0.01は、悪用される可能性が非常に低いことを意味します。
3. 適用
セキュリティツールはこのスコアを取り込み、脆弱性リストを並べ替えます。「深刻度」で並べ替えるのではなく、「攻撃の可能性」で並べ替えます。
実践例
スキャナーが2つの脆弱性を発見したと想定します。
脆弱性A:
- CVSS: 9.8 (クリティカル)
- EPSS: 0.02 (2%)
- コンテキスト: 使用しているライブラリに理論的なオーバーフローがあるが、まだ誰もそれを武器化する方法を見つけていない。
脆弱性B:
- CVSS: 7.5 (高)
- EPSS: 0.96 (96%)
- コンテキスト: これはLog4jの脆弱性またはランサムウェアギャングが今日積極的に使用している既知のVPNバイパスです。
EPSSなしの場合: CVSSスコアが9.8 > 7.5であるため、脆弱性Aを先に修正するかもしれません。
EPSSを使用した場合 (Plexicusを使用):
- Plexicusダッシュボードに移動します。
- EPSS > 0.5でフィルタリングします。
- Plexicusは脆弱性Bを即座に強調表示します。
- 脆弱性Bを最初に修正します。これは即時の脅威であるためです。脆弱性Aはバックログに入ります。
結果: 理論的なバグを修正する代わりに、アクティブな攻撃ベクトルを阻止しました。
EPSSを使用する人
- 脆弱性管理者 - 今週どのパッチを本番環境にプッシュするかを決定するため。
- 脅威インテリジェンスアナリスト - 現在の脅威の状況を理解するため。
- CISO - 恐怖ではなくリスクに基づいて予算とリソース配分を正当化するため。
- DevSecOpsチーム - 重要な脆弱性のみでビルドを自動的に破壊するため。
EPSSを適用するタイミング
EPSSは脆弱性管理のトリアージと修復フェーズで使用されるべきです。
- トリアージ中 - 500件の重大なバグがあり、50件しか修正する時間がない場合。
- ポリシーにおいて - 「EPSS > 50% のものは24時間以内にパッチを適用する」といったルールを設定します。
- 報告において - チケットを閉じるだけでなく、「利用可能なリスク」を減少させていることをリーダーシップに示します。
EPSSツールの主な機能
EPSSを統合するツールは通常以下を提供します:
- デュアルスコアリング: CVSSとEPSSを並べて表示します。
- 動的優先順位付け: EPSSスコアが変化するにつれて、脆弱性を毎日再ランク付けします。
- リスク受容: 低EPSSの脆弱性を一定期間「リスク受容」として安全にマークします。
- 豊富なコンテキスト: スコアを特定のエクスプロイトファミリーにリンクします(例:「ランサムウェアグループXによって使用される」)。
例: 脆弱性管理プラットフォームとPlexicus ASPM、コードスキャンのノイズをEPSSでフィルタリングします。
EPSSのベストプラクティス
- CVSSとEPSSの組み合わせ: CVSSを無視しないでください。優先順位付けの「聖杯」は高CVSS + 高EPSSです。
- 閾値を設定: 組織にとって「高い」とは何を意味するかを定義します。多くのチームは平均スコアが非常に低いため、EPSS > 0.1 (10%) から優先順位付けを開始します。
- 自動化: APIを使用してEPSSスコアをチケットシステム(Jira)に取り込みます。
- 毎日レビュー: EPSSスコアは変化します。今日0.01のスコアの脆弱性が、Twitterで概念実証(PoC)が公開されると明日には0.80に跳ね上がる可能性があります。
関連用語
- CVSS (共通脆弱性評価システム)
- 脆弱性管理
- CVE (共通脆弱性識別子)
- ゼロデイ攻撃
FAQ: EPSSスコア
1. 良いEPSSスコアとは何ですか?
「良い」スコアはありませんが、安全性のためには低い方が良いです。ほとんどの脆弱性は非常に低いスコア(0.05未満)を持っています。スコアが0.10(10%)を超える場合、それは脅威の上位パーセンタイルにあり、調査が必要です。スコアが0.50を超える場合、それは緊急事態です。
2. EPSSはCVSSを置き換えますか?
いいえ。CVSSは深刻度(影響)を測定します。EPSSは確率(脅威)を測定します。両方が必要です。低深刻度で高確率のバグは煩わしいですが管理可能です。高深刻度で高確率のバグは危機です。
3. EPSSはどのくらいの頻度で更新されますか?
モデルは再訓練され、スコアはFIRST.orgによって毎日更新されます。
4. なぜ私の重大な脆弱性が低いEPSSスコアを示しているのですか?
それは非常に難しい攻撃が必要かもしれないからです。サーバーへの物理的なアクセスが必要かもしれませんし、攻撃コードが複雑で不安定かもしれません。攻撃者は簡単なターゲットを好みます。
5. 内部アプリケーションにEPSSを使用できますか?
EPSSはCVE(公開された脆弱性)に対して計算されます。特定のロジックバグなどのカスタムコードの脆弱性に対してスコアを生成することはありませんが、そのバグが既知のCVEライブラリにマッピングされている場合を除きます。