RSAC 2019: Op zoek naar de perfecte patch-strategie

Onderzoekers op het RSAC 2019 deden verslag van het huidige kwetsbaarheidslandschap en bouwden een model dat bijdraagt aan effectieve patch-strategie.

“Sorry meneer, heeft u even tijd om te praten over veiligheidsupdates?”

“Nee, ik ben te druk met het installeren van patches.”

Even serieus, het zou goed zijn om even stil te staan bij hoe effectief (of juist niet) je bent in het managen van patches.

In een perfecte wereld zou je alle patches voor alle software die in jouw bedrijf gebruikt worden, meteen installeren zodra die uitkomen. Maar de werkelijkheid is wat ingewikkelder, en er is nooit genoeg tijd voor alle patches. Dus komt het erop neer dat je prioriteiten moet stellen. Maar hoe kun je dit het beste doen?

Op de RSA Conferentie 2019, presenteerden Jay Jacobs van het Cyenta Institute en Michael Roytman van Kenna Security een onderzoek met de titel ‘De Etiologie van Kwetsbaarheids-exploit.’ Het is een goed-beargumenteerd verslag over kwetsbaarheden die de aandacht behoeven en over hoe de strategieën voor veiligheidsupdates en patch-installatie drastisch verbeterd kunnen worden.

De hoofdzaak is dat niet alle kwetsbaarheden daadwerkelijk worden uitgebuit. Als we ervan uit gaan dat dit waar is, dan kan een groot deel van de updates met een gerust hart verworpen worden, om vervolgens prioriteit te geven aan kwetsbaarheden die daadwerkelijk gebruikt kunnen worden voor een aanval. Maar hoe kan er een onderscheid worden gemaakt tussen ‘gevaarlijke’ en de ‘waarschijnlijk onschuldige’ kwetsbaarheden?

Bewapend met beschrijvingen van de CVE-database (Common Vulnerabilities  and Exposures) en openbare exploit-databases, en data over kwetsbaarheidsscanners en IPS/IDS-systemen (een totaal van 7,3 biljoen registraties van aanvallen en 2,8 biljoen kwetsbaarheden in 13 miljoen systemen), bouwden de onderzoekers een model die de taak goed uit kan voeren. Om dit in perspectief te plaatsen, dient er een kleine analyse van het kwetsbaarheidslandschap plaats te vinden.

Over hoe een hoop CVE’s in het wild voorkomen

Veiligheidsexperts zullen zeggen dat het aantal bekende kwetsbaarheden enorm hoog ligt. Maar hoeveel weten daadwerkelijk het exacte aantal? Vandaag de dag zijn er zo’n 108.000 CVE’s gepubliceerd.

Onthoud dat in de afgelopen jaren het aantal maandelijkse publicaties gestegen is: gedurende de jaren 2005-2017 werden er maandelijks al ongeveer 300-500 CVE’s gepubliceerd, en tegen het einde van 2017 was dit aantal opgelopen tot over de 1.000 en dit aantal is sindsdien niet gezakt. Om er even bij stil te staan: dat zijn tientallen nieuwe bugs per dag!

Het aantal CVE-publicaties steeg drastisch in 2017 tot meer dan 1.000 per maandEen exploit komt meestal vlak voor of vlak na de desbetreffende CVE-publicatie voor. Er zijn uitzonderingen, maar in de meeste gevallen zitten er twee weken tussen de ontdekking en de CVE-publicatie. Dus CVE’s vragen om een snelle reactie.

In de meeste gevallen komt een exploit voor binnen plusminus twee weken voor of twee weken na de CVE-publicatieHet staat buiten kijf dat het aantal update-installaties wat achterblijft. Gemiddeld zijn er een maand na de ontdekking slechts een kwart van de kwetsbaarheden gepatcht. Het duurt 100 dagen om de helft te verwijderen, en een jaar laten is nog een kwart van het totaal niet gepatcht.

