Veilige wachtwoordopslag geen prioriteit bij freelance-ontwikkelaars

Ontwikkelaars denken bij het schrijven van codes veelal niet aan beveiliging en een veilig manier om wachtwoorden op te slaan. Ook denkt men binnen de ontwikkelaars-community verschillend over wat veilige wachtwoorden nu eigenlijk precies zijn. Dat blijkt uit een onderzoek van de Universiteit van Bonn onder 43 freelance ontwikkelaars.

De bevindingen zijn samengebracht in het rapport ‘If you want, I can store the encrypted password –  A Password-Storage Field Study with Freelance Developers’. Het onderzoeksteam ontdekte dat het geven van specifieke instructies aan programmeurs om een beveiligd wachtwoordopslagsysteem te implementeren, betere resultaten opleverde dan helemaal niets te zeggen. Laat staan het wachten tot ontwikkelaars zelf aan beveiliging zouden denken.

Zonder nauwkeurige instructies bleken de freelance ontwikkelaars volgens ZDnet veelal uit te gaan van dat wat in hun ogen een beveiligd wachtwoordopslagsysteem was. Iets wat in werkelijkheid totaal niet het geval is. De onderzoekers suggereren dan ook dat bij het ontwerpen van elk type beveiligingssysteem toezicht van een professional nodig is.

Werkwijze onderzoek

De 43 Java-programmeurs die werden ingehuurd via het Freelancer.com platform, kregen als opdracht om een gebruikersregistratiesysteem te schrijven voor een niet bestaand social netwerk-platform. De programmeurs gebruikten onder meer Java, JSF, Hibernate en PostgreSQL om de gebruikersregistratiecomponent te creëren.

Onderzoekers beloonden de ene helft van de groep met 100 dollar en de andere helft met 200 dollar. Ze wilden weten of de hoogte van de beloning verschil zou maken in de  implementatie van wachtwoordbeveiligingsfuncties. Bovendien werd de groep nog een tweede keer gesplitst, waarbij de ene groep het verzoek kreeg wachtwoorden op een veilige manier op te slaan. De andere helft mocht dit naar eigen voorkeur invullen. 

Specifieke instructies

De ontwikkelaars hadden gemiddeld drie dagen nodig om de klus te klaren. Het onderzoeksteam moest daarna 18 van de 43 ontwikkelaars vragen om hun code opnieuw in te dienen, maar dit keer met een wachtwoordbeveiligingssysteem. Het bleek namelijk dat het project, zoals in eerste instantie door ze ingediend, wachtwoorden in leesbare tekst opsloeg. Van de 18 ontwikkelaars behoorden 15 tot de groep, die nooit specifieke instructies had gekregen om een beveiligd wachtwoordopslagsysteem te implementeren. De overige 3 hadden die instructies wel gekregen, maar die desondanks wachtwoorden in leesbare tekst hadden opgeslagen.

De beveiligde wachtwoordopslagsystemen die de 43 ontwikkelaars naar eigen inzicht implementeerden was zeer divers: Base64 (8), MD5 (10), SHA-1 (1), 3DES (3), AES (3), SHA-256 (5), HMAC/SHA1 (1), PBKDF2 (5) en Bcrypt (7). Volgens de onderzoekers opvallende keuzes, aangezien enkel PBKDF2 en Bcrypt als veilig beschouwd worden. Ook kozen slechts 15 van de 43 ervoor om ‘Salting’ te implementeren, een proces waarbij het gecodeerde wachtwoord dat is opgeslagen in de database van een toepassing moeilijker te kraken is, door toevoeging van een willekeurige gegevensfactor. Bovendien zouden 17 van de 43 hun code gekopieerd hebben van internetsites, wat volgens het onderzoeksteam suggereert dat freelancers niet over de nodige vaardigheden beschikten om een veilig systeem helemaal opnieuw te ontwikkelen. Daarbij is volgens hen de kans ook groot dat die code mogelijk verouderd zijn of vol zitten met bugs. 

Uit het onderzoek blijkt dat de hoogte van de betaling niet echt een rol speelt, maar wel dat het geven van specifieke instructies betere resultaten oplevert. Daarbij is ook gebleken dat kennis van freelance ontwikkelaar op het gebied van cyberbeveiliging van persoon tot persoon enorm varieert, al dan niet te wijten aan een verouderde training of helemaal geen training.

Het onderzoek wordt tijdens de CHI-conferentie in Glasgow, Schotland gepresenteerd. De conferentie over menselijke factoren in computerprocedures vindt plaats van 4 tot en met 9 mei in het Schotse Glasgow.

Lees ook: Beveiligingsrisico door te snelle implementatie hybride cloud