Het gevaar van steekproeven en ondoordacht security advies.

Ik las gisteren volgend artikel.

bron: https://www.consumentenbond.nl/nieuws/2018/1-op-3-websites-heeft-wachtwoordbeleid-niet-op-orde

De Nederlandse consumentenbond heeft een steekproef gedaan naar het wachtwoordbeleid van 87 populaire sites en in dit artikel vatten ze hun bevindingen samen. Het algemeen besluit is dat 1 op 3 websites zijn wachtwoordbeleid niet op orde heeft.

Een goed initiatief van de consumentenbond. Ik ben het er absoluut mee eens dat websites op het gebied van wachtwoordbeleid schromelijk tekort schieten op dit moment. Waar ik het minder mee eens ben is met de manier waarop dit onderzoek is gebeurd en de conclusies en adviezen die er uit voortvloeien. In het artikel staan een aantal zaken die simpelweg niet correct zijn.

Algemene resultaten

Laat ons onderstaande paragraaf eens onder de loep nemen.

Volgens de consumentenbond doen Twitter, bol.com en Yahoo.com het goed

Wat bijvoorbeeld Coolblue betreft hebben ze gelijk. Coolblue verwacht minimaal 6 karakters en doet verder niet zo moeilijk (hun eigen woorden!). Dit is een ronduit zwak wachtwoordbeleid.

Van Twitter weet ik — in tegenstelling met wat consumentenbond beweert — zeker dat ze het niet goed doen. Ik heb hun wachtwoordbeleid een tijd terug zelf getest en dit is tot op heden onveranderd. Een wachtwoord van lengte 6 wordt als goed beschouwd.

Je kan bezwaarlijk zeggen dat Twitter me hier geholpen heeft om een veilig wachtwoord te kiezen.

Ook P@ssword is volgens Twitter een goed, zelfs “sterk” wachtwoord. Terwijl dit een veel gebruikt en op internet gelekt wachtwoord is.

P@ssword wordt door Twitter als “sterk” beschouwd

Yahoo is al niet veel beter. Het klopt dat Yahoo minimum lengte 8 afdwingt maar ook hier is “P@ssword” weer geen enkel probleem.

Voor Yahoo is P@ssword ook geen enkel probleem!

Ook voor Bol.com heb ik even de proef op de som genomen.

En hier wordt wederom een bijzonder zwak wachtwoord, in dit geval “testje”, als “ok” beschouwd. In mijn geval voldoet dit wachtwoord perfect aan alle criteria weergegeven in de tooltip: het is uniek — ik gebruik het op geen enkele andere website — en het is geen naam, geboortedatum of -jaar.

Meer in detail

In dit artikel worden een aantal resultaten van de steekproef meer in detail toegelicht. Consumentenbond heeft deze steekproef gedaan met 6 zeer zwakke wachtwoorden. 41% van de websites waarop ze dit gedaan hebben, accepteren deze allemaal.

Ik betwist niet dat het goed is om deze zwakke wachtwoorden te blokkeren, maar

  1. Een onderzoek gebaseerd op 6 zwakke wachtwoorden is niet representatief. Het is niet omdat websites deze 6 wachtwoorden blokkeren dat ze ook alle andere zwakke wachtwoorden blokkeren. We zullen hier straks nog een voorbeeld van zien.
  2. Het volstaat niet om enkel zwakke wachtwoorden te blokkeren. Hackers gaan wanneer ze systemen aanvallen behalve gekende zwakke wachtwoorden ook andere gelekte wachtwoorden gebruiken. Daarom dat deze ook geblokkeerd moeten worden om de gebruikers beter te beschermen. Op de Have I Been Pwned website, kun je meer dan 320 miljoen gelekte wachtwoorden terug vinden die je hiervoor kan gebruiken.

Zoals Consumentenbond terecht aanhaalt, wordt het je op veel websites enorm moeilijk gemaakt om een sterk wachtwoord te kiezen. De huidige best practice is inderdaad om een minimum wachtwoord lengte op te leggen en geen complexiteitsvereisten, maar dan wél op voorwaarde dat je veel gebruikte zwakke en gehackte wachtwoorden niet toelaat. Deze belangrijke nuance ontbreekt hier.

Ze wijden ook een apart stukje aan wachtwoordmeters, of beter gezegd, het ontbreken ervan op 69% van de geteste websites.

Wachtwoordmeters zijn handig volgens Consumentenbond

