Nice to Know

Code-Signed Malware: wat is het en wat doe je er tegen?

code-signed malware

Cybercriminelen verspreiden code-signed malware die de IT-beveiliging omzeilt door zich voor te doen als betrouwdbare software.

Code signing is het cryptographisch ondertekenen van software zodat het besturingssysteem en zijn gebruikers kunnen verifiëren dat het veilig is. Code signing werkt over het algemeen goed, want meestal gebruikt alleen de juiste software de overeenstemmende versleutelde handtekening. Cybercriminelen hebben het systeem echter inmiddels ook ontdekt en verspreiden code-signed malware die de IT-beveiliging omzeilt door zich voor te doen als betrouwbare software.

Dankzij code signing weten gebruikers en systemen dat zij software veilig kunnen downloaden en installeren. Het is daarnaast een goede manier voor ontwikkelaars om de reputatie van hun product te beschermen. Code-signed software is voorzien van een officiële versleutelde handtekening. Een certificeringsautoriteit (CA) verstrekt een certificaat aan de software dat waarborgt dat de toepassing legitiem en veilig is. Het voordeel is dat het besturingssysteem de certificaten beheert, en daarmee de controle van de code en de toetsing van de werking van de software, dus daar heb je geen omkijken naar.

De CA en het systeem voor code signing zijn nagenoeg volledig afhankelijk van vertrouwen. Malware is per definitie kwaadaardig, onbetrouwbaar en zou dus nooit een code signing certificaat moeten krijgen van een CA. Dat is de theorie. In de praktijk blijkt dat malware-ontwikkelaars en hackers daar al lang wat op gevonden hebben. Code-signed malware wordt al verspreid en dat zal in de toekomst alleen maar toenemen.

Hackers stelen certificaten
Antivirusoplossingen ‘weten’ dat malware kwaadaardig is omdat het een negatieve impact heeft op systemen. Er treedt een alarm in werking, gebruikers melden problemen en de antivirusoplossing maakt automatisch een ‘malwarehandtekening’ waarmee andere computers met dezelfde beveiliging de malware ook herkennen en blokkeren. Als malware-ontwikkelaars hun kwaadaardige code echter kunnen ondertekenen met een officiële versleutelde handtekening, gebeurt dat niet. In plaats daarvan loopt de code-signed malware gewoon door de voordeur naar binnen en rollen je antivirus en besturingssysteem er zelfs de rode loper voor uit.

Onderzoekers van Trend Micro ontdekten dat er een hele markt bestaat voor de ontwikkeling en verspreiding van code-signed malware. Malwareproducenten krijgen hier geldige certificaten in handen die zij gebruiken om kwaadaardige code te ondertekenen. Uit het onderzoek blijkt dat circa 66 procent van de geteste malware code-signed was. Bovendien komt code siging bij sommige malwaretypes op meerdere plekken voor, zoals bij Trojans, droppers en ransomware.

Waar komen de code signing certificaten vandaan?
Mensen die code-signed malware ontwikkelen en verspreiden kunnen deze op twee manieren officieel ondertekenen. Ten eerste kunnen zij certificaten kopen die hackers hebben gestolen van een CA. Ten tweede kunnen zij certificaten kopen van een hacker die zich bij een CA voordoet als een legitiem bedrijf en de aanvraag voor een certificaat doet met vervalste gegevens. Een certificeringsautoriteit is dus in beide gevallen een aantrekkelijk doelwit voor hackers.

Het zijn echter niet alleen hackers die de opkomst van code-signed malware mogelijk maken. Er zijn ook onethische leveranciers die toegang hebben tot geldige certificaten en deze doorverkopen aan malware-ontwikkelaars en verspreiders. Een team beveiligingsonderzoekers van de Masaryk Universiteit in Tsjechië en van het Maryland Cybersecurity Center (MCC) in de VS ontdekten vier organisaties die hun Microsoft Authenticode-certficaten verkochten aan anonieme klanten. Daarmee maken cybercriminelen code-signed malware die niet herkent wordt door de beveiliging van Windows.

Naast het stelen of vervalsen van certificaten, breken hackers ook in op de servers van de softwareproducent. Als de leverancier een nieuwe versie van de software publiceert, met een geldig certificaat, voegt de hacker daar zijn eigen kwaadaardige code aan toe. Zo ontstaat code-signed malware.

Drie voorbeelden van code-signed malware
Stuxnet malware. De malware die een einde maakte aan het Iraanse nucleaire programma gebruikte twee gestolen certificaten om zichzelf te verspreiden. De certificaten werden gestolen van twee afzonderlijke bedrijven, JMicron en Realtek, die bij elkaar in hetzelfde gebouw gevestigd waren. Stuxnet gebruikte de gestolen certificaten om te ontkomen aan de nieuwe eisen van Microsoft dat alle drivers geverifieerd moesten worden (driver signing).

Asus serverinbraak. Ergens tussen juni en november 2018 braken hackers in op een server van Asus die het bedrijf gebruikt om softwareupdates naar gebruikers te sturen. Onderzoekers van Kaspersky Lab ontdekten dat circa 500.000 Windows-machines een update met code-signed malware kregen voordat iemand erachter kwam. In plaats van certificaten te stelen, ondertekenden de hackers hun malware met geldige digitale certificaten van Asus voordat de softwareserver de update uitstuurde. Gelukkig was de malware erg doelgericht en zo geschreven dat het slechts 600 specifieke machines aanviel.

Flame malware. De Flame modulaire malwarevariant richt zich op landen in het Midden Oosten en gebruikt valse certificaten om niet ontdekt te worden. De ontwikkelaars van Flame misbruiken een zwak cryptographisch algoritme om certificaten te creëren die door Microsoft goedgekeurd lijken te zijn. In tegenstelling tot Stuxnet, dat een destructief element bevat, wordt Flame gebruikt voor spionage en zoekt naar PDFs, AutoCAD-bestanden, tekstbestanden en andere industriële documenten.

Deze drie verschillende varianten van code-signed malware zijn allen heel doelgericht. Cybercriminelen namen een kernreactor, 600 specifieke computers en bepaalde industriële documenten op de korrel. Zij deden dit echter in alle gevallen met succes. Het is daarom een kwestie van tijd voordat code-signed malware ook op brede schaal voorkomt.

Het is lastig om je te beschermen tegen code-signed malware. De gangbare adviezen zijn om er altijd voor te zorgen dat systemen en antivirusoplossing zijn bijgewerkt met de nieuwste updates, dat men niet klikt op onbekende links en dat altijd controleert waar een link naartoe leidt. Dat kan door met de muis boven een link te ‘hangen’. Dan is onderin de browser de URL van de link zichtbaar.

Bron: MUO

Naar boven