Czym jest atak typu „man-in-the-middle” (MITM)? Jak działa, rodzaje i sposoby zapobiegania

przez

Ostatnia aktualizacja:
9 czas czytania: 9 minut
Czym jest atak typu „man-in-the-middle” (MITM)? Jak działa, rodzaje i sposoby zapobiegania

Kluczowe wnioski

  • Atak typu MITM polega na tym, że osoba atakująca wtrąca się między dwie strony, które są przekonane, że komunikują się bezpośrednio, co pozwala jej odczytywać lub modyfikować dane bez wiedzy żadnej ze stron.
  • Atakujący uzyskują dostęp na różne sposoby, m.in. poprzez spoofing ARP, spoofing DNS, SSL stripping, fałszywe sieci Wi-Fi oraz przejęcie protokołu BGP – każda z tych metod wykorzystuje inną warstwę zaufania związaną z routingiem ruchu sieciowego.
  • W przypadku poczty elektronicznej problem ten ma nieco inną postać: protokół STARTTLS jest domyślnie stosowany w trybie oportunistycznym, więc osoba atakująca znajdująca się na ścieżce sieciowej może usunąć szyfrowanie i wymusić przesłanie wiadomości w postaci zwykłego tekstu.
  • Do sygnałów ostrzegawczych należą: nieoczekiwane błędy certyfikatów, nieprawidłowości w tablicy ARP, nietypowe odpowiedzi DNS oraz niepowodzenia w negocjacji protokołu TLS w SMTP wykryte dzięki raportowaniu TLS.
  • Nie ma jednego rozwiązania, które obejmowałoby wszystkie techniki typu „man-in-the-middle”. Protokół HTTPS z HSTS, DNSSEC, sieci VPN w sieciach publicznych oraz MTA-STS z DANE w przypadku poczty elektronicznej – każde z tych rozwiązań wypełnia inną lukę.

Ataki typu „man-in-the-middle” to jedna z najstarszych sztuczek w dziedzinie bezpieczeństwa sieciowego i do dziś są skuteczne, ponieważ nie atakują bezpośrednio szyfrowania. Ich celem jest ścieżka, którą przemieszczają się dane – niezależnie od tego, czy jest to sieć lokalna, wyszukiwanie DNS, czy tabele routingu kierujące ruchem w Internecie. Gdy atakujący dostanie się na tę ścieżkę, może dyskretnie wtrącić się między dwie strony, które nie mają powodu, by podejrzewać, że coś jest nie tak, ponieważ obie strony nadal otrzymują coś, co wygląda jak normalna odpowiedź.

W niniejszym przewodniku wyjaśniono, jak faktycznie działają te ataki, jakie przybierają formy, jak je wykryć, zanim spowodują rzeczywiste szkody, oraz jakie konkretne środki obronne można zastosować na poszczególnych poziomach, w tym w odniesieniu do poczty elektronicznej – aspektu, który większość poradników poświęconych tej tematyce całkowicie pomija.

Czym jest atak typu „man-in-the-middle”?

Atak typu „man-in-the-middle” (MITM) ma miejsce, gdy osoba atakująca umieszcza się pomiędzy dwiema komunikującymi się stronami i przechwytuje, odczytuje lub modyfikuje dane przesyłane między nimi. Mogą to być osoba i strona internetowa, dwa serwery pocztowe lub urządzenie i router Wi-Fi. Żadna ze stron nie zdaje sobie sprawy, że coś jest nie tak, ponieważ osoba atakująca przekazuje ruch w obu kierunkach i potrafi sprawić, że połączenie wygląda na całkowicie normalne.

Klasyczną analogią jest listonosz, który otwiera Twoje listy, czyta je, ponownie je zakleja i wrzuca z powrotem do skrzynki pocztowej. Otrzymujesz swój list. Nadawca sądzi, że dotarł on w nienaruszonym stanie. Jednak ktoś przeczytał go po drodze i gdyby chciał, mógłby zmienić kilka słów przed wysłaniem go dalej.

Ataki typu MITM mają znaczenie, ponieważ nie polegają na złamaniu szyfrowania metodą brute force. Polegają one na wniknięciu w ścieżkę, którą przechodzi ruch sieciowy – niezależnie od tego, czy jest to sieć lokalna, wyszukiwanie DNS czy tabela routingu – oraz na wykorzystaniu faktu, że wiele systemów domyślnie ufa tej ścieżce.

