image

Wachtwoorden sneller te kraken door SHA1-zwakte

woensdag 5 december 2012, 15:33 door Redactie, 9 reacties

Beveiligingsonderzoeker Jens Steube, mede-ontwikkelaar van de populaire wachtwoordkraker Hashcat, heeft een zwakte in het SHA1-algoritme ontdekt, waardoor SHA1-hashes 20% sneller zijn te kraken. Websites gebruiken SHA1 om wachtwoorden van gebruikers te versleutelen, wat hashing wordt genoemd. Dit moet voorkomen dat als de website wordt gehackt, de aanvaller meteen de wachtwoorden van gebruikers in handen heeft.

De database van de website bevat namelijk alleen de versleutelde SHA1-hashes. SHA1 verwerkt blokken van 512 bits, die 2048 bits groot worden als de hashwaarde is gegenereerd. "We noemen deze fase 'woord-expansie'", zo laat Steube in zijn rapport weten. Hiervoor gebruikt het algoritme verschillende XOR-operatie, maar een aantal van deze operaties zijn redundant en kunnen dus worden genegeerd.

Optimalisaties
Door een aantal optimalisaties door te voeren wist Steube het aantal operaties van 880 naar 694 terug te dringen. Een besparing van precies 21,1%. De onderzoeker gaf zijn presentatie gisteren tijdens de Passwords^12 Conferentie in Noorwegen, die maandag begon en vandaag eindigt. Tijdens deze conferentie komen volgens de organisatie de beste wachtwoordkrakers bijeen.

Reacties (9)
05-12-2012, 16:03 door Anoniem
Dus als ik het goed begrijp, heeft hij het algoritme sneller gekregen waardoor je makkelijker kunt brute-forcen? Op zich natuurlijk heel prima, maar... de wet van Moore doet dat ook zonder dat je er wat voor hoeft te doen :) Nou gaat die wet niet helemaal meer op, maar als de hoeveelheid torren mapt op de snelheid, dan zou je dus eigenlijk elke 2 jaar 2x zo snel worden... Dus over 2 jaar 50% reductie in tijd. Dan is die 21% opeens niet zo spannend meer...
05-12-2012, 16:09 door Anoniem
Ik krijg soms wel wat jeuk van security researchers .

Je kunt presenteren 'an optimized implementation of SHA1 for the many near-identical input case' .

Of je kunt de triggerwoorden 'exploit' 'weakness' 'SHA1' 'password cracking' in je titel en door je hele presentatie gooien.

Zelfde content.
05-12-2012, 17:35 door Anoniem
Websites gebruiken SHA1 om wachtwoorden van gebruikers te versleutelen, wat hashing wordt genoemd.
Wat een hoop misinformatie weer. Neem nu deze zin. Echt niet alleen "websites" gebruiken SHA1, en het wordt echt niet alleen voor wachtwoorden gebruikt. De term "cryptographic hashing" is niet hetzelfde als "encryption". Dat laatste is wat we bedoelen met "versleutelen", dus gebruik beter "verhaspelen".

Verder is dit een goed voorbeeld waarom het zo slecht gesteld is met the "IT security industry", want er komt nog geen leesbaar paper uit. Nee lieve mensen, wat slides tweeten is simpelweg niet voldoende. Wetenschappelijk is dit om te huilen. Wat, is het raar om iemand die zich voor "onderzoeker" uitgeeft aan wetenschappelijke standaarden te houden? Dacht het niet.

Neemt niet weg dat dit er uitziet als een lief truukje om het berekenen van SHA1 hashes te versnellen door hetzelfde te doen in minder instructies. Dat maakt genereren van die hashes en dus ook het alle mogelijkheden met brute kracht uitproberen om op een bepaalde hash uit te komen een leuk stukje sneller.

En dat heeft gevolgen voor werkelijk alles dat SHA1 gebruikt, inclusief wachtwoorden, maar ook, oh, PKI certificaten, en waar het verder nog zoal voor gebruikt wordt. Best wel veel dingen. Dat de Redactie dat soort details te moeilijk vindt voor een op IT security gerichte nieuwswebsite is dan ook weer tekenend, en echt niet alleen voor de Redactie, maar die zeker ook.
06-12-2012, 09:53 door Anoniem
Uhg zoveel negatief over Redactie's woord- en voorbeeldkeuze. Je kan ook naar andere websites gaan en daar klagen over de kwaliteit van de p0rno.
Ik vind het een prima artikel. Luchtig, duidelijk en to the point.
06-12-2012, 16:04 door Chasalin
Een besparing van precies 21,1%.

Rekenwonders...

Ik kom op 21,13636363636363636363636363636...%

Niet 'precies' dus...
07-12-2012, 10:37 door Anoniem
Iedereen een tijd terug maar zeuren dat het vele miljarden jaren de tijd nodig heeft om de hashes te bruteforcen. Nu met hardware gebasseerd bruteforcen en via hash zwakheden, waardoor het vele malen sneller gaat, wordt het toch wel ineens gevaarlijker. Zeker omdat vele mensen simpele wachtwoorden gebruiken.

Ik stem voor scrypt als volgende manier om wachtwoorden te coderen. Zie ook: http://www.tarsnap.com/scrypt.html
07-12-2012, 14:25 door Anoniem
Door Anoniem: Iedereen een tijd terug maar zeuren dat het vele miljarden jaren de tijd nodig heeft om de hashes te bruteforcen. Nu met hardware gebasseerd bruteforcen en via hash zwakheden, waardoor het vele malen sneller gaat, wordt het toch wel ineens gevaarlijker. Zeker omdat vele mensen simpele wachtwoorden gebruiken.

