Waarom is code signing het gesprek van de dag op het dark web?

Kevin Bocek-400

Code signing-certificaten zijn een essentieel onderdeel van software. Elke update wordt ondertekend met een unieke machine-identiteit, waarbij een tijdstempel wordt gecombineerd met een encryptie-algoritme in de vorm van een x.509-certificaat dat wordt uitgegeven door een vertrouwde certificeringsautoriteit. Hierdoor weten andere machines dat ze authentiek zijn en vertrouwd kunnen worden. Ontwikkelaars ondertekenen hun code met een private sleutel en een eindgebruiker benut de publieke sleutel van die ontwikkelaar om te valideren dat de code niet is gewijzigd sinds de ontwikkelaar hem heeft ondertekend.

Als iemand de code heeft gewijzigd, zal de handtekening een onvertrouwde waarschuwing geven, op dezelfde manier als een website met een onvertrouwd of verlopen certificaat dat doet met transport layer security (TLS) machine-identiteiten. Zonder dit systeem van unieke identiteiten zou het onmogelijk zijn software te leveren. Dan kun je dus geen Windows, Mac of iPhone meer gebruiken, laat staan in een modern Airbus- of Boeing-vliegtuig vliegen. Zo gaat het tegenwoordig ook in de snel veranderende cloud-native wereld van Kubernetes.

Omdat machine-identiteiten van essentieel belang zijn en een unieke positie innemen met de hoogste authenticatie- en vertrouwensniveaus, zijn ze een gewild doel voor mensen die  in systemen willen infiltreren. In de afgelopen jaren hebben we gezien dat dit systeem van identiteiten onder vuur is komen te liggen. Onderzoek laat zien dat er een groeiende buzz is rondom code signing machine-identiteiten op het dark web, met aanvallen die bijdragen aan het lawaai. Oftewel, het lijkt erop dat er meer staat te gebeuren rondom die identiteiten.

Buzz op het dark web

Uit onderzoek dat wij recent hebben laten uitvoeren door Forensic Pathways naar  gesprekken en markten op het dark web blijkt dat code signing-certificaten een hot topic zijn onder hackers. We zagen berichten waarin werd geadverteerd met code signing-certificaten voor slechts $ 100 -, een enorme prijsdaling ten opzichte van ons eerste onderzoek in 2017. Destijds werden er code signing-machine-identiteiten te koop aangeboden voor $ 1200. Tijdens het onderzoek zijn ook vragen gesteld over hoe ze te bemachtigen en discussies gevoerd over hoe ze te gebruiken. De onderzoeksresultaten zijn duidelijk: cybercriminelen zijn actief op jacht naar code signing-certificaten en weten hoe ze deze kunnen uitbuiten.

Als een code signing-certificaat wordt gecompromitteerd, kan de gevolgschade enorm zijn. Een hacker kan zo’n certificaat namelijk gebruiken om kwaadaardige code te ondertekenen, securitysystemen om de tuin te leiden en malware voor legitieme software laten doorgaan. Net als de recente Nvidia Lapsus$-aanval. Hackers gebruikten daarbij een gestolen certificaat om twee binaries te ondertekenen en Windows-apparatuur te infecteren, wat resulteerde in de diefstal van 1 TB aan data. Het gestolen certificaat was al in 2014 verlopen, maar dat maakte niet uit omdat Windows ontwikkelaars toestaat verouderde certificaten te gebruiken om code te ondertekenen. Dat creëert een opening die hackers kunnen uitbuiten.

Soortgelijke aanvalsmethoden zijn ook het favoriete wapen geworden van door een staat gesponsorde hackersgroepen. Onder andere Noord-Koreaanse groepen, die naar verluidt tot 1 miljard dollar per jaar aan cybercriminele winsten genereren, gebruiken vaak certificaten voor het ondertekenen van codes om cyberaanvallen uit te voeren. Eerder dit jaar zagen we ook aanvallen in Oekraïne, waarbij hackers ondertekende machine-identiteiten misbruikten om malware in te zetten binnen verschillende organisaties.

In het voorbeeld van Solarwinds hebben actoren uit nationale staten kwaadaardige code aan  de software supply chain toegevoegd. Deze zijn ondertekend met een geldige identiteit van een code-signing machine, waardoor de software op grote schaal kon worden verspreid en vertrouwd. Via die kwaadaardige code konden de hackers ‘backdoors’ installeren die ze in staat stelden nog ergere malware en spyware te installeren, om privégegevens te stelen. Maar liefst 1.800 overheidsinstanties en Fortune 500-bedrijven zijn hiervan het slachtoffer.

Hoe zijn code-signing certificaten beter te beveiligen?

