Menu dostępności

Nowa metoda ataków czasowych wykorzystująca słabości HTTP/2

Badacze bezpieczeństwa przedstawili nową technikę, która sprawia, że zdalny atak czasowy kanałem bocznym jest bardziej skuteczny, niezależnie od przeciążenia sieci między atakującym a serwerem docelowym.

Timing attacks (ataki czasowe) to ataki kryptograficzne, które mogą zostać wykorzystane do poznania haseł użytkowników portali internetowych korzystających z logowania po protokołach OpenID oraz OAuth w wersji 1. Więcej teorii tutaj.

W tym ataku, hacker próbując zalogować się do serwisu różnymi hasłami, mierzy czasy odpowiedzi serwera. Jeśli serwer weryfikuje hasło znak po znaku, to na podstawie różnić w czasach otrzymania komunikatu błędu “hasło nieprawidłowe” można wnioskować, czy któryś ze znaków w haśle był prawidłowy. Brzmi niewiarygodnie, ale technika ta jest bardzo stara. Tak złamano hasła do Xbox 360 w 2007 roku. Między innymi dlatego wprowadzono nową wersję 2.0 protokołu OAuth.

Na możliwość przeprowadzenia zdalnych ataków czasowych wpływają głównie zmiany czasu transmisji sieciowej czy fluktuacje sieci, które z kolei zależą od obciążenia połączenia sieciowego w danym momencie. Mierzenie czasu potrzebnego do wykonania algorytmów kryptograficznych ma kluczowe znaczenie dla przeprowadzenia ataku czasowego, a tym samym wycieku informacji. Zaburzenie na ścieżce sieciowej od atakującego do serwera może sprawić, że skuteczne wykorzystanie bocznych kanałów czasowych będzie niewykonalne.

Nowa metoda, zwana Timeless Timing Attacks (TTA) opisana przez naukowców z DistriNet Research Group i New York University Abu Dhabi, zamiast tego wykorzystuje multipleksowanie protokołów sieciowych i jednoczesne wykonywanie przez aplikacje, dzięki czemu ataki są odporne na warunki sieciowe.


Użycie multipleksowania odpowiedzi HTTP/2

W przeciwieństwie do typowych ataków czasowych, w których czasy wykonania są mierzone niezależnie i sekwencyjnie, najnowsza technika próbuje wydobyć informacje z zapytania i zmierzyć względną różnicę czasu między dwoma współbieżnie wykonanymi żądaniami bez polegania na jakichkolwiek informacjach dotyczących czasu. Aby to zrobić, atakujący inicjuje parę żądań HTTP/2 do serwera ofiary bezpośrednio lub za pomocą cross-site (na przykład złośliwej reklamy lub nakłonienia ofiary do odwiedzenia strony internetowej kontrolowanej przez atakującego) w celu uruchomienia żądań do serwer za pomocą kodu JavaScript. Serwer zwraca wynik zawierający różnicę w czasie odpowiedzi między drugim a pierwszym żądaniem. Atak TTA działa, biorąc pod uwagę, czy ta różnica jest dodatnia czy ujemna, gdzie wartość dodatnia wskazuje, że czas przetwarzania pierwszego żądania zajmuje mniej czasu niż przetwarzanie drugiego żądania.

„Na serwerach WWW hostowanych przez HTTP/2 stwierdzamy, że różnica w czasie tak niewielka jak 100 ns (nanosekund) może być dokładnie wywnioskowana z kolejności odpowiedzi około 40 000 par żądań” – zauważyli naukowcy. „Najmniejsza różnica w czasie, którą mogliśmy zaobserwować w tradycyjnym ataku czasowym przez Internet, wynosiła 10 μs (mikrosekund), 100 razy więcej niż w przypadku ataku opartego na współbieżności”.