Jak działają ataki typu MITM – krok po kroku

Większość ataków typu MITM przebiega według podobnego schematu, niezależnie od tego, jaką technikę wykorzystuje atakujący, aby uzyskać odpowiednią pozycję:

  1. Atakujący zajmuje pozycję pomiędzy ofiarą a zamierzonym miejscem docelowym. Może to oznaczać połączenie się z tą samą siecią Wi-Fi, zafałszowanie lokalnej pamięci podręcznej lub przejęcie kontroli nad routerem lub serwerem DNS znajdującym się gdzieś na tej trasie.
  2. Urządzenie ofiary wysyła żądanie, na przykład dotyczące załadowania strony internetowej lub nawiązania połączenia z serwerem pocztowym w celu dostarczenia wiadomości e-mail.
  3. Atakujący przechwytuje to żądanie, zanim dotrze ono do właściwego miejsca przeznaczenia.
  4. Atakujący przekazuje żądanie do rzeczywistego miejsca docelowego, często bez żadnego zauważalnego opóźnienia, więc po żadnej ze stron nic nie wygląda nietypowo.
  5. Odpowiedź jest przekazywana przez atakującego, który może ją odczytać, zarejestrować lub zmodyfikować przed przekazaniem jej ofierze.

Atakujący staje się w zasadzie niewidzialnym przekaźnikiem. Dopóki obie strony otrzymują coś, co wygląda jak normalna odpowiedź, atak może trwać tak długo, jak długo atakujący utrzymuje tę pozycję.

Rodzaje ataków typu MITM

MITM nie jest pojedynczą techniką. To kategoria ataków, które mają ten sam cel (wtrącenie się między dwie komunikujące się strony), ale wykorzystują różne metody, aby go osiągnąć.

ARP Spoofing

Fałszowanie adresów ARP jest najczęściej stosowaną techniką typu „man-in-the-middle” w sieciach lokalnych, takich jak biurowa sieć LAN czy niezabezpieczona sieć publiczna. Protokół ARP (Address Resolution Protocol) przypisuje adresy IP do fizycznych adresów (MAC) urządzeń w sieci lokalnej i nie posiada wbudowanej funkcji weryfikacji. Atakujący wysyła sfałszowane komunikaty ARP, które kojarzą jego własny adres MAC z adresem IP legalnego urządzenia, takiego jak router sieciowy. Gdy urządzenia w sieci zaktualizują swoje tabele ARP o to fałszywe przypisanie, ruch przeznaczony dla routera jest zamiast tego kierowany do atakującego.

DNS Spoofing

Fałszowanie DNS (zwane również zatruwaniem pamięci podręcznej DNS) polega na dostarczeniu urządzeniu lub programowi rozpoznającemu sfałszowanej odpowiedzi DNS, która przypisuje legalną nazwę domeny do adresu IP kontrolowanego przez atakującego. Jeśli atak się powiedzie, ofiary próbujące połączyć się z prawdziwą stroną internetową lub serwerem pocztowym są w sposób niezauważalny przekierowywane na serwer kontrolowany przez atakującego, często wykorzystywany do kradzieży danych uwierzytelniających lub phishingu. Właśnie w tym kontekście bezpieczeństwo DNS nabiera szczególnego znaczenia w przypadku poczty elektronicznej, ponieważ zafałszowane wyszukiwanie rekordu MX może przekierować serwer wysyłający w miejsce, w którym według niego znajduje się serwer pocztowy odbiorcy.

Podszywanie się pod HTTPS i usuwanie certyfikatów SSL

Protokół HTTPS ma zapobiegać atakom typu MITM poprzez szyfrowanie połączenia między przeglądarką a stroną internetową. Technika „SSL stripping” pozwala obejść to zabezpieczenie poprzez przechwycenie początkowego żądania połączenia i potajemne obniżenie jego poziomu z HTTPS do zwykłego HTTP, zanim przeglądarka nawiąże szyfrowaną sesję, w wyniku czego ruch ofiary jest przesyłany w postaci zwykłego tekstu, podczas gdy pasek adresu może nadal wyglądać pozornie normalnie w niezałatanych lub starszych przeglądarkach. Nowoczesne przeglądarki oraz protokół HSTS (HTTP Strict Transport Security) sprawiły, że przeprowadzenie takiego ataku jest trudniejsze niż dziesięć lat temu, jednak nadal pozostaje to udokumentowaną techniką ataku na systemy, które nie egzekwują konsekwentnie stosowania protokołu HTTPS.

