Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
10.07.2004, 18:23
speziFanta



Ja, ganz recht, gemeint ist
Quellcode:md5(md5($password)) Auch wenn es immer heißen mag, md5-Hashes seien nicht zu entschlüsseln, so gibt es auch andere Mittel und Wege an Kennwörter der User zu gelangen.
Dieses Verfahren ist zwar zeitaufwendig, aber PWs unter 7 Zeichen bekommt man unter 10 Minuten - je nach Rechnerleistung.

Da man als Programmierer immer mit der Dummheit der Anwender rechnen muss, folgendes Beispiel.

Angenommen ein User verwendet das PW "a" und lässt es verschlüsseln. Da mein billiges Tool bei "a" beginnt zu cracken, habe ich sein Kennwort in weniger als 1 sec. Gehe ich jetzt aber hin, und verschlüssel sein Kennwort zwei mal, so ist das zu "entschlüsselnde" PW ja nicht mir "a", sondern der md5-Hash von "a", sprich 32 Zeichen, was vermutlich etwas länger (wenn nicht Jahre..) dauern würde.

Frage an euch, was haltet ihr davon und wie brauchbar/schwachsinnig sind diese Gedanken ?

--

Heute schon gegoogelt?
spezi|Clan
TheWall.de - wo jeder alles sein kann.


Dieser Beitrag wurde am 10.07.2004 um 18:25 von t.s|Fanta bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
10.07.2004, 18:57
dp
Administrator


wenn der angreifer weiss, dass du nen zweifachen hash verwendest, dann kann er einfach damit bruteforcen. das würde nur etwas länger dauern.

--

zum Seitenanfang zum Seitenende Profil || Suche
002
10.07.2004, 19:06
Onkel Dittmeyer



Ich nehme mal an du willst das ganze online betreiben.
Dann wirst du nämlich ganz sicher nicht mit unter 10 min hinkommen um ein PW durch Bruteforce zu knacken.
Insofern würd ich das nicht so eng sehen - theoretisch kann man jeden Hash mit Bruteforce und beliebiger Zeit knacken, auch wenn man nicht weiß wie oft die Daten damit Verschlüsselt sind.
Wenn du dir aber ernsthaft um Bruteforce Attacken Sorgen machst, dann würd ich einfach eine Begrenzung der Versuche festlegen - da reicht eigentlich sogar eine zeitliche. Also so nach 10 Versuchen muss man nen Tag warten, oder ähnliches.

--

zum Seitenanfang zum Seitenende Profil || Suche
003
10.07.2004, 19:07
speziFanta



jaja, es ging mir ja um die verzögerung. denn dann hat man im beispiel nicht ein zeichen, sondern 32 und das kann bei einem privaten pc schon etwas länger dauern - da ist die chance wahrscheinlich höher ein sicherheitsloch im system zu finden, als die PWs zu cracken ;)

Edit:

@Onkel Dittmeyer: Ich bin jetzt von dem Fall ausgeganen, dass ich als Cracker den Hash bereits besitze.
Aber die Idee mit dem zeitlichen Limit finde ich sehr gut.

--

Heute schon gegoogelt?
spezi|Clan
TheWall.de - wo jeder alles sein kann.


Dieser Beitrag wurde am 10.07.2004 um 19:09 von t.s|Fanta bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
004
10.07.2004, 20:38
Chronial



Wenn du dir so sorgen um deine Sicherheit machst, solltest du einfach das hier verwenden http://at2.php.net/manual/de/ref.crack.php und deine User zu einem sicheren Passwort zwingen.

--

"tsuji-giri" (japanisch) - ein neues Schwert an einem Passanten ausprobieren

zum Seitenanfang zum Seitenende Profil || Suche
005
10.07.2004, 23:27
Horat



also ein passwort mit einer mindestlänge von 4 zeichen wär wohl angebracht (oder auch 3)
aber jedenfalls muss ja nicht nur das passwort richtig sein. Die kombination aus Benutzername und Passwort muss korrekt sein. Damit also einer Bruteforcen kann muss er erstens den Benutzernamen kenn und dann muss er auch noch je nach zeichensatz mindestens ca. 80^4 (wenn man 80 versch. zeichen zulässt, man kann natürlich auch mehr, kompletter unicode z.b.) Passworter rausfinden. Wenn das übers internet laufen soll, also browser und web, kann das lange genuch dauern. Wenn das nicht so laufen soll denke ich ist eine nicht offene verschlüsselung besser. bzw eine verschlüsselung deren schlüssel fest auf den rechnern einprogrammiert sind und sich auch je nach ereignis oso ändern. Da ist ein md5 hash zwar einfacher aber unsicherer, wenn mans von deiner sichtweise betrachtet

--

Bild Blog <--

zum Seitenanfang zum Seitenende Profil || Suche
006
11.07.2004, 21:02
oxff



Das macht insofern keinen Sinn, als dass wenn der Angreifer weiss, dass zu zweimal hashst, auch das im Bruteforce einsetzen kann, dann bruteforced er eben md5(md5($current)), was dann halt auch sofort bei 'a' hält.

--

mwcollect - mein Projekt | oxlog - mein blog | happyhardcore.com Stream - gute Musik

zum Seitenanfang zum Seitenende Profil || Suche
007
11.07.2004, 22:07
dp
Administrator


