Cisco zmieniło algorytm haszowania – na znacznie słabszy

dodał 19 marca 2013 o 16:52 w kategorii Krypto, Wpadki  z tagami:
Cisco zmieniło algorytm haszowania – na znacznie słabszy

Stara zasada mówi, żeby nie ruszać, jeśli działa, ponieważ każda interwencja może coś popsuć. Boleśnie przekonało się o tym Cisco, które zmieniło algorytm haszowania haseł na teoretycznie lepszy – który okazał się wielokrotnie słabszy od starego.

Aby uniknąć zapisywania haseł użytkowników otwartym tekstem w plikach konfiguracyjnych, stosuje się jednokierunkowe funkcje skrótu, zwane funkcjami haszującymi. Przekształcają one hasła w ciągi znaków, na podstawie których można zweryfikować, czy użytkownik podał prawidłowe hasło, lecz nie można odzyskać treści hasła. Do niedawna Cisco korzystało z funkcji nazywanych Type 5 oraz Type 7, jednak postanowiło zastąpić je nową funkcją – Type 4.

Funkcja Type 4 miała być znacznie silniejsza, a zatem trudniejsza do złamania od starszych wersji. W założeniu miała opierać się na 80-bitowej, generowanej losowo soli (ciągu dodawanym do każdego hasła przed jego przekształceniem) oraz tysiącu iteracji algorytmu SHA-256. Tysiąc iteracji miał tysiąckrotnie spowolnić próby odgadnięcia treści hasła. Wdrożenie nowej funkcji udało się w 100%, jednak z drobnymi zastrzeżeniami. Po pierwsze, zapomniano o soli i haszowano same hasła. Po drugie zapomniano o tysiącu iteracji i haszowano hasło raz. Cisco nazwało to „błędem w implementacji”. Ciekawe, czy błąd w implementacji szybko znajdzie nową pracę…

Nową funkcję Type 4 wdrożono w części urządzeń działających pod kontrolą Cisco IOS oraz Cisco IOS XE w oparciu o kod Cisco IOS 15. Jej słabość odkryli Philipp Schmidt oraz. Jens Steube (autor Hashcata, popularnego programu służącego do łamania haseł). Jak informuje Ars Technica, nowy algorytm okazał się tak słaby, że komputer wyposażony w dwie karty graficzne Radeon 6990 mógłby testować 2,8 miliarda możliwych kombinacji haseł na sekundę, próbując odgadnąć hasło. Taka wydajność prób łamania oznacza, że dopiero hasła o długości kilkunastu znaków oraz zawierające znaki specjalne mogą oprzeć się temu atakowi. Dla odmiany funkcja Type 5 (zastąpiona przez Type 4) korzystała z tysiąca iteracji funkcji MD5, zapewniając ok. tysiąckrotnie mniejszą prędkość łamania hasła. Dodatkowo poprzednia wersja stosowała losową sól, sprawiając, że każde hasło musiało być łamane oddzielnie.

Największą zagadką pozostaje, jak można wprowadzić nowy algorytm haszowania do systemu operacyjnego, pomijając we wdrożeniu jego dwa kluczowe aspekty, decydujące o bezpieczeństwie hasza. Na usprawiedliwienie Cisco możemy jedynie poinformować, że na pierwszy rzut oka nie da się odróżnić hasza z solą od hasza bez soli, tak samo jak i stwierdzić liczby zastosowanych iteracji…