Protokół TLS (Transport Layer Security) to podstawowa metoda na zabezpieczenie przekazywanych informacji w sieciach publicznych. Niedawno, grupa badaczy podatności odkryła i opisała szczegółowo nową lukę opartą na ataku czasowym, pozwalającą złamać szyfrowanie i odczytać wrażliwą komunikację w określonych warunkach. Atak został nazwany „Raccoon” i wykorzystuje po stronie serwera kanał boczny w protokole kryptograficznym (wersja 1.2 i starsze) w celu wyodrębnienia wspólnego tajnego klucza używanego do bezpiecznej komunikacji między dwiema stronami. „Podstawową przyczyną tego kanału bocznego jest to, że standard TLS zachęca do przetwarzania sekretu DH w nieciągłym czasie” – wyjaśniają naukowcy swoje odkrycia w artykule. Specjaliści stwierdzili również, że luka jest trudna do wykorzystania i wymaga bardzo precyzyjnych pomiarów czasu i określonej konfiguracji serwera, aby można było użyć jej w złośliwym działaniu.
Jak działa atak?
Korzystanie z pomiarów czasu w celu naruszenia enkrypcji i informacji wrażliwych na wyciek było sercem wielu ataków czasowych. Raccoon stosuje tę samą strategię używając jej do wymiany klucza Diffie-Hellmana (DH) podczas handshake TLS, który jest kluczowy dla wymiany publicznie danych w bezpieczny sposób. Wspólny tajny klucz generowany podczas wymiany umożliwia bezpieczne przeglądanie Internetu, umożliwiając użytkownikom bezpieczne odwiedzanie witryn internetowych, chroniąc komunikację przed podsłuchem i atakami typu man-in-the-middle.
Aby przełamać barierę bezpieczeństwa, złośliwa strona rejestruje komunikaty uzgadniania między klientem a serwerem, używając ich do inicjowania nowych „uścisków dłoni” z tym samym serwerem, a następnie mierzy czas, w jakim serwer odpowiada na operacje związane z wyprowadzeniem udostępnionego klucza.
Warto zauważyć, że sekrety DH z zerami na początku spowodują szybsze obliczenia serwera, a tym samym krótszy czas odpowiedzi serwera, co nie jest jednoznaczne i nie ułatwia w precyzyjnym przeprowadzeniu ataku. Zakładając, że atakujący może zidentyfikować ten przypadek, umożliwia to złemu aktorowi odszyfrowanie tajnego klucza oryginalnego uzgadniania i ostatecznie odszyfrowanie ruchu TLS w celu odzyskania jego zawartości w postaci zwykłego tekstu.
Atak ma swoje ograniczenia. Wymaga, aby serwer ponownie używał tego samego klucza efemerycznego DH (tryb zwany DHE) między sesjami i aby osoba atakująca znajdowała się jak najbliżej serwera docelowego, aby wykonywać precyzyjne pomiary czasu.
Jak działa atak?
Chociaż Raccoon może być trudny do odtworzenia w świecie rzeczywistym, stwierdzono, że kilka produktów F5 jest podatnych na „specjalną” wersję ataku (CVE-2020-5929) bez uciekania się do pomiarów czasowych poprzez bezpośrednią obserwację treści odpowiedzi serwera.
F5, Microsoft, Mozilla i OpenSSL wydały łatki, aby udaremnić atak, rozwiązując problem ponownego wykorzystania klucza efemerycznego. Ze swojej strony Mozilla wyłączyła zestawy szyfrów DH i DHE w swojej przeglądarce Firefox, a Microsoft zaleca klientom wyłączenie TLS_DHE. Warto jeszcze dodać, że podatne wersje TLS to od 1.2 w dół. Najnowszy TLS 1.3 nie jest już podatny na atak Raccoon.
Czy administratorzy powinni natychmiast porzucić wszystko i zająć się aktualizowaniem usług wykorzystujących SSL/TLS? Prawdopodobnie – nie. Atak ten jest złożonym atakiem czasowym i jest bardzo trudny do wykorzystania w rzeczywistych warunkach. Do odszyfrowania tajnej komunikacji TLS potrzeba praktycznie laboratoryjnych, czystych warunków i wielu dni, lub tygodniu analiz konkretnej ścieżki komunikacji.