Vad är säker kodning?
Säker kodning syftar till att undvika lätt förhindrande kodningsfel som skapar säkerhetsrisker. Forskning om mjukvarufarbarhet visar att ett stort antal utnyttjande är rotade i en liten grupp vanliga programmeringsfel. Analytiker publicerar information om dessa fel för att göra kodare medvetna om problemet och uppmuntrar dem att använda bättre säkerhet vid design och implementering av programvara. Specifika protokoll har utvecklats för vissa programmeringsspråk, som Java ™, för att ge vägledning till programmerare och hjälpa dem att undvika vanliga fallgropar.
I denna process använder kodare standarder och metoder som eliminerar vanliga säkerhetsproblem. Problem med kod kan uppstå av olika skäl, inklusive dålig kontroll av behörigheter och knoppbuffertprotokoll. Dessa kanske inte identifieras under utveckling eller testning, men kan bli uppenbara efter utsläpp. Hackare som söker utnyttjande kan specifikt vara riktiga för vanliga svaga punkter i programvara och kan hitta dem genom att testa gränserna, vilket gör att de kan utveckla riktade attacker. Säker kodning kan eliminera dessa enkla exploater.
Protokoll som används i säker kodning skapar en defensiv strategi för mjukvaruutveckling. När människor implementerar funktioner för att tillhandahålla funktionalitet och tillgodose behoven hos kunder stänger de också alla kryphål som kan utvecklas under designprocessen. Säker kodning kan vara ett särskilt problem med kod som är utformad för användning online, där användare kan ha slappa inställningar i sina webbläsare, förutsatt att kod som härrör från en känd webbplats är betrodd. Om en sajtkod är sårbar för hacking kan den kapas och plantera skadlig kod på besökarnas datorer och mobila enheter.
Programvaruutvecklare skapar en balans mellan funktionalitet och säkerhet. Vissa säkerhetsåtgärder skulle göra program extremt svåra att använda och kan utgöra hinder för full användning. Att låta människor använda program utan säkerhet kan dock utsätta dem för fara. Det kan också vara ett hot mot datornätverk som helhet; en användare med en infekterad dator i ett universitetsnätverk, till exempel, kan orsaka problem för många andra användare, inklusive känsliga laboratorier som kan vara anslutna till nätverket för åtkomst.
Enskilda programmerare kan använda en mängd olika taktiker för säker kodning, förutom att följa protokoll som har upprättats för specifika programmeringsspråk. Dessa kan inkludera konsistens och tydlighet i kodningen för att begränsa förvirring och göra det möjligt för andra programmerare att arbeta med samma kod. I samarbetsinsatser kan försök att lossa en annan kod skapa problem som innehåller säkerhetsproblem.