In het huidige digitale landschap vormen kwaadaardige code en softwarebedreigingen een constante zorg voor organisaties van elke omvang. Cybercriminelen gebruiken verschillende tactieken om netwerken te compromitteren en gevoelige gegevens te stelen. Een van de meest voorkomende manieren waarop ze dit doen, is door malware en andere kwaadaardige code te verspreiden onder het mom van legitieme software.
Organisaties moeten beschikken over een uitgebreide cybersecuritystrategie met effectief beleid, procedures en technologie om aanvallen te voorkomen en te detecteren en zich tegen deze risico's te beschermen. Code-signing machine-identiteiten zijn een van de belangrijkste technologieën die worden gebruikt om netwerken te beveiligen tegen schadelijke code.
Een identiteit van een codeondertekeningsmachine, gedefinieerd als: een digitaal certificaat en de bijbehorende privésleutel, die functioneren als een niet-menselijke identiteit, die een buildsysteem of ondertekeningsservice gebruikt om namens een organisatie code te ondertekenen. De bescherming ervan is slechts zo sterk als de locatie van die privésleutel: een identiteit met de sleutel op een bestandssysteem is een referentie die gestolen kan worden, terwijl een identiteit die wordt ondersteund door een HSM ervoor zorgt dat de sleutel niet kan worden geëxporteerd, zelfs als de host waarop de ondertekening plaatsvindt, wordt gecompromitteerd.
Key Takeaways
- De betrouwbaarheid van een machine-identiteit hangt af van de beveiliging van de bijbehorende sleutels. Het CA/Browser Forum vereist sinds 1 juni 2023 HSM of gelijkwaardige hardwareopslag (minimaal FIPS 140-2 niveau 2 of Common Criteria EAL 4+) voor publiekelijk vertrouwde codeondertekeningssleutels, juist omdat een machine-identiteit met een exporteerbare sleutel een potentieel risico vormt voor diefstal van inloggegevens.
- Machine-identiteiten vereisen levenscyclusbeheer, net als elke andere authenticatie-referentie: rotatie, intrekking en een inventarisatie van welke systemen welke identiteit bevatten, en niet een certificaat dat je eenmalig instelt en vervolgens vergeet.
- Voor alle implementatiedetails over HSM-ondersteunde sleutelopslag en gecentraliseerde ondertekening, zie Codeondertekening 101: uw softwareleveringsketen beveiligen.
Wat zijn code-signing machine-identiteiten?
Het proces van codeondertekening houdt in dat een digitale handtekening wordt toegevoegd aan uitvoerbare code, scripts en software om de authenticiteit ervan te valideren en de integriteit te waarborgen. Codeondertekeningsmachine-identiteiten zijn digitale certificaten die worden gebruikt om code te ondertekenen en worden beheerd door codeondertekeningsmachines. Codeondertekeningsmachine-identiteiten bieden een manier om de authenticiteit en integriteit van code die op uw netwerk draait te verifiëren. Door digitale certificaten te gebruiken om software te ondertekenen, kunt u ervoor zorgen dat de code niet is gemanipuleerd of gewijzigd sinds de ondertekening.
Dit helpt voorkomen dat kwaadaardige code uw netwerk binnendringt en vermindert het risico op cyberaanvallen. De digitale certificaten bevatten informatie over de uitgever van de code, zoals de locatie en naam, en een publieke sleutel die wordt gebruikt om de handtekening te versleutelen . De privésleutel, die is opgeslagen op de machine waarop de code wordt ondertekend, wordt gebruikt om de code te ondertekenen. Digitale certificaten die worden gebruikt voor het ondertekenen van code worden uitgegeven door een vertrouwde externe certificeringsinstantie (CA) . Elk certificaat is uniek en bevat een eigen digitale handtekening.
Tijdens het ondertekenen van code wordt een handtekening aan de code toegevoegd door een hash van de code te maken, die vervolgens wordt versleuteld met de privésleutel van de machine die de code ondertekent. Zodra deze handtekening aan de code is toegevoegd, kan deze worden geverifieerd door iedereen die de code ontvangt. Om de handtekening te verifiëren, gebruikt de ontvanger de openbare sleutel in het digitale certificaat om de handtekening te decoderen en zelf een hash van de code te genereren. Vervolgens kan de ontvanger de gedecodeerde handtekening vergelijken met zijn of haar eigen hash van de code. Als de hashes overeenkomen, kan de ontvanger er zeker van zijn dat de code niet is gewijzigd en daadwerkelijk is ondertekend door de vertrouwde bron die in het digitale certificaat is gespecificeerd.

