Hoppa till innehåll

47-dagarscertifikat kommer. Är du redo?

Agera nu →

Hur man signerar ett Excel-makroprojekt med SignTool

Signera Excel-makroprojekt med SignTool

Kodsignering är en säkerhetsmekanism som används för att verifiera äktheten och integriteten hos digital kod. Det innebär att man lägger till en digital signatur i kod, vilket gör det möjligt för användare att avgöra vem som skapade den och om den har manipulerats. Kodsignering används ofta för att signera körbara filer, bibliotek och skript, men det kan också användas för att signera Excel-makrofiler.

Vad är kodsignering?

Kodsignering är en säkerhetspraxis som innebär att programvara signeras digitalt med ett certifikat för att verifiera dess äkthet och integritet. Kodsigneringscertifikat utfärdas av betrodda certifikatutfärdare (CA) och låta slutanvändare verifiera att programvaran de laddar ner eller kör inte har manipulerats eller modifierats sedan den signerades av programvaruutgivaren.

Detta hjälper till att förhindra att skadlig kod och annan skadlig programvara distribueras och installeras på användarnas system. För att skapa förtroende för en digital signatur och säkerställa att koden inte har manipulerats kräver populära kodsigneringsverktyg som Microsoft Authenticode och Java Code Signing vanligtvis ett digitalt certifikat utfärdat av en tredjepartscertifikatutfärdare.

Signera Excel-filer

Excel-makrofiler används för att automatisera uppgifter i Microsoft Excel. De kan innehålla makron, som är små program som automatiserar repetitiva uppgifter, till exempel formatering av data eller generering av rapporter. Makrofiler kan skapas med programmeringsspråket VBA (Visual Basic for Applications) och kan sparas med filändelsen .xlsm.

Hot från makron

Även om Office-makron fortfarande är det bästa alternativet för affärskritiska processer, utgör de också ett stort säkerhetshot. Makron körs i Office-dokument med samma rättigheter som personen som öppnade dem. För att inte tala om makron som ytterligare ökar deras privilegier genom att utnyttja ytterligare attacker, vilket gör makron till ett kraftfullt verktyg för hackare att infiltrera en organisation.

Men vad gör Makro så hemskt? Till skillnad från andra program tenderar folk att använda Office-dokument utan att tveka. Sedan krävs det bara ett klick för att aktivera makrokörning, vilket är särskilt enkelt att åstadkomma med social ingenjörskonst genom att bädda in instruktioner i ett e-postmeddelande eller till och med själva dokumentet.

Administratörer har svårt att hantera makron, främst av dessa skäl:

  • Det är nästan omöjligt att tillhandahålla policyinställningar som kan definiera vilka makron som får köras.
  • Policyramverk som Programkontroll/vitlistning fungerar inte för makron.
  • Vissa skadliga makron kan kringgå skadlig koddetektorer.

Nu uppstår frågan, vad kan vi göra för att skydda oss mot makrohot? Svaret är enkelt., implementera makrosignering för att skapa säkra slutanvändarpolicyer.

Genom att signera en Excel-makrofil kan du säkerställa att användarna kan lita på koden i filen och att den inte har manipulerats. Digital signering av organisationens makron skapar grunden för policyfunktionerna i MS Office. Detta ger dig möjlighet att...

  • Använd grupprinciper för att endast tillåta körning för makron som är signerade med betrodda certifikat, och
  • Tilldela betrodda certifikat till användare och grupper.

Med CodeSign Secure kan vi förenkla signerings- och verifieringsprocessen. Vår process innefattar klientsidans hashning för att öka serverhastigheten och använda HSM:er för att lagra privata nycklar, vilket säkerställer en låg attackyta och snabb och säker signering av filer.

Begränsningar i nuvarande metoder

Denna tabell visar hur lättillgängliga policyer antingen har otillräcklig säkerhet eller har en oacceptabelt negativ inverkan på verksamheten:

