Ruch użytkowników komórek podsłuchiwany w ciekawym ataku

dodał 21 listopada 2014 o 13:59 w kategorii Mobilne, Prywatność  z tagami:
Ruch użytkowników komórek podsłuchiwany w ciekawym ataku

W kilkudziesięciu krajach – w tym podobno w Polsce – odkryto ślady interesującego ataku na użytkowników popularnych smartfonów, umożliwiającego podsłuchiwanie ruchu internetowego tych urządzeń. Podatne są zarówno iPhony jak i telefony z Androidem.

Firma Zimperium, zajmująca się bezpieczeństwem urządzeń mobilnych, ogłosiła wczoraj, że odkryła nowy rodzaj ataku na telefony komórkowe, wykorzystujący pakiety ICMP Redirect do przekierowywania ruchu ofiary przez sieć atakującego.

Niewinny pakiet w złośliwym zastosowaniu

Pakiety ICMP Redirect w założeniu mają być używane przez rutery, informujące komputery we własnej sieci o istnieniu lepszej trasy do konkretnego adresu IP. Wskazują one właściwą bramę, która ma zostać użyta do komunikacji ze światem. Problem polega jednak na tym, że pakiety ICMP jest bardzo łatwo sfałszować.

Atakujący może zatem wysłać do ofiary komunikat o treści „dla tego adresu IP ruch przesyłaj przez moją bramę” i następnie czekać na połączenia i zapoznawać się z ich treścią. Ruch wystarczy kierować do prawdziwej bramy ofiary, by ta nie zauważyła, że jest ofiara ataku MiTM. O ile domyślnie akceptację takich pakietów wyłączono już bodajże w Windows 2000, o tyle są one według Zimperium przyjmowane bez zastrzeżeń przez platformy iOS (do 8.1.1 włącznie), Android (również 5.0) oraz Mac OS X (w tym Yosemite).

Schemat przekierowania ICMP

Schemat przekierowania ICMP

Jak ustalić, gdzie łączy się ofiara

Aby przeprowadzić taki atak trzeba spełnić kilka warunków. Po pierwsze, trzeba znajdować się w tej samej sieci lokalnej, co ofiara – co znacznie ogranicza skalę ich stosowania. Po drugie trzeba znać adresy IP, z którymi chce się połączyć ofiara. Badacze Zimperium twierdzą, że odkryli, jak ten drugi problem jest rozwiązywany w atakach prowadzonych w świecie rzeczywistym.

Aby poznać listę adresów IP, do których łączyć się będzie telefon ofiary, trzeba albo strzelać na ślepo, albo użyć sprytnego fortelu. Zacząć należy od założenia, że ofiara korzysta ze znanego atakującemu serwera DNS (np. 8.8.8.8 – Google lub 208.67.222.222 – OpenDNS). Wystarczy zatem odpowiednim pakietem ICMP poprosić urządzenie ofiary, by ruch tych adresów IP przekierowało do naszej bramy. Dzięki temu można poznać nazwy domenowe, z którymi próbuje łączyć się ofiara. Dysponując taką wiedzą można wysyłać kolejne prośby o przekierowanie ruchu konkretnych adresów, o które pyta telefon.

Ataki również w Polsce

Autorzy odkrycia informują, że opisywany powyżej atak obserwowali „w ciągu ostatniego roku”. Według nich wśród ofiar były „cele o dużej wartości”, a atak obserwowano w 31 krajach, w tym także w Polsce. Pytaniem bez odpowiedzi pozostaje jednak kwestia, czemu dopiero po roku badacze zdecydowali się na publikację swojego odkrycia. Nie jest to także jedyne pytanie które nasuwa się po lekturze oryginalnego artykułu.

Wątpliwości nie brakuje

W swoim komunikacie oprócz zwyczajowej dawki marketingu firm Zimperium alarmuje, że atak może zostać wykorzystany między innymi do zainfekowania podatnych urządzeń złośliwym oprogramowaniem. Wymaga to kontroli nad ruchem przychodzącym do atakowanego urządzenia. Również w artykule Zimperium kilka razy podkreśla, że odkryty atak ma formę dwukierunkową (w przeciwieństwie do wcześniej znanych ataków ICMP Redirect), jednak w żadnym miejscu nie wyjaśnia, w jaki sposób atakujący uzyskuje dostęp do ruchu przychodzącego do atakowanego urządzenia.

Nie ulega wątpliwości, że podatność na atak ICMP Redirect to wstydliwy błąd autorów oprogramowania smartfonów. Choć możliwość realnego ataku nie jest wielka (wymaga obecności w tej samej sieci co atakowany), to jednak scenariusz tego ataku  jest znany od tak wielu lat, że domyślnie ta opcja powinna była zostać wyłączona w konfiguracji systemów już dawno temu. Co gorsza samodzielne jej wyłączenie wymaga dostępu na poziomie administracyjnym.

Mac: # sysctl -w net.inet.ip.redirect=0
Android: # echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects

Niestety do tej pory nie rozumiemy, jak za pomocą ataku opisanego przez Zimperium można modyfikować ruch przychodzący do smartfona. Jeśli macie jakiś pomysł – podzielcie się w komentarzach.

Aktualizacja 15:30
Dziękujemy Czytelnikom, którzy naprowadzili nas na dobry trop. Znajduje się on w regule IPTABLES pokazanej w omawianym artykule. Atakujący tworzy NAT, dzięki któremu przechwytuje również ruch powracający do atakowanego urządzenia i może go dowolnie (o ile nie jest szyfrowany) modyfikować.