Fady Copty, IBM Research
Forskere hos IBM har for nylig udtænkt en ny teknik til virtuelt at lappe sikkerhedssårbarheder, før de bliver fundet. Deres tilgang, præsenteret på International Workshop on Information and Operational Technology, samlokaliseret med RAID18, udnytter testteknikker til overvåget læringsbaseret datagenerering.
"Mens man undersøger en løsning til at finde sikkerhedssårbarheder i populær software, vi holdt en pause for at tænke over følgende problem:Vi ved praktisk og teoretisk, at det er umuligt at finde alle sårbarheder i en applikation, og sikkerhedssamfundet er i et konstant kapløb om at opdage disse sårbarheder i håbet om at finde dem, før de onde gør det, "Fady Copty, ledende forsker i undersøgelsen, fortalte TechXplore . "Dette betyder håndhævelse af regler og konstant implementering af sikkerhedsrettelser til systemer."
At implementere en sikkerhedsrettelse på en applikation er en kedelig og tidskrævende opgave, som indebærer en række trin:identifikation af den sårbare version af applikationen, håndtering af denne sårbarhed, levering af plasteret, implementere det og derefter genstarte programmet. Tit, patches udrulles over lange perioder, Derfor kan applikationer forblive sårbare i en periode efter, at en sårbarhed er blevet opdaget. For at fremskynde denne proces, forskere har for nylig introduceret virtuelle patches, som håndhæves ved hjælp af indtrængningsdetektion og -forebyggelsessystemer.
"Virtuel patching er baseret på en semi-manuel teknik til at analysere trusler (applikationsinput, der viser en sårbarhed), og udtrækning af signaturen, der identificerer sårbarheden, " Copty forklarede. "Det er en nyttig teknik, men kræver stadig, at selve sårbarheden identificeres, hvilket er et np-komplet problem. Der er en hel industri omkring denne cyklus af sårbarhedsopdagelse og patch. Men hvad nu hvis vi kunne skabe en virtuel patch, der forudsiger disse sårbarheder forud for trusselsopdagelsen? I første omgang, det lød som en futuristisk opgave, men med nogle indsigter fra sikkerhedstestteknikker, man kan finde en meget god retning."
Generelt, sikkerhedssårbarheder afsløres ved at se på input, der tidligere skulle have vist en applikationsfejl. Dette skyldes, at fejlhåndtering normalt opfattes som mindre vigtig i forhold til at udvikle applikationens grundlæggende funktioner, derfor behandles det på et senere tidspunkt.
"Hvis vi kan gøre et godt stykke arbejde med automatisk at skabe en virtuel patch, der øger SW-udviklernes arbejde med fejlhåndtering, vi kan nå Ahead-of-Threat-opgaven, " sagde Copty.
Copty og hans kolleger besluttede at løse dette problem ved hjælp af maskinlæringsteknikker. De kørte forskellige testværktøjer på en given applikation for at generere data, brugte derefter disse data til at træne deres DNN-model.
"Vi brugte testteknikker, der skaber millioner af prøveinput til applikationen, og kørte derefter applikationen med disse input for at bestemme klassificeringsetiketterne for inputs:benign, fejl, eller ondsindet, " Copty forklarede. "Da vi kiggede på fejlhåndtering, vi slog fejlklasserne og ondsindede klasser sammen til én klasse. Dette gav os en klassisk overvåget læringsopsætning, hvor vi trænede en model til at forudsige, om en ny prøve er godartet eller ondsindet."
I stedet for at opnå en forud for trussel virtuel patching for en enkelt applikation, forskerne ønskede at skabe et automatisk system, der kunne bruges til at patche en række forskellige applikationer. For at øge generaliserbarheden af deres model, de afholdt sig fra at bruge manuelle udtræksmetoder.
"Vi ønskede også til sidst at implementere dette i et indtrængen detektionssystem, " Copty forklarede. "Dette betød, at forudsigelsen skulle være næsten-realtid. En god løsning til disse krav kan findes i DNN'er. DNN-forudsigelse er meget hurtig, og det menes, at DNN'er ikke kræver nogen funktionsudtrækning overhovedet."
Copty og hans kolleger trænede en DNN-model på de data, de tidligere havde genereret. Modellen de brugte, som kombinerer et convolutional neural network (CNN) og et recurrent neural network (RNN), opnået bemærkelsesværdige resultater med at forudsige sårbarheder forud for trussel.
"Hvordan tester du evnen til at lappe forud for trusselsopdagelse? Svaret er enkelt:vi går tilbage i tiden, " sagde Copty. "Vi brugte gamle versioner af applikationerne til datagenereringsfasen, trænet modellen ved hjælp af disse data, og testede modellerne på trusler fundet år senere og dokumenteret i CVE-databasen. Dette gav os fantastiske resultater i ahead-of-threat patching, hvor modellen var i stand til at forudsige trusler fundet kun år senere. Vi ved, at dette stadig er i forskningsfasen, og det er kun lykkedes for et lille antal ansøgninger. Imidlertid, denne teknologi har potentialet til at være en game changer i sikkerhedslandskabet, hjælper forsvarsspillere med at være et skridt foran angriberne."
I de evalueringer, som forskerne har foretaget, deres model har med succes opdaget LibXML2 og LibTIFF sårbarheder forud for truslen, med nøjagtigheder på 91,3 % og 93,7 %, henholdsvis. For at forbedre deres resultater, de udvidede deres model ved at tilføje en sti, der inkluderer grundlæggende funktionsudtræk, baseret på automatisk viden, der blev udvundet i testfasen, efterfulgt af en CNN.
I fremtiden, deres teknik kan hjælpe udviklere med at rette softwaresårbarheder hurtigere og mere effektivt, før de rent faktisk bliver afsløret. Forskerne planlægger at arbejde videre med deres tilgang, udforske dets effektivitet i at lappe en bredere række af sårbarheder.
"Tak til Reda Igbaria, vi har nu udvidet denne forskning til flere applikationer og for nylig demonstreret en forud for trussel virtuel patching for HeartBleed-sårbarheden, " Copty tilføjet. "Vi vil fortsætte med at målrette mod flere applikationer og forbedre vores datagenereringsteknikker såvel som vores DNN-struktur, og automatisering af søgning af den bedste DNN-struktur."
Dette arbejde blev støttet af EU H2020 SMESEC-projektet.
© 2019 Science X Network