Codeondertekening is een beveiligingsmechanisme dat wordt gebruikt om de authenticiteit en integriteit van digitale code te verifiëren. Het omvat het toevoegen van een digitale handtekening aan code, waarmee gebruikers kunnen vaststellen wie de code heeft gemaakt en of ermee is geknoeid. Codeondertekening wordt vaak gebruikt om uitvoerbare bestanden, bibliotheken en scripts te ondertekenen, maar kan ook worden gebruikt om Excel-macrobestanden te ondertekenen.
Wat is codeondertekening?
Codeondertekening is een beveiligingspraktijk waarbij software digitaal wordt ondertekend met een certificaat om de authenticiteit en integriteit ervan te verifiëren. Codeondertekeningscertificaten worden uitgegeven door vertrouwde certificeringsinstanties (CA) en eindgebruikers de mogelijkheid bieden om te controleren of de software die ze downloaden of uitvoeren, niet is gemanipuleerd of gewijzigd sinds de ondertekening door de uitgever van de software.
Dit helpt voorkomen dat malware en andere schadelijke software op de systemen van gebruikers worden verspreid en geïnstalleerd. Om vertrouwen in een digitale handtekening te creëren en te garanderen dat er niet met de code is geknoeid, vereisen populaire codeondertekeningstools zoals Microsoft Authenticode en Java Code Signing meestal een digitaal certificaat uitgegeven door een vertrouwde externe certificeringsinstantie.
Excel-bestanden ondertekenen
Excel-macrobestanden worden gebruikt om taken in Microsoft Excel te automatiseren. Ze kunnen macro's bevatten: kleine programma's die repetitieve taken automatiseren, zoals het opmaken van gegevens of het genereren van rapporten. Macrobestanden kunnen worden gemaakt met de programmeertaal VBA (Visual Basic for Applications) en kunnen worden opgeslagen met de bestandsextensie .xlsm.
Bedreigingen van macro-economische factoren
Hoewel Office-macro's de beste optie blijven voor bedrijfskritische processen, vormen ze ook een groot beveiligingsrisico. Macro's worden binnen Office-documenten uitgevoerd met dezelfde rechten als de persoon die ze heeft geopend. Macro's verhogen hun rechten nog verder door gebruik te maken van extra exploits, waardoor macro's een krachtig hulpmiddel zijn voor hackers om een organisatie te infiltreren.
Maar wat maakt Macro zo vreselijk? In tegenstelling tot andere programma's gebruiken mensen Office-documenten zonder aarzelen. Vervolgens is er slechts één klik nodig om de macro-uitvoering in te schakelen, wat bijzonder eenvoudig te realiseren is met behulp van social engineering door instructies in een e-mail of zelfs in het document zelf te integreren.
Beheerders komen vaak in de knel als het om macro's gaat, voornamelijk om de volgende redenen:
- Het is bijna onmogelijk om beleidsinstellingen te bieden die kan definiëren welke macro's mogen worden uitgevoerd.
- Beleidskaders zoals toepassingsbeheer/whitelisting werkt niet voor macro's.
- Sommige kwaadaardige macro's kunnen malware-detectoren omzeilen.
Nu rijst de vraag: wat kunnen we doen om onszelf te beschermen tegen macro-dreigingen? Het antwoord is simpel., implementeer Macro Signing om veilige eindgebruikersbeleidsregels te creëren.
Door een Excel-macrobestand te ondertekenen, kunt u ervoor zorgen dat gebruikers de code in het bestand kunnen vertrouwen en dat er niet mee is geknoeid. Het digitaal ondertekenen van de macro's van uw organisatie vormt de basis voor de beleidsmogelijkheden van MS Office. Dit stelt u in staat om
- Gebruik groepsbeleid om alleen uitvoering toe te staan voor macro's die zijn ondertekend met vertrouwde certificaten, en
- Wijs vertrouwde certificaten toe aan gebruikers en groepen.
Met CodeSign Secure kunnen we het ondertekenings- en verificatieproces vereenvoudigen. Ons proces omvat: client-side hashing om de serversnelheid te verhogen en HSM's te gebruiken om persoonlijke sleutels op te slaan. Zo wordt het aanvalsoppervlak geminimaliseerd en kunnen bestanden snel en veilig worden ondertekend.
Beperkingen in huidige benaderingen
Uit deze tabel blijkt dat gemakkelijk toegankelijke beleidsregels ofwel onvoldoende beveiligd zijn ofwel een onaanvaardbaar negatieve impact op de bedrijfsvoering hebben:
| Methode | Beveiligings niveau | Implementatie | Business Impact | Opmerkingen |
|---|---|---|---|---|
| Laat gebruikers beslissen of ze de uitvoering van macro's willen inschakelen | Medium | Hoge | Hoge | Je kunt er niet altijd op vertrouwen dat gebruikers de beste keuzes maken |
| Macro-uitvoering inschakelen | Laag | Hoge | Hoge | Het is nooit gepast om dit in te schakelen. |
| Schakel de uitvoering van macro's uit, behalve voor digitaal ondertekende macro's | Gemiddeld hoog | Medium | Hoge | Het proces van digitale ondertekening in Office is arbeidsintensief en vereist dat macroschrijvers toegang hebben tot de persoonlijke sleutels van hun ontwikkel-pc. |
| Schakel de uitvoering van macro's uit, behalve voor gebruikers die ze nodig hebben | Gemiddeld hoog | Laag | Medium | Elk van deze gebruikers is nog steeds gevaarlijk, en hun aantal neemt vaak toe. |
| Macro-uitvoering uitschakelen, behalve voor bepaalde opslaglocaties | Gemiddeld hoog | Gemiddeld hoog | Gemiddeld hoog | Hoewel hierdoor het aantal directe online- en e-mailaanvallen afneemt, kan iedereen nog steeds een schadelijk document op een betrouwbare plek achterlaten. |
| Macro-uitvoering voor iedereen uitschakelen | Hoge | Hoge | Laag | Zeer veilig, maar vaak onrealistisch |
| CodeSign Secure gebruiken Schakel de uitvoering van macro's uit, behalve voor digitaal ondertekende macro's | Hoge | Hoge | Hoge | Zorg voor een veiligere procedure die voldoet aan het macro-uitvoeringsbeleid voor het ondertekenen, autoriseren en goedkeuren van beleid. |
Stapsgewijs ondertekeningsproces
Hier zijn de stappen om een Excel-macrobestand te ondertekenen. Eerst moeten we de vereiste tools installeren.
Stap 1
Wij moeten installeren Windows SDK, die bibliotheken en tools biedt voor het bouwen van Windows-apps. Deze development kit installeert een tool genaamd signtool, die deel uitmaakt van de Windows SDK. Klik op Download the Installer en voer het uit zodra het downloaden is voltooid.
U kunt ervoor kiezen om alleen de Windows SDK Signing Tools voor desktop-apps te installeren.
Let op: Onthoud het standaardpad dat wordt weergegeven bij installatie. Dit is handig als u deze opdrachten uitvoert vanaf de opdrachtprompt.

