Czym dokładnie jest atak tęczy? [zamknięte]
Czytałem kilka artykułów na temat soli i hashów haseł i kilka osób wspominało o atakach rainbow. Czym dokładnie jest atak tęczy i jakie są najlepsze metody, aby temu zapobiec?
7 answers
Artykuł w Wikipedii jest trochę trudny do zrozumienia. W skrócie można myśleć o Tęczowej tabeli jako dużym słowniku z wstępnie obliczonymi hashami i hasłami, z których zostały obliczone.
Różnica między tabelami Rainbow a innymi słownikami polega po prostu na sposobie przechowywania wpisów. Rainbow table jest zoptymalizowany pod kątem hashów i haseł, dzięki czemu osiąga doskonałą optymalizację przestrzeni przy zachowaniu dobrej szybkości wyszukiwania. Ale w istocie, to tylko słownik.
Gdy atakujący wykrada Ci długą listę skrótów haseł, może szybko sprawdzić, czy któreś z nich znajduje się w tęczowej tabeli. Dla tych, którzy są, Tęczowa tabela będzie również zawierać, z jakiego łańcucha zostały zahaszowane.
Oczywiście jest zbyt wiele hashów, aby przechowywać je wszystkie w tęczowym stole. Więc jeśli hash nie znajduje się w konkretnej tabeli, haker ma pecha. Ale jeśli użytkownicy używają prostych angielskich słów i masz je zahaszowane tylko raz, istnieje duża możliwość, że dobra Tęczowa tabela będzie zawierać hasło.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-22 06:23:16
To kiedy ktoś używa Tęczowej tabeli do łamania haseł.
Jeśli martwisz się o to, powinieneś użyć soli . Istnieje również pytanie , które może pomóc ci zrozumieć sól nieco lepiej niż Wikipedia...
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:54:39
To jest przydatny artykuł o tęczowych stołach dla laika. (Nie sugerując, że jesteś laikiem, ale jest dobrze napisane i zwięzłe.)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-18 13:54:00
Spóźniłem się na imprezę, ale byłem też świadomy, że Rainbow Tables jest metodą ataku na hashed/unsalted hasłami. Jednak ostatnio na Twitterze http://codahale.com/how-to-safely-store-a-password / został udostępniony i w zależności od twoich potrzeb i obaw.. możesz nie być w stanie zasolić sobie drogę do bezpiecznego przechowywania haseł.
Mam nadzieję, że to dla Ciebie pouczające.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-10 13:25:16
Wikipedia jest twoim przyjacielem:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-18 13:52:41
Ogólnie rzecz biorąc, szyfrujesz ogromną liczbę możliwych krótkich ciągów tekstowych (np. dla haseł) i przechowujesz zaszyfrowane wartości obok zwykłego tekstu. To sprawia, że (stosunkowo) proste wyszukiwanie zwykłego tekstu, gdy masz zaszyfrowaną wartość.
Jest to najbardziej przydatne dla słabych i / lub niesolonych hashów haseł. Popularnym przykładem jest Lan Manager hash , używany przez wersje Windows do XP do przechowywania haseł użytkowników.
Zauważ, że a wstępnie obliczona tabela rainbow nawet dla czegoś tak prostego jak hash LM zajmuje dużo czasu procesora i zajmuje sporo miejsca (rzędu 10s gigabajtów IIRC).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-18 14:04:01
Rainbow Tables zasadniczo pozwalają komuś na przechowywanie dużej liczby wstępnie obliczonych skrótów.
Ułatwia to łamanie haseł zaszyfrowanych, ponieważ zamiast wykonywać całą stertę funkcji haszujących, praca została już wykonana i praktycznie po prostu trzeba przeszukiwać bazę danych.
Najlepszą ochroną przed tego rodzaju atakiem jest użycie soli (losowych znaków) w haśle. tzn. zamiast przechowywać md5(hasło), przechowywać md5 (hasło + sól), lub jeszcze lepiej md5 (salt + md5 (hasło)).
Ponieważ nawet przy tęczowych stołach przechowywanie wszystkich możliwych solonych hashów będzie prawie niemożliwe.
BTW, oczywiście trzeba przechowywać sól z hash tak, że można uwierzytelnić użytkownika.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-18 14:08:24