Wat moet security met heuristiek?
Gepubliceerd: Woensdag 4 maart 2009
Auteur: Michiel van Blommestein
Ook in de securityhal van CeBIT is het een om de haverklap gebruikt toverwoord: heuristics, oftewel heuristiek. Maar wat is het eigenlijk?
Heuristics is een parapluterm voor technieken waarmee malware door antivirussoftware wordt opgemerkt op basis van gedrag. Daarmee, zo is de gedachte, kunnen ook nog onbekende virussen worden onderschept voor ze kwaadaardige code kunnen uitvoeren.
Bijna iedere aanbieder van antivirussoftware zegt een unieke manier van heuristiek toe te passen, zo ook bijvoorbeeld het Slowaakse Eset. "Smart Security 4 creëert een virtuele zandbak, waar onze software de werking van een programmaatje analyseert", zegt Miroslav Majtáz, technical marketing specialist. "Die functie hebben we al sinds versie 2, dus we waren er vroeg bij. Eigenlijk vinden we dat we de techniek zelf hebben uitgevonden, maar dat is niet iets dat terugkomt in ons marketingmateriaal."
Veel bedrijven beweren uniek te zijn met hun eigen heuristieke methoden, maar de werking is nagenoeg altijd hetzelfde, zo zegt Magnus Kalkuhl, Senior Virus Analyst bij Kaspersky Lab. "Het wordt ook wel eens pro-actieve detectie genoemd, maar de term heuristiek is nu het modewoord."
ZandbakDe technologie werkt grofweg als tweetrapsraket. "Als code wordt uitgevoerd, dan probeert de antivirussoftware van tevoren een schatting te maken of deze schadelijke effecten gaat hebben", legt Kalkuhl uit.
"Als een programma voor die test slaagt, komt het in de tweede schaal. Daarin worden de instructies daadwerkelijk uitgevoerd in een geëmuleerde omgeving. Alle instructies worden precies gelogd, en op basis daarvan wordt een nieuwe schatting gemaakt." Kalkuhl neemt het woord 'virtualisatie' daarbij bewust niet in de mond. "Het wordt vaak virtualisatie genoemd, maar dat is een term die meer slaat op VMware en zo. Geen enkel antivirusbedrijf verpakt immers een Windows XP VM of zo mee in zijn product."
In deze 'trusted zone'-zandbak let de software op specifieke kenmerken. "Als een programma bijvoorbeeld ingrijpende veranderingen uitvoert aan het systeem, maar geen api aanroept waarmee de gebruiker wordt gewaarschuwd, dan kan de antivirus inschatten dat het om malware gaat."
Daarin zit volgens Kalkuhl ook de zwakte van het model; het kan alleen schatten, maar nooit precies weten. "Wat je bijvoorbeeld kunt krijgen is dat een driver voor een usb-keyboard als keylogger wordt aangezien. Hij slaat immers de toetsaanslagen op, terwijl hij op de achtergrond blijft", zegt Kalkuhl. Om die reden is een whitelist nodig, en daar moet altijd een menselijk aspect aan te pas komen. "Je hebt nog meer voorbeelden van legitieme programma's die als malware werken. Wij hadden in Frankrijk bijvoorbeeld een geval van een applicatie die typische malwaregedrag vertoonde" vertelt Kalkuhl. "Maar het ging om een programma voor ouders waarmee ze hun kinderen in de gaten kunnen houden. Zelf ben ik tegen dat soort dingen, maar het moet wel op de whitelist."
Bron: Techworld
