Hvad er sikker kodning?
Sikker kodning søger at undgå let forebyggelige kodningsfejl, der skaber sikkerhedsrisici. Forskning i softwaresårbarhed viser, at et stort antal udnyttelser er rodfæstet i en lille gruppe af almindelige programmeringsfejl. Analytikere offentliggør oplysninger om disse fejl for at gøre kodere opmærksomme på problemet og opfordrer dem til at bruge bedre sikkerhed i design og implementering af software. Der er udviklet specifikke protokoller til nogle programmeringssprog, f.eks. Java ™, for at give vejledning til programmerere og hjælpe dem med at undgå fælles faldgruber.
I denne proces bruger kodere standarder og praksis, der eliminerer almindelige sikkerhedsproblemer. Problemer med kode kan opstå af forskellige årsager, herunder dårlig kontrol med tilladelser og knoppepufferprotokoller. Disse identificeres muligvis ikke under udvikling eller testning, men kan blive synlige efter frigivelse. Hackere, der søger udnyttelse, kan specifikt være på linje med fælles svage punkter i software og kan finde dem ved at teste grænserne, som giver dem mulighed for at udvikle målrettede angreb. Sikker kodning kan fjerne disse lette udnyttelser.
Protokoller, der bruges til sikker kodning, skaber en defensiv tilgang til softwareudvikling. Når folk implementerer funktioner til at give funktionalitet og imødekomme kundernes behov, lukker de også eventuelle smuthuller, der måtte udvikle sig under designprocessen. Sikker kodning kan være et særligt problem med kode designet til brug online, hvor brugere kan have slappe indstillinger på deres browsere, under forudsætning af at kode, der stammer fra et kendt sted, er tillid til. Hvis et websteds kode er sårbar over for hacking, kan det blive kapret og plantet ondsindet kode på besøgendees computere og mobile enheder.
Softwareudviklere skaber balance mellem funktionalitet og sikkerhed. Nogle sikkerhedsforanstaltninger ville gøre programmer ekstremt vanskelige at bruge og kan udgøre hindringer for fuld brug. At tillade folk at bruge programmer uden nogen sikkerhed, kan dog udsætte dem for fare. Det kan også være en trussel mod computernetværk som helhed; en bruger med en inficeret computer på et universitetsnetværk kan for eksempel forårsage problemer for mange andre brugere, herunder følsomme laboratorier, der muligvis er forbundet til netværket for at få adgang.
Individuelle programmerere kan bruge en række forskellige taktikker i sikker kodning ud over følgende protokoller, der er oprettet for specifikke programmeringssprog. Disse kan omfatte konsistens og klarhed i kodning for at begrænse forvirring og gøre det muligt for andre programmerere at arbejde på den samme kode. I samarbejdsindsats kan forsøg på at fjerne en anden kode skabe problemer, der giver sikkerhedsproblemer.