3. 3
De situatie
● Criminele bendes stelen wachtwoorden
● Botnets ontcijferen wachtwoorden op grote schaal
● Wachtwoorden van slecht beveiligde sites worden
gebruikt om op andere accounts in te breken
– vb. homebanking, webshops
● Vb. slachtoffers in 2012: LinkedIn, eHarmony,
Twitter, Last.fm, gamigo, Yahoo!, Zappos, ...
4. 4
Technieken
● Online attack:
– Op het systeem zelf proberen inloggen
– Traag, valt op
● Offline attack:
– (Versleutelde) wachtwoorden proberen te
ontcijferen
– Veel sneller, moeilijker te detecteren
5. 5
Technieken voor offline
● Brute force:
– Één voor één alle mogelijkheden uitproberen
– Traag, afh. lengte wachtwoord
● Dictionary attack:
– Met woordenboek, vaak gebruikte
wachtwoorden
– Soms bliksemsnel
– http://fb.me/1zHx86hju
6. 6
Technieken voor offline
● Zoekruimte
– Verzameling van alle mogelijke wachtwoorden
– Bepaalt hoe snel aanval kan verlopen
● Goed wachtwoord:
– Grote zoekruimte
– Dwingt aanvaller “brute force” attack uit te
voeren
9. 9
Wachtwoorden opslaan
● Wachtwoorden in “plaintext”
– Dit gebeurt nog!
● Gehashte wachtwoorden
– Hash = algoritme dat data afbeeldt op bitreeks van
vaste lengte, werkt enkel in één richting
– vb. MD-5, SHA-1, SHA-256, ...
– Login controleren: ingevoerde wachtwoord hashen,
vergelijken met hash in databank
– vb. “letmein” in MD-5
0d107d09f5bbe40cade3de5c71e9e9b7
10. 10
Wachtwoorden opslaan
● Gehashte wachtwoorden
– Probleem: “Rainbow tables”, woordenboek
geconverteerd naar hashes
– Wachtwoorden HEEL snel ontcijferd
● “Salting”
– Random string plakken voor/achter te hashen
wachtwoord
– vb. wigNecAcletmein in MD-5
ba5ca21efb32bf714b3f23efdcb35bd2
11. 11
Hoe slaat Linux wachtwoorden op?
● /etc/shadow:
user:pw:change:min:max:warn:inact:exp
– user: gebruikersnaam
– pw: versleuteld wachtwoord
– change: datum laatste wijziging
– min, max: min/max ouderdom wachtwoord
– warn: aantal dagen voor max dat gebruiker waarschuwingen
krijgt
– inact: aantal dagen na max dat gebruiker nog mag
inloggen, maar meteen wachtwoord moet wijzigen
– exp: datum wanneer login uitgeschakeld werd
12. 12
Hoe slaat Linux wachtwoorden op?
● $algo$salt$hash
– algo: type hash (hier “6” = SHA-512)
– salt: hier “stypsyuDy” (niet versleuteld!)
student:$6$stypsyuDy$psdJjM3Nofs1LcMfDfeZM7N5wtYWevkGn
skVbOFYkLgfZZLYMmp6J7zDbAKe8.H29eOXOcEdWJH78YapppFVd0:
15802:0:99999:7:::
14. 14
Aanbevelingen
● Gebruik wachtwoordzinnen (pass phrases) voor je
belangrijkste accounts
– bv. in de “xkcd-stijl”
● Gebruik uniek wachtwoord voor “losse” websites, en
sla op in een password manager
– bv. LastPass, 1Password, enz.
● Two factor authentication
– bv. Google account, LastPass
● Controleer de kwaliteit van je wachtwoord
– bv. GRC haystack app