Malware met echte certificaten
Digitaal ondertekende malware in opmars
Online criminelen misbruiken certificaten van gerenommeerde bedrijven om malware te ondertekenen en daarmee het vertrouwen van virusscanners te winnen. Dat kost ze maar een paar dollar.
Net als de slang Kaa uit Jungleboek probeert malware om de virusscanner te betoveren, om zo toch toegelaten te worden op de computer van het beoogde slachtoffer. De schadelijke software gebruikt inmiddels allerlei trucs om dat vertrouwen te krijgen. Daar horen tegenwoordig ook geldige digitale certificaten bij, die bijvoorbeeld komen van gevestigde namen op het gebied van hard- en software.
Een goed voorbeeld daarvan is de cyberworm Stuxnet, die in juni 2010 het Iraanse atoomprogramma saboteerde. Stuxnet werd met een digitaal certificaat van chipfabrikant Realtek ondertekend. In de zomer van 2018 dook een malware op met de naam Plead, die losgelaten werd om Oost-Aziatische organisaties te bespioneren – met een digitale ondertekening van de netwerkfabrikant D-Link. De virusonderzoekers van Kaspersky Lab meldden dat de code van ruim honderd malwarefamilies die zich bezighouden met gerichte ATP-aanvallen (Advanced Persistent Thread) daarmee ondertekend is.
Digitaal ondertekende malware komt echter allang niet meer alleen bij gerichte aanvallen voor, maar wordt een massafenomeen: de virusonderzoekers van Kaspersky Lab hebben in hun database inmiddels ongeveer tien miljoen ondertekende malware-samples, die bij ongeveer 2000 verschillende malware-families horen.
Digitaal vertrouwen
De zogeheten code-signing vervult eigenlijk een zinvolle taak: softwareproducenten ondertekenen hun programma’s met een cryptografische sleutel om de maker van de software eenduidig te identificeren. Bovendien is daarmee gegarandeerd dat de code na het certificeren niet gemanipuleerd is. De informatie wie het bestand heeft ondertekend, staat in een digitaal certificaat dat onderdeel van het bestand is. Die krijgt de softwaremaker van een certificeringsinstantie (Certificate Authority, CA), wiens taak het is gegevens in het certificaat zoals de bedrijfsnaam te controleren – met bijvoorbeeld een KvK-uittreksel of een andere vorm van identificatie. Als alles klopt, ondertekent de CA het certificaat.
Dat loont de moeite, want besturingssystemen kennen aan ondertekende software bepaalde privileges toe: het SmartScreen-filter van Windows controleert bijvoorbeeld gedownloade software op malware-risico’s, maar keurt software die met een extended-validation-certificaat is ondertekend zonder meer goed als te vertrouwen.
Bij Apples iOS is een geldig ontwikkelaarscertificaat zelfs een voorwaarde om een app geïnstalleerd te krijgen. Daarom zijn makers van malware er natuurlijk ook in geïnteresseerd om hun producten digitaal te ondertekenen – en dan het liefst met het certificaat van een groot en bekend bedrijf dat vertrouwd wordt door gebruikers en besturingssystemen.
Normaal gesproken ondertekenen criminelen alleen het deel van een malwareaanval dat het eerste op de computer van een slachtoffer terecht komt, dus bijvoorbeeld een dropper, die de eigenlijke schadelijke code vervolgens downloadt. Omdat die digitaal ondertekende vooruitgeschoven post de virusscanner dan op het verkeerde been zet, kunnen de
malware-ontwikkelaars zich de kosten en moeite besparen om de later gedownloade malware te ondertekenen.
Waar vandaan?
Bij de D-Link- en Realtek-certificaten bestaat het donkerbruine vermoeden dat de voor het ondertekenen benodigde bestanden buitgemaakt zijn bij een inbraak in de desbetreffende bedrijfsnetwerken. Een aanvaller hoeft daar zelf niet zijn handen voor vuil gemaakt te hebben, want hij kan die certificaten ook gewoon online bestellen. In de ondergrondse cyberwereld vragen verkopers 100 dollar voor een Comodo-certificaat – te betalen in bitcoins, ethereum of monero en afgegeven aan een willekeurig gegenereerde houder. De aanbieders gebruiken moedwillig vervalste documenten om het verifiëren door de certificeringsinstanties succesvol te doorlopen.
Afhankelijk van de aanbieder kost het 150 tot 200 dollar als een koper per se een bepaalde bedrijfsnaam wil hebben. Een certificaat dat volgens verkoper ‘bestbuy’ ook Microsofts SmartScreen te slim af kan zijn, kost 1800 dollar. Het duurst zijn de extended-validation-certificaten: iemand met de naam Codsigning.guru wil daar 2500 dollar voor hebben. Mocht die aanbieding daadwerkelijk echt zijn – en niet alleen een poging tot oplichting – dan kunnen kopers volgens de aanbieder met een dergelijk certificaat de waarschuwingsmeldingen ontwijken van Google Chromes Safe Browsing en Microsofts SmartScreen-filter, maar bijvoorbeeld ook het Gebruikersaccountbeheer (UAC) van Windows.
Digital Shadows is een Britse dienstverlener die zich gespecialiseerd heeft in onderzoek in de onderwereld. Dit bedrijf meldt dat een van de verkopers actief was op de inmiddels door justitie afgesloten darkweb-marktplaatsen Hansa Markt en Alpha Bay. Volgens Digital Shadows zit er op dit moment echter geen verkoper van code-signing-certificaten op hidden services in het Tor-netwerk. Die handel gebeurt gewoon via min of meer makkelijk toegankelijke platforms op het clearweb.
Volgens een bericht van Trend Micro zijn het vooral de certificeringsinstanties van Comodo en Certum die opvallen in samenhang met valse certificaten. Ongeveer 14 procent van de onderzochte bestanden die met een Comodo-certificaat zijn ondertekend, zijn volgens hen kwaadwillend, tegen 12 procent bij Certum. In sommige gevallen kwamen de onderzoekers van Trend Micro ook certificaten van Digicert, Symantec en VeriSign tegen. Op www.signedmalware.com heeft een groep wetenschappers van de universiteit van Maryland een lange lijst van die valse certificaten online gezet.
Virusscanners
Naast de besturingssystemen en de browsers gebruiken ook antivirusprogramma’s digitale certificaten bij het beoordelen van onbekende bestanden – al is het dan als een van diverse factoren die een rol spelen. Naast de code-signing wordt volgens Candid Wueest, Senior Threat Reseacher bij Symantec, bijvoorbeeld ook naar de reputatie van een bestand gekeken en een gedragsanalyse uitgevoerd. Bovendien controleert bijvoorbeeld Trend Micro of een certificaat wellicht ingetrokken werd.
Volgens de onderzoekers van de universiteit van Maryland is echter maar 20 procent van alle voor het ondertekenen van malware gebruikte certificaten ooit ingetrokken, Zij liepen daarbij tegen een groot probleem aan met betrekking tot het controleren van digitale certificaten door virusscanners. Ze deden een simpel experiment en kopieerden echte digitale certificaten van bestanden naar vijf al bekende, niet-ondertekende crypto-trojans. Voor die simpele aanval is geen toegang tot de geheime sleutel van de certificaathouder nodig.
Dat leidde tot malware-samples waarvan het certificaat niet geldig zou mogen zijn – de bestands-hashes van de trojans pasten immers niet bij de hashwaarden van de oorspronkelijk gecertificeerde bestanden. Vervolgens lieten de onderzoekers 50 virusscanners op de bestanden los. De resultaten waren verrassend: 34 van de scanners sloegen na die primitieve ingreep geen alarm meer. De herkenningsgraad daalde gemiddeld tot ongeveer 20 procent. De onderzoekers denken dat dit aan een mogelijke overbelasting van de antivirussoftware ligt: om bij het analyseren van onbekende bestanden beter te kunnen prioriteren en computers van klanten minder te belasten, zetten de scanners ondertekende bestanden achteraan.
Blijkbaar heeft het concept van digitale certificaten bij software nog wat problemen en is dat alleen met grote voorzichtigheid te gebruiken. Alleen het feit dat een programma digitaal gecertificeerd is, zegt er verder nog niets over of het ook te vertrouwen is. (nkr)