Deze bekende voorbeelden van inbraken geven een inzicht van de enorme schade die bedrijven kunnen oplopen als hackers hand weten te leggen op code signing-certificaten. Met als belangrijkste conclusie dat bedrijven meer moeten doen om hun essentiële assets te beschermen en misbruik intern te voorkomen. Hier volgen vijf stappen die securityteams kunnen nemen om de beveiliging van hun code-signing certificaten te verbeteren:

  1. Automatiseren van de DevOps supply chain: Machines bouwen voortaan machines. Software-ontwikkeling draait op een steeds hogere snelheid en benut automatisering als GitLab, GitHub en Jenkins om het productieproces van software builds uit te voeren. Het integreren van security en het gebruik van code signing in deze supply chain is de eerste en belangrijkste stap. Dit beschermt niet alleen waar hackers zich op richten, maar betrekt ook de ontwikkelaars erbij. Anders vinden ze een manier om controles te omzeilen en zien ze securityteams vooral als een belemmering.
  2. Bewaar private sleutels op een versleutelde, veilige en centrale plaats: elke private sleutel is zo veilig als de wijze waarop deze wordt opgeslagen. Veel private sleutels worden niet op een veilige locatie opgeslagen, omdat beheerders deze regelmatig in een bestandssysteem of zelfs op hun bureaublad opslaan. Private sleutels voor code signing mogen nooit een versleutelde, veilige locatie verlaten, zelfs niet als een ontwikkelaar er toegang toe heeft voor een code-signing operatie.
  3. Bewaak het gebruik van private sleutels: behalve het controleren van de toegang tot private sleutels, moeten teams ook het gebruik monitoren. Het is belangrijk om een niet te veranderen logboek bij te houden voor elke code signing-actie, inclusief welke tool daarvoor is gebruikt en door wie, welke software ze er mee ondertekenden en van welke machine ze de private sleutel hebben benaderd.
  4. Pas een meerlaags goedkeuringsproces toe: bij toegang tot de meest kritieke code signing-sleutels, moeten ontwikkelaars goedkeuring van minimaal één extra persoon hebben, liefst meer, voordat ze deze mogen gebruiken.
  5. Beschrijf en handhaaf het toegangsbeleid: Om misbruik verder te beperken, hebben securityteams een strikt beleid en workflows nodig, gebaseerd op controleerbare parameters. Het beleid kan bevatten wie er toegang heeft tot welke code signing- sleutels, of bepalen dat ontwikkelaars die sleutels alleen mogen gebruiken vanaf goedgekeurde computers gedurende een bepaald tijdsperiode.
  6. Private sleutels roteren: securityteams kunnen een extra beveiligingslaag toevoegen door private sleutels te laten roteren. Dat zorgt ervoor dat de oude sleutel niet langer toegang biedt, of een hacker niet in staat is om te 'tekenen', als een certificaat voor code signing gestolen is. Het roteren van sleutels kan voor grote organisaties een omslachtig proces zijn, maar hoeft dat met de juiste software absoluut niet te zijn.

 

Er bestaat geen twijfel over dat machine-identiteiten essentiële hulpmiddelen zijn voor softwareontwikkelaars om hun codes te ondertekenen. Verder is er al veelvuldig bewezen dat gestolen certificaten goud waard zijn voor hackers en slecht beheerde certificaten enorme kwetsbaarheden opleveren voor organisaties. Daarom is code signing al enige tijd het gesprek van de dag op het dark web. Zonder duidelijk beschreven en gehandhaafde beleidslijnen en workflows van securityteams blijven organisaties kwetsbaar voor aanvallen. Het hebben van een oplossing voor het automatiseren van machine identity management voor code signing is essentieel om deze waardevolle assets effectief te kunnen beschermen. Gezien de toename van het aantal cyberaanvallen is het nu de tijd om actie te ondernemen!

 

Kevin Bocek, VP Security Strategy & Threat Intelligence, Venafi

 

Meer over
Lees ook
Qualys voegt External Attack Surface Management (EASM) toe aan het Qualys Cloud Platform

Qualys voegt External Attack Surface Management (EASM) toe aan het Qualys Cloud Platform

Qualys, Inc. een pionier en marktleider op het gebied van cloudgebaseerde compliance-, beveiligings- en IT-oplossingen, kondigt vandaag aan dat het External Attack Surface Management (EASM)-mogelijkheden toevoegt aan het Qualys Cloud Platform. De nieuwe functionaliteit, die is geïntegreerd in CyberSecurity Asset Management 2.0, voegt een weergave toe...

Barracuda wint twee awards tijdens SC Awards Europe 2022: Best Cloud Security en Best Email Security

Barracuda wint twee awards tijdens SC Awards Europe 2022: Best Cloud Security en Best Email Security

Barracuda Networks heeft twee van de belangrijkste prijzen gewonnen tijdens de SC Awards Europe 2022, die eind juni in London werden uitgereikt. Barracuda's Secure SD-WAN-oplossing, CloudGen WAN, werd uitgeroepen tot winnaar in de categorie ‘Best Cloud Security Solution’ en versloeg daarmee concurrenten zoals CrowdStrike, Palo Alto Networks en Aqua...

Qualys introduceert VMDR 2.0 with TruRisk

Qualys introduceert VMDR 2.0 with TruRisk

Qualys introduceert versie 2.0 van zijn Vulnerability Management, Detection and Response (VMDR)-oplossing. Onder de noemer ‘Qualys VMDR 2.0 with TruRisk’ versterkt Qualys het securityplatform met tools voor automatische reacties op cyberaanvallen.