Wetenschap
Promovendus Jacob Harer (links) en onderzoeksprofessor Peter Chin werkten samen met onderzoekers van Draper om technologie te ontwikkelen die het soort softwarefouten kon vinden dat vaak door hackers wordt uitgebuit. Krediet:Jackie Ricciardi
Naarmate het volume aan digitale informatie in bedrijfsnetwerken blijft groeien, zo groeit het aantal cyberaanvallen, en hun kosten. Eén cyberbeveiligingsleverancier, Juniper-netwerken, schat dat de kosten van datalekken wereldwijd in 2019 $2,1 biljoen zullen bedragen, ongeveer vier keer de kosten van inbreuken in 2015.
Nutsvoorzieningen, twee computerwetenschappers van de Boston University, werken met onderzoekers van Draper, een non-profit bedrijf voor technische oplossingen gevestigd in Cambridge, hebben een tool ontwikkeld die het voor hackers moeilijker kan maken om hun weg te vinden naar netwerken waar ze niet thuishoren.
Peter Kin, een onderzoeksprofessor in de informatica en een filiaal van het Rafik B. Hariri Institute for Computing and Computational Science &Engineering, en Jacob Harer, een vierdejaars Ph.D. student informatica, werkte samen met Draper-onderzoekers om technologie te ontwikkelen die softwaresystemen kan scannen op het soort kwetsbaarheden dat vaak door cybercriminelen wordt gebruikt om toegang te krijgen. Het gereedschap, die deep learning gebruikte om neurale netwerken te trainen om patronen te identificeren die wijzen op softwarefouten, kan in seconden miljoenen regels code scannen, en zal op een dag de mogelijkheid hebben om de coderingsfouten die het opmerkt te herstellen.
Chin zegt het idee voor het project, genaamd DeepCode en gefinancierd door het DARPA (Defense Advanced Research Projects Agency) MUSE-programma en het Air Force Research Laboratory, kwam vier jaar geleden bij hem toen hij een lezing gaf voor zijn machine learning-klas (CS 542). Chin beschreef de baanbrekende prestatie van wetenschappers van Google en Stanford University, die deep learning gebruikten om een neuraal netwerk te leren gemeenschappelijke patronen in miljoenen afbeeldingen te herkennen en de patronen te gebruiken om katten te identificeren in YouTube-video's. Hij vroeg zich af of een soortgelijk netwerk de big data van open-sourceprogramma's zou kunnen ontginnen en patronen zou kunnen vinden die wijzen op kwetsbaarheden in software.
Chin wist dat het mogelijk was om een softwareprogramma visueel weer te geven, als een controlestroomgrafiek. Hij wist ook dat er een bibliotheek was van meer dan 10, 000 veelvoorkomende codeerfouten, genaamd CWE (Common Weakness Enumerations), die was samengesteld door het National Institute of Standards and Technology (NIST). Als die veelvoorkomende codeerfouten in NIST's CWE als een afbeelding zouden kunnen worden gepresenteerd, hij redeneerde, een neuraal netwerk zou op hen kunnen worden getraind om gemeenschappelijke patronen van kwetsbaarheden te vinden, net zoals het neurale netwerk van Stanford leerde gemeenschappelijke kenmerken van katten te identificeren.
Met die eerste inspiratie, Kin, die destijds hoofdwetenschapper was in beslissingssystemen bij Draper en professor aan de BU, hielp bij het verkrijgen van financiering voor het project van DARPA. Hij, Harer (een Draper Fellow bij BU), en collega's bij Draper begonnen zijn aannames te testen op computerprogramma's op basis van open-source C- en C++-functies.
Sinds de start van het project in 2014, de onderzoekers realiseerden zich dat ze meer nodig hadden dan alleen een afbeelding uit de controlestroomgrafiek om kwetsbaarheden op te sporen. Sindsdien hebben ze hun technieken verbeterd, extra functies toevoegen, zoals een geparseerde weergave voor code die lijkt op die van moderne compilers, en ze hebben netwerken geadopteerd die vaak worden gebruikt voor natuurlijke taalverwerking. Hun onderzoek, waarvan Chin zegt dat het de belofte van dergelijke partnerschappen tussen universiteiten en bedrijven illustreert, wordt nu beschreven in twee artikelen, "Geautomatiseerde kwetsbaarheidsdetectie in broncode met behulp van Deep Representation Learning, " die is geaccepteerd op IEEE ICMLA 2018, en "Leren om softwarekwetsbaarheden te repareren met generatieve vijandige netwerken, " die werd geaccepteerd op de NIPS van 2018.
Chin zegt dat de tweede functie van DeepCode, het oplossen van de coderingsfouten, is nog een werkproject. "Het is erg moeilijk, "zegt hij. "Het corrigeren van slechte software lijkt veel op het corrigeren van slechte grammatica. Iemand zou kunnen zeggen 'ik ben naar de markt geweest' terwijl ze hadden moeten zeggen 'ik ben naar de markt geweest'. Je traint het netwerk om het verkeerde patroon te herkennen en te vervangen door het juiste patroon. Dat is tenminste het basisidee."
Harer zegt dat een probleem is dat onderzoekers niet genoeg weten over hoe de machines kwetsbaarheden herkennen. "Deze neurale netwerkmodellen zijn heel erg black box-modellen, " zegt hij. "Ze zijn getraind op enorme hoeveelheden gegevens en we hopen een beetje dat ze erachter kunnen komen wat er aan de hand is. Dit is een probleem met deep learning in het algemeen."
Kin, Harer, en Draper-onderzoekers zullen blijven werken aan DeepCode, en zijn van plan om een versie aan te bieden die op een laptop kan worden geïmplementeerd en naar bedrijven kan worden verzonden, van wie de meesten terughoudend zijn om hun code met externe partijen te delen, zelfs voor een onderzoek dat hen tientallen miljoenen dollars zou kunnen besparen.
Wetenschap © https://nl.scienceaq.com