Helaas gebruikt mybb daarvoor nog altijd het md5 algoritme, wat al geruime tijd verouderd is voor dit doel.
Het gebruik van md5 lijkt me niet relevant in deze situatie. Het probleem met md5 hashes is dat het mogelijk is om collisions te genereren. Oftewel, gegeven de hash, is het mogelijk een 'bijpassend' password te maken.
In dit geval is het probleem dat dezelfde username/password combinatie misschien op een ander forum ook in gebruikt is. Maar de gegenereerde collission werkt niet op een ander forum, die immers een andere salt gebruikt. Dus blijft over dat je het password moet brute forcen. Dat is bij md5 niet (veel) makkelijker dan bij andere hashmethodes. (Wel iets makkelijker, een md5 berekenen is goedkoper dan bijvoorbeeld sha256, dus kun je meer pogingen per seconde doen. Maar het blijft staan dat je gewoon alle combinaties moet proberen.)
Door Mijzelf:
Het probleem met md5 hashes is dat het mogelijk is om collisions te genereren. Oftewel, gegeven de hash, is het mogelijk een 'bijpassend' password te maken.
Nee, dit is in de praktijk niet het probleem met MD5.
Bij elke cryptografische hashfunctie zijn collisions mogelijk, echter hoe langer de hash, hoe moeilijker het is om collisions te vinden. MD5 is lang genoeg om in de praktijk het vinden van collisions van relatief korte wachtwoorden kansloos te maken.
De reden om geen MD5, maar ook geen SHA1, SHA256 etcetera te gebruiken, is dat die functies bloedsnel zijn.
De aanvalstactiek bij wachtwoorden is vervolgens een heel andere: je gaat uit van een dictionary met ooit gelekte of voorspelbare plain text wachtwoorden, en je berekent van elk van hen de hash (met dezelde formule als de gehackte website gebruikt). Vervolgens zoek je naar dezelfde hashes in beide bestanden; "zwakke" (voorspelbare of ooit gelekte) haal je er dan meteen uit.
Het beste wapen hiertegen zijn salts en functies zoals Argon2 die opzettelijk traag zijn en veel geheugen vreten.
Wat er gekraakt is aan MD5 is een heel specifieke soort collisions, namelijk dat het relatief eenvoudig blijkt om twee verschillende inputs te vinden -die aan specifieke criteria voldoen- die dezelfde hash opleveren.
Gegeven een willekeurige input (zoals een wachtwoord) is het nog steeds zo goed als kansloos om een collision te vinden.
Een risico zou wel kunnen zijn dat iemand een dusdanig wachtwoord kiest dat hij daar een MD5 collision van kent, maar dat risico lijkt mij niet zo groot.
Dit risico is wel groot bij bijvoorbeeld digitale handtekeningen (indien MD5 wordt gebruikt). Je zou een contract vooraf zo kunnen manipuleren dat er twee verschillende contracten zijn waarbij je eerst het "gunstige" contract voor de tegenpartij overlegt en later claimt dat dat een vervalsing is en jij het "echte" contract hebt met minder gunstige voorwaarden.
Kortom, het MD5 algoritme is niet het probleem bij wachtwoordhashes, dat zijn namelijk diens snelheid (maar dat geldt net zo goed voor bijv. SHA256), de beschikbaarheid van dictionaries en het feit dat mensen zwakke wachtwoorden kiezen en hergebruiken.
Aanvulling 13:07 en @Ook al Bezet: waar je, m.b.t. wachtwoordhashes, in de Wikipedia pagina naar moet kijken is Preimage vulnerability.
Met "pre-image" wordt bedoeld dat de aanvaller geen invloed heeft op de input. De verwarring is "collision" in beide gevallen, maar een preimage collission is echt een heel andere kwetsbaarheid dan collisions waarbij de aanvaller de input kan kiezen. En dat kan de aanvaller niet bij door anderen gekozen wachtwoorden.
De verzwakking van 2^128 naar 2^123,4 is dan ook verwaarloosbaar, echt niemand gaat zoeken naar wachtwoord collisions.
[Reactie gewijzigd door ErikvanStraten op 10 april 2023 13:07]
Het probleem met MD5 is dat het al sinds 2011 zo kapot is dat je echt duizenden wachtwoorden per seconden kon bruteforcen. Dat zal nu nog wel een tandje sneller zijn.
Met goedkope hardware kan je dit al doen: https://www.youtube.com/watch?v=7U-RbOKanYs
edit: In die video doet hij er 38 miljard per seconde doorrekenen!
[Reactie gewijzigd door 2broodjeshoarma op 10 april 2023 15:56]
Ik ben geen fan van video's als informatie medium. In de eerste minuut zegt hij niets over zijn hardware, en om nou 20 minuten te gaan kijken..., maar de openingsstill suggereert dat er 4 videokaarten inzitten. Niet iets wat iedereen heeft staan, hoewel het ook niet echt ontoegankelijk is.
38 miljard per seconde klinkt veel, maar het valt in het niet bij het aantal mogelijke passwords. Als je hoofd- en kleine letters gebruikt, cijfers en wat leestekens, heb je al >64 mogelijkheden per karakter, en heb je bij een password van 10 karakters al 64^10 mogelijkheden, dat is 1.15*10^18. Dat betekend dat je met 38 miljard pogingen per seconde 32 miljoen seconden bezig bent om de helft van de mogelijkheden te testen. Dat is ruim een jaar. Dus na een jaar mag je verwachten dat je de helft van de 10-cijferige passwords hebt gevonden.
Als het password 11 karakters heeft (en dat weet je niet), duurt het al 64 jaar om de helft te testen. Over 12 karakters zullen we het niet hebben.
Als je nou de hele video kijkt, dan wist je dat het niet perse om bruteforcen gaat, maar gericht bruteforcen.
Je hebt gewoon password lists en rules om die passwords aan te passen aan logica van de meeste mensen: leetspeak, getalletjes aan het eind, hoofdletters op bepaalde plekken enzo.
Je ziet dan hoe schrikbarend veel wachtwoorden hij wel niet uit die database trekt, de helft ervan in minder dan 10 seconden.
Ah, maar dan gaat het niet meer om md5, nietwaar? Als hij in 10 seconden een groot aantal wachtwoorden heeft gevonden, dan zou dat met een 'duurder' hash algoritme misschien 10 uur hebben gekost.
Het is zaak je wachtwoord goed te kiezen.
Maar wat heb je dan aan die wachtwoorden?
Aangezien men hier niet probeert binnen te komen, maar de gegevens op andere sites wil gebruiken, moet men juist dat éne wachtwoord vinden, dat de gebruiker daadwerkelijk heeft ingevoerd.
MD5 heeft alsnog 2^128 combinaties, zelfs met 38 miljard berekeningen per seconde duurt het dan maximaal (2^128 / 38E9) / (60 * 60 * 24 * 365) = 283954817652789847078 jaar.
Als je nou de hele video kijkt, dan wist je dat het niet perse om bruteforcen gaat, maar gericht bruteforcen.
Je hebt gewoon password lists en rules om die passwords aan te passen aan logica van de meeste mensen: leetspeak, getalletjes aan het eind, hoofdletters op bepaalde plekken enzo.
Je ziet dan hoe schrikbarend veel wachtwoorden hij wel niet uit die database trekt, de helft ervan in minder dan 10 seconden
En hoeveel mensen gebruiken niet overal hetzelfde wachtwoord? Antwoord, de meeste.
Laatst nog op het werk een collega waarbij via zijn zakelijke account duizenden euro's aan waar is besteld en geleverd bij een of andere kebab zaak in Amsterdam lol.
Ik geef toe dat ik de film niet helemaal heb bekeken.
In dit geval is er een salt toegevoegd aan elk wachtwoord (althans, volgens user "Ook al Bezet"). Dan zullen er geen bekende hashes meer zijn.
Daarnaast zijn de problemen met MD5 die je noemt (collisions en snelheid) voornamelijk van belang als je brute forced, hashes vergelijken is een probleem ongeacht het algoritme dat je kiest.
[Reactie gewijzigd door Ablaze op 10 april 2023 18:24]
Author: Sarah Cole
Last Updated: 1698954362
Views: 2488
Rating: 4.1 / 5 (111 voted)
Reviews: 82% of readers found this page helpful
Name: Sarah Cole
Birthday: 1911-10-11
Address: PSC 5592, Box 8571, APO AP 13755
Phone: +4853122783016774
Job: Social Worker
Hobby: Bird Watching, Painting, Badminton, Coin Collecting, Skydiving, Playing Chess, Sewing
Introduction: My name is Sarah Cole, I am a unguarded, frank, unswerving, exquisite, vibrant, venturesome, expert person who loves writing and wants to share my knowledge and understanding with you.