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:
- Klient prosi serwer o standardowe szyfrowanie RSA.
- Atakujący zmienia tę prośbę na RSA w „wersji eksportowej”.
- Serwer odpowiada kluczem RSA o długości 512 bitów.
- Klient akceptuje ten słaby klucz na skutek błędu w implementacji SSL.
- Atakujący oblicza wartości niezbędne do odszyfrowania komunikacji.
- Klient szyfruje klucz tymczasowy i przesyła na serwer.
- 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.
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:
Komentarze
Librus.pl podatny – ciekawe kiedy pojawią się fałszywe ocenki :D
Nigdy. Aż tak dobrze nie ma.
Odnośnie Librusa, to ze 2 lata temu strona była co chwilę oznaczana przez przeglądarkę jako niebezpieczna + kilka razy antywirus krzyczał, że coś zablokował. W sumie nic dziwnego, bo za którymś razem jednak jakieś Ransomware przedostało się do kompa.
Chyba rok temu (a może 2) kilka razy padała rano bo ktoś z DoSa ją grzał. Jak się ma tylu wrogów…
XMLRPC konkretnie ;)
pod Androidem wolę CM Browser niż Chrome’a
Czy ma ktoś jakieś zaufane źródło do przetestowania serwera?
Klienta przetestujesz tu – https://freakattack.com, zaś Server tu https://www.ssllabs.com/ssltest
podziękowafszy :)
A jakiś test dla serwera imap/smtp po ssl/tls?
sprawdziłem chrome, feedly i Dolphin browser na freakattack.com i wg nich wszystkie 3 aplikacje są podatne
> Good News! Your browser appears to be safe from the FREAK Attack!
W Fx SSL jest już domyślnie wyłączone.
Chrome w wersji 42 będzie ostatnią wersją dla Androida 4.0 ICS
http://www.chromium.org/Home/ice-cream-sandwich-support-deprecation-faq
Google coraz bardziej się pogrąża. Brak aktualizacji dla WebViewa, a teraz to.
Ten system ma już swoje lata. Telefony z nim wydawane i tak nie uciągną Chrome, a jeśli tak to powinny dostać aktualizację.
Rekomendacje wprowadzają w błąd. U mnie na CM11 (KitKat 4.4) freakattack.com twierdzi, że Google Chrome jest podatny (wersja 40.0.2214.109). Niepodatny jest natomiast Firefox 36.0. W podatności najgorsze jest to, że każda apka, która kprzysta z UI.WebView jest z automatu podatna.
Na moich obu przeglądarkach pod Windowsem: IE 11 i Firefox 36, dostaję komunikat:
„Warning! Your client is vulnerable to CVE-2015-0204. Even though your client doesn’t offer any RSA EXPORT suites, it can still be tricked into using one of them. We encourage you to upgrade your client.”
Ja pier*** te nazwy ataków/podatności już mnie dobijają.
Wolisz „CVE-2015-0204”?
FREAK nie brzmi co prawda profesjonalnie, natomiast BEAST czy CRIME to moim zdaniem calkiem ciekawe nazwy, a dzieki ich nazwom latwiej zakomunikowac osobom decyzyjnym, co to za atak, czego dotyczy i jakie sa jego konsekwencje. Dzieki popularnym nazwom latwiej tez zrobic wokol nich rozglos dzieki czemu osoby decyzyjne maja szanse osluchac sie na ich temat z kilku zrodel.
Moim zdaniem kazda dziedzina zwiazana z bezpieczenstwem IT (ssl, przegladarki, popularne protokoly itd) powinna miec swoj wlasny namespace z nazwami dla najpowazniejszych podatnosci. Moze niekoniecznie nazwy postaci z ToyStory jak w Debianie, ale cos na ten ksztalt.
Poziom bezpieczenstwa i kasa przeznaczona na jego poprawe, w duzej mierze zalezy od poparcia i wsparcia finansowego przecietnych ludzi nie zwiazanych z IT. Tylko w ten sposob mozna do nich dotrzec. Nie przez CVE ;)
Niestety taka moda :(
Przynajmniej tym razem odpuścili sobie logo.
Ten atak powinien nazywać się „RSA_Export”. Taka nazwa od razu mówi o co chodzi i dzięki komu go zawdzięczamy.
Co ma obrazować ten screen z Safari, bo chyba nie bardzo rozumiem.
Popatrz jeszcze raz i pomyśl jak Amerykanin.
Ten atak to swoiste nihil novi. Ogólnie bezpieczeństwo IT stoi w Polsce na żałośnie niskim poziomie. Ale jest nadzieja, kiedyś ludzie nie wiedzieli co to jest komputer, nie mieli muzyki ale teraz są komputery , widziałem można mieć telewizor itd.
A co oznacza Assessment failed: Unable to connect to server https://www.ssllabs.com/ssltest/analyze.html?d=szpitalmiejski.eu ? Tam nic nie mają czy jak ?
A jak tam nasze serwery rządowe?
Ktos sprawdzał podatności serwerów naszej administracji?
Android KK, Opera 27.0.1698.89115: Vulnerable!