Tweakers.net heeft eind vorige maand de opslag van wachtwoorden aangepakt. Het gebruik van de zwakke md5-methode is uitgefaseerd en de kans dat een hacker nu nog wat met onze wachtwoordendatabase kan beginnen, is enorm veel kleiner geworden. Toch wilden we ook wel even weten wat er zou zijn gebeurd als de oorspronkelijke lijst met md5-hashes was uitgelekt. Hoeveel van die wachtwoorden zou een hacker hebben kunnen kraken, en hoeveel moeite had dat dan gekost? Om dat uit te zoeken hebben we zelf maar eens wat digitale breekijzers uit de kast gehaald.
Het onderzoek
Tijdens een speurtocht op het internet bleek al snel dat er hashing-tools bestaan die met CUDA of OpenCL de gpu kunnen gebruiken om lange lijsten van md5-wachtwoordhashes te kraken. Dat gaat zelfs zo snel, dat het meer tijd kost om een rainbow table te downloaden dan om met een dergelijke cracker een simpele brute-forceaanval op de wachtwoorddatabase uit te voeren.
Verder bleek dat er grote lijsten wachtwoorden en gewone woorden te downloaden zijn. Dat zijn ideale lijsten om een dictionary attack mee uit te voeren. Bovendien kan je vrij eenvoudig variaties op woorden laten genereren. Als je bijvoorbeeld een woordenlijst met Nederlandse woorden hebt, kan je daar ook variaties met hoofdletters en 1337-speak van laten maken.
In totaal hebben we ruim 21 miljoen woorden uit diverse lijsten verzameld. De door ons gebruikte cracker had slechts veertien seconden (!) nodig om die lijst met ruim 330.000 wachtwoordhashes uit onze database te vergelijken. Daarna deden we nog een test met bijna een half biljoen variaties op die woordenlijsten. Hier waren nog eens zestien hele minuten voor nodig.
Uit deze test bleek dat een uitgebreide brute-forceaanval veel minder nut heeft. Het zou vele uren geduurd hebben om alle mogelijke wachtwoorden van maximaal acht tekens te berekenen - met de vrij verkrijgbare woordenlijsten hebben we in minder dan een half uur meer dan de helft van de wachtwoordhashes gekraakt.
Zwakke wachtwoorden
We kunnen dus stellen dat ruim de helft van onze gebruikers een relatief zwak wachtwoord heeft. Daarbij is onderscheid te maken tussen echt heel zwakke wachtwoorden en wachtwoorden die op zich wel voldoen aan de normale aanwijzingen voor sterke wachtwoorden, maar die in diverse lijsten staan of die eenvoudig van bestaande woorden zijn af te leiden. De gebruikte tekens in een wachtwoord als 's-Gravenzande maken dit in theorie tot een vrij sterk wachtwoord, maar omdat het om een bekende plaats gaat, staat het in de woordenlijsten.
Ook varianten op woorden maken een wachtwoord vaak niet sterker. Het is bijvoorbeeld vrij gebruikelijk om de eerste letter als hoofdletter neer te zetten en aan het eind wat cijfers te stoppen - maar die cijfers zijn angstig vaak '123' of '1234'. Je eigen nickname, voor- of achternaam - of een variant daarop - gebruiken zou natuurlijk helemaal uit den boze moeten zijn, maar het komt nog vaak genoeg voor.
Voor de gebruikers waarvan wij het wachtwoord konden kraken - in minder dan een half uur dus - hebben we de gele notificatiebalk bovenaan de pagina van stal gehaald. Als je die ziet, is het beslist nuttig om je wachtwoord te wijzigen in een sterkere reeks met liefst zoveel mogelijk willekeurige tekens. Als je geen zin hebt om ingewikkelde wachtwoorden te onthouden, kan je daar tools als Keepass of online diensten als Lastpass voor gebruiken. Een willekeurige tekenreeks van 12 tot 20 tekens is genoeg - nog langere wachtwoorden zijn niet per se veiliger, maar wel ontzettend onhandig als je ze onverhoopt toch een keer moet intypen.
Een alternatief is om een veel moeilijker te kraken, maar makkelijker te onthouden wachtwoord te maken aan de hand van een relatief eenvoudig te onthouden zinnetje. Als je dat zinnetje onvoorspelbaar maakt, en natuurlijk voor elke site die je gebruikt een uniek zinnetje gebruikt, is dat voldoende veilig. Mocht een site gehackt worden, dan moet je toch je wachtwoord wel wijzigen. Daarmee is meteen gezegd dat het belangrijker is om per site een uniek wachtwoord te hebben, dan om een vreselijk lang wachtwoord te verzinnen. Daar maak je het vooral jezelf moeilijk mee.
Nota bene: Dit onderzoek is uitsluitend door medewerkers van Tweakers.net verricht. De benodigde gegevens zijn vernietigd en niet aan derden ter beschikking gesteld. Alleen een niet tot wachtwoorden herleidbaar overzicht van gebruikersnummers is bewaard om gebruikers met een zwak wachtwoord te kunnen waarschuwen.