2007-05-13, 14:57
#97
Citat:
Ursprungligen postat av anakata
Vi kommer givetvis inte polisanmäla eller något sådant dumt. Ingen i TPB-gänget är direkt sur eller så över det inträffade heller, och personligen tycker jag mest det var kul - om än något irriterande (mestadels för att det ringt massa journalister och stört mig...).
Ung och dum har ju alla varit. Jag hade säkert gjort samma sak själv i mina glada ungdomsår.
Numera är lösenordshashen krypterad i databasen, för övrigt :-). Ska byta till en bättre hashalgoritm också - jag vet faktiskt inte varför jag inte använde samma algoritm som jag brukar (hashar lösenordet+sekvensnummer+salt 10000 gånger) när jag kodade inloggnings/sessionshanteringen för några år sedan.
Ung och dum har ju alla varit. Jag hade säkert gjort samma sak själv i mina glada ungdomsår.
Numera är lösenordshashen krypterad i databasen, för övrigt :-). Ska byta till en bättre hashalgoritm också - jag vet faktiskt inte varför jag inte använde samma algoritm som jag brukar (hashar lösenordet+sekvensnummer+salt 10000 gånger) när jag kodade inloggnings/sessionshanteringen för några år sedan.
Hur menar du med sekvensnummer? Ett bra dynamiskt salt tordes vara användarnamnet i sig. Samt om man kör PHP så bör man välja SHA1 framför MD5. De flesta kör på MD5 även idag, trots att PHP har stöd för den mycket bättre SHA1. Det de kanske tänker på är att SHA1 är lite tyngre beräkningsmässigt, men så länge som folk inte loggar in som tokar bör det inte vara något problem.
Ett statiskt salt i kombination med användarnamnet som salt är smart. T. ex:
SHA1( SHA1( 'abcABC{[]' + $pass + $username ) ).
För er som inte är insatta så mycket i det hela men kanske hört talas om regnbågstabeller så är regnbågstabeller föruträknade, och låt oss då säga att man använder ett salt, t. ex: 'abcABC123', då måste man ta med det i beräkningen när hela tabellen genereras, och alltså generera hela tabellen just för det saltet. Att använda ett statiskt salt på det här sättet gör alltså att regnbågstabellsattacker blir helt värdelösa. Dessutom, om man inte har det statiska saltet, så kan man inte heller köra bruteforce eller ordlisteattacker mot det.
Från vad jag har förstått blev TPB hackade via SQL-injection, och vanligtvis så har SQL-användaren inte läsrättigheter på disken, och man kan då inte komma åt något skript och lista ut det statiska saltet. Man är körd helt enkelt.
Men låt oss säga att man kom åt det statiska saltet, då kan man attackera alla hashar samtidigt med ordlisteattacker och bruteforce, eftersom de alla har samma salt, det är här dynamiskt salt kommer in.
I och med att varje användarnamn är unikt, så är det ett unikt salt, och därav måste varje bruteforce och ordlisteattack köras individuellt mot varje hash, dvs, man måste knäcka dom en och en i taget, vilket tar enormt mycket längre tid.
Det som är bra med att använda t. ex användarnamnet, eller något annat känt, är att man slipper ha en kolumn i databasen där man sparar ett slumpmässigt genererat salt som blir unikt för användaren.
