Vad är kodsignering?
Hackare tar ofta programvara - oavsett om det är offline eller online - ordna om och ändra koden för att göra den skadlig, och ladda sedan upp den online så att användare laddar ner gratisprogrammet och den skadliga koden den innehåller. För att säkerställa att användare inte stöter på detta problem används kodsignering. Kodsignering är en metod genom vilken den ursprungliga programmeraren eller företaget som skapade programmet signerar programmet och när programmet är installerat autentiseras det för att säkerställa att programmet inte har lagt till eller ändrat någon kodning. Detta kräver ingen speciell programvara på användarens sida och användaren kan verifiera programmerarens identitet. Även om detta är avsett som en form av säkerhet, kan en hacker som skapar ett program eller hittar bort omkring en signering skapa konstgjorda och missplacerade förtroende.
Program säljs ständigt både online och offline. När någon köper ett program offline från en betrodd leverantör eller återförsäljare har användaren väldigt liten anledning att oroa sig för att hackare injicerar skadlig kod i programmet. Detta beror på att om inte programvaruutvecklaren avsiktligt skapade ett farligt program, finns det inget sätt för någon att manipulera med programvaran och göra det skadligt. När en användare laddar ner ett program från Internet finns det ingen sådan garanti.
För att skydda användare som köper eller laddar ner program online implementeras kodsignering. Kodsignering är uppdelad i två delar: utvecklaren och slutanvändaren. Utvecklaren använder en kryptografisk hash, en enkelriktad operation som döljer programkoden och sedan kombinerar hans eller hennes privata nyckel med hash. Detta skapar en signatur som implanteras på programmet.
När användaren tar emot programmet inträffar den andra delen av kodsigneringsprocessen. Programmet undersöker certifikatet och en offentlig nyckel som programmeraren placerade i programmet. Med den offentliga nyckeln kan programmet köra samma hash på den aktuella programmeringen och sedan kontrollerar det originalet mot den aktuella versionen som installeras. Om både det installerade programmet och den ursprungliga synkroniseringen visar användaren att ingenting har ändrats. Den här processen utförs automatiskt, och de program som behövs för denna autentisering bör förinstalleras på datorns operativsystem (OS).
Medan kodsignering är en kraftfull metod för att säkerställa säkerhet, har den dock brister. Om användaren laddar ner ett program från en hacker, kommer autentiseringen att visa att det ursprungliga programmet är intakt. Detta skulle leda en användare till en falsk känsla av säkerhet; programmet är skapat för att vara skadligt, så att säkerhet inte uppnås i detta avseende. Sofistikerade hackare kan också ta sig runt hasjen för att injicera kodning, vilket gör kodsignering värdelös.