Top 25 softwaremissers slaat in

16 januari 2009
Het merendeel van de gevaarlijke programmeerfouten wordt door de softwareontwikkelaars niet begrepen, concludeert een geshockeerde projectleider Bob Martin. Hij leidde het Top 25 Errors Initiative, een gezamenlijk project van het gerenommeerde SANS Institute voor online beveiliging, en MITRE, de organisatie die collectieve kennis over system engineering en IT inzet voor de publieke zaak. In dit project werd de top 25 samengesteld door experts van dertig organisaties uit het bedrijfsleven en de academische wereld, waaronder Oracle, Microsoft, Apple, Symantec, Department of Homeland Security en CERT.

Een belangrijk probleem is, volgens projectleider Martin, dat programmeurs in hun opleiding onvoldoende onderwezen krijgen hoe de fouten vermeden kunnen worden. Het is echter niet de eerste keer dat een lijst met gevaarlijke softwarefouten is opgesteld. De meeste opsommingen zijn echter zo lang dat programmeurs ze onmogelijk kunnen onthouden.

Het is wel de eerste keer dat het accent op de softwarefouten ligt en niet op de kwetsbaarheden die daar het gevolg van zijn. “Door de 25 gevaarlijkste bij elkaar te zetten, kun je ze bij wijze van spreken aan je monitor plakken”, zegt Tobias Kuipers, technisch directeur van de Software Improvement Group.

De motivatie om aandacht te besteden aan veiligheid ontbreekt, stelt Walter Belgers, ethisch hacker bij IT-beveiligingsbedrijf Madison Ghurka. Programmeurs worden afgerekend op de functionaliteit van een programma en de tijd waarin het tot stand wordt gebracht, en niet op de veiligheid.
Bovendien zijn de gevolgen van onveilige software voor de ontwikkelaar beperkt. Wanneer opgeleverde software na verloop van tijd ‘lek’ blijkt, is verhaal halen in praktijk lastig. Het betreffende projectteam is ontmanteld. Belgers: “Opdrachtgevers kunnen, door het opnemen van deze lijst in het pakket functionele eisen, voorkomen dat de software met deze fouten wordt opgeleverd.”

Kuipers vindt dat echter een gevaarlijke aanpak. Door te specifiek vast te leggen welke fouten niet in de software mogen voorkomen, heeft een klant geen poot om op te staan wanneer een lek door fout 26 van de lijst ontstaat. “En reken maar dat de ‘boeven’ zich na publicatie van de top 25 op fout 26 zullen richten.”

Leo van Koppen, lector Informatiebeveiliging, zegt dat de Haagse Hogeschool veel aandacht besteedt aan systeembeveiliging maar dat software een relatief zwakke plek in het geheel blijft vanwege de complexiteit en de grote hoeveelheid regels code en het hergebruik van programmamodules. Hij constateert echter dat in ‘hardcore’-programmeuropleidingen de aandacht voor veilig programmeren minder is.

Hij erkent dat het voor opleiders lastig is veilig programmeren voor het voetlicht te brengen. “Studenten hebben maar al te vaak meer oog voor functionaliteit dan voor kwaliteit.” Samen met Sogeti is hij er daarom onlangs in een workshop met studenten mee aan de slag gegaan, onder meer door toepassing van analysehulpmiddelen die gratis door de Open Web Application Security Project (OWASP) ter beschikking worden gesteld.

Van Koppen: “Pas wanneer binnen de huidige methodologie betrouwbaarheidsfactoren zoals integriteit en vertrouwelijkheid als een functionaliteit in de ontwikkeling van software worden meegenomen, ingebouwd en worden gecontroleerd bij het testen en in codereviews, wordt software enigszins betrouwbaar.”

Softwarebouwer Capgemini ziet de lijst als welkome checklist om de kwaliteit van de dienstverlening verder te verbeteren. “Wat wij minimaal doen, is kijken welke van de fouten uit deze lijst ontbreken in onze programmeerchecklists”, zegt de woordvoerster.

Concurrent Logica vindt dat de lijst een hoge educatieve waarde heeft maar dat de praktische toepassing beperkt is. Zo concentreert deze lijst zich op lekken in applicaties die van buitenaf benaderbaar zijn. “Als een soortgelijke lijst wordt opgesteld voor een ander type applicatie, zou hij er weer anders uitzien. De aanpak kan echter wel goed worden gebruikt. Logica zegt liever een systeem van reviews door senior ontwikkelaars te vertrouwen om ‘tunnelvisie door bovenmatig vertrouwen op lijsten’ te voorkomen.

TOP 25
 
Lees het hele artikel
Je kunt dit artikel lezen nadat je bent ingelogd. Ben je nieuw bij AG Connect, registreer je dan gratis!

Registreren

  • Direct toegang tot AGConnect.nl
  • Dagelijks een AGConnect nieuwsbrief
  • 30 dagen onbeperkte toegang tot AGConnect.nl

Ben je abonnee, maar heb je nog geen account? Laat de klantenservice je terugbellen!