Welke beveiligingsbugs zullen worden uitgebuit? Onderzoekers maken een ML-model om PlatoBlockchain-gegevensintelligentie te achterhalen. Verticaal zoeken. Ai.

Welke beveiligingsbugs zullen worden uitgebuit? Onderzoekers maken een ML-model om erachter te komen

Met behulp van machine learning, getraind op gegevens uit meer dan twee dozijn bronnen, heeft een team van universitaire onderzoekers een model gemaakt om te voorspellen welke kwetsbaarheden waarschijnlijk zullen resulteren in een functionele exploit, een potentieel waardevolle tool die bedrijven kan helpen beter te beslissen welke softwarefouten prioriteit moeten krijgen.

Het model, Expected Exploitability genaamd, kan 60% van de kwetsbaarheden opvangen die functionele exploits zullen hebben, met een voorspellingsnauwkeurigheid - of "precisie", om classificatieterminologie te gebruiken - van 86%. Een sleutel tot het onderzoek is om veranderingen in bepaalde statistieken in de loop van de tijd mogelijk te maken, omdat niet alle relevante informatie beschikbaar is op het moment dat een kwetsbaarheid wordt onthuld, en door latere gebeurtenissen te gebruiken, konden de onderzoekers de nauwkeurigheid van de voorspelling aanscherpen.

Door de voorspelbaarheid van uitbuiting te verbeteren, kunnen bedrijven het aantal kwetsbaarheden verminderen als cruciaal beschouwd voor patchen, maar de metriek heeft ook andere toepassingen, zegt Tudor Dumitraศ™, een universitair hoofddocent elektrische en computertechniek aan de Universiteit van Maryland in College Park, en een van de auteurs van het onderzoekspaper dat vorige week op de USENIX Security Conference werd gepubliceerd.

"Voorspelling van exploiteerbaarheid is niet alleen relevant voor bedrijven die patching prioriteit willen geven, maar ook voor verzekeringsmaatschappijen die risiconiveaus proberen te berekenen en voor ontwikkelaars, omdat dit misschien een stap is om te begrijpen wat een kwetsbaarheid exploiteerbaar maakt", zegt hij.

De Universiteit van Maryland in College Park en onderzoek van de Arizona State University is de laatste poging om bedrijven aanvullende informatie te geven over welke kwetsbaarheden zouden kunnen of kunnen worden uitgebuit. In 2018 hebben onderzoekers van de Arizona State University en het USC Information Science Institute gericht op het ontleden van Dark Web-discussies om zinnen en functies te vinden die kunnen worden gebruikt om de waarschijnlijkheid te voorspellen dat een kwetsbaarheid zou worden of was uitgebuit. 

En in 2019 presenteerden onderzoekers van data-onderzoeksbureau Cyentia Institute, de RAND Corp. en Virginia Tech een model dat verbeterde voorspellingen waarvan kwetsbaarheden zouden worden uitgebuit door aanvallers.

Veel van de systemen zijn afhankelijk van handmatige processen door analisten en onderzoekers, maar de verwachte exploiteerbaarheid kan volledig worden geautomatiseerd, zegt Jay Jacobs, chief data scientist en mede-oprichter van het Cyentia Institute.

"Dit onderzoek is anders omdat het erop gericht is alle subtiele aanwijzingen automatisch, consistent en zonder afhankelijk te zijn van de tijd en meningen van een analist op te pikken", zegt hij. "[Dit] gebeurt allemaal in realtime en op schaal. Het kan gemakkelijk gelijke tred houden en evolueren met de stroom van kwetsbaarheden die dagelijks worden onthuld en gepubliceerd.โ€

Niet alle functies waren beschikbaar op het moment van openbaarmaking, dus het model moest ook rekening houden met de tijd en de uitdaging van de zogenaamde "labelruis" overwinnen. Wanneer algoritmen voor machine learning een statisch tijdstip gebruiken om patronen te classificeren - in, laten we zeggen, exploiteerbaar en niet-exploiteerbaar - kan de classificatie de effectiviteit van het algoritme ondermijnen, als het label later onjuist blijkt te zijn.

PoC's: beveiligingsbugs parseren voor exploiteerbaarheid

De onderzoekers gebruikten informatie over bijna 103,000 kwetsbaarheden en vergeleken die vervolgens met de 48,709 proofs-of-concept (PoC's) exploits verzameld uit drie openbare repositories - ExploitDB, BugTraq en Vulners - die exploits vertegenwoordigden voor 21,849 van de verschillende kwetsbaarheden. De onderzoekers ontgonnen ook sociale media-discussies voor trefwoorden en tokens - zinnen van een of meer woorden - en creรซerden een dataset van bekende exploits.

PoC's zijn echter niet altijd een goede indicatie of een kwetsbaarheid kan worden misbruikt, aldus de onderzoekers in de krant. 

"PoC's zijn ontworpen om de kwetsbaarheid te activeren door de doelapplicatie te laten crashen of op te hangen en zijn vaak niet direct bewapenbaar", aldus de onderzoekers. โ€œ[W]e merken op dat dit leidt tot veel valse positieven voor het voorspellen van functionele exploits. Daarentegen ontdekken we dat bepaalde PoC-kenmerken, zoals de complexiteit van de code, goede voorspellers zijn, omdat het activeren van een kwetsbaarheid een noodzakelijke stap is voor elke exploit, waardoor deze functies causaal verbonden zijn met de moeilijkheid om functionele exploits te creรซren.โ€

Dumitraศ™ merkt op dat het voorspellen of een kwetsbaarheid zal worden uitgebuit, extra moeilijk maakt, omdat de onderzoekers een model van de motieven van aanvallers zouden moeten maken.

"Als een kwetsbaarheid in het wild wordt misbruikt, weten we dat er een functionele exploit is, maar we kennen andere gevallen waarin er sprake is van een functionele exploit, maar er is geen geval van exploitatie in het wild bekend", zegt hij. "Kwetsbaarheden die een functionele exploit hebben, zijn gevaarlijk en daarom moeten ze voorrang krijgen bij het patchen."

Onderzoek gepubliceerd door Kenna Security - nu eigendom van Cisco - en het Cyentia Institute vonden dat: het bestaan โ€‹โ€‹van openbare exploitcode leidde tot een zevenvoudige toename in de waarschijnlijkheid dat een exploit in het wild zou worden gebruikt.

Maar prioriteit geven aan patching is niet de enige manier waarop de exploitvoorspelling bedrijven ten goede kan komen. Cyberverzekeringsmaatschappijen zouden exploitvoorspelling kunnen gebruiken om het potentiรซle risico voor polishouders te bepalen. Bovendien kan het model worden gebruikt om software in ontwikkeling te analyseren om patronen te vinden die kunnen aangeven of de software gemakkelijker of moeilijker te exploiteren is, zegt Dumitraศ™.

Tijdstempel:

Meer van Donkere lezing