HEIST: w Las Vegas pokazano, jak niewiele warte są słynne zielone kłódeczki w pasku przeglądarki

Strona główna Aktualności
image

O autorze

Te opowieści o zielonych kłódeczkach gwarantujących bezpieczeństwo i poufność danych, jakie internauci przesyłają na serwery, trzeba będzie między bajki włożyć. Zaprezentowana wczoraj na konferencji BlackHat USA 2016 technika ataku (a właściwie cały zestaw technik ataku) o nazwie HEIST to efektowny sposób na przejęcie informacji przesyłanych po bezpiecznym protokole HTTPS – i to bez konieczności podsłuchiwania ruchu sieciowego. Tu wszystko dzieje się na poziomie przeglądarki, wykorzystując pewne słabości warstw HTTP, SSL/TLS oraz TCP, otwierając drogę do ataków na praktycznie każdą usługę webową.

Zaatakować końcowego użytkownika za pomocą HEIST (HTTP Encrypted Information can be Stolen Through TCP-Windows) całkiem łatwo. Wystarczy ofierze przesłać niewinny plik JavaScriptu, np. osadzony na stronie, który zacznie odpytywać liczne strony dostępne tylko po HTTPS i mierzyć wielkości plików z danymi przez nie przesyłanymi. Poznanie tych rozmiarów pozwala napastnikowi na zastosowanie wcześniej już znanych exploitów: CRIME oraz jego zorientowaną na komunikację internetową odmianę BREACH. Poprzez manipulację kompresją danych wykorzystywaną w komunikacji między serwerem a przeglądarką są one w stanie odgadnąć zawartość szyfrowanych danych.

Problem tkwi w algorytmie kompresji Deflate, wykorzystywanym m.in. właśnie do kompresji stron internetowych. Eliminuje on po prostu powtórzenia ciągu tekstu, używając wskaźników informujących o tym, gdzie znajdują się instancje tego ciągu w kompresowanych danych. Znając zmiany w rozmiarach skompresowanych danych i stosując technikę dziel i rządź można wówczas wskazać, gdzie znajdują się interesujące dane. Zgaduje się pewne ciągi znaków, obserwując rozmiary odpowiedzi. W tym celu wykorzystuje się technikę wyroczni, dzięki której można ustalić poprawność bądź niepoprawność zgadnięcia – jeśli rozmiar jest taki sam dla zapytania zawierającego określony ciąg, to informacja, że się trafiło. Jeśli rozmiar odpowiedzi jest większy, to trzeba nieco zmienić ciąg.

Wcześniej jednak, by obserwować ruch sieciowy w ten sposób, konieczne było podsłuchiwanie samego kanału komunikacji, jako tzw. man-in-the-middle. HEIST wzmacnia BREACH. Wykorzystuje w tym celu właściwości działającego w warstwie transportowej protokołu TCP, który dzieli transmisje na mniejsze części (tzw. ramki), a ramki łączy w tzw. okna, wysyłane jedno po drugim, zaraz po tym, jak potwierdzone zostanie przez odbiorcę otrzymanie poprzedniego. Tę cechę udało się wykorzystać jako tzw. kanał poboczny, czyli atak, w którym informację próbuje się ujawnić nie przez matematyczne słabości algorytmu, lecz fizyczne zachowania w implementacji sprzętowej.

HEIST liczy więc ramki i okienka, wykorzystując całkiem nowe standardowe interfejsy programowania przeglądarek – Resource Timing i Fetch. Wynalazcy nowego ataku, Tom Van Goethem i Mathy Vanhoef znaleźli sposób na takie ich wykorzystanie w javascriptowym kodzie, by można było określić dokładny rozmiar odpowiedzi HTTPS. Wtedy wystarczy zastosować już znany BREACH do zgadywania informacji.

W praktyce technika ta może zostać wykorzystana przede wszystkim do ataków typu Cross-site request forgery (CSRF), by przejąć tokeny logowania ofiar i wykorzystać je do uwierzytelnienia się w serwisie internetowym. Jak badacze podkreślają, wystarczy w tym celu dostarczyć ofierze złośliwy skrypt. Jedyny sposób, aby zapobiec takim atakom, to wyłączyć w przeglądarce obsługę ciasteczek stron trzecich, co jednak będzie ciosem dla wielu sieci reklamowych i uniemożliwi korzystanie z wielu serwisów internetowych.

Co najgorsze w tym wszystkim to podatność na nowy atak także tego następcy protokołu HTTP/HTTPS, czyli HTTP/2. Nie tylko nie chroni on przed HEIST, ale wręcz zwiększa jego efektywność, pozwalając równolegle wywoływać testowane zasoby i odbierać odpowiedzi.

Na razie jeszcze nie znamy realnych przykładów wykorzystania HEIST do ataków na internautów, ale sądząc po zainteresowaniu, z jakim spotkała się prezentacja holenderskich badaczy, możemy się spodziewać, że już niebawem popłynie sporo krwi przejętych zostanie wiele kont w usługach internetowych. Zainteresowanych szczegółami działania HEIST-a odsyłamy do oryginalnego artykułu – to co prawda 26 stron, ale czyta się całkiem dobrze, znajomość zaawansowanej algebry nie jest wymagana.

© dobreprogramy

Komentarze