Anatomia Ataku #2 – Main in the Middle
Ataki typu „man-in-the-middle” (MITM) są powszechnym rodzajem ataków cyberbezpieczeństwa, które pozwalają napastnikom podsłuchiwać komunikację między dwoma celami. Ataki MITM mają miejsce, gdy nieautoryzowanemu podmiotowi udaje się przechwycić i odszyfrować komunikację między dwiema stronami oraz monitorować lub manipulować wymienianymi informacjami w złych celach. Czyli… pomiędzy dwa komunikujące się urządzenia np. A i B, „wkrada” się trzecie – C – przechwytujące ruch i niewidoczne dla A i B. A
Komunikacja wygląda następująco:
A ——komunikat——> C (przechwytuje bądź modyfikuje komunikat) ——komunikat ——> B
Atakujący może wtedy:
- Uzyskać dane dostępowe do kont użytkownika, sieci i innych zasobów
- Podmienić elementy takie jak linki czy numery konta wysyłane przez jednego użytkownika do drugiego
- W inny sposób manipulować informacją – czasami w ramach szerszego ataku socjotechnicznego
Oto najpopularniejsze rodzaje ataków typu MitM. Warto dodać, że większość z nich wymaga ingerencji w protokół lub system (DNS, IP, ARP) by przekazać komunikację do atakującego „pośredniczącego w komunikacji”. Nierzadko ataki typu Man in the Middle rozpoczynają się poprzez zainfekowanie stacji końcowej malwarem pozwalającym manipulować powyższymi na danej stacji końcowej (wyjątkowym atakiem tego rodzaju jest Man-int-the-Browser).
- Rogue Access Point – atak wykorzystujący powszechność publicznych sieci WiFi. Atakujący mogą skonfigurować własny punkt dostępu bezprzewodowego i nakłonić pobliskie urządzenia do przyłączenia się do jego domeny. Cały ruch sieciowy ofiary może być teraz manipulowany przez atakującego. Jest to niebezpieczne, ponieważ atakujący nie musi nawet znajdować się w zaufanej sieci. Traktując go jako Access Point – ufasz jego sieci i dostępowi do internetu za jego pośrednictwem.
- ARP Spoofing – ARP, Address Resolution Protocol służy do przywiązywania adresów IP do fizycznych adresów MAC (Media Access Control) w sieci lokalnej. Gdy host musi „porozmawiać” z hostem o podanym adresie IP, odwołuje się do pamięci podręcznej ARP, aby przetłumaczyć adres IP na adres MAC. Jeśli adres nie jest znany, wysyłane jest zapytanie o adres MAC urządzenia z adresem IP.
- mDNS Spoofing – Multicast DNS jest podobny do DNS, ale odbywa się w sieci lokalnej (LAN) przy użyciu transmisji, takiej jak ARP. To czyni go idealnym celem do fałszowania ataków. Lokalny system rozwiązywania nazw ma sprawić, że konfiguracja urządzeń sieciowych będzie niezwykle prosta. Użytkownicy nie muszą dokładnie wiedzieć, z jakimi adresami powinny się komunikować ich urządzenia; pozwalają systemowi rozwiązać to za nich. Urządzenia takie jak telewizory, drukarki i systemy rozrywkowe korzystają z tego protokołu, ponieważ zazwyczaj znajdują się w zaufanych sieciach. Gdy aplikacja musi znać adres określonego urządzenia, na przykład tv.local, osoba atakująca może łatwo odpowiedzieć na to żądanie fałszywymi danymi, instruując ją, aby przeszła na adres, nad którym ma kontrolę. Ponieważ urządzenia przechowują lokalną pamięć podręczną adresów, ofiara będzie teraz przez pewien czas postrzegać urządzenie atakującego jako zaufane.
- DNS Spoofing – Podobnie do sposobu, w jaki ARP rozwiązuje adresy IP na adresy MAC w sieci LAN, DNS rozwiązuje nazwy domen na adresy IP. Korzystając z ataku polegającego na fałszowaniu DNS, osoba atakująca próbuje wprowadzić do hosta sfałszowane informacje pamięci podręcznej DNS, próbując uzyskać dostęp do innego hosta przy użyciu jego nazwy domeny, takiej jak www.onlinebanking.com. Prowadzi to do tego, że ofiara wysyła poufne informacje do złośliwego hosta z przekonaniem, że wysyła informacje do zaufanego źródła.
- Stripping SSL – przechwytujepakiety i zmienia żądania adresów opartych na HTTPS, aby przejść do punktu końcowego odpowiadającego HTTP, zmuszając hosta do wysyłania żądań do serwera w postaci niezaszyfrowanej. Aby „rozebrać” SSL, atakujący ingeruje w przekierowanie HTTP do bezpiecznego protokołu HTTPS (uwaga przekierowanie do strony korzystającej z HTTPS musi być ze strony obsługującej tylko HTTP by technika zadziałała) i przechwytuje żądanie od użytkownika do serwera. Atakujący będzie następnie nadal nawiązywał połączenie HTTPS między sobą a serwerem oraz niezabezpieczone połączenie HTTP z użytkownikiem, działając jako „pomost” między nimi.
„Przechwycenie” niezaszyfrowanego ruchu to właściwie 90% sukcesu. Stąd napastnik przechodzi do aktywności, które są dla niego kluczowe – podsłuchiwania, wykradania, manipulacji. Poniżej przegląd zachowań, które są egzekwowane po przejęciu kontroli nad strumieniem komunikacji użytkowników:
- Sniffing – atakujący używają narzędzi do przechwytywania pakietów, aby sprawdzać pakiety na niskim poziomie. Korzystanie z określonych urządzeń bezprzewodowych, które można przełączyć w tryb monitorowania lub rozproszony, może umożliwić atakującemu zobaczenie pakietów, które nie są dla niego przeznaczone, na przykład pakietów adresowanych do innych hostów.
- Packet injection – wstrzyknięcie złośliwych pakietów do strumieni transmisji danych. Pakiety mogą łączyć się z prawidłowymi strumieniami transmisji danych, wyglądając na część komunikacji, ale z natury złośliwy. Wstrzykiwanie pakietów zwykle obejmuje najpierw „nasłuchiwanie” w celu ustalenia, jak i kiedy tworzyć i wysyłać pakiety.
- Przejmowanie sesji – Większość aplikacji internetowych korzysta z mechanizmu logowania, który generuje tymczasowy token sesji do wykorzystania w przyszłych żądaniach, aby uniknąć konieczności wpisywania hasła przez użytkownika na każdej stronie. Atakujący podsłuchujący wrażliwy ruch, może zidentyfikować token sesji dla użytkownika i użyć go do wysyłania żądań jako użytkownik.
A więc… jak wykryć atak typu man-in-the-middle?
Na samym początku – jeśli nie szukasz aktywnie, aby ustalić, czy Twoja komunikacja została przechwycona, atak typu Man-in-the-middle może pozostać niezauważony, dopóki nie będzie za późno. Sprawdzanie poprawności uwierzytelniania strony i wdrażanie pewnego rodzaju wykrywania manipulacji są zazwyczaj kluczowymi metodami wykrywania możliwego ataku, ale procedury te mogą wymagać dodatkowej analizy kryminalistycznej po fakcie. Lepiej zapobiegać niż leczyć – dlatego pokazujemy najlepsze praktyki zapobiegające atakom typu man-in-the-middle:
Silne szyfrowanie WEP/WAP w punktach dostępowych
Posiadanie silnego mechanizmu szyfrowania w bezprzewodowych punktach dostępowych uniemożliwia niechcianym użytkownikom dołączanie do sieci tylko dlatego, że znajduje się w pobliżu. Słaby mechanizm szyfrowania może umożliwić atakującemu włamanie się do sieci metodą brute-force i rozpoczęcie ataku typu man-in-the-middle. Im silniejsza implementacja szyfrowania, tym bezpieczniej.
Silne poświadczenia logowania routera
Niezbędne jest upewnienie się, że domyślny login routera został zmieniony. Najlepiej nie tylko routera 🙂 Nie tylko hasło Wi-Fi, ale także dane logowania do routera. Jeśli atakujący znajdzie dane logowania do routera, może zmienić serwery DNS na swoje złośliwe serwery. Lub co gorsza, zainfekuj router złośliwym oprogramowaniem. Natomiast silne hasła do temat na tygodniowe warsztaty, podstawa edukacji i ciągły problem…
Wirtualne sieci prywatne (VPN)
Sieci VPN mogą służyć do tworzenia bezpiecznego środowiska dla poufnych informacji w sieci lokalnej. Używają szyfrowania opartego na kluczu, aby utworzyć podsieć dla bezpiecznej komunikacji. W ten sposób, nawet jeśli atakujący dostanie się do udostępnionej sieci, nie będzie w stanie odszyfrować ruchu w VPN. Może to być również komunikator oparty na specjalnym szyfrowanym protokole, bądź aplikacja bazująca na dostępie typu Zero Trust Network Access.
Wymuszanie HTTPS
HTTPS może być używany do bezpiecznej komunikacji przez HTTP przy użyciu wymiany kluczy publiczno-prywatnych. Uniemożliwia to atakującemu korzystanie z danych, które może podsłuchiwać. Witryny internetowe powinny używać tylko protokołu HTTPS i nie udostępniać alternatyw HTTP. Użytkownicy mogą instalować wtyczki przeglądarki, aby wymuszać używanie protokołu HTTPS w żądaniach.
Uwierzytelnianie oparte na parze kluczy publicznych
Ataki typu man-in-the-middle zazwyczaj polegają na fałszowaniu czegoś – zawsze. Uwierzytelnianie oparte na parze kluczy publicznych, takie jak RSA, może być używane na różnych warstwach stosu, aby zapewnić, że rzeczy, z którymi się komunikujesz, są rzeczywiście rzeczami, z którymi chcesz się komunikować.
Dzięki powszechnemu użyciu standardu HTTPS ataki MitM nie są już masowym zjawiskiem – jednak sprawia to, że są niebezpieczniejsze. Poziom wysiłku w uzyskanie dostępu sprawia, że MITM jest jednym z końcowych etapów złożonego ataku, mającego na celu przejąć treść naszej komunikacji. Jak wiadomo, wysiłki powinne być wprost proporcjonalne do nagrody – toteż polecamy waszej uwadze powyższe praktyki, by zbytnio nie ułatwiać życia złodziejom.