Code-ondertekening is een methode om een op een certificaat gebaseerde digitale handtekening te gebruiken voor een stukje software, zodat het besturingssysteem en de gebruikers de veiligheid ervan kunnen bepalen. Alleen de juiste software kan de bijbehorende digitale handtekening gebruiken.
Gebruikers kunnen software veilig downloaden en installeren en ontwikkelaars beschermen de reputatie van hun producten met Code Signing. Hackers en malwaredistributeurs gebruiken echter precies dat systeem om kwaadaardige code via antivirussuites en andere beveiligingsprogramma's te verkrijgen . Dus wat is Code-signed malware en hoe werkt het?
Wat is Code Signed-malware?
Wanneer software digitaal ondertekend is, betekent dit dat deze een officiële digitale handtekening heeft. De certificeringsinstantie geeft een certificaat af voor software om vast te stellen dat de software legaal en veilig te gebruiken is.
Gebruikers hoeven zich geen zorgen te maken, omdat het besturingssysteem het certificaat controleert en de digitale handtekening verifieert. Windows gebruikt bijvoorbeeld een certificaatketen die alle noodzakelijke certificaten bevat om te garanderen dat de software legitiem is.
De certificaatketen bevat alle certificaten die nodig zijn om de entiteit te certificeren die door het eindcertificaat wordt geïdentificeerd. Feitelijk bestaat het uit een terminalcertificaat, een tussenliggend CA-certificaat en een root-CA-certificaat dat door alle partijen in de keten wordt vertrouwd. Elk tussenliggend CA-certificaat in de keten bevat een certificaat dat één niveau daarboven is uitgegeven door de CA. De root-CA geeft certificaten voor zichzelf uit.
Zodra het systeem operationeel is, kunt u vertrouwen op de software, het codeondertekeningssysteem en de CA. Malware is schadelijke software, wordt niet vertrouwd en heeft geen toegang tot certificaatautoriteit of codeondertekening.
Hackers stelen certificaten van de certificeringsinstantie
Antivirussoftware weet dat malware schadelijk is, omdat deze een negatieve invloed heeft op uw systeem. Het activeert waarschuwingen, gebruikers melden problemen en antivirussoftware kan malwarehandtekeningen creëren om andere computers te beschermen die dezelfde antivirusengine gebruiken.
Als makers van malware echter malware zouden kunnen ondertekenen met behulp van officiële digitale handtekeningen, zou het bovenstaande proces niet plaatsvinden. In plaats daarvan kan code-singed malware het systeem binnendringen via de officiële route, omdat uw antivirussoftware en besturingssysteem niets gevaarlijks detecteren.
Volgens onderzoek van Trend Micro is de gehele malwaremarkt gericht op het ondersteunen van de ontwikkeling en distributie van Code-signed malware. Malware-operators hebben toegang tot geldige certificaten die worden gebruikt om kwaadaardige code te ondertekenen. De onderstaande tabel toont de hoeveelheid malware die Code Signing gebruikt om antivirussoftware te omzeilen sinds april 2018.

Uit het onderzoek van Trend Micro blijkt ook dat ongeveer 66% van de malware digitale handtekeningen heeft. Daarnaast zijn er enkele specifieke soorten malware die meerdere versies van digitale handtekeningen hebben, zoals Trojaanse paarden , droppers en ransomware .
Waar komt het digitale certificaat Code Signing vandaan?
Malwaredistributeurs en -ontwikkelaars hebben twee manieren om met code ondertekende malware te maken. Ze stelen certificaten van de certificeringsinstantie door rechtstreeks een legitieme organisatie over te nemen of zich voor te doen en een certificaat aan te vragen bij de CA.
Zoals u kunt zien, is CA niet de enige plek waar hackers zich op richten. Distributeurs met toegang tot legitieme certificaten kunnen vertrouwde digitaal ondertekende certificaten verkopen aan malware-ontwikkelaars en -distributeurs.
Een beveiligingsonderzoeksteam van de Masaryk Universiteit in Tsjechië en het Maryland Cybersecurity Center ontdekte vier organisaties die Microsoft Authenticode-certificaten verkochten aan anonieme kopers. Zodra een malware-ontwikkelaar een Microsoft Authenticode-certificaat heeft, kan hij alle mogelijke malware ondertekenen via codeondertekening en op certificaten gebaseerde bescherming.
In sommige andere gevallen zullen hackers, in plaats van certificaten te stelen, de softwareversieserver infiltreren. Wanneer een nieuwe softwareversie wordt uitgebracht, heeft deze een legitiem certificaat. Hackers profiteren van dit proces om kwaadaardige code toe te voegen.
Voorbeeld van met code ondertekende malware
Hoe ziet code-ondertekende malware eruit? Hieronder staan drie voorbeelden van dit type malware.
- Stuxnet-malware : deze malware vernietigde het nucleaire programma van Iran met behulp van twee gestolen certificaten en vier zero-day-kwetsbaarheden. Deze certificaten zijn gestolen van twee bedrijven JMicron en Realtek. Stuxnet gebruikte gestolen certificaten om de nieuwe introductievereiste van Windows te omzeilen, namelijk dat alle stuurprogramma's moeten worden geverifieerd.
- Asus-serverlek: Tussen juni en november 2018 drongen hackers een Asus-server binnen die bedrijven gebruiken om software-updates naar gebruikers te pushen. Uit onderzoek van Kaspersky Lab blijkt dat ongeveer 500.000 Windows-apparaten deze kwaadaardige update ontvingen voordat ze werden gedetecteerd. Zonder certificaten te stelen, ondertekenen deze hackers legitieme digitale certificaten van Asus voor hun malware voordat de softwareserver systeemupdates distribueert.
- Flame-malware: variant van de Flame-module-malware die zich richt op landen in het Midden-Oosten, waarbij gebruik wordt gemaakt van frauduleus ondertekende certificaten om detectie te voorkomen. Flame-ontwikkelaars gebruikten een zwak versleutelingsalgoritme om digitale certificaten met Code-ondertekening te vervalsen, waardoor het leek alsof Microsoft ze had ondertekend. In tegenstelling tot Stuxnet, dat bedoeld was destructief te zijn, is Flame een spionagetool die zoekt naar PDF-bestanden, AutoCAD-bestanden, tekstbestanden en andere soorten belangrijke industriële documenten.
Hoe code-ondertekende malware vermijden?
Dit type malware maakt gebruik van Code Signing om detectie door antivirussoftware en -systemen te voorkomen. Bescherming tegen Code Signed Malware is dus uiterst moeilijk. Het altijd updaten van antivirussoftware en -systemen is essentieel, klik niet op onbekende links en controleer zorgvuldig waar de link vandaan komt voordat u deze volgt. Raadpleeg het artikel Risico's van malware en hoe u deze kunt vermijden .