Aanpakken van kwetsbaarheden in software

04-06-2012 Hoe lastig is het voor ontwikkelaars en ontwerpers om kwetsbaarheden in software te voorkomen? Een nieuwe richtlijn moet hulp bieden.

De NPR-ISO/IEC TR 24772 ‘Information technology - Programming languages - Guidance to avoiding vulnerabilities in programming languages through language selection and use’ helpt ontwikkelaars en ontwerpers kwetsbaarheden in software te voorkomen.

Kwetsbaarheid & risico’s

Softwareprogramma’s kunnen kwetsbaar zijn voor verschillende soorten incidenten of anders werken dan oorspronkelijk bedoeld door de ontwikkelaar of ontwerper. Dit ‘kwetsbaar zijn’ kan een risico vormen voor de veiligheid van een systeem en door ‘cybercriminelen’ worden aangegrepen om de beveiliging of privacy van een systeem aan te vallen.

Meerdere oorzaken

Kwetsbaar zijn van softwareprogramma’s kan het gevolg zijn van meerdere oorzaken, bijvoorbeeld het ontbreken van eenvoudige ontwikkel/ontwerp- en testprocessen, of het onvoldoende of onvolledig uitwisselen van informatie, of onvoldoende toezicht en sturen, of onvoldoende kennis en ervaring, of het niet goed testen. Maar programmeertalen kunnen zelf ook één van de oorzaken zijn. Zo kunnen programmaconstructies onvolledig gespecificeerd zijn, kunnen ze niet gedefinieerd gedrag vertonen of zijn ze moeilijk om juist toe te passen.

Voor wie, waarvoor

De NPR-ISO/IEC TR 24772 is opgesteld om te voorzien in een richtlijn, voor meerdere programmeertalen, voor ontwikkelaars en ontwerpers van softwareprogramma’s. Met deze publicatie is men beter in staat om programma-constructies te voorkomen die leiden tot kwetsbaarheden als gevolg van een gekozen programmeertaal. De richtlijn kan ook worden gebruikt bij het selecteren van evaluatie-gereedschap voor de broncode (source-code). Goed gereedschap moet in staat zijn bekende constructies die kunnen leiden tot kwetsbaarheden te ontdekken en te verwijderen. De richtlijn kan ook worden gebruikt bij het selecteren van een geschikte programmeertaal om te anticiperen op verwachte risico’s.

Volledigheid

De richtlijn is per definitie niet volledig. Het is praktisch niet haalbaar om te voorzien in een volledige lijst met kwetsbaarheden veroorzaakt door programmeertalen. Nieuwe kwetsbaarheden aangaande programmeertalen worden continu ontdekt op het niveau van system software interfaces, application software interfaces of service software interfaces. De richtlijn beschrijft hoe kwetsbaarheden die tot heden zijn gevonden, kunnen worden gekarakteriseerd, kunnen worden ontdekt, en kunnen worden aangepakt.

Meer normen, informatie

Voor vragen en meer informatie over standaardisatie en normalisatie aangaande het werkgebied ‘Systeem- en programmatuurontwikkeling’, of heeft u interesse in het lidmaatschap van de hierbij betrokken normcommissie neem dan gerust contact op met de secretaris, Ton van Bergeijk, telefoon (015) 2 690 126, e-mail kid@nen.nl.

Eerder door u bekeken

Ook interessant voor u