Wetenschap
Fady Kopty, IBM Onderzoek
Onderzoekers van IBM hebben onlangs een nieuwe techniek bedacht om kwetsbaarheden in de beveiliging virtueel te patchen voordat ze worden gevonden. Hun aanpak, gepresenteerd op de International Workshop on Information and Operational Technology, samen met RAID18, maakt gebruik van testtechnieken voor het genereren van gegevens op basis van leren onder toezicht.
"Terwijl we een oplossing aan het onderzoeken waren om beveiligingsproblemen in populaire software te vinden, we pauzeerden om na te denken over het volgende probleem:we weten praktisch en theoretisch dat het onmogelijk is om alle kwetsbaarheden in een applicatie te vinden, en de veiligheidsgemeenschap is constant in een race om die kwetsbaarheden te ontdekken in de hoop ze te vinden voordat de slechteriken dat doen, "Fady Kopty, hoofdonderzoeker van het onderzoek, vertelde TechXplore . "Dit betekent het handhaven van regelgeving en het constant implementeren van beveiligingspatches op systemen."
Het implementeren van een beveiligingspatch op een applicatie is een vervelende en tijdrovende taak, die een reeks stappen met zich meebrengt:het identificeren van de kwetsbare versie van de applicatie, het beheren van deze kwetsbaarheid, het afleveren van de pleister, implementeren en vervolgens de toepassing opnieuw starten. Vaak, patches worden gedurende lange perioden ingezet, daarom kunnen applicaties nog een periode kwetsbaar blijven nadat een kwetsbaarheid is ontdekt. Om dit proces te versnellen, onderzoekers hebben onlangs virtuele patches geïntroduceerd, die worden gehandhaafd met behulp van inbraakdetectie- en preventiesystemen.
"Virtuele patching is gebaseerd op een semi-handmatige techniek voor het analyseren van bedreigingen (applicatie-invoer die een kwetsbaarheid aantoont), en het extraheren van de handtekening die de kwetsbaarheid identificeert, " legde Copty uit. "Het is een nuttige techniek, maar vereist nog steeds dat de kwetsbaarheid zelf wordt geïdentificeerd, wat een np-compleet probleem is. Er is een hele industrie rond deze cyclus van het ontdekken en patchen van kwetsbaarheden. Maar wat als we een virtuele patch zouden kunnen maken die deze kwetsbaarheden voorspelt voordat de bedreiging wordt ontdekt? Aanvankelijk, dit klonk als een futuristische taak, maar met wat inzichten uit beveiligingstesttechnieken, men kan een heel mooie richting vinden."
Over het algemeen, beveiligingskwetsbaarheden worden onthuld door te kijken naar invoer die eerder een toepassingsfout had moeten opleveren. Dit komt omdat foutafhandeling meestal als minder belangrijk wordt beschouwd in vergelijking met het ontwikkelen van de basisfuncties van de applicatie, daarom wordt het in een later stadium aangepakt.
"Als we goed werk kunnen leveren door automatisch een virtuele patch te maken die het werk van de SW-ontwikkelaars op het gebied van foutafhandeling verbetert, we de dreigingstaak kunnen volbrengen, ' zei Kopty.
Copty en zijn collega's besloten dit probleem aan te pakken met behulp van machine learning-technieken. Ze voerden verschillende testtools uit op een bepaalde applicatie om gegevens te genereren, gebruikten deze gegevens vervolgens om hun DNN-model te trainen.
"We gebruikten testtechnieken die miljoenen voorbeeldinvoer voor de toepassing creëren, en vervolgens de toepassing met die invoer uitgevoerd om de classificatielabels voor de invoer te bepalen:goedaardig, fout, of kwaadaardig, Copty legde uit. "Omdat we naar foutafhandeling keken, we hebben de fout- en kwaadaardige klassen samengevoegd tot één klasse. Dit leverde ons een klassieke leeropstelling onder supervisie op, waar we een model hebben getraind om te voorspellen of een nieuw monster goedaardig of kwaadaardig is."
In plaats van geavanceerde virtuele patching voor een enkele applicatie te realiseren, de onderzoekers wilden een automatisch systeem maken dat kan worden gebruikt om verschillende applicaties te patchen. Om de generaliseerbaarheid van hun model te vergroten, ze hebben afgezien van het gebruik van handmatige extractiemethoden voor kenmerken.
"We wilden dit uiteindelijk ook inzetten in een inbraakdetectiesysteem, Copty legde uit. "Dit betekende dat de voorspelling bijna realtime moest zijn. Een geweldige oplossing voor deze vereisten is te vinden in DNN's. DNN-voorspelling is erg snel en men denkt dat DNN's helemaal geen feature-extractie vereisen."
Copty en zijn collega's trainden een DNN-model op de data die ze eerder hadden gegenereerd. Het model dat ze gebruikten, die een convolutioneel neuraal netwerk (CNN) en een recurrent neuraal netwerk (RNN) combineert, behaalde opmerkelijke resultaten bij het voorspellen van kwetsbaarheden vooruitlopend op de bedreiging.
"Hoe test je het vermogen om te patchen voordat bedreigingen worden ontdekt? Het antwoord is simpel:we gaan terug in de tijd, Copty zei. "We gebruikten oude versies van de applicaties voor de fase van het genereren van gegevens, het model getraind met behulp van deze gegevens, en testten de modellen op bedreigingen die jaren later werden gevonden en gedocumenteerd in de CVE-database. Dit gaf ons verbluffende resultaten bij het patchen, waar het model pas jaren later dreigingen kon voorspellen. We weten dat dit nog in de onderzoeksfase zit en we zijn er maar op een klein aantal toepassingen in geslaagd. Echter, deze technologie heeft het potentieel om een game changer te zijn in het beveiligingslandschap, verdedigers helpen om de aanvallers een stap voor te blijven."
In de evaluaties van de onderzoekers, hun model detecteerde met succes LibXML2- en LibTIFF-kwetsbaarheden voorafgaand aan de bedreiging, met nauwkeurigheid van 91,3% en 93,7%, respectievelijk. Om hun resultaten te verbeteren, ze breidden hun model uit door een pad toe te voegen dat elementaire extractie van functies omvat, op basis van automatische kennis die in de testfase is geëxtraheerd, gevolgd door een CNN.
In de toekomst, hun techniek zou ontwikkelaars kunnen helpen om kwetsbaarheden in software sneller en effectiever te patchen, voordat ze daadwerkelijk worden blootgesteld. De onderzoekers zijn van plan verder te werken aan hun aanpak, het onderzoeken van de effectiviteit ervan bij het patchen van een breder scala aan kwetsbaarheden.
"Dankzij Reda Igbaria, we hebben dit onderzoek nu uitgebreid naar meer toepassingen en hebben onlangs geavanceerde virtuele patching voor de HeartBleed-kwetsbaarheid aangetoond, Copty voegde toe. "We zullen ons blijven richten op meer toepassingen en het verbeteren van onze technieken voor het genereren van gegevens, evenals onze DNN-structuur, en het automatiseren van het zoeken naar de beste DNN-structuur."
Dit werk werd ondersteund door het EU H2020 SMESEC-project.
© 2019 Wetenschap X Netwerk
Wetenschap © https://nl.scienceaq.com