Op de pagina Windows Kits Privacy is elke optie om Microsoft toestemming te geven om inzichten te verzamelen in orde. Klik op Volgende.

Accepteer de licentieovereenkomst

Deselecteer alle functies behalve Windows SDK-ondertekeningshulpmiddelen voor desktop-apps, Selecteer vervolgens 'Installeren'. We hebben niet alle functies nodig om het ondertekeningsproces te laten werken.

Wanneer u wordt gevraagd of u wilt toestaan dat deze app wijzigingen aanbrengt, selecteert u Ja.

Selecteer ten slotte Sluiten en voeg een pad toe aan de systeemomgevingsvariabelen om opdrachten via de opdrachtprompt effectief uit te kunnen voeren.

Klik op de Windows-zoekbalk op de taakbalk en typ 'Bewerk de systeemomgevingsvariabelen'. Selecteer vervolgens de gelijknamige optie in het Configuratiescherm.

Klik omgevingsvariabelen

Voordat u de variabelenlijst bewerkt, navigeert u met behulp van de bestandsverkenner naar de locatie waar de Windows SDK is geïnstalleerd. U moet het pad kopiëren van de map waarin de SignTool-toepassing zich bevindt. Het standaardpad is C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64, Zie de onderstaande schermafbeelding. Klik met de rechtermuisknop en kopieer het pad zoals weergegeven. U kunt ook de SignTool-applicatie onderaan de bestandslijst zien; dit is de opdracht die u gaat uitvoeren.

Klik in de lijst Systeemvariabelen op Nieuw. Typ vervolgens Pad als variabelenaam en kopieer en plak het bovengenoemde pad. Klik vervolgens op OK aan de omgeving houden variabelen venster en system vastgoed venster.

Om de installatie te testen, opent u de opdrachtprompt en typt u tekengereedschap, en de uitvoer zou er dan als volgt uit moeten zien.