Metod Säkerhetsnivå Genomförande Business Impact Anmärkningar
Låt användarna bestämma om de ska aktivera körningen av makron Medium Hög Hög Man kan inte alltid lita på att användarna gör de bästa valen
Aktivera makrokörning Låg Hög Hög Det är aldrig lämpligt att tillåta detta.
Inaktivera makrokörning förutom för digitalt signerade makron Medelhög Medium Hög Processen för digital signering i Office är mödosam och kräver att makroskrivare har tillgång till sina utvecklingsdatorers privata nycklar.
Inaktivera makrokörning förutom för användare som behöver dem Medelhög Låg Medium Var och en av dessa användare är fortfarande farliga, och deras antal ökar ofta.
Inaktivera makrokörning förutom för vissa lagringsplatser Medelhög Medelhög Medelhög Även om direkta attacker online och via e-post kommer att minska som ett resultat av detta, kan vem som helst fortfarande lämna ett skadligt dokument på en pålitlig plats.
Inaktivera makrokörning för alla Hög Hög Låg Mycket säkert men ofta orealistiskt
Använda CodeSign Secure- Inaktivera makrokörning förutom för digitalt signerade makron Hög Hög Hög Tillhandahåll en säkrare procedur som följer makrokörningsprinciper för signeringsauktorisering och godkännandeprinciper.

Lösning för företagskodsignering

Få en lösning för alla dina behov av kodsignering och kryptografi för mjukvara med vår kodsigneringslösning.

Steg-för-steg-signeringsprocess

Här är stegen för att signera en Excel-makrofil. Först måste vi installera de nödvändiga verktygen.

steg 1

Vi måste installera Windows SDK, som tillhandahåller bibliotek och verktyg för att bygga Windows-appar. Detta utvecklingspaket installerar ett verktyg som heter signtool, vilket ingår som en del av Windows SDK. Klicka på Ladda ner installationsprogrammet och kör det när nedladdningen är klar.

Du kan välja att endast installera Windows SDK-signeringsverktygen för skrivbordsappar. 

Obs: Kom ihåg standardsökvägen som visas i installationssökvägen, eftersom det kommer att vara användbart när du kör dessa kommandon från kommandotolken. 

Windows SDK-signeringsverktyg för skrivbordsappar

På sidan Sekretess för Windows Kits är båda alternativen för att tillåta Microsoft att samla in insikter okej. Klicka på Nästa. 

Sekretesssida för Windows Kits

Godkänn licensavtalet

Licensvillkor för Windows-programvara

Avmarkera alla funktioner utom Windows SDK-signeringsverktyg för skrivbordsappar, välj sedan installera. Vi behöver inte alla funktioner för att signeringsprocessen ska fungera.

signeringsprocessen ska fungera

När du tillfrågas om du vill tillåta att den här appen gör ändringar väljer du ja. 

systemets miljövariabler

Slutligen, välj stäng, och sedan måste vi lägga till en sökväg till systemmiljövariablerna för att kunna köra kommandon från kommandotolken effektivt.

Windows-programvaruutvecklingspaket

Klicka på Windows sökfält i aktivitetsfältet och skriv "Redigera systemmiljövariablerna" och välj alternativet med samma namn på kontrollpanelen. 

Windows kontrollpanel

Klicka Miljövariabler

Windows signtool-applikation

Innan du redigerar variabellistan, navigera till var Windows SDK är installerat med hjälp av Utforskaren. Du måste kopiera sökvägen till mappen som innehåller signtool-applikationen. Standardsökvägen är C:\Programfiler (x86)\Windows-paket\10\bin\10.0.22621.0\x64, Se skärmdumpen nedan. Se till att högerklicka och kopiera sökvägen som visas. Du kan också se signtool-applikationen längst ner i fillistan, det är det kommandot du kommer att köra. 

signtool-applikation

I listan Systemvariabler klickar du på ny. Skriv sedan sökväg som variabelnamn och kopiera och klistra in den ovannämnda sökvägen. Klicka sedan på OKmiljö variabler fönster och system egenskaper fönster. 

Miljövariabler

För att testa installationen, öppna kommandotolken och skriv teckenverktyg, och utdata bör vara som visas nedan. 

standardinstallation av signtool

Standardinstallationsplatsen för signtool är till exempel: C:\Programfiler (x86)\Windows-paket\10\bin\10.0.22621.0\x64 

steg 2