(wie schon in #001 dargestellt)

es ist sinnvoll, dass man vom benutzer ein schweres passwort erzwingt. z.b. mindestens eine zahl und 6 zeichen verlangen, und, falls möglich das passwort gegen ein wörterbuch prüfen.

--

zum Seitenanfang zum Seitenende Profil || Suche
008
11.07.2004, 23:45
Chronial



siehe #004 :P

--

"tsuji-giri" (japanisch) - ein neues Schwert an einem Passanten ausprobieren

zum Seitenanfang zum Seitenende Profil || Suche
009
12.07.2004, 11:32
blair



imho schwachsinn.
md5 ist per definition nicht zu "knacken".

--

because our freedom sits at the end of a gun
we're all here getting beat up and held back
we're all here digging knives from our backs

zum Seitenanfang zum Seitenende Profil || Suche
010
12.07.2004, 11:38
Onkel Dittmeyer



Nicht zu entschlüsseln ja, aber das genau macht man nicht bei Bruteforce.
Probieren, probieren, probieren.

--

zum Seitenanfang zum Seitenende Profil || Suche
011
12.07.2004, 11:46
blair



das ding is, wenn der cracker die möglichkeit hat direkt mit dem hash anzukommen, hast du eh was falsch gemacht.
und wenn er die möglichkeit hat, sowas 50.000 mal pro sekunde zu machen, sowieso.

--

because our freedom sits at the end of a gun
we're all here getting beat up and held back
we're all here digging knives from our backs

zum Seitenanfang zum Seitenende Profil || Suche
012
12.07.2004, 13:25
Onkel Dittmeyer



Das stimmt natürlich, und deswegen würde ich mir auch keine Gedanken machen wenn ich md5 benutze, gerade in online Applikationen.

--

zum Seitenanfang zum Seitenende Profil || Suche
013
12.07.2004, 14:14
Chronial



Ihr habt sein problem wohl nicht verstanden:
Der angreifer hat den hash bereits (aus einem cookie oder woher auch immer), braucht aber das Passwort zum login.
Jetzt will er eben verhindern, dass der hacker vom hash zum passwort kommt, was per bruteforce eben sehr gut möglich ist.

Aber nimm einfach die cracklib, dann sollte das kein Problem sein.

--

"tsuji-giri" (japanisch) - ein neues Schwert an einem Passanten ausprobieren

zum Seitenanfang zum Seitenende Profil || Suche
014
13.07.2004, 20:48
TheTinySteini



Das ist aber Blödsinn. Wenn der md5-Hash im Cookie gespeichert wird (das ist eigentlich Standardverfahren), dann wird auch der md5-Hash an den Server geschickt zur Authentifizierung. Also wofür noch das Passwort rausfinden, wenn man gleich den Hash hinschicken kann? Wenn du irgendwie an die Cookies eines Board-Users kommst, kannst du dich auch als der Board-User einloggen, kein Problem.
Insofern geht's hier nur um den Fall, dass du weder Passwort noch md5-Hash kennst. Aber dann stellt sich das Problem mit der doppelten md5-Verschlüsselung gar nicht, dann musst du eh direkt mit der Eingabemaske auf dem Server bruteforcen. Und auch da kannst du bei "a" anfangen - ob das der Server dann einmal oder zweimal durch md5 jagt, um es zu verschlüsseln und dann mit dem Eintrag in der Datenbank abzugleichen, ist dann schnurzpiepegal. Klar, man könnte aus dem "a" per md5 ein längeres Passwort generieren und das dann benutzen. Aber das kennt ja der User dann nicht! Wenn er sich also einmal ausloggt, kommt er nie wieder rein, außer er kann sich weiterhin mit "a" einloggen, aber dann haben wir wieder die selbe Situation wie vorher...

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
015
15.07.2004, 16:44
speziFanta



Diesen Gedanken habe ich so noch gar nicht verfolgt. Denn meine Idee entstand dadurch, dass ich als Boardbetreiber eine ganze User-Datenbank voller md5-Hashes vor mir hatte und einfach dachte: "mal testen >D", denn viele User nutzen immer das selbe PW und mir gings auch ausschließlich ums PW.
Das ganze online zu betreiben war nie meine Absicht, aber dadurch wird das doppelte Verschlüsseln naturlich überflüssig.

Tja, dann bedanke ich mich bei euch für eure Beiträge.

--

Heute schon gegoogelt?
spezi|Clan
TheWall.de - wo jeder alles sein kann.


Dieser Beitrag wurde am 15.07.2004 um 16:45 von t.s|Fanta bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
016
21.07.2004, 19:57
Sonium



Mehr Sinn würde es wohl machen, die md5-Initialvariablen zu ändern. (k.a. ob das in php geht). Dann müsste der Angreifer erst einige pwd-hash paare haben um auf die Variablen zu schließen. Und ohne die könnte er wohl ziemlich garnix brutforcen.

--

---------------------------------
www.killerlevels.de Editing mit Quake III Arena, Urban Terror, Elite Force

zum Seitenanfang zum Seitenende Profil || Suche
017
22.07.2004, 14:02
Chronial



md5 hat keine initalvariablen.
dafür gibt es crypt.

--

"tsuji-giri" (japanisch) - ein neues Schwert an einem Passanten ausprobieren

zum Seitenanfang zum Seitenende Profil || Suche
018
22.07.2004, 14:04
dp
Administrator


es reicht aus, wenn man pro installation der software einen privaten seed generiert, der dann mit in die user-pass-verschlüsselungsfunktion eingeht.

--

zum Seitenanfang zum Seitenende Profil || Suche