Store
 

Czy to prawda, że IKEv1 Aggressive Mode jest mniej bezpi... - KH1591

Najczęściej zadawane pytania

Czy to prawda, że IKEv1 Aggressive Mode jest mniej bezpieczny niż IKEv1 Main Mode?
 
Kilka lat temu zespół ekspertów ds. bezpieczeństwa opublikował artykuł opisujący atak, który może złamać połączenie IKEv1 Aggressive Mode z kluczem współdzielonym (Pre-Shared Key), i który nie mógłby być w równym stopniu zastosowany do połączenia IKEv1 Main Mode z kluczem współdzielonym, co doprowadziło do błędnego założenia, że tryb agresywny jest z natury mniej bezpieczny. Jeśli jednak spojrzymy na fakty obiektywnie, to stwierdzenie nie odpowiada rzeczywistości. Większość ludzi nie wie, że część tego ataku polegała na możliwości odgadnięcia klucza współdzielonego (PSK) za pomocą ataku brute force i taki atak może się powieść tylko wtedy, gdy PSK jest wybrany w sposób niezabezpieczony. PSK to również po prostu hasło i jak w przypadku wszystkich haseł, słabe hasła prowadzą do niskiego poziomu bezpieczeństwa. Dopóki PSK ma co najmniej 14 znaków (im więcej, tym lepiej), składa się z małych i dużych liter oraz cyfr i jest generowany losowo (tak aby nie można go było łatwo odgadnąć) oraz dopóki algorytm hash w fazie 1 to przynajmniej SHA1 (lub lepiej, zalecamy SHA-256, jeśli to możliwe), nie ma absolutnie żadnego powodu, by uważać połączenie IKEv1 Aggressive Mode z kluczem współdzielonym za mniej bezpieczne niż połączenie IKEv1 Main Mode z kluczem współdzielonym. Jeśli chcesz być jeszcze bardziej zabezpieczony, po prostu wybierz uwierzytelnianie oparte na certyfikatach, jeśli to możliwe, ponieważ uniemożliwia to atak od samego początku.

Tło techniczne:

Klucz współdzielony (PSK) nie jest hasłem używanym do szyfrowania danych, służy wyłącznie do uwierzytelniania, mniej więcej tak jak w przypadku logowania się użytkownika na stronie internetowej za pomocą hasła. Podczas fazy 1 obie strony muszą udowodnić sobie nawzajem, że znają PSK. Nie można tego zrobić po prostu wysłaniem go na drugą stronę, ponieważ nawet jeśli druga strona nie znała go wcześniej, to teraz już wie. Zamiast tego obie strony muszą obliczyć liczbę (hash), wykorzystując dane, które zostały już wymienione między nimi (i które są różne przy każdym nawiązywaniu połączenia, aby zapewnić, że wartość hash również będzie inna za każdym razem) oraz PSK. Tylko ten hash jest wysyłany na drugą stronę, która musi wtedy wykonać dokładnie te same obliczenia. Jeśli uzyska taki sam wynik, to druga strona musiała użyć tego samego PSK, a zatem go zna. To samo powtarza się w odwrotnym kierunku, z niewielką modyfikacją w obliczeniach, aby zagwarantować, że oba hashe są zawsze różne, ponieważ wysłanie tej samej wartości niczego nie udowodni.

Różnica między trybem Main Mode a Aggressive Mode polega na tym, że w trybie Main Mode wartość hash jest przesyłana zaszyfrowana, ponieważ procedura wymiany kluczy (DH Exchange), która prowadzi do bezpiecznego klucza sesji po obu stronach, została już zakończona w tym momencie i jak tylko obie strony mają klucz sesji, wszystkie pakiety są przesyłane tylko zaszyfrowane. W trybie Aggressive Mode wartość hash jest przesyłana bez szyfrowania, ponieważ wymiana kluczy nie została jeszcze ukończona w tym momencie. Podglądając połączenie w trybie Aggressive Mode, atakujący może uzyskać zarówno wartość hash, jak i wszystkie dane niezbędne do obliczenia tej wartości, z wyjątkiem rzeczywistego PSK. Samo to jednak nie łamie połączenia, tylko dostarcza wystarczających informacji, aby poszukać PSK, na przykład za pomocą ataku brute force (po prostu próbowanie wszystkich możliwych kombinacji) lub ataku słownikowego (próbowanie często wybieranych haseł, które można uzyskać z wycieków danych z innych usług online). Tylko jeśli PSK jest zbyt słaby, aby oprzeć się tym atakom, połączenie może zostać ostatecznie złamane. Dlatego dobry i wystarczająco bezpieczny PSK jest niezbędny dla bezpieczeństwa połączenia VPN PSK.

Jednak ten sam atak jest możliwy również w połączeniu Main Mode, ale wymaga nieco więcej wysiłku. W przypadku trybu Main Mode nie wystarczy móc odczytywać ruch sieciowy, konieczny jest atak Man-in-the-Middle (MitM), czyli atakujący musi być w stanie przechwycić i manipulować ruchem. Poprzez atak MitM atakujący może obejść szyfrowanie, co niewystarcza do uzyskania dostępu do VPN, ponieważ nadal potrzebny jest PSK, ponieważ faza 1 nie zostanie pomyślnie zakończona bez niego, ale nawet wtedy atakujący miałby wartość hash i wszystkie dane niezbędne do obliczenia i mógłby spróbować odgadnąć PSK w ten sam sposób. A jeśli atakujący jest już w stanie odczytywać cały ruch sieciowy (co jest podstawowym warunkiem dla każdego scenariusza ataku), to bardzo prawdopodobne, że będzie również w stanie przeprowadzić atak MitM i wtedy tryb Main Mode nie zapewnia dodatkowej ochrony.

PSK składający się z 11 losowych znaków alfanumerycznych ma entropię około 64 bitów, czyli 2^64 możliwych wartości. Nowoczesne karty graficzne (stan na rok 2016) mogą obliczać rzędu 1 miliarda hashów SHA-265 na sekundę. Średnio trzeba spróbować 50% wszystkich możliwości, aby znaleźć dopasowanie i zajęłoby to 292 lata. Jeśli atakujący ma do dyspozycji 100 takich kart graficznych, atak trwałby „tylko” około 3 lat. Ale nawet przy 14 znakach entropia wynosi 80 bitów i wtedy pojedyncza karta graficzna potrzebowałaby 19 154 798 lat. Nawet 10 000 kart graficznych nie skróciłoby tego czasu w znaczący sposób. I nigdy nie należy lekceważyć kosztów takiego ataku. Nie tyle koszt zakupu kart graficznych, ile ich zużycie energii, gdy wszystkie te karty graficzne pracują z maksymalną mocą przez całą dobę, przez lata, dekady lub nawet stulecia. To może łatwo kosztować miliardy euro na energię elektryczną tylko po to, aby złamać jedno połączenie PSK na całym świecie. Ponadto za każdym razem, gdy PSK zostanie zmieniony, atakujący będzie musiał zaczynać od nowa. Jeśli więc PSK jest wymieniany tylko raz w roku, atakujący będzie miał maksymalnie 1 rok na jego znalezienie; to już byłoby dość ambitne, nawet przy słabym PSK.

}