Codeondertekening is een cruciaal instrument gebleken voor het waarborgen van softwarebeveiliging in de moderne digitale omgeving. Om de veiligheid van software te garanderen, is codeondertekening een essentieel onderdeel van softwareontwikkeling geworden. Codeondertekening is het proces waarbij software digitaal wordt ondertekend om de authenticiteit en integriteit van de code te verifiëren.
Het opbouwen van gebruikersvertrouwen door middel van codeondertekening, kort gezegd: een handtekening verdient alleen vertrouwen als het proces erachter afdwingbaar is, met HSM-ondersteunde sleutels, malware-scans voorafgaand aan de ondertekening, op rollen gebaseerde toegang, auditregistratie en tijdstempels, en niet alleen de aanwezigheid van een certificaat. Een ondertekend document van een platform zonder deze controles is slechts in naam betrouwbaar.
Key Takeaways
- Tijdstempeling bepaalt of ondertekende software blijft werken nadat het certificaat is verlopen; als deze stap wordt overgeslagen, eindigt de geldigheid van de software op hetzelfde moment als het certificaat, ongeacht of de code zelf nog legitiem is.
- Certificaatvernieuwing en certificaatintrekking lossen verschillende problemen op: vernieuwing is voor een geplande vervaldatum, intrekking is voor een bevestigde inbreuk, en het verwarren van de twee kan ertoe leiden dat een gecompromitteerde sleutel langer dan nodig bruikbaar blijft.
- Deze pagina beschrijft de specifieke mogelijkheden van CodeSign Secure voor verschillende bestandsformaten. Voor het onderliggende aanvalsoppervlak in de toeleveringsketen, zie Codeondertekening 101: uw softwareleveringsketen beveiligen.
Strikte beveiligingsprotocollen, krachtige cryptografische algoritmen en authenticatiemechanismen om de juistheid van de code te bevestigen zijn allemaal noodzakelijk voor het ondertekenen van code.
Het is cruciaal om te controleren of de belangrijkste besturingssystemen en browsers de certificeringsinstantie die voor codeondertekening wordt gebruikt, vertrouwen en erkennen. Het niet voldoen aan deze vereisten kan leiden tot problemen met de software, reputatieschade en een afname van het gebruikersvertrouwen.
De voordelen van codeondertekening en de Sign Tool beperken zich echter niet alleen tot softwareontwikkelaars. Ook CISO's en CTO's kunnen profiteren van deze tools door ervoor te zorgen dat de software die binnen hun organisaties wordt gebruikt veilig en betrouwbaar is. Door codeondertekening en de Sign Tool te gebruiken, kunnen ze er zeker van zijn dat alle software die binnen hun organisatie wordt gedownload en gebruikt, authentiek is en niet is gemanipuleerd. Dit kan datalekken, malware-infecties en andere beveiligingsrisico's die de organisatie schade kunnen toebrengen, voorkomen.
Het IBM-rapport 'Cost of a Data Breach' laat al jaren een gestage stijging zien van de kosten van datalekken, van 4.24 miljoen dollar in 2021 tot 4.35 miljoen dollar in 2022. Raadpleeg recentere edities van het rapport voor het actuele bedrag, aangezien deze kosten jaarlijks blijven fluctueren.
Codeondertekening biedt verschillende voordelen voor zowel softwareontwikkelaars als eindgebruikers. Het verzekert gebruikers ervan dat de software die ze downloaden authentiek is en niet is gemanipuleerd door derden. Dit vergroot het vertrouwen in de software en vergroot de kans dat gebruikers deze downloaden en gebruiken. Codeondertekening beschermt softwareontwikkelaars ook tegen diefstal van intellectueel eigendom door hun eigendom van de code te verifiëren. Het voorkomt ook de verspreiding van malware en virussen via ongeautoriseerde code.
Daarom moeten ontwikkelaars zorgvuldig nadenken over de noodzaak en vereisten voor codeondertekening.
Misschien twijfelt u nog steeds over het gebruik van code signing. Laten we eens kijken naar een cyberinbreuk om de ernst van code signing te begrijpen.
Cyberinbreuk bij SolarWinds
SolarWinds, een zeer prominent IT-bedrijf, werd gehackt. Na deze inbreuk kregen aanvallen op de toeleveringsketen meer bekendheid. Hackers kregen toegang tot Orion, het IT-monitoringsysteem van het bedrijf, dat door meer dan 30,000 bedrijven wordt gebruikt, waaronder gemeentelijke, provinciale en federale overheden. Via een software-update van Orion konden de hackers malware met een backdoor verspreiden.
Dat lijkt te eng voor een organisatie en het mag bij geen enkele organisatie gebeuren, aangezien inbreuk op de organisatiegegevens uiteindelijk neerkomt op het in gevaar brengen van gebruikersgegevens. Deze aanvallen moeten koste wat kost worden tegengegaan.
Wilt u een gedetailleerde uitleg en tijdlijn van het SolarWinds-incident? Klik dan op deze link voor uitleg van een deskundige.
Hoe kan onze organisatie helpen?
Onze organisatie heeft de meest efficiënte en gebruiksvriendelijke oplossing voor codeondertekening ontwikkeld : "CodeSign Secure". Wat maakt ons de beste op de markt?
- CodeSign Secure start met een virusscan voordat er met een ondertekeningsproces wordt begonnen. Er wordt gezocht naar virussen of malware die mogelijk in het bestand zijn geïnjecteerd voordat het wordt doorgestuurd voor ondertekening.
- CodeSign Secure maakt gebruik van client-side hashing, wat u die extra beveiligingslaag voor klanten biedt. Door een bestand bij de bron te hashen, blijft de integriteit optimaal behouden en krijgt de klant een duidelijk beeld van het bestand en wat er na ondertekening gebeurt.
- De sleutel wordt nooit vrijgegeven tijdens het ondertekenen van het bestand/de code. Het bestand wordt ondertekend in de HSMen de sleutels worden nooit aan de buitenwereld getoond.
- Onze organisatie biedt rolgebaseerde toegangscontrole voor code-/bestandsondertekening, waardoor de juiste toegang en rechten aan de gebruiker worden verleend. Zo wordt ervoor gezorgd dat alleen personen met de juiste rollen toegang hebben tot certificaten en sleutels binnen de tool.
-
Geef uw ondertekende code een tijdstempel
Vermijd het risico dat software onverwacht verloopt wanneer het codeondertekeningscertificaat verloopt. Wanneer een codeondertekeningscertificaat verloopt, vervalt ook de geldigheid van de ondertekende software, tenzij de software een tijdstempel had toen deze werd ondertekend.
- De door HSM ondersteunde sleutelopslag en toegangscontrole van CodeSign Secure voldoen aan de NIST SP 800-57-richtlijnen voor sleutelbeheer en de hardwarebeveiligingsvereisten van het CA/Browser Forum voor codeondertekeningssleutels.
- Monitor en controleer workflows voor sleutelondertekening - Certificaten en sleutels zijn gekoppeld aan specifieke applicaties. Iedereen die iets ondertekent, wordt geregistreerd in de logs van onze tool. Zo hebben we het IP-adres en de gebruikersnaam van iedereen die probeert te ondertekenen. Ze worden geblokkeerd als ze geen geldige inloggegevens hebben of als de sleutel of het certificaat is verlopen.
-
Geautomatiseerde codeondertekening inschakelen in SDLC-processen
We kunnen ondertekenen via een clienttool, via API's of via de opdrachtregel. Hierdoor is het heel eenvoudig om onze tool te integreren in SDLC-processen, waaronder tools als Jenkins en Bamboo.
-
Ondertekening van verschillende buildservers vergelijken
Onze tool controleert of de te ondertekenen code de meest recente versie is van de code op de buildservers die door de klant worden gebruikt. Zo wordt gegarandeerd dat er geen oudere of mogelijk schadelijke versie van de code wordt ondertekend.
-
Intrekken van gecompromitteerde certificaten
Certificaten die bijna verlopen, moeten worden verlengd voordat ze vervallen om te voorkomen dat er een hiaat ontstaat in de ondertekeningsmogelijkheid. Als een certificaat of sleutel echter gecompromitteerd blijkt te zijn, moet deze onmiddellijk worden ingetrokken in plaats van verlengd, aangezien intrekking, en niet verlenging, voorkomt dat de gecompromitteerde sleutel nog langer wordt gebruikt om code te ondertekenen.
Onze organisatie CodeSign Secure beschikt over een aantal fantastische tools die verschillende soorten ondertekeningsprocessen vereenvoudigen.
Maar welke bestanden kunnen ze ondertekenen? Laten we eens kijken wat er aan de hand is.
Encryptie Consulting - CodeSign Secure
Het beheren en gebruiken van verschillende tools voor verschillende soorten bestands-/certificaatondertekening kan een lastige klus zijn, vooral wanneer je overspoeld wordt door een berg verschillende bestanden die ondertekend moeten worden. Een optie is natuurlijk om je gordel om te doen en aan de slag te gaan. Het kan een eeuwigheid duren om van software te wisselen en de klus te klaren, of gewoon onze toonaangevende oplossing, CodeSign Secure, te gebruiken - een commandline- en GUI-tool voor codeondertekening.
Een naadloze oplossing waarmee u uw code en bestanden kunt beschermen tegen wijzigingen en de integriteit van de code kunt waarborgen. De opdrachtregeltool detecteert automatisch de bestandsextensie en gebruikt de juiste ondertekeningsmethode. Met slechts enkele invoergegevens retourneert CodeSign Secure het ondertekende bestand binnen een mum van tijd.
CodeSign Secure start met een virusscan voordat er met een ondertekeningsproces wordt begonnen. Er wordt gezocht naar virussen of malware die mogelijk in het bestand zijn geïnjecteerd voordat het wordt doorgestuurd voor ondertekening. Dit reduceert het risico op het ondertekenen van een geïnfecteerd bestand tot nul.
Wij geven u graag een uitgebreide uitleg over het opdrachtregelhulpprogramma CodeSign Secure.
- De gebruiker voert de bestandsnaam in. Ons product scheidt de bestanden op intelligente wijze en vindt welk ondertekeningsalgoritme zal worden gebruikt.
- Zodra is bepaald welke ondertekening moet worden uitgevoerd (Windows-ondertekening, OpenSSL-ondertekening of JAR-ondertekening), moet de gebruiker bepaalde invoer invoeren voor het ondertekeningsproces.
- Net als bij Windows Signing (bestanden zoals .dll, .exe, .sys etc.) moet de gebruiker het hash-algoritme, het pad naar het certificaatbestand, de tijdstempelserver en andere noodzakelijke gegevens invoeren. Vervolgens worden uw bestanden binnen een mum van tijd ondertekend.
CodeSign Secure is ook geschikt voor het digitaal ondertekenen van macro's . U kunt elk Excel-werkblad of Excel-sjabloon digitaal ondertekenen. De onzekerheid van de eindgebruiker over het uitvoeren van code van een onbekende bron wordt weggenomen wanneer u uw macro digitaal ondertekent, omdat uw identiteit aan de code wordt gekoppeld en uw naam in het bestand wordt weergegeven.
Wijzigingen die in de macro worden aangebracht nadat de handtekening is toegepast, zoals het introduceren van een virus, maken de handtekening ongeldig. Zo blijven uw naam en reputatie beschermd.
De andere soorten ondertekening die we doen, als we specifiek het betreffende bestandstype zien, zijn:
-
Windows-ondertekening
De Windows Signing Tool kan alle soorten Windows-bestanden ondertekenen, waaronder .exe, .dll, .sys, enz., en is geschikt voor alle Windows-zaken. We hebben onze eigen Key Storage Provider, speciaal ontwikkeld voor onze ondertekeningstool, die verbinding maakt met onze server, de client authenticeert en de betreffende Windows-bestanden ondertekent.
-
Jar Signer
Als u uw aanvraag distribueert als een JAR-, EAR- of WAR-bestand, raden we u aan een JAR-ondertekenaar te gebruiken om het JAR-bestand digitaal te ondertekenen. Dit geldt met name als anderen het archief downloaden via het openbare internet.
We bieden de gebruiker twee opties: ze kunnen het JAR-bestand op de technische manier ondertekenen, namelijk via de opdrachtprompt , of met Eclipse.
De benodigde gegevens die u aan onze opdrachtregelprogramma's moet doorgeven, zijn: bestandspad, sleutelnaam, hash-algoritme en certificaatlocatie.
-
Open SSL-ondertekening
Ondertekent binaire bestanden (.txt, .so) met OpenSSL. Het gebruikt de open-sourcetool OpenSSL om binaire bestanden en softwarebestanden (.so-bestanden) te ondertekenen met behulp van OpenSSL. De benodigde gegevens die u in onze opdrachtregeltools moet invoeren, zijn het bestandspad, de sleutelnaam en het hash-algoritme.
Veelgestelde Vragen / FAQ
Wat gebeurt er met mijn ondertekende software wanneer het codeondertekeningscertificaat verloopt?
Als de handtekening niet van een tijdstempel is voorzien, vervalt de geldigheid van de software tegelijk met het certificaat, zelfs als de code zelf nooit is gewijzigd. Door een tijdstempel toe te voegen, kan een verificator bevestigen dat het certificaat geldig was op het moment van ondertekening.
Als ik ontdek dat een certificaat is gecompromitteerd, moet ik het dan verlengen of intrekken?
Trek het onmiddellijk in. Verlenging is voor een geplande, probleemloze vervaldatum; intrekking is de maatregel die daadwerkelijk voorkomt dat een gecompromitteerde sleutel wordt gebruikt om verdere kwaadaardige code te ondertekenen.
Conclusie
Concluderend kunnen we stellen dat codeondertekening een essentieel hulpmiddel is om de veiligheid en integriteit van software te waarborgen.
Met codeondertekening weten gebruikers zeker dat de software die zij gebruiken afkomstig is van een betrouwbare bron en dat er niet mee is geknoeid door de softwarecode digitaal te ondertekenen met een speciaal digitaal certificaat.
Met onze codeondertekeningstool kunt u op een eenvoudige en efficiënte manier uw code ondertekenen en uw software beschermen. Zo voldoet de software aan de normen van de huidige, op beveiliging gerichte digitale omgeving.
Onze code-signingtool helpt u het vertrouwen van gebruikers te vergroten, u te beschermen tegen malware en online aanvallen en uw reputatie als ontwikkelaar te beschermen door gebruik te maken van krachtige encryptie-algoritmen, strikte beveiligingsprotocollen en authenticatiemechanismen. Tot slot hoeft u zich geen zorgen te maken over de authenticiteit van uw software wanneer u onze code-signingtool gebruikt.
