Signatur-løst antivirus-startup vil erobre Europa med machine learning
Du har hørt det før. Proaktiv anti-virus med heuristics og andre teknologier, der skal kunne stoppe skadelig kode, selvom koden er helt ny og ukendt.
Bestemt en ønskværdig egenskab i en verden, hvor ny malware og varianter af kendt malware vælter frem og dermed giver den gamle signatur-baserede detektion, der jo skal holdes løbende opdateret for at fungere, kamp til stregen.
Trods løfter om moderne detektionsmekanismer er det dog de færreste ant-virusprogrammer, der helt har droppet signatur-detekteringen på klienten. Det har amerikanske og i en europæisk sammenhæng relativt ukendte Cylance imidlertid gjort.
Virksomhedens software, CylanceProtect, er således blottet for signaturfiler - i stedet baserer programmet sig på machine learning i både cloud og i en lokal fil på klienten.
Den grundlæggende byggesten er, at ondartet kode har programmeringsmæssige og adfærdsmæssige karaktaristika, som skiller den ud fra godartet kode. Og dermed er forudsætningen for Cylances forretning en tese om, at det generelt set er muligt at identificere den ondartede kode, også selvom programmet ikke har set et konkret stykke malware før.
Det fortalte og demonstrerede vicepresident for product marketing Bryan Gale og director for sales engineering Grant Moerschel om til en mindre skare af journalsiter under en præsentation i forbindelse med den aktuelle sikkerhedsmesse Blackhat i Amsterdam.
Cylances machine learning-algoritmer kører i Amazons sky-tjeneste, hvor de regner på, hvad der kendetegner 300 mio. stykker ondsindet software og 300 mio. stykker godartet software. Sådan et gennemlæringsforløb tager ca. 20 dage.
Algoritmer inspicerer kode
Ideen med machine learning kommer angiveligt fra virksomhedens stifter, Stuart McClure, der har holdt sin egen computer virus-fri, ikke ved at bruge antivirus, men ved at bruge sin sunde fornuft og generelle viden om it-sikkerhed fra blandt andet en fortid i McAfee.
Den overordnede menneskelige tilgang med eksempelvis at lade være med at klikke på filer, du uventet modtager, lade være med at køre usigneret kode etc. har Cylance brugt som udgangspunktet for machine learning-algoritmerne - som dog kører på et langt mere detaljeret niveau end de førnævnte eksempler.
»Vi ville gerne finde en anden tilgang og en anden måde at gøre tingene på,« fortæller Bryan Gale.
Systemet er skruet sådan sammen, at der lokalt på klienten ligger det, han kalder en distilleret fil baseret på de algoritmer, skytjenesten arbejder ud fra.
Så hvis klienten er offline, uddyber Grant Moerschel, så kan den stadig, med en rimelig stor sandsynlighed forudsige, hvorvidt kode er god eller ond, når det bliver eksekveret på klienten.
Klienten indeholder en fil, der i skrivende stund er på ca. 130 megabyte. Det kunne måske lyde som en signaturfil, men det bliver blankt afvist af Bryan Gale.
Han beskriver den som en fil fyldt med algoritmer, der inspicerer den kode, der bliver kørt på klienten. På den baggrund bliver der foretaget en statistisk vurdering til at sige, om koden er ondsindet og godartet.
I udgangspunktet bliver al malware først inspiceret af den lokale kode; herefter henvender klienten sig til skyen - hvis der er online-forbindelse - og så sker det i ny og næ, at skyen vender tommelfingeren op eller ned i forhold til, om et program er godt eller ondt. Men har afgørelsen fra algoritmerne i skyen ikke indflydelse på det endelige resultat.
»Der kan være en lille forskel. Måske én procent af gangene kan det være, at cloud-modellen omgør en afgørelse, som den lokale model er nået frem til,« siger Grant Moerschel.
Test på virtuelle maskiner
For at give de fremmødte journalister syn for sagn kører Grant Moerschel et par test på virtuelle maskiner, hvor den ene har installeret Cylances program, mens den anden har installeret et mere etableret produkt fra en antivirusproducent. Testen kalder virksomheden for sin 'Unbelievable Demo Tour'.
Den konkrete test foregår på et par virtuelle og opdaterede Windows 7-maskiner ved at hente 100 stykker malware fra en unavngiven kilde.
Malwaren bliver kørt en ad gangen via en for-løkke i en kommandoprompt på begge maskiner. Normalt er der flere traditionelle anti-malware-produkter og flere virtuelle maskiner involveret, når testen kører på en større hardware. Ligesom Cylance gerne skifter ud i de produkter, de tester deres løsning op imod, bedyrer folkene fra Cylance.
For ikke at gøre det for let er al malwaren ompakket via et program, som Grant Moerschel ikke ønsker at opgive navnet på.
Ideen med at ompakke malwaren er, at signaturen for filerne bliver ændret, og dermed risikerer den traditionelle signatur-baserede detekteringsmekanisme at fejle.
Maskinen med det traditionelle anti-malware misser nu en stor del af den ompakkede malware, mens cpu'en på maskinen kører på 100 pct. Og da der er tale om rigtig malware, popper underligere ting også op på maskinen, blandt andet noget, der ligner et vindue til et tvivlsom web-butik.
På den virtuelle maskine med Cylances produkt ligger cpu'en på omkring 2 pct, mens hukommelsesforbruget for den største kørende proces sniger sig op på omkring 60 megabyte.
Stort set al malwaren, der er frisk hentet fra nettet, ser ud til at blive fanget af Cylance-løsningen.
En af de tilstedeværende journalister spørger, hvordan systemet vil klare sig offline, og Grant Moerschel afkobler de virtuelle maskiner fra internettet. Dermed er det kun den lokale kode, der fanger malwaren. Og det ser den fortsat ud til at gøre under en ny kørsel, nu uden adgang til internettet.
Den ca. 130 megabyte store fil lokalt på klienten, mens offline-detektionen foregår, er senest opdateret i maj måned, viser Grant Moerschel. den er altså ca. seks måneder gammel, mens malwaren, den bliver holdt op imod, er hentet ned for to dage siden. Folkene fra Cylance vil ikke sige, hvorfra malwaren er hentet, men den skulle være frisk.
»Den lokale model omfatter, hvordan det meste software er skrevet - mens cloud-modellen er endnu større, og den indeholder flere modeller,« siger Grant Moerschel.
Mindre lokal-fil
Det kunne måske være nærliggende, at den lokale fil, der lige nu er på ca. 130 megabyte, og som gør, at systemet fungerer offline, ville vokse i takt med, at mængden af malware vokser.
Men sådan er det ikke, fortæller Grant Moerschel. Faktisk er filen blevet mindre under den seneste machine learning-iteration, hvor virksomhedens udviklere - de er mere matematikere end programmører - har fintunet algoritmerne bag.
»Fordi vore datavidenskabsfolk, der varetager modellen, har foretaget ændringer i forhold til, hvad de mener er statistisk relevant som output, så har de skrumpet modellen,« siger han.
Bryan Gale beskriver den lokale fil som en serie af matematiske ligninger, koden på klienten bliver løbet igennem i forhold til, om noget stikker uden for de normer, godartet kode burde holde sig inden for.
I udgangspunktet deler det meste ondsindede kode nemlig karakteristika, forklarer han. Og derfor behøver filen heller ikke blive opdateret særligt ofte. Men algoritmerne i skyen tilpasser sig løbende, også i forhold til ny programmering
»Vi lærer konstant at beskytte mod nye programmeringsteknikker, som vi ikke kender til, men det sker ikke så ofte,« siger Bryan Gale.
Flere af de ansatte i Cylance har en fortid McAfee. Cylance har på nuværende tidspunkt ca. 250 ansatte på verdensplan, og virksomheden er ved at bevæge sig ind på det europæiske marked via blandt andet Storbritannien og Irland.
Foreløbig findes produktet ikke til private, men det bliver der arbejdet på, forklarer Gale og Moerschel, ligesom virksomheden også har kig på at tilpasse deres nuværende Windows-software til blandt andet Android-platformen.
Den nuværende pris for produktet til virksomheder ønsker folkene fra Cylance ikke at oplyse.
Version2 er inviteret til Amsterdam og Blackhat af Cylance.
