Wat is veilige codering?
Veilige codering probeert gemakkelijk te voorkomen codeerfouten die beveiligingsrisico's veroorzaken te voorkomen. Onderzoek naar softwarekwetsbaarheid laat zien dat een groot aantal exploits zijn geworteld in een kleine groep veelvoorkomende programmeerfouten. Analisten publiceren informatie over deze fouten om codeerders bewust te maken van het probleem en hen aan te moedigen betere beveiliging te gebruiken bij het ontwerpen en implementeren van software. Voor sommige programmeertalen, zoals Java ™, zijn specifieke protocollen ontwikkeld om programmeurs te begeleiden en algemene valkuilen te voorkomen.
In dit proces gebruiken codeerders standaarden en werkwijzen die veel voorkomende beveiligingsproblemen oplossen. Problemen met code kunnen om verschillende redenen optreden, waaronder een slechte controle van machtigingen en protocollen voor het bufferen van knoppen. Deze worden mogelijk niet geïdentificeerd tijdens het ontwikkelen of testen, maar kunnen duidelijk worden na de release. Hackers die op zoek zijn naar exploits kunnen specifiek zijn voor veelvoorkomende zwakke punten in software en kunnen deze vinden door de grenzen te testen, waardoor ze gerichte aanvallen kunnen ontwikkelen. Veilige codering kan deze eenvoudige exploits elimineren.
Protocollen die worden gebruikt bij veilige codering creëren een defensieve benadering van softwareontwikkeling. Naarmate mensen functies implementeren om functionaliteit te bieden en aan de behoeften van klanten te voldoen, sluiten ze ook eventuele lacunes in de loop van het ontwerpproces. Beveiligde codering kan een bijzonder probleem zijn met code die is ontworpen voor online gebruik, waarbij gebruikers mogelijk losse instellingen in hun browsers hebben, ervan uitgaande dat code afkomstig van een bekende site vertrouwd is. Als de code van een site kwetsbaar is voor hacken, kan deze worden gekaapt en schadelijke code worden geplant op de computers en mobiele apparaten van bezoekers.
Softwareontwikkelaars vinden een balans tussen functionaliteit en beveiliging. Sommige beveiligingsmaatregelen zouden programma's uiterst moeilijk te gebruiken maken en kunnen een belemmering vormen voor volledig gebruik. Als mensen programma's zonder enige beveiliging gebruiken, kunnen ze echter aan gevaar worden blootgesteld. Het kan ook een bedreiging zijn voor computernetwerken als geheel; een gebruiker met een geïnfecteerde computer op een universiteitsnetwerk kan bijvoorbeeld problemen veroorzaken voor tal van andere gebruikers, waaronder gevoelige laboratoria die mogelijk met het netwerk zijn verbonden voor toegang.
Individuele programmeurs kunnen verschillende tactieken gebruiken voor veilige codering, naast de volgende protocollen die zijn opgesteld voor specifieke programmeertalen. Deze kunnen consistentie en duidelijkheid in codering omvatten om verwarring te beperken en het voor andere programmeurs mogelijk te maken om aan dezelfde code te werken. Bij gezamenlijke inspanningen kunnen pogingen om een andere code te ontwarren problemen veroorzaken die beveiligingsproblemen veroorzaken.