Jedan od glavnih izazova u upravljanju ranjivostima je ogroman broj ranjivosti u kombinaciji sa ograničenim resursima.Nisu sve ranjivosti jednako opasne i ne zahteva svako hitno rešenje.Na primer, ranjivost sa visokim CVSS rezultatom može predstavljati mali realni rizik ako je verovatnoća eksploatacije izuzetno niska. U prethodnom članku predstavio sam a У овом чланку ћу показати како сам имплементирао подршку ЕПСС-у и интегрисао ову метрику у моје процесе филтрирања и анализе како бих побољшао напоре за исправљање. rešenje bez koda za prioritetiranje ranjivosti pomoću Budibase-a Usvajanjem prioritetiranja zasnovanog na EPSS-u, možete značajno poboljšati efikasnost vaše strategije ispravljanja tako što ćete se fokusirati na ranjivosti koje su zaista važne. Добра вест је да вам нису потребне скупе платформе за имплементацију приоритета заснованих на ЕПСС-у. Šta je EPSS i zašto je koristan? Систем предвиђања оцењивања експлоатације ( ) представља вероватноћу да ће одређена рањивост бити искоришћена у наредних 30 дана, изражена као проценат. епс Тренутна верзија модела је верзија 4, која је објављена 17. марта 2025. године. održava projekat, a podaci se svakodnevno ažuriraju i dostupni su za preuzimanje u .csv formatu. FIRST.org Ranjivost sa veoma niskom verovatnoćom iskorištavanja predstavlja manju neposrednu pretnju. Ranjivost sa veoma niskom verovatnoćom iskorištavanja predstavlja manju neposrednu pretnju. Овај приступ повећава ефикасност тако што усмерава ресурсе - као што су време и напор - на рањиве тачке које представљају значајнији ризик, омогућавајући да се мање критичне рањиве тачке баве касније, било када постану ризичније или када су додатни ресурси доступни. Na primer, razmotrite dve ranjivosti: jednu sa CVSS ocenom od 7,0 i EPSS ocenom od 0,01 (koji ukazuje na 1% šanse za eksploataciju), a drugu sa CVSS ocenom od 6,5 i EPSS ocenom od 0,91 (koji ukazuje na 91% šanse za eksploataciju). Iako CVSS ukazuje na teorijsku ozbiljnost, EPSS nudi uvid u verovatnoću da se ranjivost iskorišćava, pružajući dragoceni kontekst u pogledu potencijalnih realnih pretnji. Као што је приказано на слици изнад, када се примењује метода ЕПСС са прагом изнад 10%: Напор се смањује на само 2,7%, што је знатно мање од напора који је потребан са ЦВСС прагом од 7 или више. Pokrivenost dostiže 63,2%, nešto niža od pristupa CVSS, što je korisno u sprečavanju prekomernog prioritetiranja manje relevantnih ranjivosti. Ефикасност је 65,2%, што је значајно веће од онога што се постиже методом ЦВСС 7+. Поред резултата ЕПСС-а, постоји и процентилна метрика која указује на проценат (или проценат) рањивости са истом или мањом вероватноћом експлоатације. Na primer, ako ranjivost ima EPSS rezultat od 0,10 (10%) i percentil od 88, to znači da 88% svih ostalih ranjivosti ima niži EPSS rezultat. Korišćenje EPSS rezultata uz njegov percentil omogućava preciznije određivanje prioriteta, posebno kada se radi o velikim skupovima podataka. https://www.first.org/epss/articles/prob_percentile_bins?embedable=true Важно је запамтити да је EPSS резултат предвиђање, а не гаранција експлоатације.За више информација о томе како модел функционише, молимо посетите званичну страницу: https://www.first.org/epss/model. Како сам имплементирао ЕПСС у мој систем користећи Будибасе Да бисте имплементирали филтрирање на основу вредности ЕПСС-а, прво сам преузео архиву из званичног сајт, који садржи најновије оцене вероватноће експлоатације за рањивости. Ево примера садржаја из ЦСВ датотеке у архиви: 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 ... Затим сам ажурирао Питон скрипте које користим за извозивање рањивости из ВМ решења. додао сам следећа побољшања: Parsing the EPSS and percentile values Converting these values into percentages by multiplying by 100 Rounding them to whole numbers Nisu svi CVE prisutni u EPSS skupu podataka; za one koji nisu uključeni, dodeljujem vrednost od 99. Nisu svi CVE prisutni u EPSS skupu podataka; za one koji nisu uključeni, dodeljujem vrednost od 99. Након увоза података у базу података, имплементирао сам следеће функције у Budibase-у: Филтерски образац за ЕПСС прагове, као што је >10% Механизам за аутоматско освежавање табла на основу изабраног прага 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. Nakon toga, ažurirao sam SQL upite u Budibase dodavanjem uslova za filtriranje po EPSS vrednosti i percentilu, što je omogućilo fleksibilnu kontrolu prikaza ranjivosti na osnovu izabranih pragova. Пример условног блока: ... ( 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 ) ... Evo primera SQL upita za kontrolnu ploču koja prikazuje najranjivije usluge: 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; Након тога, укључио сам варијабилне везе из УИ-а у СКЛ упит. . Članak o prioritetiranju ranjivosti На крају, развио сам једноставну и корисничку апликацију која ми омогућава да поставим филтере за приоритет, укључујући праг за Систем за предвиђање предвиђања (ЕПСС). У слици испод, поставио сам праг ЕПСС-а на 10 или више, изабрани трендови рањивости старији од 14 дана, и захтевао присуство експлоатације. Korišćenjem praga EPSS (Exploit Predictive Scoring System) od 10%, možemo pokriti 63,2% iskorišćene ranjivosti, postižući efikasnost ispravljanja od 65,2%, a istovremeno koristeći manje resursa. Да бисте онемогућили ЕПСС филтрирање, једноставно постављам вредност прага на 0; онда се филтер више неће применити. Osim toga, ako postavim filter ozbiljnosti iznad proseka, rezultati će obično istaknuti ranjivosti kao što su Remote Code Executions (RCEs), Command Executions ili SQL Injections. Fokusirajte se tamo gde je bitno EPSS je moćan alat koji značajno poboljšava efikasnost prioritetizacije ranjivosti. Umesto da „slepim putem ugasimo požare“, mi sada radimo sa namerom, fokusirajući se na najkritičnija pitanja. То је речено, свака инфраструктура је јединствена, а сваки систем приоритета мора бити прилагођен специфичном окружењу. Такође је важно запамтити да сваки процес управљања рањивости почиње откривањем и инвентаризацијом средстава. Без јасног разумевања онога што штитимо, сваки други корак губи свој значај. Поред тога, никада не остављајте подразумеване конфигурације у вашој инфраструктури, јер они остају један од најчешћих вектора напада. Volela bih da čujem tvoje misli u komentarima: Do you use EPSS in your work?