Una dintre principalele provocări în gestionarea vulnerabilităților este numărul copleșitor de vulnerabilități combinate cu resurse limitate. Nu toate vulnerabilitățile sunt la fel de periculoase și nu toate necesită remediere urgentă. De exemplu, o vulnerabilitate cu un scor CVSS ridicat ar putea reprezenta un risc real redus dacă probabilitatea exploatării este extrem de scăzută. În articolul precedent am prezentat o În acest articol, voi demonstra cum am implementat suportul EPSS și am integrat această metrică în procesele mele de filtrare și analiză pentru a îmbunătăți eforturile de remediere. Soluție fără cod pentru prioritizarea vulnerabilităților folosind Budibase Prin adoptarea prioritizării bazate pe EPSS, puteți îmbunătăți semnificativ eficacitatea strategiei de remediere prin concentrarea asupra vulnerabilităților care contează cu adevărat. Vestea bună este că nu aveți nevoie de platforme scumpe pentru a implementa prioritizarea bazată pe EPSS. Ce este EPSS și de ce este util? Sistemul de predicție a scorului de exploatare ( reprezintă probabilitatea ca o vulnerabilitate specifică să fie exploatată în următoarele 30 de zile, exprimată ca procent. EPSS Versiunea actuală a modelului este versiunea 4, care a fost lansată pe 17 martie 2025. întreține proiectul, iar datele sunt actualizate zilnic și disponibile pentru descărcare în format .csv. FIRST.org O vulnerabilitate cu o probabilitate foarte mică de exploatare reprezintă o amenințare mai mică imediată. O vulnerabilitate cu o probabilitate foarte mică de exploatare reprezintă o amenințare mai mică imediată. Această abordare sporește eficiența prin direcționarea resurselor – cum ar fi timpul și efortul – către vulnerabilități care prezintă un risc mai semnificativ, permițând abordarea mai târziu a vulnerabilităților mai puțin critice, fie atunci când devin mai riscante, fie atunci când sunt disponibile resurse suplimentare. De exemplu, luați în considerare două vulnerabilități: una cu un scor CVSS de 7,0 și un EPSS de 0,01 (indicând o șansă de exploatare de 1%), iar cealaltă cu un scor CVSS de 6,5 și un EPSS de 0,91 (indicând o șansă de exploatare de 91%). În timp ce CVSS indică severitatea teoretică, EPSS oferă o perspectivă asupra probabilității exploatării unei vulnerabilități, oferind un context valoros în ceea ce privește potențialele amenințări din lumea reală. După cum este ilustrat în imaginea de mai sus, atunci când se aplică metoda EPSS cu un prag de peste 10%: Efortul este redus la doar 2,7%, semnificativ mai mic decât efortul necesar cu un prag CVSS de 7 sau mai mare. Acoperirea ajunge la 63,2%, ușor mai mică decât abordarea CVSS, care este benefică pentru a preveni supraprioritizarea vulnerabilităților mai puțin relevante. Eficacitatea este de 65,2%, ceea ce este semnificativ mai mare decât ceea ce se realizează cu metoda CVSS 7+. În plus față de scorul EPSS, există și o metrică percentilă care indică proporția (sau procentul) de vulnerabilități cu aceeași sau mai mică probabilitate de exploatare. De exemplu, dacă o vulnerabilitate are un scor EPSS de 0,10 (10%) și un percentil de 88, înseamnă că 88% din toate celelalte vulnerabilități au un scor EPSS mai scăzut. Utilizarea scorului EPSS alături de percentilul său permite o prioritizare mai precisă, mai ales atunci când se tratează cu seturi mari de date. https://www.first.org/epss/articles/prob_percentile_bins?embedable=true Este important să rețineți că scorul EPSS este o predicție și nu o garanție a exploatării.Pentru mai multe informații despre modul în care funcționează modelul, vă rugăm să vizitați pagina oficială: https://www.first.org/epss/model. Cum am implementat EPSS în sistemul meu folosind Budibase Pentru a implementa filtrarea bazată pe valoarea EPSS, am descărcat mai întâi arhiva de la oficial site-ul, care conține cele mai recente scoruri de probabilitate de exploatare pentru vulnerabilități. Aici este un exemplu de conținut din fișierul CSV din arhivă: first.org #model_version:v2025.03.14,score_date:2025-08-02T12:55:00Z cve,epss,percentile CVE-1999-0001,0.0142,0.79836 CVE-1999-0002,0.14818,0.94265 CVE-1999-0003,0.90339,0.99584 ... Apoi am actualizat scriptul Python pe care îl folosesc pentru a exporta vulnerabilitățile din soluția VM. Parsing the EPSS and percentile values Converting these values into percentages by multiplying by 100 Rounding them to whole numbers Nu toate CVE sunt prezente în setul de date EPSS; pentru cele care nu sunt incluse, atribuim valoarea de 99. Nu toate CVE sunt prezente în setul de date EPSS; pentru cele care nu sunt incluse, atribuim valoarea de 99. După importarea datelor în bază de date, am implementat următoarele caracteristici în Budibase: O formă de filtrare pentru pragurile EPSS, cum ar fi >10% Un mecanism pentru reîmprospătarea automată a tablourilor de bord pe baza pragului selectat Two control buttons: One for viewing the list of vulnerabilities in a pop-up window Another for exporting the results to a .csv file for further analysis or reporting. După aceea, am actualizat interogările SQL în Budibase adăugând condiții pentru a filtra după valoarea EPSS și percentil. Exemplu de bloc condiționat: ... ( CASE WHEN {{epssthr}}::text IS NULL THEN TRUE ELSE epssScore >= {{epssthr}} END ) AND ( CASE WHEN {{epssrating}}::text IS NULL THEN TRUE ELSE epsspercentile >= {{epssrating}} END ) ... Iată un exemplu de interogare SQL pentru panoul de bord care afișează cele mai vulnerabile servicii: SELECT COUNT(hostname) AS total, VulnerableEntity || ' ' || VulnerableEntityVersion AS VulnerableObject FROM mat_allassets WHERE osname ILIKE '%windows 20%' AND VulnerableEntity IS NOT NULL AND status = 'new' AND VulnerabilityIssueTime < CURRENT_DATE - {{days}}::interval AND ( CASE WHEN {{ sev }}::text IS NULL THEN TRUE ELSE severity = {{ sev }}::text END ) AND ( CASE WHEN {{expltbl}}::bool IS NULL THEN TRUE ELSE metrics ILIKE 'Exploitable: {{expltbl}}%'::text END ) AND ( CASE WHEN {{expltbl}}::bool IS NULL THEN TRUE ELSE metrics ILIKE 'Exploitable: {{expltbl}}%'::text END ) AND ( CASE WHEN {{netvector}}::bool IS NULL THEN TRUE ELSE metrics ILIKE '%HasNetworkAttackVector: {{netvector}}%'::text END ) AND ( CASE WHEN {{remedy}}::bool IS NULL THEN TRUE ELSE metrics ILIKE '%HasFix: {{remedy}}%'::text END ) AND ( CASE WHEN {{vulntrend}}::bool IS NULL THEN TRUE ELSE VulnerIsTrend = '{{vulntrend}}'::text END ) AND ( CASE WHEN {{hostimport}}::text IS NULL THEN TRUE ELSE HostImportance = '{{hostimport}}'::text END ) AND ( CASE WHEN {{epssthr}}::text IS NULL THEN TRUE ELSE epssScore >= {{epssthr}} END ) AND ( CASE WHEN {{epssrating}}::text IS NULL THEN TRUE ELSE epsspercentile >= {{epssrating}} END ) GROUP BY VulnerableObject ORDER BY total DESC LIMIT 10; Apoi, am inclus legăturile variabile din UI în interogarea SQL. Am discutat acest lucru în precedentul meu . Articolul următorPrioritizarea vulnerabilității În cele din urmă, am dezvoltat o aplicație simplă și ușor de utilizat, care mi-a permis să setez filtre de prioritizare, inclusiv un prag pentru sistemul de evaluare a predicțiilor de exploatare (EPSS). În captura de ecran de mai jos, am setat pragul EPSS la 10 sau mai mult, am selectat vulnerabilități de tendință mai vechi de 14 zile și am cerut prezența unui exploat. Prin utilizarea unui prag EPSS (Exploit Predictive Scoring System) de 10%, putem acoperi 63,2% din vulnerabilitățile exploatate, obținând o eficiență de remediere de 65,2%, toate utilizând mai puține resurse. Pentru a dezactiva filtrarea EPSS, am setat pur și simplu valoarea pragului la 0; filtrul nu va mai fi aplicat. În plus, dacă setez un filtru de severitate peste medie, rezultatele vor evidenția de obicei vulnerabilități cum ar fi Remote Code Executions (RCEs), Command Executions sau SQL Injections. Concentrează-te acolo unde contează EPSS este un instrument puternic care îmbunătățește în mod semnificativ eficiența prioritizării vulnerabilităților.În loc să „extingem orbește incendiile”, acum lucrăm cu intenție, concentrându-ne mai întâi pe cele mai critice probleme. Cu toate acestea, fiecare infrastructură este unică și orice sistem de prioritizare trebuie să fie adaptat la mediul specific. Este, de asemenea, esențial să ne amintim că orice proces de gestionare a vulnerabilităților începe cu descoperirea și inventarierea activelor. Fără o înțelegere clară a a ceea ce protejăm, fiecare pas își pierde semnificația. Mi-ar plăcea să aud gândurile voastre în comentarii: Do you use EPSS in your work?