Podsłuchiwanie sieci Wi-Fi (atak typu „Evil Twin”)

Atak typu „zły bliźniak” polega na skonfigurowaniu fałszywego punktu dostępowego Wi-Fi, który naśladuje legalny punkt dostępowy, często używając tej samej lub bardzo podobnej nazwy sieci. Ofiary, które łączą się z nim – czasami automatycznie, ponieważ ich urządzenie zapamiętało sieć o tej nazwie – kierują cały swój ruch przez sprzęt atakującego. Jest to jeden z najczęstszych wektorów ataków typu MITM w miejscach publicznych, takich jak lotniska, kawiarnie i hotele, właśnie dlatego, że nie wymaga dostępu do urządzenia ofiary ani do prawdziwej sieci.

Przejęcie protokołu BGP

Protokół BGP (Border Gateway Protocol) służy dostawcom usług internetowych do ogłaszania, za routing jakich zakresów adresów IP są odpowiedzialni. Protokół BGP nie posiada wbudowanego mechanizmu uwierzytelniania, więc operator sieci – czy to w wyniku błędnej konfiguracji, czy też złośliwego zamiaru – może fałszywie ogłosić, że jest właścicielem zakresów adresów IP należących do kogoś innego. Inne sieci, które akceptują fałszywe ogłoszenie, zaczynają kierować ruch przeznaczony dla tych adresów przez sieć atakującego. Jest to atak na poziomie routingu, a nie atak lokalny, i może on wpływać na duże ilości ruchu jednocześnie.

W kwietniu 2018 r. cyberprzestępcy wykorzystali właśnie tę lukę, aby przejąć prefiksy adresów IP należące do usługi DNS Route 53 firmy Amazon, przekierowując zapytania dotyczące serwisu portfela kryptowalutowego MyEtherWallet na złośliwy serwer i kradnąc około 150 000 dolarów w Ethereum od użytkowników, którzy zostali przekierowani na stronę phishingową.

Ataki polegające na obniżeniu poziomu protokołu SMTP: ataki typu „man-in-the-middle” w poczcie elektronicznej

W przypadku poczty elektronicznej problem ten ma nieco inną postać. Gdy jeden serwer pocztowy przekazuje wiadomość do innego, zazwyczaj przełącza połączenie na szyfrowane za pomocą polecenia o nazwie STARTTLS.

Problem polega na tym, że protokół STARTTLS domyślnie działa w trybie oportunistycznym: jeśli nie da się podnieść poziomu bezpieczeństwa połączenia, większość serwerów pocztowych i tak wyśle wiadomość w postaci zwykłego tekstu, zamiast przerwać dostarczanie. Atakujący znajdujący się na trasie sieciowej między dwoma serwerami pocztowymi może przechwycić negocjację STARTTLS i ją usunąć, przez co serwer wysyłający nigdy nie zobaczy propozycji szyfrowania i w rezultacie wyśle wiadomość w postaci niezaszyfrowanej. Nazywa się to atakiem typu „STARTTLS downgrade” i jest to konkretne zagrożenie, które protokół MTA-STS (RFC 8461) miał na celu wyeliminować. Nadawca stosujący politykę MTA-STS odmówi dostarczenia wiadomości, zamiast przechodzić na tryb zwykłego tekstu, gdy nie da się zweryfikować protokołu TLS.

Przykłady rzeczywistych ataków typu MITM

Lenovo Superfish (2015)

Firma Lenovo dostarczyła partię laptopów przeznaczonych dla klientów indywidualnych z preinstalowanym oprogramowaniem reklamowym o nazwie Superfish, które przechwytywało ruch przeglądarkowy użytkowników w celu wyświetlania ukierunkowanych reklam, w tym na stronach HTTPS. W tym celu na każdym z dotkniętych tym problemem komputerach instalowano własny, podpisany samodzielnie certyfikat główny, a certyfikat ten wykorzystywał ten sam klucz prywatny we wszystkich instalacjach.

