Sandboxing technologie: Waarom goed vs. slecht niet genoeg is
Hier is het achtergrondverhaal van Mimecasts nieuwe aanwinst, Solebit.
Noot van de redactie: Eerder dit jaar heeft Mimecast Solebit overgenomen, een bedrijf met technologie voor de detectie van malware op basis van statische bestandsanalyse. Zoals hier uitgelegd , had Mimecast de technologie van Solebit al geïntegreerd in Targeted Threat Protection - Attachment Protect, waardoor de prestaties en doeltreffendheid van het aanbod werden verbeterd.
Om wat achtergrond te geven over wat Solebit doet en hoe haar technologie verschilt van die van anderen, heeft Cyber Resilience Insights onlangs een gesprek gehad met Solebit mede-oprichter Menj Farjon, Mimecast's Chief Scientist voor Advanced Threat Detection.
Wat is uw achtergrond in cyberbeveiliging , en hoe is Solebit van start gegaan?
Mijn professionele achtergrond begint bij het Israëlische leger. Ik werd gerekruteerd voor een centrale cyberveiligheidseenheid van het Israëlische leger, met de nadruk op onderzoek naar beveiliging en kwetsbaarheden en exploits, vooral rond Windows-platforms en -apps.
Hier ontmoette ik Boris Vaynberg , die medeoprichter en CEO van Solebit was. We zaten in dezelfde eenheid en hij was de chef. Omdat we in het leger dezelfde ideeën en dezelfde concepten deelden, zeiden we: "Waarom proberen we niet iets op onszelf te doen?" Boris stelde me voor aan Yossi Sara, onze derde medeoprichter.
Aangezien de meeste van onze ervaring op het gebied van kwetsbaarheden en exploitatie lag, dachten we aan een idee rond exploitpreventie. We wilden werken aan een proof of concept (POC) en daar iets rond ontwikkelen. We probeerden met iets te komen, en we probeerden ook alle problemen uit te zoeken waarom zoiets misschien niet zou werken. En ongeveer drie maanden later hadden we een POC draaien die bewees dat het vrij veel werkte zoals we in het begin dachten dat het zou werken. In feite dekte het meer dan we dachten.
We dachten aan één oplossing om alle exploits te bestrijden en in die tijd in 2014 was het toonaangevende beveiligingsconcept rond sandboxing . Elk groot bedrijf schafte een of andere sandboxing-oplossing aan. We kenden de moeilijkheden rond sandboxing. We kenden de niet-zo-nauwkeurige delen van de sandbox uit onze tijd in het leger, omdat we die vroeger omzeilden.
Dus, het was aantrekkelijk voor ons om dat op een andere manier te doen. Niet gewoon een andere zandbak, maar iets doen dat niet de nadelen van de zandbak heeft en betere voordelen heeft dan de zandbak. Eerst en vooral was dat de kosteneffectiviteit: de mogelijkheid om een uitspraak te doen die even accuraat of beter is dan de zandbak, maar dan in milliseconden. Bij veel van de zandbakken in die tijd duurde het twee minuten, drie, vijf. Sommige deden er zelfs 15 of een half uur over, omdat het nog niet zo volwassen was. En wij zeiden, "laten we het in milliseconden doen om hetzelfde resultaat te krijgen." Vervolgens hebben we het idee uitgedaagd met verschillende aanvallen voor verschillende omgevingen en besturingssystemen, omdat sandboxen zich alleen kunnen uitstrekken tot sommige applicaties en één of twee besturingssystemen. Wij wilden een preventiesysteem ontwikkelen dat verder gaat dan dat, dus onafhankelijk is van besturingssysteem of clienttoepassing.
Toen klommen we op om een nog beter oordeel te vellen. We ontdekten dat, aangezien we een heel andere technologie gebruikten, het omzeilingsmechanisme dat vroeger voor de zandbak werkte, hier niet werkte.
V: Wat maakte uw malware detectie technologie zo anders?
A: Wat ons opviel was dat exploits gebruik maakten van gewone gegevensbestanden zoals Microsoft Excel, Word, PowerPoint, afbeeldingen en video's. Dit zijn het soort dingen die je zou vertrouwen als je ze in een e-mail krijgt.
Moderne aanvallen maken gebruik van exploits in die gegevensbestanden, dus je opent een Word-document en zonder dat je het weet draait er code op je systeem die privileges neemt en een extra Trojan downloadt die netwerkactiviteit afluistert of wachtwoorden steelt en - in latere stadia vanaf 2016 of 2017 - infecteert met ransomware. Dus, dat was een gemeenschappelijk ding dat we opmerkten.
En toen we er dieper op ingingen, was het verschil dat gegevensbestanden gegevensobjecten en gegevensbinaire bestanden moeten bevatten, in feite alleen maar bytes met gegevens. Je verwacht niet dat een databestand uitvoerbare code bevat. Dus, wat we zeiden was, "laten we proberen een systeem te krijgen dat onderscheid kan maken tussen data en code." Elke exploit gebruikt data bestanden en injecteert code in het bestand. Als we elke code in elk stukje data kunnen detecteren, dan kunnen we elk mogelijk misbruik stoppen zonder dat we hoeven te begrijpen wat het misbruik is en wat het doelwit is. We doen het anders omdat we het statisch doen. Je verwacht dat een bestand tekst, afbeeldingen of video's bevat, maar je verwacht niet dat het uitvoerbare code bevat. Dit is waar aanvallers hun voordeel doen met deze kwetsbaarheden.
Dus bijvoorbeeld een tekst zou eruit kunnen zien als: "Hallo, mijn naam is... Leuk je te ontmoeten...", maar uitvoerbare machinecode zal er uitzien als: push eax, xor ebx, of in hex: 45 0B 85.
Klinkt te eenvoudig, nietwaar? Het blijkt iets moeilijker om dit systeem te maken omdat veel data objecten op code lijken. De mogelijkheid om uit te vinden of iets op code lijkt, is door het uit elkaar te halen en te proberen te begrijpen of het logisch mogelijk is of niet. Alles wordt uit elkaar gehaald tot code. Maar de vraag is, is die code logisch? Als je naar de overkant van de straat gaat en je kijkt naar rechts en naar links en in plaats van vooruit te gaan begin je terug te gaan, dan klopt er iets niet. Code is zo.
In het begin hadden we veel valse positieven omdat veel dingen op code leken, maar het niet waren. Dus bouwden we het systeem om te zien of de stroom van uitvoering zinvol is - niet een enkele machine-instructie, maar een serie van machine-instructies.
Het betekent niet dat we zeggen dat het kwaadaardig is, en dat hoeven we ook niet. Dit is waar andere oplossingen falen, omdat wanneer je probeert het goede van het slechte te onderscheiden, iemand zal proberen zich te verbergen achter iets dat legitiem is. Dit is hoe je sandbox of anti-virus oplossingen omzeilt. Dus, het gaat niet over goed of slecht. Het gaat om de aanwezigheid van iets dat iets kan doen. Als er iets met een gegevensbestand kan gebeuren, is het slecht. Als u uitvoerbare code aantreft in een gegevensbestand, en u kunt valideren dat deze code kan worden uitgevoerd, dan moet u dit bestand niet openen!
We zijn niet in de race met aanvallers. We hoeven geen onderscheid te maken tussen goed en slecht. Dat maakt het voor iedereen veel moeilijker om onze technologie te omzeilen en dat is voor ons een enorme onderscheidende factor.
Abonneer u op Cyber Resilience Insights voor meer artikelen zoals deze
Ontvang al het laatste nieuws en analyses over de cyberbeveiligingsindustrie rechtstreeks in uw inbox
Succesvol aanmelden
Dank u voor uw inschrijving om updates van onze blog te ontvangen
We houden contact!