Bestia groźna dla stron z SSL

Do tej pory połączenie szyfrowane za pomocą SSL było bezpiecznym sposobem ochrony przed przechwyceniem transmisji w Internecie. Dwa tygodnie temu badacze zaprezentowali nieco inny atak.

Obecnie wykryto bardzo poważną podatność większości stron WWW, która umożliwia przechwycenie informacji w tranzycie w sposób niemal niezauważony.

Podatność ta jest obecna w wersji 1.0 protokołu TLS (Transport Layer Security), następcy SSL, dotyczy praktycznie wszystkich stron szyfrowanych za pomocą tego protokołu. Chociaż wersje TLS 1.1 oraz 1.2 nie są podatne na ten atak, są bardzo rzadko wspierane przez strony i przeglądarki. Ryzyko dotyczy zatem wielu stron, w tym także komercyjnych, takich jak PayPal, przy czym w ten sposób będzie można przeprowadzać ataki na strony transakcyjne różnych banków.

Praktyczny eksploit wykorzystujący tę podatność został zaprezentowany przez dwóch badaczy - Thai Duonga oraz Juliana Rizzo - na konferencji Ekoparty w Buenos Aires. Atak został nazwany bestią (BEAST jako skrót od Browser Exploit Against SSL/TLS - eksploit w przeglądarce atakujący SSL i TLS) i wykorzystuje niewielki fragment kodu JavaScript, współpracujący ze snifferem sieciowym, by deszyfrować cookie, które umożliwia pozyskanie dostępu do chronionych kont użytkowników. Eksploit działa także wtedy, gdy strona korzysta z HSTS, czyli HTTP Strict Transport Security, dzięki czemu niektóre strony nie będą się ładować bez zabezpieczenia za pomocą SSL.

Deszyfrowanie SSL

Według badaczy, jest to obecnie jedyny atak, który faktycznie skutkuje deszyfrowaniem transmisji zaszyfrowanej za pomocą SSL, bez korzystania ze słabości związanych z uwierzytelnieniem (na przykład za pomocą podrobionych certyfikatów). Atak przeprowadzany za pomocą BEAST polega na odzyskaniu danych przez podstawienie prawdopodobnej zawartości. Błąd ten jest znany od dawna, występuje w TLS, ale dotąd był uznawany jako mało krytyczny, gdyż nikt nie wierzył, że będzie można go wykorzystać. Podczas procesu szyfrowania protokół szyfruje blok danych za blokiem, stosując dane z poprzednio zaszyfrowanego bloku tekstu. Rozważania teoretyczne zakładały, że być może atakujący może zmanipulować proces w teki sposób, by próbować odgadnąć zawartość bloków przed ich zaszyfrowaniem. Jeśli atakujący odgadnie prawidłową zawartość, oba bloki (nowy i stary) będą identyczne po zaszyfrowaniu. Atak w praktyce wykorzystuje coś w rodzaju kryptograficznego konia trojańskiego - napastnik umieszcza fragment kodu JavaScript w przeglądarce, kod ten wstrzykuje znaną zawartość do strumienia danych. Procedura ta jest pracochłonna, ale skuteczna, niemniej nadaje się do niewielkich porcji danych, takich jak cookie.

Kradzież cookie ze strony PayPal

Obecnie atak BEAST z powodzeniem może być wykorzystany do kradzieży zawartości zaszyfrowanego cookie, chroniącego dostępu do sesji. Proces odzyskiwania każdego bajta szyfrowanego cookie zajmuje około dwóch sekund, zatem w przypadku cookies używanych do uwierzytelnienia, zajmujących od 1000 do 2000 znaków, atak ten zajmie co najmniej pół godziny. Mimo wszystko technika ta może być zagrożeniem dla wielu stron, które korzystają ze starszych wersji TLS, gdyż według badaczy czas odzyskania cookie w takim przypadku będzie można znacząco skrócić. W niedawno opublikowanej wiadomości Rizzo napisał, że prace nad optymalizacją wykorzystywanej tu techniki są dość zaawansowane i obecnie odzyskanie cookie zajmuje mniej niż 10 minut.

Obrona przed bestią

Warto zauważyć, że atak ten wykorzystuje algorytm szyfrowania CBC (cipher block chaining), w którym informacja z poprzednio zaszyfrowanego bloku służy do szyfrowania następnego bloku tekstu. CBC występuje w AES i DES, ale nie w RC4, zatem serwery WWW faworyzujące RC4 są mniej podatne na taki atak. Chociaż sam algorytm RC4 jest kryptograficznie słabszy, atak BEAST jest w nim o wiele mniej prawdopodobny. Przykładem stron, które faworyzują RC4, są strony Google, z kolei PayPal faworyzuje AES. Aby minimalizować ryzyko ataku, należy zatem włączyć obsługę RC4-SHA, co jest wspierane przez serwery i przeglądarki.

Bestia czy lewe certyfikaty?

BEAST jest najnowszą techniką ataku przeciw najpopularniejszym na świecie systemom zabezpieczenia transmisji przez niezaufaną sieć oraz kontroli autentyczności hostowanych stron WWW. W ciągu ostatnich kilku lat badacze, m.in. Moxie Marlinspike, pokazywali metody pozyskania certyfikatu, który umożliwiłby walidację dowolnej strony w taki sposób, by przeglądarka ją zaakceptowała.

Jedną z metod na obejście zabezpieczeń SSL jest włamanie do prawowitego centrum certyfikacyjnego i wystawienie certyfikatów poprawnych od strony analizy kryptograficznej. W ten sposób pozyskano fałszywe certyfikaty między innymi dla Google.com - włamanie do DigiNotar umożliwiło szpiegowanie obywateli Iranu, korzystających ze skrzynek poczty Google zabezpieczonych za pomocą SSL.

W odróżnieniu od ataków korzystających z podrobionych certyfikatów atak zaprezentowany przez Duonga i Rizzo przełamuje zabezpieczenia kryptograficzne przez złamanie szyfrowania przesyłanej treści. Ci sami badacze w ubiegłym roku zaprezentowali narzędzie, które udostępnia zaszyfrowane informacje, łamiąc zabezpieczenie SSL, i wykonuje dowolny kod w środowisku korzystającym z popularnego frameworku Microsoft ASP.NET.


TOP 200