Wachtwoordmeters lijken op het eerste zicht misschien handig en een goed idee, maar in de praktijk helpen ze niet bij het kiezen van goede wachtwoorden, het tegendeel is meestal waar. De meeste websites met een wachtwoordmeter — de voorbeelden van bol.com en Twitter zijn hier eerder aangehaald — hebben het fundamentele probleem dat deze meters de sterkte van een wachtwoord bijna altijd puur op basis van lengte en/of complexiteit bepalen. Er wordt zelden rekening gehouden met gelekte wachtwoorden.

Maar het kan ook anders. Op deze website vind je een implementatie van een “slimme” wachtwoordmeter. Behalve lengte en complexiteit controleert deze wachtwoordmeter via de Have I Been Pwned API ook of een wachtwoord al gelekt is.

Op de website vind je een proof-of-concept implementatie. Het script dat hier gebruikt wordt, is open source en je kan dit gebruiken om te integreren in een bestaande website.

In ieder geval, als je toch een wachtwoordmeter op je site wilt zetten, zorg dan dat hij slim genoeg is om reeds gelekte wachtwoorden te checken. Anders laat je hem beter weg.

De risico’s van dergelijk advies

Consumentenbond heeft de websites die slecht en matig scoren ingelicht.

Ik weet uiteraard niet welke informatie er exact is doorgestuurd naar deze websites. Maar wat ik wel weet is dat er een risico bestaat dat deze firma’s dit advies zonder meer overnemen zullen overnemen.

Laat ons eens kijken hoe het wachtwoordbeleid op 1 van de “gerepareerde” websites, Cameranu.nl, op dit moment geïmplementeerd is. De minimum wachtwoord lengte is nu aangepast naar 8, maar daar is dan ook alles mee gezegd. “Password” mag niet, maar als je de letter ‘a’ vervangt door ‘@’ wordt het wachtwoord probleemloos aanvaard. Terwijl “Wachtwoord1" (1 van de 6 geteste wachtwoorden) inderdaad niet meer mag, kan ik probleemloos een account registreren met “Wachtwoord2" als wachtwoord. Het heeft er dus alle schijn van dat Cameranu.nl het advies van Consumentenbond nogal letterlijk opgevolgd heeft.

“Wachtwoord1" mag niet, maar “Wachtwoord2” is perfect volgens Cameranu.nl

Traditionele wachtwoordmeters zijn geen goed idee. Door zonder enige nuance te suggereren dat dit wel zo is, bestaat de kans dat websites deze gaan implementeren en daar help je zowel de firma in kwestie als de eindgebruiker niet mee vooruit.

Waar de focus wel op moet liggen is dat dat onveilige (zwakke en/of reeds gehackte) wachtwoorden niet aanvaard mogen worden, én dat gebruikers duidelijke feedback krijgen wanneer een wachtwoord geweigerd wordt. Of dat dan via een wachtwoordmeter is of niet is van ondergeschikt belang.

Besluit

De steekproef uitgevoerd door Consumentenbond resulteert in foutieve, vertekende resultaten. Het bijhorend advies is gebaseerd op deze resultaten en komt bovendien ook niet overeen met de huidig geldende best practices voor authenticatie systemen, die je hier en hier bijvoorbeeld kan vinden. Om tot de juiste resultaten te komen is een steekproef simpelweg onvoldoende en moeten de authenticatie systemen (met het bijhorend wachtwoordbeleid) aan een grondige test onderworpen worden.

De feedback uit de steekproef is verstuurd naar 39 websites en gepubliceerd op het internet. Dit betekent dat niet alleen deze, maar ook andere websites dit advies mogelijks zullen doorvoeren.

Dit kost de firma’s in kwestie geld en levert een slechts beperkte security verbetering op voor de klanten. Een voorbeeld hiervan is de website Cameranu.nl. De minimum wachtwoordlengte werd hier wel opgetrokken naar 8 karakters, maar verder is het nog altijd zeer gemakkelijk om zwakke en/of gehackte wachtwoorden te kiezen. Een gemiste kans om het van de eerste keer goed te doen.

Ik hoop dat Consumentenbond hun artikel corrigeert en ook de betrokken firma’s op de hoogte stelt. Zoals ze melden in het artikel gaan ze ook hun eigen wachtwoordbeleid aanpakken en ik hoop van harte dat ze deze constructieve feedback hierbij zullen gebruiken.

John Opdenakker

John Opdenakker

Blogger | #Infosec | #AppSec | Security awareness | Occasional Public Speaker | Cycling | Running | Enjoying life