science >> Wetenschap >  >> Elektronica

Een nieuwe verdedigingstechniek kan aanvallers afhouden door software buggier te maken

Vereenvoudigde workflow voor aanvallers. Aanvallers vinden bugs, triage ze om de exploiteerbaarheid te bepalen, ontwikkel vervolgens exploits en zet ze in op hun doelen. Credits:Hu, Hu &Dolan Gavitt.

Onderzoekers van de New York University hebben onlangs een nieuwe cyberdefensietechniek bedacht, die werkt door het toevoegen van zogenaamde "chaff bugs, " niet-exploiteerbare bugs, in plaats van bestaande te elimineren. Een pre-print versie van hun inventieve studie is geüpload naar: ArXiv vorige week.

Elke dag, steeds geavanceerdere aanvallers vinden bugs in computersoftware, hun exploiteerbaarheid evalueren, en manieren ontwikkelen om ze te exploiteren. De meeste bestaande verdedigingstechnieken zijn gericht op het elimineren van deze bugs, ze beperken, of het toevoegen van mitigaties die exploitatie uitdagender kunnen maken.

"Ons project was gebaseerd op eerder werk dat we deden in samenwerking met MIT Lincoln Lab en Northeastern University om verschillende strategieën te evalueren voor het vinden van bugs in software, "Brendan Dolan-Gavitt, een van de onderzoekers die het onderzoek heeft uitgevoerd, vertelde TechXplore. "Om dat te doen, we hebben een systeem gebouwd dat duizenden bugs in een programma kan stoppen, zodat we vervolgens konden meten hoe effectief elke strategie voor het opsporen van bugs was bij het detecteren van onze bugs."

Nadat ze dit systeem hadden ontwikkeld, de onderzoekers begonnen na te denken over de mogelijke toepassingen ervan in het kader van het verbeteren van softwarebeveiliging. Ze realiseerden zich al snel dat er een knelpunt is in de manier waarop aanvallers doorgaans bugs in software vinden en exploiteren.

"Het kost veel tijd en expertise om erachter te komen welke bugs exploiteerbaar zijn en een werkende exploit te ontwikkelen, " legde Dolan-Gavitt uit. "Dus we realiseerden ons dat als we er op de een of andere manier voor konden zorgen dat alle bugs die we hadden toegevoegd niet-exploiteerbaar waren, we zouden aanvallers kunnen overweldigen, ze verdrinken in een zee van verleidelijk ogende maar uiteindelijk ongevaarlijke insecten."

Een overconstrainde waardebug. Door beperkingen toe te voegen langs het pad dat naar de bug leidt, we elimineren geleidelijk onveilige waarden. Credits:Hu, Hu &Dolan Gavitt.

Het toevoegen van enorme aantallen bugs die aantoonbaar, maar niet duidelijk, niet-exploiteerbaar zijn, kan aanvallers in verwarring brengen, waardoor ze hun tijd en moeite verspillen aan het zoeken naar exploits voor deze opzettelijk geplaatste bugs. De onderzoekers noemden deze nieuwe methode om aanvallers af te schrikken 'chaff bugs'.

"Ons systeem, die automatisch kaf bugs toevoegt, is bedoeld om te worden gebruikt wanneer ontwikkelaars software bouwen, "Zei Dolan-Gavitt. "We gebruiken twee strategieën om ervoor te zorgen dat de bugs veilig zijn:ofwel door te garanderen dat de aanvaller alleen gegevens kan beschadigen die niet door het programma worden gebruikt, of door ervoor te zorgen dat de waarden die de aanvaller kan injecteren beperkt zijn tot bereiken waarvan we kunnen bepalen dat ze veilig zijn."

In hun recente studie, de onderzoekers gebruikten deze twee strategieën om automatisch duizenden niet-exploiteerbare bugs toe te voegen aan real-world software, inclusief webserver NGINX en encoder/decoderbibliotheek libFLAC. Ze ontdekten dat de functionaliteit van de software ongeschonden was, en dat de kaf-bugs misbruikbaar leken te zijn voor de huidige triage-tools.

"Een van de meest interessante bevindingen is dat het mogelijk is om deze niet-exploiteerbare bugs automatisch te construeren, op een manier dat we kunnen zien dat ze niet kunnen worden misbruikt, maar het is moeilijk voor een aanvaller om hetzelfde te doen, "Zei Dolan-Gavitt. "Het was niet duidelijk voor ons toen we begonnen dat dit haalbaar zou zijn. We denken ook dat deze benadering van het toepassen van een soort economische logica - uitzoeken welke aanvallersbronnen schaars zijn en ze vervolgens proberen te targeten - een vruchtbaar gebied is om te verkennen in softwarebeveiliging."

Een ongebruikte variabele bug. Gegevensstroom wordt toegevoegd om de "ongebruikte" waarden buiten het oorspronkelijke bereik te verspreiden, verbergen dat ze eigenlijk ongebruikt zijn. Credits:Hu, Hu &Dolan Gavitt.

Hoewel hun onderzoek veelbelovende resultaten opleverde, verschillende uitdagingen moeten nog worden overwonnen voordat deze aanpak praktisch haalbaar wordt. Het belangrijkste is, de onderzoekers moeten een manier vinden om deze niet-exploiteerbare bugs volledig niet te onderscheiden van echte bugs.

"Direct, de bugs die we toevoegen zijn behoorlijk kunstmatig, dus aanvallers kunnen dit feit gebruiken om die van ons te negeren bij het zoeken naar exploiteerbare bugs, "Zei Dolan-Gavitt. "Onze belangrijkste focus op dit moment is het vinden van manieren om de bugs die we hebben toegevoegd meer op natuurlijk voorkomende bugs te laten lijken, en vervolgens experimenten uit te voeren om te laten zien dat aanvallers echt voor de gek worden gehouden door onze kaf bugs."

© 2018 Tech Xplore