Det var ellers lyspunktet i hackerangrebet mod den kontroversielle dating-side Ashley Madison, at udviklerne havde anvendt en stærk bcrypt-kryptering, som i praksis burde gøre det urealistisk at knække brugernes kodeord ved hjælp af brute force-teknikker. Men så kom den forældede MD5-hashfunktion på banen, skriver Ars Technica.
Hackerne fik fat i 100 gigabyte data fra Ashley Madison, heriblandt de bcrypt-krypterede kodeord for 36 millioner brugere i databasen. Den anvendte variant bcrypt-12 regnes for at være særdeles robust, fordi det tager meget lang tid at køre et gæt igennem funktionen.
Men i samme database lå endnu en værdi for cirka 15 millioner af brugerne. Den viste sig af være en MD5-hashværdi, som var udregnet ud fra kodeordet i klartekst og brugernavnet.
Det er uklart, hvad denne ekstra værdi er blevet brugt til, men navnet $loginkey kunne antyde, at den blev brugt til en hurtig login for brugerne.
Problemet er, at MD5-hashfunktionen har været regnet for usikker siden årtusindskiftet og kan rutinemæssigt brydes med brute force-angreb, hvor man forsøger sig med forskellige kombinationer af kodeord.
MD5 havde ikke nødvendigvis været et problem, hvis udviklerne hos Ashley Madison ikke havde begået en fejl. MD5-værdien udregnes på to måder i koden. I begge tilfælde sættes brugernavnet sammen med kodeordet i klartekst adskilt af to koloner. I den ene variant tilføjet et 'salt' i form af en ekstra tekststreng. Den sammensatte tekststreng køres gennem MD5-algoritmen og giver en hashværdi.
Når MD5-værdien skal knækkes, så er outputtet kendt, brugernavnet er kendt, og saltet er kendt. Derfor skal man blot tilføje et gæt på kodeordet, køre det gennem MD5-funktionen og sammenligne med det kendte output. Hvis de to er ens, så har man gættet kodeordet.
I dette tilfælde havde udviklerne hos Ashley Madison også ændret alle bogstaver til små bogstaver, inden det kørte gennem MD5-algoritmen, så i de tilfælde, hvor kodeordet indeholder ét eller flere store tegn, skal man forsøge sig med varianter med store og små bogstaver for at gætte det endelige kodeord ved at køre det gennem bcrypt-funktionen.
Ars Technica påpeger, at Ashley Madison kunne have undgået problemet, hvis udviklerne først havde kørt kodeordet gennem bcrypt og anvendt resultatet sammen med brugernavnet i MD5-funktionen.
I så fald havde et brute force-angreb mod MD5-værdien blot resulteret i output-værdien fra bcrypt, hvorefter hackeren ville være tilbage til udgangspunktet med at skulle knække bcrypt.
Svagheden i Ashley Madisons design er afdækket af en gruppe, der kalder sig CynoSure Prime. De har foreløbig knækket 11 millioner ud af de 15 millioner kodeord, som er lagret med MD5. De har dog valgt ikke at offentliggøre kodeordene, men kun at fortælle om deres metode.

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.
Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.
Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.
Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.