Waarom malwaredetectie zo lastig is.

Malware, zijnde heimelijke software die toegang probeert te krijgen tot systemen en gegevens om vervolgens ongeoorloofde acties uit te voeren, vormt tegenwoordig een groot probleem. Niet alleen omdat het steeds geavanceerder is geworden, maar ook omdat het aantal dreigingen sterk is toegenomen. De groep malwaremakers bestaat uit een bont gezelschap van lieden die meestal gaan voor geldelijk gewin en een enkele keer voor eeuwige roem, maar ook organisaties en overheden gebruiken malware, bijvoorbeeld voor spionagedoeleinden. Men past tal van moderne technieken toe om dergelijke software zo effectief mogelijk te laten zijn. Zo is er malware die kijkt of er sprake is van de aanwezigheid van anti-virussoftware of zelfs andere malware. Kortom, het is een complex en dynamisch speelveld. 

Een malwareaanval wordt wel eens beschreven als schieten met hagel. Laten we dit eens letterlijk nemen en kijken wat de gevolgen zijn bij het schieten op een gebouw. Er zullen kogeltjes door de ramen zijn gegaan, op de deur en de deurpost worden aangetroffen en ook de regenpijp is niet onbeschadigd gebleven. Voor het herstel naar de oorspronkelijke situatie is arbeid vanuit verschillende disciplines vereist. We hebben een glaszetter nodig, een schilder, een loodgieter e.d. Hetzelfde geldt voor het terugbrengen van een computersysteem in de originele staat. Een back-up terugzetten is één ding, maar hoe weten we of back-up al niet besmet was? Daarna moet de integriteit van alle onderdelen van het systeem nog dagenlang worden gecontroleerd. Een arbeidsintensief herstel dus.

Was vroeger het detecteren van een virushandtekening in een bestand voldoende, tegenwoordig is malware zelfs bestandsloos waardoor een infectie geruisloos plaatsvindt. Bestandsloze malware komt bijvoorbeeld in het werkgeheugen van de computer terecht door het bezoeken van een malafide website.

Een geïnfecteerde website hoeft zelf niet van een schimmige organisatie te zijn. Nu.nl heeft een keer malware verspreid doordat van een ander platform afkomstige advertenties waren besmet. Afhankelijk van de context van het nieuwsbericht worden dergelijke advertenties via een soort veilingprincipe live geplaatst.

Daarbij kan malware eruit zien als een onschuldig script. Dit script zit in het geheugen en wordt verder niet aangeroepen. Even later komt er een tweede script binnen. Ogenschijnlijk is er weer niets aan de hand. Maar dan is er een derde gebeurtenis waarbij de twee scripts worden gecombineerd met aanvullende code en ineens is er malware actief. Er zijn cybersecurityproducten die een tijd lang naar een script blijven kijken. Maar als er na bijvoorbeeld 18 seconden niets gebeurt wordt de waarneming gestaakt, want continue procesbewaking kost nu eenmaal rekenkracht. Een product als SentinelOne doet dit anders. De sensor ziet wel dat er scripts binnenkomen maar laat dit verder ongemoeid. Pas bij het actief worden van de malware wordt ingegrepen.

SentinelOne heeft de laatste keren niet meegedaan aan de NSS-labs tests. Dit komt door een verschil van mening over de testvoorwaarden. NSS-labs beoordeelt een veiligheidsproduct positief als het actie onderneemt indien er sprake is van een offline command and controlserver. Dergelijke servers bepalen hoe de malware wordt aangestuurd. SentinelOne is van mening dat je bij offline servers verder niets hoeft te doen.

Het actief worden van malware kan op meerdere manieren worden waargenomen. Zo zal malware proberen administratieve rechten te krijgen en systeembestanden willen wijzigen. Ook zal malware gebruikersbestanden willen veranderen of versleutelen. Al deze acties moeten dus gedetecteerd en tegengehouden worden. Het lastige is dat bovenstaande handelingen ook bij normaal gebruik van de computer kunnen voorkomen. En dan wil je natuurlijk niet de boel blokkeren. Malwaremakers weten dit uiteraard ook en daarom zorgen zij er voor dat het malwaregedrag zoveel mogelijk lijkt op de handelingen van een normale gebruiker. Om dit te pareren zijn leveranciers van cybersecurityproducten patroonherkenning gaan gebruiken om goede detectie te bewerkstelligen. En ook dit is lastig omdat er voortdurend nieuwe varianten  uitkomen, zelfs binnen eenzelfde malwarefamilie. Bij Trickbot was dit elke 6.5 minuut waardoor een zorgvuldige code-analyse door tijdsdruk al wordt beperkt. 

Malwaremakers zorgen ervoor dat analyse van hun programmacode zo moeilijk mogelijk wordt gemaakt. Daartoe versleutelen zij delen hiervan. Voor het ontsleutelen en activeren worden zogenaamde command- en controlservers gebruikt.

Elke cybersecurityleverancier maakt gebruik van lijsten van bekende malwarehandtekeningen, van bekende command- en controlservers en van bekende malafide websites e.d. Deze informatie, die elke dag in omvang groeit, is ook openbaar. Maar veel bevindt zich onder de radar. Het kan voorkomen dat zwakheden in de microcode van chips door een geheime dienst al geruime tijd worden uitgebuit zonder dat de chipsfabrikant dit in de gaten heeft, laat staan tegenmaatregelen kan nemen. Deze zogenaamde zero-day attacks zijn, naast zeer effectief, ook zeer moeilijk te detecteren.

Ondanks dat cybersecurityleveranciers roepen dat zij het beste product hebben zijn er verschillen en dan met name in de effectiviteit van de patroonherkenning. Ons bedrijf schat een leverancier als SentinelOne hoog in, mede omdat zij artificiële intelligentie (AI) bij de detectie gebruiken en dan niet als marketingkreet maar met echte geoptimaliseerde algoritmes. Daarbij weten ze de benodigde rekenkracht en het geheugengebruik binnen de perken te houden, waardoor een SentinelOne gebruiker niets merkt van de aanwezigheid van deze software en gewoon zorgeloos kan werken. Daar gaat het om.