Computerwetenschappers van onder meer het SANS Institute en de Amerikaanse inlichtingendienst NSA (National Security Agency) publiceren de top 25 van gevaarlijkste fouten in software. In de lijst van 2010 staan - net als in die van vorig jaar - oude bekende fouten, die kwaadwillenden mogelijkheden bieden om in te breken bij bedrijven.

Veelgebruikte middelen zoals cross-site scripting en code-injectie bij SQL-databases hebben cybercriminelen al flink wat opgeleverd. Deze 25 softwarefouten zijn gebruikt bij nagenoeg alle grote cyberinbraken van de afgelopen tijd, inclusief die bij Google en 33 andere Amerikaanse bedrijven.

Advies voor ict-contracten

Opvallend is niet alleen deze opsomming van programmeerfouten door SANS en de 30 medewerkende organisaties. De samenstellers van de zwarte lijst komen nu ook met advies voor bedrijven hoe contracten met ict-leveranciers op te stellen om aansprakelijkheid af te dwingen.

Een cybersecurity-werkgroep van de staat New York heeft een standaardcontract opgezet voor de aanschaf van software. Daarbij wordt de leverancier verplicht maatregelen te nemen om zijn code door te nemen op fouten, al dan niet voortgekomen uit slordig programmeren. Een verplichte - en herhaalde - beveiligingstraining voor ontwikkelaars én het lichten van hun doopceel hoort hier ook bij.

Maatwerk

Verder krijgt de leverancier de verplichting security-fouten te repareren voordat software wordt geleverd. Dat kan vooral veel problemen en geld schelen in het geval van maatwerk, waarbij het oplossen van gaten buiten de oorspronkelijke aanschaf - en dus budget - kan vallen.

Het SANS Institute biedt een Engelse en Japanse versie van deze security-clausules voor softwarecontracten. Het noemt dit, samen met twee andere initiatieven, de eerste stappen die kopers en gebruikers van software in staat stellen terug te vechten. De andere twee initiatieven zijn de top 25 van meestgemaakte fouten en een certificeringsprogramma voor veilig ontwikkelen.

Ook voor beheerders

De lijst is dus niet alleen bedoeld voor developers, maar ook voor beheerders, cio's en softwareleveranciers. Het is immers aan beheerders om beperkende maatregelen te nemen, aan cio's om zich bewust te zijn van de veelvoorkomende fouten, en aan leveranciers om de hele lijst zo veel mogelijk te voorkomen.

De top 25 is net als vorig jaar opgedeeld in 3 categorieën: onveilige interactie tussen computers, risicovol beheer van middelen, en gaten in de ict-verdediging. De eerste categorie noemt cross-site scripting en SQL-injection, maar ook het toestaan van onbeperkt uploaden van schijnbaar onschuldige bestandstypes (zoals .asp- en .php-bestanden die automatisch uitgevoerd kunnen worden door een webserver).

Controle en beperkingen

De tweede categorie bevat naast de 'klassieke' buffer overflow ook tekortschietende - of zelfs geheel ontbrekende - controles van software en beveiligingssystemen op ongebruikelijke zaken. Dat zijn omstandigheden of gebeurtenissen zoals het vollopen van het geheugen of componenten die zich misdragen. Vaak worden die zaken namelijk doelbewust door kwaadwillenden veroorzaakt om een voet tussen de deur te krijgen. "Wat security betreft, loont het om cynisch te zijn", meldt de top 25 bij dit item.

De derde categorie bevat fouten waar ict-gebruikende organisaties zelf het meeste aan kunnen doen. Dit zijn zaken als het niet gebruiken van encryptie voor opslag of verzending van gevoelige data. Maar ook het toestaan van meer rechten voor bepaalde gebruikers dan zij strikt gezien nodig hebben.