Het afgelopen weekend verscheen er een e-mail in mijn inbox van haveibeenpwned met de mededeling dat m'n e-mailadres voorkomt in een nieuwe ondergronds verspreidde database van gegevens. Deze keer ging het niet om belangrijke data als wachtwoorden of betaalgegevens, maar blijkbaar om publiek beschikbaar gescrapete data van allerlei openbare bronnen, zoals Facebook, Twitter, LinkedIn en GitHub. De database werd gebruikt en beheerd door People Data Labs.
Beveiliger Troy Hunt vroeg zich even af of deze gegevens wel in zijn database haveibeenpwned verwerkt moesten worden, omdat het niet om gehackte gegevens lijkt te gaan. Maar omdat het zaak is dat mensen een groter besef krijgen over welke gegevens online staan en gecombineerd zijn, besloot Hunt deze database wel toe te voegen.
Hergebuik wachtwoorden
Bij Disney+ speelden ook problemen met openbaar beschikbare gegevens. Diverse accounts werden bij de wereldwijde release al meteen overgenomen, waardoor er geruchten rondgingen dat de videodienst was gehackt. Daar lijkt het niet op, maar aanvallers gebruikten gerecyclede gegevens van eerdere hacks en/of brute force-aanvallen uitvoeren waarin ze simpelweg simpele wachtwoorden proberen, zo blijkt uit onderzoek van Mozilla.
Beide incidenten tonen aan dat doorsnee gebruikers vaak niet beseffen hoeveel van hun persoonlijke gegevens overal rondzwerven. Mensen die in 2012 hun LinkedIn-wachtwoord aanpasten na de hack bij de platform, gebruiken soms dat originele wachtwoord wel op een andere dienst, laten we zeggen Netflix. Aanvallers weten dit en gebruiken dan de ooit buitgemaakte LinkedIn-gegevens bij Uber, Netflix, Bol.com, of wat dies meer zij. En ze hebben steeds vaker succes met dit zogenoemde credential-stuffing.
Voors en tegens wachtwoordenbeheer
De oplossing, zolang systemen niet beter beschermd zijn tegen brute force en credentials die opduiken in buitgemaakte databases nog niet automatisch worden geblokkeerd, ligt in wachtwoordbeheerders. Ik gebruik zulke software ook, en na lang prakkiseren of dat nu wel zo verstandig was, heb ik in 2014 m'n wachtwoorden in de cloud geparkeerd met wachtwoordmanager LastPass. Daar heb ik, ondanks m'n vrees, geen spijt van gehad.
Als tegenargument wordt vaak aangegeven dat als je al je wachtwoorden onderbrengt bij een dienst als LastPass, er nog maar één plek is die aanvallers hoeven te hebben om aan al je accounts te komen. Kortom, je maakt een Single Point of Failure voor je inloggedrag. Er duiken af en toe kwetsbaarheden op in verschillende implementaties van wachtwoorddiensten, dus deze angst lijkt niet volledig ongegrond.
Maar er zijn goede redenen waarom we wachtwoordmanagers blijven aanraden. Ten eerste is dat 2FA. Zet tweefactor-authenticatie aan op je cloudbeheerde wachtwoordmanager en zelfs áls aanvallers dan je hoofdwachtwoord hebben of kraken, kunnen ze niet inloggen zonder ook je verificatietool van Google, Duo, LastPass, Microsoft, RSA, Yubikey, of wat dan ook te hebben. Daarnaast is het een goed idee gebleken om automatisch invullen van credentials te blokkeren, want dit is vaak het punt waar kwetsbaarheden opduiken.
Verhoogde beveiliging
Een tweede, gezien de huidige trends dwingendere, reden dat je software zou moeten gebruiken op je inloggegevens te beheren, is de vaak ingebouwde tool om willekeurige wachtwoorden te genereren.
Dit beschermt je inloggedrag op twee manieren. Je bent in de eerste plaats beschermd tegen een credential-stuffing-aanval omdat je wachtwoorden niet meer hergebruikt. Je hoeft nog maar één wachtwoord te onthouden in plaats van 120 en de software zorgt verder zelf voor 120 unieke wachtwoorden. Zelfs bij een credential-stuffing-aanval, waarin aanvallers je e-mailadres en de gekoppelde hash van je wachtwoord invoeren bij andere diensten, komen ze er niet in omdat het een uniek wachtwoord is voor die dienst.
In de tweede plaats is een buitgemaakt wachtwoord van een gehackt sociaal netwerk een stuk minder simpel te kraken. Aanvallers gaan voor laaghangend fruit en passen een hashtabel toe op de buitgemaakte wachtwoorden om veelgebruikte wachtwoorden te achterhalen.
Wachtwoorden worden (meestal tenminste) niet opgeslagen als platte tekst, maar als hash. Een hash is makkelijk te verifiëren, maar (als het goed is) niet terug te berekenen naar platte tekst vanuit de hash.
Het is niet moeilijk om een lange lijst van hashes te genereren die corresponderen met bestaande (wacht)woorden en variaties met leetspeak, bijvoorbeeld je p1nd4k44s of het bekend w8w00rd. Maar het is wel lastig om zoiets te maken voor weinig voorkomende (lees: string van willekeurige tekens) wachtwoorden. De tabellen bevatten geen hashes van unieke codes als 5foexs!&Sxpq20_aAb die de beheerder onthoudt. Zulke wachtwoorden kosten exponentieel meer moeite om te kraken.
Laat perfect niet de vijand zijn van goed
IT-beveiliging draait uiteindelijk om het verhogen van drempels. Geen enkele beveiligingsmethode is perfect. Een wachtwoordmanager met cloudtoegang ook niet, maar het is zoveel beter dan het gebruik van losse wachtwoorden (tenzij je bijvoorbeeld een heel goed uniek herleidingssysteem hebt met passphrases) dat het in 99,9 procent van de gevallen een acceptabel risico is om een wachtwoordmanager te gebruiken.
Blijf zelf gerust je lokale versleutelde wachtwoordopslag of unieke wachtwoordgeneratie en herleidingssysteem gebruiken, maar voor doorsnee gebruikers is deze oplossing onpraktisch. Neem deze week daarom de moeite om vrienden, familie en kennissen zo'n wachtwoordtool aan te raden.
Reageer
Preview