Po wyodrębnieniu klucza przez badaczy każdy mógł podszyć się pod dowolną witrynę HTTPS na dowolnym podatnym laptopie Lenovo bez wywołania ostrzeżenia przeglądarki, co sprawiło, że ten program reklamowy stał się gotowym narzędziem typu MITM dla osób atakujących publiczne sieci Wi-Fi. Agencja CISA opublikowała komunikat potwierdzający istnienie tej luki i zalecający użytkownikom usunięcie zarówno oprogramowania, jak i certyfikatu.

Przejęcie punktu BGP serwisu MyEtherWallet w 2018 roku

Jak opisano powyżej, cyberprzestępcy wykorzystali atak typu „BGP hijack” na infrastrukturę DNS Route 53 firmy Amazon, aby przekierować ruch z serwisu oferującego portfele kryptowalutowe na serwer, nad którym sprawowali kontrolę, kradnąc przy tym środki użytkowników.

Firma Cloudflare, której własny serwer DNS został dotknięty skutkami wycieku tras, szczegółowo opisała ten incydent wkrótce po jego wystąpieniu. Jest to jeden z najwyraźniejszych przykładów tego, jak atak typu MITM na poziomie routingu może wpłynąć na użytkowników, którzy nie popełnili żadnego błędu na swoich urządzeniach.

Kradzież danych uwierzytelniających z publicznych sieci Wi-Fi

Ten sposób jest bardziej prozaiczny, ale znacznie częściej spotykany w codziennym życiu. Atakujący uruchamia w miejscu publicznym otwartą sieć Wi-Fi lub sieć typu „evil twin”, czeka, aż użytkownicy się z nią połączą, a następnie albo bezpośrednio podsłuchuje niezaszyfrowany ruch, albo wykorzystuje techniki takie jak spoofing ARP i SSL stripping, aby przechwycić dane logowania przesyłane przez to połączenie.

CISA wymienia to jako konkretne zagrożenie związane z łączeniem się z publicznymi hotspotami i zaleca unikanie wprowadzania poufnych danych logowania lub przeprowadzania transakcji w takich miejscach bez korzystania z sieci VPN.

Jak wykryć atak typu MITM

Ataki typu MITM mają być niewidoczne, ale zazwyczaj pozostawiają po sobie kilka śladów, jeśli wie się, gdzie szukać:

  • Nieoczekiwane ostrzeżenia dotyczące certyfikatów SSL/TLS: Ostrzeżenie wyświetlane przez przeglądarkę lub klienta pocztowego, że certyfikat jest niezgodny, jest certyfikatem z podpisem własnym lub został wydany przez nieznany urząd certyfikacji, stanowi jedną z najbardziej wiarygodnych oznak przechwycenia danych.
  • Nagłe spowolnienia lub przerwy w połączeniu: Przekierowanie ruchu przez system atakującego powoduje wzrost opóźnień i może sprawiać, że połączenia będą działać w sposób nieprzewidywalny w porównaniu z normalnym trybem pracy.
  • Nieprawidłowości w tablicy ARP: W sieci lokalnej sytuacja, w której dwa urządzenia zgłaszają ten sam adres MAC lub adres MAC nagle zostaje powiązany z innym adresem IP niż zwykle, wskazuje na fałszowanie adresów ARP.
  • Nieoczekiwane odpowiedzi DNS: Domena, której adres IP nie mieści się w znanym, oczekiwanym zakresie, stanowi oznakę fałszowania DNS lub zatrucia pamięci podręcznej.
  • Błędy negocjacji TLS w protokole SMTP: W przypadku poczty elektronicznej dane raportowe TLS (przekazywane za pośrednictwem TLS-RPT), wskazujące na niepowodzenie protokołu STARTTLS lub jego obniżenie do niższej wersji, mimo że wcześniej działał poprawnie, stanowią wyraźną oznakę próby obniżenia wersji protokołu na ścieżce dostarczania.

Jak zapobiegać atakom typu MITM

