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?

Author: AstroCB, 2009-06-18

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.

 60
Author: Vilx-,
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...

 15
Author: Zifre,
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.)

 9
Author: Kieran Hall,
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.

 2
Author: fergjo,
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:

Http://en.wikipedia.org/wiki/Rainbow_table

 1
Author: Dana Holt,
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).

 1
Author: Colin Pickard,
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.

 1
Author: Jonathan Maddison,
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