Gemiddeld zijn er nog een kwart van de kwetsbaarheden niet gepatcht een jaar nadat de patch is uitgebrachtMeer dan twee derde van de kwetsbaarheden die niet gepatcht zijn, zijn afkomstig van drie leveranciers. Het is niet lastig om te raden welke dat zijn en voor welke producten:

Meer dan twee derde van de gaten die nog niet gepatcht zijn, zijn afkomstig van Oracle, Microsoft en Adobe

De producten die het vaakst niet gepatcht worden: Java en AcrobatIn de tussentijd heeft 77% van de CVE’s geen gepubliceerde exploits. Ook een interessant gegeven is dat niet alle gepubliceerde kwetsbaarheden daadwerkelijk voorkomen, slechts 37.000 van de 108.000 bestaande CVE’s). En slechts 5.000 CVE’s komen tegelijkertijd voor ‘in het wild’ en zijn uit te buiten. Deze kwetsbaarheden zouden prioriteit moeten krijgen, ze moeten slechts op correcte wijze geïdentificeerd worden.

Van de 108.000 CVE's waarvan we het bestaan afweten, zijn er slechts 5.000 daadwerkelijk zichtbaar in exploit-aanvallen

Bestaande patch-strategieën

De onderzoekers hebben de relevantie van patch-strategieën op twee manieren gemeten: het percentage ‘gevaarlijke’ kwetsbaarheden van het totaal aan kwetsbaarheden die gepatcht zijn (efficiëntie), en aan de andere kant het aandeel van kwetsbaarheden die gepatcht zijn in het totaal aan ‘gevaarlijke’ kwetsbaarheden (dekking).

De onderzoekers hebben de relevantie van patch-strategieën gemeten op twee punten: efficiëntie en dekking

Deze afbeelding kan bekend voorkomen, omdat het eigenlijk niets nieuws betreft

 

Een van de algemeen geaccepteerde patch-strategieën is gebaseerd op het Common Vulnerability Scoring System (CVSS), waarbij prioriteit wordt toegekend aan CVSS-scores zodra die specifieke waarde overstijgen. Het uitrekenen van de efficiëntie en dekking voor CVSS 10 heeft als resultaat respectievelijk 23% en 7%. Interessant genoeg kan hetzelfde resultaat bereikt worden (in ieder geval wat efficiëntie en dekking betreft) door willekeurig patches te installeren.

De meeste gangbare aanpak, namelijk alles met een ‘hoge’ CVSS-score (7 of hoger), geeft aanzienlijk betere resultaten. Deze aanpak is niet verkeerd, maar wel tijdrovend, omdat er een groot aantal patches geïnstalleerd moet worden.

Vergelijking van de relevantie van CVSS-gebaseerde patch-strategieënEen andere strategie is prioriteit geven aan het patchen door de leverancier. Ontwikkelaars hebben tenslotte verschillende ratio’s van het aantal exploits over het totaal aantal CVE’s, dus het zou logisch zijn om prioriteit te geven aan diegenen wiens producten kwetsbaarheden bevatten die in de praktijk waarschijnlijk meer uitgebuit worden.

Kwetsbaarheden in producten van enkele leveranciers worden waarschijnlijk meer uitgebuit dan die van andere leveranciersDe strategie blijkt echter, gebaseerd op efficiëntie en dekking, slechter dan het willekeurig patchen, wat twee keer zo effectief is.

Strategieën gebaseerd op leveranciers zijn veel minder effectief dan willekeurig patchenOp de lange termijn is deze aanpak zelfs minder relevant dan een die gebaseerd is op CVSS.

Kansberekeningsmodel voor kwetsbaarheids-exploit

We blikken terug op het model dat de onderzoekers hebben opgesteld. Door data van de CVE-beschrijvingen te vergelijken (deze is openbaar in exploit-databases), en IPS/IDS-systemen, kon het team een reeks signalen identificeren die de kans op een kwetsbaarheids-exploit in de praktijk beïnvloedt.