Żadne pojedyncze zabezpieczenie nie zapobiega wszystkim rodzajom ataków typu MITM, ponieważ techniki te działają na różnych warstwach — od sieci lokalnej aż po routing internetowy. Podejście warstwowe zapewnia szerszy zakres ochrony:

  • Należy wszędzie stosować protokół HTTPS w połączeniu z HSTS, dzięki czemu przeglądarki nie będą nawiązywać połączeń przez niezaszyfrowany protokół HTTP, nawet jeśli osoba atakująca spróbuje wymusić przejście na starszą wersję protokołu.
  • W przypadku aplikacji przetwarzających dane wrażliwe należy stosować mechanizm przypisywania certyfikatów (certificate pinning), dzięki czemu aplikacja będzie ufać wyłącznie konkretnemu, znanemu certyfikatowi, a nie dowolnemu certyfikatowi, który mógłby wydać zainfekowany lub złośliwy urząd certyfikacji.
  • Należy unikać niezaszyfrowanych publicznych sieci Wi-Fi, a jeśli nie jest to możliwe, korzystać z sieci VPN, ponieważ szyfruje ona ruch, zanim ten dotrze do sieci lokalnej, którą może kontrolować osoba atakująca.
  • Włącz uwierzytelnianie wieloskładnikowe na wszystkich kontach, aby samo przechwycone hasło nie wystarczyło atakującemu do uzyskania dostępu.
  • Wprowadź protokół DNSSEC, aby dodać podpis kryptograficzny do odpowiedzi DNS, co znacznie utrudni niepostrzeżone wstrzyknięcie sfałszowanych wpisów DNS.
  • Włącz funkcję MTA-STS, aby wymusić stosowanie protokołu TLS w przypadku wiadomości przychodzących, co pozwoli zapobiec opisanej wcześniej ataku typu „downgrade” w protokole SMTP.
  • Wprowadź protokół DMARC równolegle z protokołami SPF i DKIM, aby uniemożliwić atakującym podszywanie się pod Twoją domenę w wiadomościach phishingowych, które często towarzyszą kradzieży danych uwierzytelniających w ramach ataków typu „man-in-the-middle” (MITM).
  • Monitoruj występowanie nieprawidłowości związanych z protokołami ARP i DNS w swojej sieci, korzystając z narzędzi, które sygnalizują nieoczekiwane zmiany w przyporządkowaniu adresów.

Ochrona poczty elektronicznej przed atakami typu MITM za pomocą protokołu MTA-STS

Większość poradników dotyczących ataków typu MITM skupia się na ruchu przeglądarkowym i na tym się kończy. Poczta elektroniczna jest narażona na tę samą kategorię ataków, co często bywa pomijane. Ponieważ protokół STARTTLS działa w trybie oportunistycznym, osoba atakująca, która zdoła przechwycić połączenie między dwoma serwerami pocztowymi, może zignorować ofertę szyfrowania i wymusić przesłanie wiadomości w postaci zwykłego tekstu, a żaden z serwerów pocztowych niekoniecznie zgłosi to jako błąd.

Protokół MTA-STS wypełnia tę lukę. Publikując politykę MTA-STS w trybie wymuszania, domena informuje każdy serwer wysyłający pocztę, że zawsze obsługuje protokół TLS, oraz podaje dokładną listę serwerów uprawnionych do odbierania jej wiadomości. Jeśli serwer wysyłający nie może nawiązać połączenia TLS z serwerem zgodnym z polityką, odmawia dostarczenia wiadomości, zamiast po cichu przechodzić na tryb zwykłego tekstu. Ponieważ sama polityka jest pobierana przez HTTPS, a nie negocjowana podczas uzgadniania połączenia SMTP, osoba atakująca nie może jej sfałszować w taki sam sposób, w jaki może usunąć ofertę STARTTLS.

DANE dodaje do tego jeszcze jeden poziom zabezpieczeń. Zamiast opierać się na tradycyjnym systemie urzędów certyfikacji, DANE publikuje w systemie DNS rekord TLSA, który dokładnie określa, jaki certyfikat powinien przedstawić serwer pocztowy. Ponieważ DANE opiera się na protokole DNSSEC, sam rekord TLSA jest chroniony przed rodzajem fałszowania DNS opisanym wcześniej w tym artykule, zapewniając serwerom wysyłającym kryptograficzny sposób potwierdzenia, że rzeczywiście komunikują się z serwerem pocztowym zamierzonego odbiorcy.

