25 Paź

Jak zabezpieczyć się przed atakami na SSL?

W przypadku wszystkich technologii zabezpieczeń, zdarzają się próby ich złamania lub obejścia. Niejednokrotnie poszukiwano także słabości w protokole SSL. Razem z nowymi zagrożeniami pojawiają się kolejne, skuteczne zbiory algorytmów i zabezpieczeń. Warto jednak wiedzieć, jakie typy ataków mogą być wymierzane w protokół SSL i jak się przed nimi chronić.

Poodle

Poodle (Padding Oracle On Downgraded Legacy Encryption) pojawiło się w październiku 2014 roku. W takiej formie ataku wykorzystywane są serwery korzystające z SSL w wersji 3.0, do zapewnienia zgodności ze starszym systemem. Celem atakującego jest przedostanie się między serwer i ofiarę, a następnie zdegradowanie połączenia do SSL 3.0. Obecna w trybie Cipher Block Chaining luka pozwala na wykorzystanie szyfru blokowego w celu zaszyfrowania treści o praktycznie nieograniczonej długości. Dane wyjściowe muszą jednak w całości stanowić wielokrotność rozmiaru bloku, a na ich strukturę składać się połączone ze sobą pola. Poza tekstem jawnym oraz niezbędnymi do wypełnienia bloku bajtami, dotyczy to także bajtów dopełniających oraz klucza uwierzytelniania wiadomości MAC. Ten ostatni obliczany jest w oparciu o tekst jawny i obejmuje część informacji dodatkowych, na przykład dotyczących numeru sekwencyjnego wiadomości.

SSL Stripping

Technika SSL Stripping degraduje zabezpieczone przez certyfikat SSL połączenie HTTPS do zwykłego HTTP. W takiej formie ataku również powodzenie uzależnione jest od możliwości przechwycenia sieciowego ruchu ofiary. Może on przechodzić w całości przez komputer atakującego, dodatkowo służącego jako serwer proxy. Wywoływany jest w ten sposób błąd certyfikatu, a także zaszyfrowanie przechwyconego ruchu. Po wpisaniu w pasku adresu np. strony banku, na odpowiedź serwera poza użytkownikiem czeka także połączona z przeglądarką maszyna atakującego. Żądanie ofiary jest przekazywane przez atakującego, jednak bank rozpoznaje połączenie jako bezpieczne. Serwer odpowiada stroną logowania HTTPS, którą atakujący modyfikuje na protokół HTTP. Od tej pory żądania ofiary prezentowane są jako tekst jawny, przez co atakujący zyskuje możliwość odczytywania wszystkich poświadczeń. W przeglądarce nie są wyświetlane żadne błędy, w związku z czym użytkownik nie jest świadomy ataku. Stripping SSL jest jednak stosunkowo łatwy do wykrycia – wystarczy rozpoznać, że połączenie do zaufanej strony straciło szyfrowanie.

Freak

Regulacje związane z eksportowaniem złożonych systemów kryptograficznych ustanowione zostały przez amerykański rząd już w latach dziewięćdziesiątych ubiegłego wieku. Pozwoliły one na ustanowienie limitu dla siły klucza RSA, który maksymalnie wynosił 512 bitów dla wszystkich eksportowanych implementacji SSL. Reguły te zostały jednak zniesione w 2000 roku – od tamtej pory przeglądarki wykorzystywać mogą bezpieczniejsze certyfikaty SSL. Dopiero w 2015 roku odkryto, że stare wersje szyfrowania wciąż mogą być używane. Wspierające je serwery narażone są na ataki, które degradują połączenie do znacznie słabszych algorytmów szyfrowania. Obecnie moce obliczeniowe komputerów pozwalają na złamanie tego rodzaju kluczy w ciągu zaledwie kilku godzin. Od dnia zniesienia ograniczeń minęło kilkanaście lat, jednak nawet po odkryciu podatności aż 10% z miliona najchętniej odwiedzanych serwisów wciąż wspiera używanie eksportowych szyfrów. Aby uchronić się przed atakiem typu Freak, należy więc korzystać z najnowszej wersji protokołu SSL. Wykrywanie zagrożeń musi bowiem odbywać się w obrębie całej infrastruktury zabezpieczanej usługi.