Innehållsförteckning
- Vad är en brute force-attack?
- Vad är Rainbow Tabeller?
För att förenkla processen skapade hackare enorma databaser fulla av de mest använda lösenorden och deras motsvarande hashvärden. När ett hashvärde matchar ett som lagras i en hackerordbok använder de helt enkelt originaltexten som motsvarar hashvärdet som lösenord och vips, de är med. Naturligtvis visar sig detta trick bara vara användbart i fallet med “vanliga” lösenord . Med andra ord, om ditt lösenord är “lösenord” eller “lösenord123” eller något annat oändligt populärt lösenord, kommer ditt konto att brytas in. Det är bara en fråga om tid. Faktum är att om ditt lösenord är “lösenord”, skulle en grundläggande brute force-attack mer än nog räcka.
Vad händer om lösenordet som är kopplat till är ett konto inte vanligt? Tänk om det är ett slumpmässigt ord på åtta bokstäver som “scrabble”? Hackerordböcker kan lösa problemet med ovanliga ord genom att lägga till så många ord som möjligt i sin ordbok. Lagringen är dock begränsad. Att skapa en hackerordbok med alla möjliga ord skulle resultera i en ohanterligt tung fil, ungefär som en verklig inbunden ordbok. Man skulle behöva släpa runt på ett datalagringscenter varje gång de ville öppna ett e-postkonto.
För att lösa problemet med filstorlek, kom hackare på konceptet Rainbow Tables. Regnbågstabeller är i princip omöjliga att skilja från hackerordböcker vid första anblicken. De innehåller ett ord och bredvid dess hashvärde. Men i fallet med ett regnbågsbord är det ursprungliga ordet hashat. Det resulterande hashvärdet “minskas” för att skapa ett nytt ord. Då hashas det ordet. Den nya hashen reduceras och det resulterande ordet hashas igen. Denna process med hash och reducering görs ungefär hundra tusen gånger. Det hundra tusendels hashvärdet lagras tillsammans med originaltexten.
Ett regnbågsbord innehåller en lång kedja (ca. 100 000 länkar) med hash-värden i varje rad, istället för bara ett ord och dess hash. I grund och botten kan ett regnbågsbord rymma 100 000 ord på en enda rad, till skillnad från en hackerordbok, som bara rymmer ett. Som ett resultat kan den innehålla miljontals ord utan att ha en proportionellt stor filstorlek. Tänk på ett regnbågsbord som en färgpalett. Varje rad i tabellen är en speciell färg, men varje färg har cirka 100 000 nyanser. Således skulle vi kunna lagra färgen röd, men har tillgång till röd, röd, vinröd, vermillion och många fler nyanser utan att behöva något extra lagringsutrymme.
Ett regnbågsbord är i grunden en färgpalett (Fotokredit: Velazquez77/Shutterstock)
Hashvärdet på en webbplatsserver jämförs med listan över hashvärden i regnbågsbordet. Om det finns en matchning kontrolleras motsvarande originaltext mot lösenordet som en person försöker knäcka. Om det är rätt,
voila,
är vi med. Om inte, reduceras hashvärdet för att få nästa originaltext i kedjan. Den texten testas mot lösenordet. I grund och botten går vi ner i hela värdekedjan genom att hasha och reducera i varje steg tills vi kommer fram till ett värde som matchar lösenordet. Detta kan fortfarande vara en ganska lång, utdragen process. Dessutom har vi för närvarande Rainbow Tables som kan knäcka lösenord endast upp till 10 tecken långa. Dessutom kan dessa tabeller inte hantera komplicerade, trassliga lösenord.
Det är därför många webbplatser tvingar dig att på något sätt komplicera ditt lösenord. Lägg till en stor bokstav, inkludera en symbol eller ha en siffra någonstans däremellan. En sträng med bokstäver, siffror och symboler, när de hashas, skulle skapa ett hashvärde som sällan skulle vara en del av något hackerbibliotek eller Rainbow Table. Som ett resultat ger det ett superstarkt lösenord!
Referenser
,
,