Ik stem voor scrypt als volgende manier om wachtwoorden te coderen. Zie ook: http://www.tarsnap.com/scrypt.html

Snap je het verschil tussen volledig brute forcen en dictionary attack ?
Dat scheelt dus die miljarden jaren versus "paar dagen" .

Een dictionary attack was altijd al een optie, waar meestal tientallen procenten passwords uitrollen.
Dat is niet "opeens", die rolden er decennia geleden al uit. Mensen blijven hetzelfde.

Met ietwat efficienter programmeren of een bak hardware kunnen de woordenboeken wat langer zijn , en kan een volledige zoektocht door een kleine subset van de keyspace een paar bitten langer zijn.
07-12-2012, 16:57 door Anoniem
Door Anoniem: Iedereen een tijd terug maar zeuren dat het vele miljarden jaren de tijd nodig heeft om de hashes te bruteforcen.
Tsja, als het allemaal maar gezeur is, dan maar gewoon de gladde verkopermensen op hun lieve gezicht vertrouwen en NTLM gebruiken, nietwaar? Oh wacht.

Als je een cryptograaf vraagt hoe moeilijk het is een encryptie te breken of een hash te laten botsen, dan krijg je een antwoord volgens de op dat moment bekende beste methoden en beschikbare rekenkracht. Dat is geen gezeur, dat is een eerlijk antwoord.

Dat de techniek vervolgens niet stilstaat, doet daar niets aan af. Een goede cryptograaf kan je precies vertellen hoe zich dat ontwikkeld heeft door de jaren heen. Om dan nu naar je laatste stokpaardje te verwijzen als zou dat alle "gezeur" doen stoppen, historisch gezien is het ook maar de laatste vervanger voor zijn voorgangers, en die waren ooit ook goed genoeg. En omdat we "perfect" niet kunnen krijgen, moeten we het daar maar mee doen tot we wat beters hebben.

Daarbuiten lijkt je alternatief me nog een ietsje te nieuw, cq dat er nog niet genoeg knappe koppen naar gekeken hebben om met enige zekerheid te kunnen schatten hoe robuust het ding is tegen aanvallen. Dat kost een tijdje.

Want je wil ook weer niet dat de hele wereld overgaat op het allernieuwste algorithme en dan blijkt er onverhoopt een gigantisch gat in te zitten, zoals gebeurde bij DVD. Dus nemen we rustig de tijd om flink tegen nieuwe algorithmen aan te schoppen voor we ze breed ingebruik nemen.

Hoe dan ook, mensen die eerlijke antwoorden als "gezeur" afdoen zijn nou niet de meest betrouwbare bronnen om cryptografische algorithmekeuzes op te baseren. Dat zegt niets over het algorithme, maar wel iets over de spreker.
08-12-2012, 13:42 door Anoniem
Door Anoniem:
Door Anoniem: Iedereen een tijd terug maar zeuren dat het vele miljarden jaren de tijd nodig heeft om de hashes te bruteforcen. Nu met hardware gebasseerd bruteforcen en via hash zwakheden, waardoor het vele malen sneller gaat, wordt het toch wel ineens gevaarlijker. Zeker omdat vele mensen simpele wachtwoorden gebruiken.

Ik stem voor scrypt als volgende manier om wachtwoorden te coderen. Zie ook: http://www.tarsnap.com/scrypt.html

Snap je het verschil tussen volledig brute forcen en dictionary attack ?
Dat scheelt dus die miljarden jaren versus "paar dagen" .

Een dictionary attack was altijd al een optie, waar meestal tientallen procenten passwords uitrollen.
Dat is niet "opeens", die rolden er decennia geleden al uit. Mensen blijven hetzelfde.

Met ietwat efficienter programmeren of een bak hardware kunnen de woordenboeken wat langer zijn , en kan een volledige zoektocht door een kleine subset van de keyspace een paar bitten langer zijn.

Zeker snap ik het verschil. Maar de snelheid van wachtwoorden per seconde maakt in beide gevallen wel uit over hoe lang het duurt om een setje wachtwoorden te hebben en of het nog aantrekkelijk is om het te doen. Een techniek als scrypt maakt het al wel een stuk onaantrekkelijker en duurder, zowel bij een dictionary attack als bij bruteforcen.

Maar vele programmeurs en ook de marketing kant hebben dat argument te gemakzuchtig opgepakt om aan te geven hoe veilig hun product wel niet was of van "ach... dat kraken van die wachtwoorden dat duurt wel miljarden jaren.... veilig zat". van die instelling moeten we eens af en ervan uitgaan dat het hashen niet onze enige beveiliging moet zijn. We moeten daar veel voorzichtiger mee zijn en andere beveiligingen bij inbouwen.

In beveiliging moet je toekomstgericht denken en niet in het "nu". Dus niet van, ach.... dat gaat wel een tijdje goed zo. Daar kom je altijd op terug.

Ik ben met je eens dat mensen dezelfde blijven en daar moeten we zeker rekening mee houden. We moeten de mensen tegen zichzelf beschermen in onze software, door beveiligingseisen te stellen. Dit moet echter ook wel weer afwegen met gebruikersgemak. Want ook die kant speelt wel mee.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.