Słownik Rainbow Table (Tęczowe tablice)

Rainbow Table (Tęczowe tablice)

Rainbow table to wstępnie obliczona struktura (klasycznie łańcuchy funkcji) służąca do odwracania hashy haseł bez liczenia od zera przy każdym dumpie. Idea: zainwestuj czas i dysk raz, potem szybko szukaj, jakie hasło odpowiada danemu skrótowi.

Na blackweb.pl tęczowe tablice to przede wszystkim lekcja o soli i o tym, dlaczego „hash w bazie” bez soli był katastrofą. Wciąż pojawiają się w podręcznikach i w wyjaśnieniach starych wycieków. Przy nowoczesnym przechowywaniu haseł (unikalna sól, bcrypt/scrypt/argon2) klasyczne tablice tracą sens ekonomiczny.

Po co to było

Funkcja skrótu jest jednokierunkowa w założeniu. Przy krótkich i popularnych hasłach przestrzeń jest jednak na tyle mała, że da się policzyć hash dla milionów kandydatów. Prosta tabela „hasło → hash” zajmuje dużo miejsca. Rainbow tables kompresują ten trade-off: łańcuchy redukcji, mniej miejsca, więcej CPU przy odzyskiwaniu. Szczegóły matematyczne zostawiamy paperom. Skutek praktyczny: przy skradzionym dumpie MD5/SHA1 bez soli napastnik nie musiał robić pełnego brute force od zera dla każdego wiersza.

Gdy dwa konta miały to samo hasło, miały ten sam hash. Wyciek od razu pokazywał klastry. Tablica raz zbudowana obsługiwała wiele dumpów tego samego algorytmu.

Sól (salt) zabija schemat

Sól to losowa wartość dopisana do hasła przed hashem, przechowywana obok skrótu. To samo hasło dostaje inny hash na każdym koncie. Gotowa tablica policzona „dla MD5 bez soli” nie trafia. Trzeba by budować tablice per sól, co niszczy ekonomię wstępnego liczenia.

Dlatego sensowne systemy solą. Dlatego w reportach po breechu pytanie „czy były sole i jaki KDF?” jest ważniejsze niż sam fakt „hasła zahashowane”. Hash bez soli to często tylko zaciemnienie, nie ochrona przed hurtowym odzyskaniem popularnych haseł.

Co z tego dziś

Offline cracking GPU na solonych bcryptach to nadal brute force / słownik, tylko droższy. Stuffing i stealerzy często omijają hash w ogóle: mają plaintext z innego miejsca. Rainbow tables zostają w słowniku, bo wyjaśniają stare nagłówki i egzaminacyjne pytania. Nowy dump z 2011 bez soli wciąż może być „tęczowy” w skutkach, jeśli ktoś trzyma te same hasła.

Dla obrony użytkownika wniosek jest nudny i skuteczny: unikalne hasła, menedżer, 2FA. Nie „mam nadzieję, że ich baza miała sól”.

Gdy w opisie wycieku pada „hasła zahashowane”, dopytaj w myślach: jakim algorytmem i czy z solą. Bez tego zdanie uspokaja bardziej, niż powinno. Rainbow tables są wtedy skrótem myślowym do ryzyka hurtowego odzyskania popularnych haseł.

Czego tu nie ma

Nie ma linków do generatorów tablic ani tutorialu crackowania dumpów. Jest rola historyczna i powód, dla którego sól jest standardem, a nie ozdobą.

Zobacz też

← Słownik · Archiwum