Ograniczeniem tego podejścia jest to, że ataki skierowane na serwery korzystające z HTTP/1.1 nie mogą wykorzystywać protokołu do łączenia wielu żądań w jednym pakiecie sieciowym, co wymaga, aby jednoczesny atak czasowy był przeprowadzany przy użyciu wielu połączeń zamiast wysyłania wszystkich żądań przez to samo połączenie. Wynika to z wykorzystania przez HTTP/1.1 blokowania head-of-line (HOL), które powoduje, że wszystkie żądania w tym samym połączeniu są obsługiwane sekwencyjnie, podczas gdy HTTP/2 rozwiązuje ten problem poprzez multipleksowanie żądań.

Obecnie 37,46% wszystkich witryn www jest obsługiwanych przez HTTP/2, a liczba ta wzrasta do 54,04% w przypadku witryn obsługujących protokół HTTPS. Chociaż sprawia to, że ogromna liczba stron internetowych jest podatna na TTA, naukowcy uważają, że wiele z nich polega na sieciach dostarczania treści (CDN), takich jak Cloudflare, który nadal używa protokołu HTTP/1.1 do połączeń między CDN a stroną źródłową, co czyni je odporne na taki atak.


Czy niebezpieczeństwo jest duże?

Oprócz możliwości wykorzystania HTTP/2 istnieje kilka innych sposobów i innych protokołów podatnych na atak czasowy. Na przykład metoda uwierzytelniania EAP-PWD, która wykorzystuje współdzielone hasło między serwerem a suplikantem podczas łączenia się z sieciami Wi-Fi. Wyciek czasu wykonywania operacji w protokole Dragonfly handshake powoduje, że hasło to można złamać metodami słownikowymi.

Chociaż atakom czasowym można przeciwdziałać, zapewniając wykonywanie całej operacji kryptograficznej w stałym czasie, łatwiej to powiedzieć niż zrobić, szczególnie w przypadku aplikacji, które opierają się na komponentach innych firm. Alternatywnie, badacze sugerują dodanie losowego opóźnienia do przychodzących żądań i upewnienie się, że różne żądania nie są łączone w jednym pakiecie.

Odkrycia naukowców zostaną zaprezentowane na Sympozjum Bezpieczeństwa USENIX pod koniec tego roku. Naukowcy opublikowali również oparte na Pythonie narzędzie do testowania serwerów HTTP/2 pod kątem luk w zabezpieczeniach TTA.

Popularne

Czym są non-human identities (NHI)? Jak możemy je chronić i jakie zagrożenia stwarzają dla organizacji?

Czym są non-human identities (NHI)? Jak możemy je chronić i jakie zagrożenia stwarzają dla organizacji?

W dzisiejszym artykule opisujemy pewien problem istniejący w firmach i organizacjach, związany z tożsamościami nieludzkimi (non-human identities), czyli inaczej – tożsamościami niezwiązanymi z pracow...
Nowe podatności w architekturze sieci 5G

Nowe podatności w architekturze sieci 5G

Nowe badania nad architekturą 5G ujawniły lukę w zabezpieczeniach modelu dzielenia sieci oraz zwirtualizowanych funkcjach sieciowych, które można wykorzystać do nieautoryzowanego dostępu do danych, a tak...
Filtrowanie URL i DNS, dlaczego to takie ważne?

Filtrowanie URL i DNS, dlaczego to takie ważne?

Filtrowanie adresów URL ogranicza zawartość stron internetowych, do których użytkownicy mają dostęp. Odbywa się to poprzez blokowanie określonych adresów URL przed załadowaniem. Firmy wdrażają filtrowanie...
Hakerzy z Dragon Breath z nową techniką ataku

Hakerzy z Dragon Breath z nową techniką ataku

Specjaliści z Sophos wykryli niedawno złośliwą aktywność polegającą na klasycznym DLL side-loadingu, ale ze zwiększoną złożonością i dodatkową warstwą wykonania. Co więcej, dochodzenie wskazuje, że oso...
Polowanie na eskalację uprawnień w Windows: sterowniki jądra i Named Pipe pod lupą

Polowanie na eskalację uprawnień w Windows: sterowniki jądra i Named Pipe pod lupą

Podatności typu Local Privilege Escalation (LPE) pozostają jednym z kluczowych elementów realnych ataków na systemy Windows. Nawet przy poprawnie skonfigurowanym systemie i aktualnym oprogramowaniu bł...