Als u LBVD’s informatieve presentatie ‘HackDemo’ heeft bijgewoond heeft u het onderwerp voorbij zien komen: Wachtwoorden kraken. In deze blog leggen wij u in meer detail uit hoe het proces plaatsvindt en vooral wat u er zelf tegen kunt doen om de kans van het succesvol kraken van wachtwoorden te verkleinen. Er is overlap met het eerder geplaatste blog ‘Sterk Wachtwoord’, waarin met name de preventieve kant wordt beschreven.
Het achterhalen van wachtwoorden kan op meerdere manieren, zoals het raden/gokken ervan of elke mogelijke combinatie proberen tot de juiste gevonden is. De meeste informatiesystemen hebben maatregelen getroffen om dit te beperken, namelijk door maximaal bijvoorbeeld drie of acht foutieve pogingen toe te staan en hierna een blokkade op te werpen. Toch kan het zijn dat een kwaadwillende er in slaagt om wachtwoorden te kraken van een of meerdere gebruikers. Dit is meestal mogelijk als de kwaadwillende de onleesbare waarde van het wachtwoord bezit, ook wel een hashwaarde of simpelweg hash genoemd.
Een voorbeeld hiervan is bec8ce4ea180fec3236b024f485c0620. Dit is de hash van het wachtwoord ‘Winter2024!’, met de zeer oude en onveilige hashmethode MD2 berekend. Deze staat opgeslagen in de database van het betreffende systeem. Elke keer als u inlogt wordt de hashwaarde berekent en vergeleken met de opgeslagen hashwaarde. Komt deze overeen? Dan is de aanmelding correct en kunt u verder. In het andere geval zal het systeem de toegang weigeren met een ‘gebruikersnaam of wachtwoord onjuist’ melding. Het voordeel van op deze manier wachtwoorden opslaan is dat zowel een aanvaller als de organisatie waarvan het systeem is de wachtwoorden niet kan inzien.
Echter, als een aanvaller de hash in bezit heeft kan hij vele pogingen worden doen om dezelfde uitkomst te berekenen en daarmee te herleiden wat het wachtwoord is. Dit heet wachtwoordkraken. De applicaties, die hiervoor gebruikt worden, kunnen simpelweg elke mogelijke combinatie afgaan, van 00000000 tot ZZZZZZZZ en speciale karakters toevoegen, met soms miljarden pogingen per seconde. Deze manier heet brute-force. Ze probeert het net zolang tot de hash identiek is aan de onderschepte c.q. bemachtigde hash.
Een andere, efficiëntere methode is het gebruik van lijsten met hashes van vaak gebruikte wachtwoorden, die ooit zijn gepubliceerd of bij inbraken zijn achterhaald. Deze methode staat bekend als een dictionary-attack en leidt in veel gevallen sneller tot resultaat omdat niet elke mogelijke combinatie apart berekend hoeft te worden. Daarnaast kunnen er ook ‘rules’ gebruikt worden om de efficientie verder te verbeteren. Met rules is het mogelijk om bovenop bestaande woordenlijsten, zoals bijvoorbeeld een Nederlands woordenboek, variaties te genereren. Zo kan het woord ‘koelkast’ veranderd worden naar variaties zoals bijvoorbeeld ‘Koelkast23’ en ‘Ko3lk@st!’
Met deze kennis is het prima te bedenken hoe u wachtwoorden kunt maken die veiliger zijn. Als we weten dat woordenboeken en wachtwoordlijsten gebruikt worden, is het raadzaam om wachtwoorden te gebruiken die niet op basis hiervan zijn verzonnen. Kalendermaanden, seizoenen, stadsnamen en dergelijke zijn dus zeer af te raden. Verder weten we dat op basis van brute-force elk wachtwoord uiteindelijk gekraakt zal worden. Maar op het moment dat het de moeite niet loont, omdat het kraken simpelweg te lang duurt, zal de aanvaller de aanval stoppen en zich richten op andere accounts of andere methodes om ‘binnen te komen’.
Afhankelijk van de gebruikte hashmethode zal een wachtwoord snel of juist moeizaam kunnen worden gekraakt. U weet waarschijnlijk niet of uw organisatie of de website die u gebruikt een sterke methode hanteert. Een veilige aanname is dat er mogelijk een verouderde en daarmee zwakkere hashmethode actief is. U kunt dan zelf de kraaktijd vergroten door een zo complex en lang mogelijk wachtwoord te kiezen.
Een wachtwoord van minder dan 12 karakters met de meest complexe vereisten is in het meest positieve geval met de huidige beschikbare rekenkracht (anno 2023) binnen negen maanden te kraken. Op het moment dat één extra karakter wordt toegevoegd kan dit de benodigde kraaktijd verhogen naar tientallen jaren.
Voor tips over wat u als veilig wachtwoord kunt gebruiken kunt u terecht op het blog ‘Sterk Wachtwoord’.
Niels Peeters – november 2023