Rozwiązania MTA-STS i DANE wspólnie rozwiązują dwa problemy, których oportunistyczny protokół STARTTLS nigdy nie miał zagwarantować: czy szyfrowanie rzeczywiście zostanie zastosowane oraz czy serwer po drugiej stronie jest właściwym serwerem. PowerDMARC obsługuje oba te rozwiązania, dzięki czemu domeny mogą wymusić szyfrowaną i zweryfikowaną dostawę poczty bez konieczności ręcznego zarządzania rekordami DNS lub plikami zasad hostowanymi w sieci.

Automatyzacja MTA, STS i TLS RPT od początku do końca

Uwaga: Szyfrowanie transmisji chroni jedynie samo połączenie. Nie zapobiega ono podszywaniu się pod Twoją domenę w polu „Od” wiadomości e-mail, która w ogóle nie przechodzi przez Twoje serwery pocztowe. Do tego właśnie służy protokół DMARC, a te dwa mechanizmy zabezpieczeń działają najlepiej w połączeniu, a nie jako wzajemne substytuty.

Dowiedz się więcej o DMARC

Najczęściej zadawane pytania

Jaki jest cel ataku typu MITM?

Celem jest niemal zawsze przechwycenie, odczytanie lub zmiana treści komunikacji, którą obie strony uważają za prywatną. W zależności od motywacji atakującego może to oznaczać kradzież danych logowania, przekierowanie transakcji finansowych, wprowadzenie złośliwej treści do legalnego połączenia lub po prostu monitorowanie ruchu sieciowego bez wiedzy żadnej ze stron.

Czy protokół HTTPS może zapobiegać atakom typu MITM?

Protokół HTTPS znacznie utrudnia ataki typu MITM poprzez szyfrowanie ruchu między przeglądarką a stroną internetową, ale sam w sobie nie stanowi całkowitej gwarancji bezpieczeństwa. Techniki takie jak „SSL stripping”, sfałszowane lub przejęte certyfikaty oraz sieci Wi-Fi typu „evil twin”, które przechwytują ruch przed nawiązaniem połączenia HTTPS, nadal mogą stwarzać luki w zabezpieczeniach. Połączenie protokołu HTTPS z protokołem HSTS i mechanizmem „certificate pinning” eliminuje większość tych luk.

Jaki jest najczęstszy rodzaj ataku typu MITM?

W sieciach lokalnych najczęściej stosowaną techniką jest fałszowanie adresów ARP, ponieważ nie wymaga ona żadnych specjalnych uprawnień poza obecnością w tej samej sieci. W miejscach publicznych częściej zdarzają się ataki typu „evil twin” na sieci Wi-Fi, ponieważ nie wymagają one nawet przejęcia kontroli nad istniejącą siecią.

W jaki sposób protokół MTA-STS zapobiega atakom typu „man-in-the-middle” w poczcie elektronicznej?

Protokół MTA-STS zapobiega atakom polegającym na obniżeniu poziomu bezpieczeństwa STARTTLS, umożliwiając domenie zadeklarowanie – za pośrednictwem protokołu HTTPS, a nie w ramach samego uzgodnienia SMTP – że zawsze wymaga użycia protokołu TLS dla poczty przychodzącej. Serwery wysyłające obsługujące protokół MTA-STS odmówią dostarczenia poczty w postaci zwykłego tekstu do domeny, w której obowiązuje taka polityka, eliminując w ten sposób lukę, jaką pozostawia sam protokół STARTTLS.

Czy atak typu MITM to to samo, co podsłuchiwanie?

Są to pojęcia powiązane, ale nie tożsame. Podsłuchiwanie zazwyczaj oznacza bierną obserwację ruchu sieciowego bez wprowadzania w nim zmian. Atak typu MITM idzie o krok dalej: osoba atakująca aktywnie wkracza w ścieżkę komunikacji i może odczytywać, modyfikować, wstrzykiwać lub blokować ruch w obu kierunkach, a nie tylko go obserwować.

Atak typu MITM