Hämta och installera Ämnesgränssnittspaket för digital signering av Microsoft Office-filer

Den här länken går till Microsofts nedladdningssida för ett gränssnittspaket. Nedladdningen innehåller två SIP-bibliotek (Subject Interface Package) som stöder digital signering och signaturverifiering av Visual Basic for Applications-projekt i de flesta Office-filformat som stöder VBA-makron. Dessa krävs för att signtool ska känna igen .xls- och .xlsm-filer. Följ stegen nedan efter att du har laddat ner installationsprogrammet.

Gränssnittspaket

När .exe-filen har laddats ner, öppna den och välj en installationsmapp eller skapa en ny mapp enligt nedan:

signera Excel-makron

Det kommer att stå att filerna har extraherats, och du hittar din installationsmapp fylld med några filer. Det här är de bibliotek som är viktiga för att möjliggöra signering av Excel-makron. Vi måste köra ett par kommandon för att installera dessa .dll-filer i registret.

Öppna en administratörskommandotolk och skriv följande, sökvägen kommer att vara där du precis installerade filerna:

regsvr32.exe

regsvr32.exe  

För mer information om hur du registrerar OLE-kontroller, besök Microsofts webbplats.

Om det lyckas kommer du att se ett meddelande: "DIIRegister Server in lyckades." 

Lösning för företagskodsignering

Få en lösning för alla dina behov av kodsignering och kryptografi för mjukvara med vår kodsigneringslösning.

steg 3

Sedan måste vi ladda ner Microsoft Visual C++ Redistributable Installer. Dessa bibliotek krävs av många applikationer som byggts med Microsoft C- och C++-verktyg. Eftersom verktygen vi använder kräver dessa bibliotek är det nödvändigt att installera dem. För mer information, se Microsofts dokumentation.

Länk för nedladdning av Microsoft Visual C++ Redistributable Installer:

Ladda ner

Kör installationsprogrammet, acceptera villkoren och klicka på installera.

Microsoft Visual C++ omdistribuerbart installationsprogram
Installationen av Microsoft Visual C++ 2010 är klar

steg 4

Nu kan vi använda kommandotolken för att signera våra filer. Signera Windows Excel-makrofiler är möjligt med kommandot signtool. /kc kommer att vara namnet på ditt certifikat, /f kommer att vara sökvägen till certificate.pem-filen, /fd och /td är de önskade algoritmerna, /csp är namnet på kryptolagringsleverantören (i detta fall Encryption Consulting Key Storage Provider), /tr är adressen till tidsstämpelservern, sedan efter /td SHA256 är sökvägen inom citattecken till filen som ska signeras.

I det här fallet med makrosignering kan du använda .xls eller .xlsm filtillägg och kör signeringskommandot.  

signtool sign /csp “Krypteringskonsulttjänst för nyckellagring” /kc evcodesigning /f C:\Användare\Administratör\Skrivbord\FörTesting\evcodesigning.pem /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 “C:\Användare\Administratör\Skrivbord\FörTesting\MacroTest.xlm”

makrosignering

steg 5

Efter att du har signerat filen kan du verifiera den och lista information om den. För att verifiera den signerade filen använder du helt enkelt kommandot verify: 

signtool.exe verifiera /pa C:\Användare\Administratör\Skrivbord\FörTestning\MacroTest.xlsm 

signera filen

Slutsats

När Excel-makrofilen har signerats kommer användare som öppnar filen att se ett varningsmeddelande om att filen innehåller makron, men de kommer också att se den digitala signaturen och kan verifiera att den är giltig. Om den digitala signaturen inte är giltig kommer användarna att varnas om att filen kan innehålla skadlig kod och kan vara osäker att öppna.

Sammanfattningsvis är det avgörande att integrera kodsignering i programvarusäkerhet för att skydda den mot skadlig kod och manipulering. Encryption Consultings Code Sign Secure erbjuder olika fördelar, inklusive sömlös integration med utvecklingsarbetsflöden, robust autentisering och kryptering samt anpassningsbara prisalternativ. För att lära dig mer om hur du kan använda Code Sign Secure, besök: Kodsigneringslösning eller kontakta oss på: info@encryptionconsulting.com