De standaard installatielocatie voor signtool is bijvoorbeeld: C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64
Stap 2
Download en installeer de Onderwerpinterfacepakket voor het digitaal ondertekenen van Microsoft Office-bestanden
Deze link gaat naar de downloadpagina van Microsoft voor een Interface Package. Deze download bevat twee Subject Interface Package (SIP)-bibliotheken die de digitale ondertekening en handtekeningverificatie van Visual Basic for Applications-projecten ondersteunen in de meeste Office-bestandsindelingen die VBA-macro's ondersteunen. Deze zijn vereist om SignTool .xls- en .xlsm-bestanden te laten herkennen. Volg na het downloaden van het installatieprogramma de onderstaande stappen.

Nadat het .exe-bestand is gedownload, opent u het en kiest u een installatiemap, of maakt u een nieuwe map zoals hieronder weergegeven:

Er wordt aangegeven dat de bestanden succesvol zijn uitgepakt en dat uw installatiemap een aantal bestanden bevat. Dit zijn de bibliotheken die essentieel zijn voor het inschakelen van Excel-macro's. We moeten een paar opdrachten uitvoeren om deze .dll-bestanden in het register te installeren.
Open een beheerdersopdrachtprompt en typ het volgende. Het pad is waar u zojuist de bestanden hebt geïnstalleerd:
regsvr32.exe
regsvr32.exe
Ga voor meer informatie over het registreren van OLE-besturingselementen naar Microsoft's website.
Als dit lukt, ziet u een bericht: “DIIRegister Server in geslaagd."
Stap 3
Vervolgens moeten we de Microsoft Visual C++ Redistributable Installer downloaden. Deze bibliotheken zijn vereist voor veel applicaties die gebouwd zijn met Microsoft C- en C++-tools. Omdat de tools die we gebruiken deze bibliotheken nodig hebben, is het noodzakelijk om ze te installeren. Zie voor meer informatie Microsoft's documentatie.
Downloadlink voor Microsoft Visual C++ Redistributable Installer:
Voer het installatieprogramma uit, accepteer de algemene voorwaarden en klik installeren.


Stap 4
Nu kunnen we de opdrachtprompt gebruiken om onze bestanden te ondertekenen. Het ondertekenen van Windows Excel-macrobestanden is mogelijk met de opdracht signtool. /kc zal de naam van uw certificaat zijn, /f zal het pad naar het certificaat.pem-bestand zijn, /fd en /td zijn de gewenste algoritmen, /csp is de naam van de crypto-opslagprovider (in dit geval Encryption Consulting Key Storage Provider), /tr is het adres van de tijdstempelserver, daarna de /td SHA256 is het pad tussen aanhalingstekens van het te ondertekenen bestand.
Met dit geval van macro-ondertekening kunt u gebruiken .xls of .xlsm bestandsextensies en voer de ondertekeningsopdracht uit.
signtool sign /csp “Encryptie Consulting Sleutelopslagprovider” /kc evcodesigning /f C:\Gebruikers\Beheerder\Bureaublad\VoorTesten\evcodesigning.pem /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 “C:\Gebruikers\Beheerder\Bureaublad\VoorTesten\MacroTest.xlm”

Stap 5
Nadat u het bestand heeft ondertekend, kunt u het verifiëren en de informatie erover bekijken. Om het ondertekende bestand te verifiëren, gebruikt u eenvoudig de opdracht verify:
signtool.exe verifiëren /pa C:\Users\Administrator\Desktop\ForTesting\MacroTest.xlsm

Conclusie
Zodra het Excel-macrobestand is ondertekend, zien gebruikers die het openen een waarschuwing dat het bestand macro's bevat. Ze zien ook de digitale handtekening en kunnen controleren of deze geldig is. Als de digitale handtekening niet geldig is, krijgen gebruikers een waarschuwing dat het bestand mogelijk schadelijke code bevat en mogelijk niet veilig is om te openen.
Kortom, het integreren van code signing in softwarebeveiliging is cruciaal om deze te beschermen tegen malware-aanvallen en manipulatie. Code Sign Secure van Encryption Consulting biedt verschillende voordelen, waaronder naadloze integratie met ontwikkelworkflows, robuuste authenticatie en encryptie, en aanpasbare prijsopties. Ga voor meer informatie over hoe u Code Sign Secure kunt gebruiken naar: Code Sign-oplossing of neem contact met ons op via: info@encryptionconsulting.com