Aan de ene kant zijn er bijvoorbeeld signalen, zoals een CVE-referentie van Microsoft, of de aanwezigheid van een exploit in Metasploit, die de kans op uitbuiting van de kwetsbaarheid in kwestie drastisch verhoogt.

De onderzoekers identificeerden signalen die de kans op een kwetsbaarheids-exploit beïnvloedenAan de andere kant zijn er ook signalen die de kans op een exploit verkleinen, zoals het bestaan van een kwetsbaarheid in de Safari-browser, een exploit die gepubliceerd was in de ExploitDB-database (die in de praktijk niet erg handig is), de aanwezigheid van de termen “geauthentiseerd” of “twee keer zoveel gratis vrije opslagruimte” in de CVE-beschrijvingen, en andere. Door deze factoren te combineren, zouden onderzoekers de kans op uitbuiting van iedere kwetsbaarheid zouden moeten kunnen uitrekenen.

Sommige signalen verhogen de kans op een kwetsbaarheids-exploit, anderen verlagen die juistOm de nauwkeurigheid van het model te verifiëren, vergeleken de onderzoekers hun voorspellingen met data van echte aanvallen. Hier volgen hun bevindingen:

  • Voor kwetsbaarheden met minimale kans op uitbuiting, werkt het model goed.
  • Het model neigt naar het overschatten van de kans op exploit voor kwetsbaarheden met een gemiddelde verwachte kans.
  • Voor kwetsbaarheden met een grote kans op exploit, neigt het model het risico te onderschatten.

Het model is niet perfect, maar het werkt welDat gezegd hebbende, is het model niet volstrekt nauwkeurig, maar over de hele linie werkt het wel. Op basis hiervan hebben de onderzoekers drie patch-strategieën ontworpen: erg efficiënt, gebalanceerd en maximale dekking. De ‘gebalanceerde’ strategie, bijvoorbeeld, is twee keer zo efficiënt wat betreft CVSS 7+ en heeft een betere dekking (63% vs. 52%) en kost de helft minder moeite (dat betekent, de helft aan geïnstalleerde patches). Dit is de moeite waard om in acht te nemen, nietwaar?

In vergelijking tot CVSS 7+ is de 'gebalanceerde strategie twee keer zo relevant met de helft minder moeiteTot slot enkele tips van de onderzoekers over wat je kunt doen:

  • Ga na of je behalve CVSS ook iets anders in je patch-strategie gebruikt.
  • Verken hoe open/gesloten kwetsbaarheden bijgehouden worden in je infrastructuur.
  • Begin met het verzamelen van data van jouw sensoren over exploits die gebruikt worden in aanvallen tegen jouw bronnen.
  • Zodra je een significante hoeveelheid data hebt verzameld, gebruik deze dan om efficiëntie, dekking en inzetscores uit te rekenen voor jouw infrastructuur.
  • Vergelijk de waarden met andere prioriteitsstrategieën.

We zijn het erover eens dat het handmatig alles door onderzoekers laten patchen, zonder een duidelijke strategie, een duidelijk voorbeeld is van verspilling van middelen. Onze aanpak is echter iets anders: Kaspersky Systems Management (onderdeel van de Kaspersky Security for Business oplossing) zet kwetsbaarheidsmonitoring in en de subsystemen voor patch-installatie.

Ze maken het mogelijk om op een snelle manier kwetsbaarheden op te sporen, er prioriteit aan te geven en deze dicht te timmeren. Naast CVSS-scores gebruikt ons prioriteitssysteem informatie van Kaspersky Security Network. Bijvoorbeeld, als ons systeem ziet dat een kwetsbaarheid uitgebuit wordt, dan groeit de prioriteit. Meer details over de technologie zijn hier te vinden.

 

Tips