Bovendien vergemakkelijken code-signing machine-identiteiten de veilige distributie en levering van software-updates, waardoor organisaties patches en updates vol vertrouwen en snel in hun netwerken kunnen implementeren. Dit is cruciaal omdat het organisaties in staat stelt om eventuele beveiligingslekken of andere problemen in hun software snel aan te pakken.
Met behulp van code-signing machine-identiteiten kunnen organisaties de bescherming van hun netwerken garanderen tegen schadelijke code, waaronder virussen, spyware en andere vormen van malware die schade kunnen toebrengen aan hun systemen en gegevens. Bovendien kunnen code-signing machine-identiteiten organisaties helpen te voldoen aan de wettelijke vereisten voor veilige softwareontwikkeling en -distributie.
Hoe beschermen machine-identiteiten voor codeondertekening uw netwerk?
Code-ondertekening van machine-identiteiten biedt verschillende belangrijke voordelen die netwerken helpen beschermen tegen schadelijke code en software. Deze omvatten:
-
Verificatie van de authenticiteit en integriteit van de code
Identiteiten van codeondertekenmachines bieden een veilig en betrouwbaar mechanisme voor het verifiëren van de authenticiteit en integriteit van code. Malware kan een netwerk op verschillende manieren infiltreren, zoals via phishingmails of door misbruik te maken van kwetsbaarheden in software. Wanneer malware een netwerk infecteert, kan dit leiden tot diverse problemen, zoals gegevensdiefstal, systeemuitval en financiële verliezen. Wanneer code echter is ondertekend met een identiteit van een codeondertekenmachine, kan de ontvanger er zeker van zijn dat de code tijdens de distributie niet is gewijzigd en dat deze daadwerkelijk afkomstig is van de vertrouwde bron die in het digitale certificaat is vermeld. Dit verkleint het risico dat schadelijke code als authentieke software wordt verspreid, wat de beveiliging van het netwerk in gevaar zou kunnen brengen.
-
Veilige distributie en levering van software-updates
Bovendien bieden code-signing machine-identiteiten een veilige manier om software-updates te leveren en te distribueren. Wanneer organisaties de implementatie van patches en updates op hun netwerken nodig hebben, kunnen ze de updates ondertekenen met hun code-signing machine-identiteit en deze aan gebruikers verstrekken. Zo kunnen ze garanderen dat de updates authentiek zijn en niet zijn gemanipuleerd. Hierdoor kunnen organisaties snel en vol vertrouwen beveiligingskwetsbaarheden en andere softwaregerelateerde problemen oplossen zonder dat schadelijke code hun netwerken infiltreert.
-
Naleving van wettelijke vereisten
Tot slot kunnen code-signing machine-identiteiten organisaties helpen te voldoen aan de wettelijke eisen voor veilige softwareontwikkeling en -distributie. Verschillende sectoren, waaronder de gezondheidszorg en de financiële sector, hanteren strenge regels met betrekking tot de beveiliging van software en de methoden die worden gebruikt om deze te ontwikkelen en te distribueren. Door code-signing machine-identiteiten te implementeren, kunnen organisaties laten zien dat ze zich inzetten voor de beveiliging van hun software en dat ze zich aan deze regelgeving houden.
Het beheren van machine-identiteiten gedurende hun levenscyclus.
De bovenstaande voordelen gelden alleen als de machine-identiteit zelf correct wordt beheerd en behandeld als een authenticatiebewijs met een levenscyclus, en niet als een certificaat dat eenmalig wordt geïnstalleerd en vervolgens wordt vergeten. Dat betekent:
-
HSM-ondersteunde sleutelopslag
De privésleutel die een machine-identiteit ondersteunt, mag nooit op hetzelfde bestandssysteem staan ​​als het buildsysteem dat deze gebruikt. Een HSM zorgt ervoor dat de sleutel niet geëxporteerd kan worden, waardoor een aanvaller bij een inbreuk op de buildmachine niet de ondertekeningssleutel zelf in handen krijgt.
-
Een inventaris van actieve identiteiten
Weten welke buildsystemen, pipelines en services welke machine-identiteit bevatten, is een voorwaarde om snel te kunnen reageren op een inbreuk; je kunt immers niet intrekken of roteren wat je niet kent.
-
Geplande rotatie, niet alleen rotatie op basis van incidenten.
Door de sleutel van een machine-identiteit volgens een vast schema te roteren, wordt de periode waarin een inbreuk onopgemerkt blijft beperkt. Dit in tegenstelling tot het uitsluitend roteren van de sleutel nadat een incident is ontdekt.
Veelgestelde Vragen / FAQ
Is een machine-identificatie voor codeondertekening hetzelfde als een certificaat voor codeondertekening?
Nauw verwant, maar niet identiek: de machine-identiteit is het certificaat plus de bijbehorende privésleutel zoals gebruikt door een geautomatiseerd systeem (een build-pipeline of ondertekeningsservice), in plaats van door een mens. Dit onderscheid is belangrijk omdat de sleutel van een machine-identiteit programmatisch bruikbaar moet zijn, en dat is precies waarom sleutelopslag met HSM-ondersteuning zo belangrijk is.
Betekent het gebruik van een machine-identiteit automatisch dat de sleutel beveiligd is?
Nee. Een machine-identiteit met een privésleutel die is opgeslagen in een bestandssysteem of omgevingsvariabele biedt weinig meer bescherming dan andere openbaar toegankelijke inloggegevens. De bescherming komt van de locatie waar de sleutel is opgeslagen (een HSM) en hoe de toegang daartoe wordt gecontroleerd, niet van het feit dat het een "machine-identiteit" wordt genoemd.
Conclusie
De mogelijkheid van schadelijke code en software is een constante zorg voor diverse bedrijven in dit digitale tijdperk. Code-signing machine-identiteiten bieden een cruciale verdedigingslaag tegen deze gevaren door de veilige distributie en levering van software-updates mogelijk te maken en organisaties te helpen bij het naleven van wettelijke vereisten. Ze bieden ook een manier om de betrouwbaarheid en authenticiteit van de code te bevestigen. Organisaties kunnen de beveiliging van hun systemen en data verbeteren door code-signing machine-identiteiten te implementeren in hun algehele cybersecuritystrategie. Dit helpt bedrijven hun netwerken te beschermen tegen schadelijke code en applicaties.
