5 milionów serwerów podatnych na FREAK, nowy atak na protokół SSL

dodał 3 marca 2015 o 22:59 w kategorii Krypto  z tagami:
5 milionów serwerów podatnych na FREAK, nowy atak na protokół SSL

Od wielu lat w niektórych popularnych implementacjach SSL drzemał błąd, pozwalający na podsłuchiwanie i fałszowanie zaszyfrowanego ruchu między klientem a serwerem. Podatne są miliony serwerów na całym świecie.

SSL nie ma dobrej passy – w ciągu ostatnich 12 miesięcy odkryto mnóstwo błędów zarówno w samym protokole jak i w różnych jego implementacjach. Odkrycia te zachęciły do dalszych prac inne zespoły badaczy a dzisiaj możemy poznać efekty ich poszukiwań.

FREAK, czyli eksportowa wersja RSA

W skrócie: odkryty atak polega na możliwości wymuszenia słabego, łatwego do złamania szyfrowania między podatnymi klientami (głównie OpenSSL i Apple SecureTransport ) a podatnymi serwerami (26% wszystkich udostępniających usługę SSL). A teraz dłuższa wersja dla zainteresowanych.

Warunkiem przeprowadzenia skutecznego ataku jest:

  • pozycja atakującego umożliwiająca podsłuchiwanie i modyfikowanie ruchu między klientem a serwerem,
  • klient z błędem umożliwiającym użycie słabszej wersji RSA (512 bitów),
  • serwer obsługujący słabszą wersję RSA.

Niestety okazuje się, że w rzeczywistości warunki te mogą zostać stosunkowo łatwo spełnione. Pomijamy punkt pierwszy – wystarczy podsłuch sieci lokalnej lub fałszywy punkt dostępowy WiFi, nie mówiąc już o możliwościach służb specjalnych. Ciekawie zaczyna się w kolejnych punktach. Co prawda większość przeglądarek nie jest podatna na odkryty błąd (CVE-2015-0204), jednak dwie bardzo duże grupy użytkowników są zagrożone – jedna to użytkownicy Android Browsera opartego o OpenSSL, druga to użytkownicy Apple. Apple obiecało błąd wkrótce naprawić, Google ma z tym duży problem. Co prawda jest dostępna poprawiona wersja OpenSSL, jednak jak wymusić jej aktualizację na miliardzie urządzeń? To pytanie pozostaje na razie bez odpowiedzi.

Ciekawie wygląda sprawa z serwerami. Początkowo odkrywcy błędu przypuszczali, że w dzisiejszych czasach mało który serwer obsługuje jeszcze szyfrowanie RSA z kluczem o długości 512 bitów. Byli w błędzie. Według przeprowadzonego skanu podatnych jest ponad 12% wśród miliona najpopularniejszych witryn WWW i ponad 26% wszystkich serwerów w przestrzeni adresowej IPv4. Co prawda wiele z nich będzie wkrótce załatanych, jednak na pewno nie wszystkie. Wśród najpopularniejszych polskich serwerów (z pierwszych 10 000 wg Alexa) podatne są:

  • wiocha.pl
  • gem.pl
  • infor.pl
  • rzeczpospolita.pl
  • trojmiasto.pl
  • deser.pl
  • polskieradio.pl
  • librus.pl

Trochę techniki

Scenariusz ataku wygląda następująco:

  1. Klient prosi serwer o standardowe szyfrowanie RSA.
  2. Atakujący zmienia tę prośbę na RSA w „wersji eksportowej”.
  3. Serwer odpowiada kluczem RSA o długości 512 bitów.
  4. Klient akceptuje ten słaby klucz na skutek błędu w implementacji SSL.
  5. Atakujący oblicza wartości niezbędne do odszyfrowania komunikacji.
  6. Klient szyfruje klucz tymczasowy i przesyła na serwer.
  7. Atakujący poznaje ten klucz i odszyfrowuje całą komunikację.

Choć teoretycznie serwer może dla każdej sesji generować nowy klucz RSA, okazuje się, że ze względów wydajnościowych w większości przypadków klucz generowany jest w momencie uruchomienia serwera i pozostaje bez zmian przez cały czas jego działania. Proces ataku na klucz RSA o długości 512 bitów trwa dzięki serwerom Amazona ok. 7 godzin i kosztuje ok. 100 dolarów. Raz złamany klucz służy do odszyfrowania każdej komunikacji z serwerem do jego restartu.

Trochę historii

Skąd wzięły się słabe klucze RSA? To efekt wprowadzonej w latach 90tych polityki USA, która zabraniała eksportowania zaawansowanych technologii kryptograficznych. Choć przepisy już dawno zostały zmienione, to protokół SSL/TLS uwzględnia ciągle fakt, że wiele serwerów obsługuje „wersję eksportową” RSA i umożliwia jej wynegocjowanie klientom. Niestety funkcja ta, choć praktycznie nieprzydatna ze względu na łatwość w łamaniu tak krótkich kluczy, nie została do tej pory wyeliminowana.

Co ciekawe podatne na atak było wiele amerykańskich serwerów rządowych, a niektóre nadal nie poprawiły konfiguracji. Przykładem niech będzie chociażby nsa.gov.

Udany atak na serwer NSA

Udany atak na serwer NSA

Co dalej?

Klienci Apple wkrótce powinni otrzymać aktualizację. Użytkownicy Androida powinni przestać korzystać z Android Browsera i pozostać przy Google Chrome. Administratorzy serwerów powinni zaktualizować OpenSSL do aktualnej wersji i wyłączyć obsługę kluczy RSA o długości 512 bitów.

Polecamy także test podatności dla klienta oraz serwera (dzięki Jarecki).

Źródła i dalsza lektura: