Analiza najnowszego ataku 0day na Firefoxa używanego w TOR Bundle

dodał 5 sierpnia 2013 o 11:53 w kategorii Błędy, Prywatność, Włamania  z tagami:
Analiza najnowszego ataku 0day na Firefoxa używanego w TOR Bundle

Zamknięcie Freedom Hosting oraz aresztowanie jego właściciela zostawiło społeczność użytkowników TOR z dwoma pytaniami – jak FBI znalazło podejrzanego oraz czy było w stanie namierzyć użytkowników TORa. Odpowiedź na to drugie pytanie już znamy.

Wczoraj opisaliśmy wydarzenia, które miały miejsce w sieci TOR w ciągu ostatnich dni. Jednym z najważniejszych ich elementów było podejrzenie ataku 0day na użytkowników niektórych ukrytych serwisów. W komentarzu do wiadomości o zatrzymaniu założyciela Freedom Hosting w serwisie Reddit pojawiła się ciekawa informacja. Jeden z użytkowników informował, że administrator pedofilskiego forum 4pedo ostrzegł przed skryptem JS, który znalazł się bez jego wiedzy w jego serwisie. Padło podejrzenie, że skrypt ten serwowany był z serwera Freedom Hosting, do którego prawdopodobnie dostęp uzyskało FBI.

Jak działał skrypt i jaka była jego funkcjonalność?

Do bliżej niezidentyfikowanych stron, serwowanych przez Freedom Hosting, wrzucany był krótki skrypt JS. W sieci dostępne są co najmniej dwa warianty, jednak ich najważniejszy fragment wygląda podobnie:

lub

Fragment ten powoduje wczytanie przez przeglądarkę kolejnej porcji kodu oraz wysyła do zewnętrznego serwera unikalny identyfikator użytkownika, generowany przez serwer FH.

Wczytywany z zewnętrznego serwera kod zawiera exploit na Firefoxa. Zanim jednak zostanie od wykonany, najpierw weryfikowana jest wersja przeglądarki. Kod exploita uruchamiany jest wyłącznie na Frefoxie 17 (mimo iż działa na wersjach do 21 włącznie). Oznacza to, że atak jest skierowany na użytkowników pakietu Tor Browser Bundle, najpopularniejszego narzędzia użytkowników sieci TOR. Czemu TBB korzysta z Firefoxa 17, skoro dostępna jest już wersja 22? Firefox 17 to aktualna wersja ESR (extended support release), przeznaczona dla przedsiębiorstw, którym zależy tylko na poprawkach bezpieczeństwa a nie na nowej funkcjonalności. Wobec częstego wypuszczania aktualizacji Firefoxa niektóre firmy wolą nie ryzykować wdrażania nowej wersji co 6 tygodni, lecz pozostają przy wersji sprawdzonej, która jest aktualizowana tylko wtedy, gdy zostanie wykryta w niej luka bezpieczeństwa. Z tej samej wersji z tych samych powodów korzysta TBB.

Co robi exploit?

Kod głównego exploita zawiera zakodowany zestaw poleceń, który został ostatniej nocy przeanalizowany przez Vlada Tsyrklevicha. Jego działanie wskazuje wprost na jeden cel – identyfikację użytkownika. W momencie wykonania exploit łączy się z serwerem 65.222.202.54 (w tej samej klasie adresowej co poprzednio użyty link), gdzie przesyła nazwę komputera oraz adres MAC karty sieciowej, pobrane z komputera, na którym został uruchomiony. Wysyłając te dane korzysta z adresu IP komputera, zatem również ta informacja trafia do nieznanego odbiorcy. Nie znaleźliśmy informacji o tym, czy exploit potrafi wysłać dane łącząc się z siecią bezpośrednio, a nie przez TORa. Nawet jeśli tego nie potrafi, to MAC adres komputera może często naprowadzić na tożsamość użytkownika. Wymaga to współpracy producentów i dystrybutorów sprzętu oraz długiej pracy śledczych, ale w wielu przypadkach jest możliwe.

Czy to na pewno 0day?

Zespół Mozilli potwierdził, ze w ataku użyto błędu MFSA2013-53 (CVE2013-1690), znanego publicznie od 25 czerwca 2013, a odkrytego kilka miesięcy wcześniej przez badacza znanego jako Nils. Błąd ten został załatany w wersji 17.0.7 oraz 22 wydanych właśnie 25 czerwca. Wersja 17.0.7 weszła w skład Tor Browser Bundle już 26go czerwca, więc trudno tu mówić o ataku 0day.

Kto był podatny na atak?

Powyższe informacje wskazują, że na atak podatni byli jedynie użytkownicy, spełniający wszystkie 3 warunki:

  • korzystający z wersji TBB sprzed 26go czerwca (Firefox 17.0.6 lub starszy)
  • korzystający z domyślnej konfiguracji bez wyłączonego JavaScriptu
  • korzystający z TBB bezpośrednio na komputerze, a nie w maszynie wirtualnej, tunelowanej przez TOR (np. Whonix)

Oznacza to, że grono potencjalnych ofiar ograniczone było do przypadków przejawiających mniejszych instynkt samozachowawczy oraz niższy poziom paranoi.

Kto stał za atakiem?

Jeśli spojrzymy tylko na dostępne fakty, to nie posiadamy możliwości udzielenia wiarygodnej odpowiedzi na to pytanie. Jeśli jednak zauważymy, że ktoś stworzył własny shellcode oraz kod exploita, które zamieścił nieznanym jeszcze sposobem na witrynie w sieci TOR, zawierającej pornografię dziecięcą, a do tego nie próbował instalować na komputerach użytkowników żadnego złośliwego oprogramowania, to trudno nie skojarzyć tego z aresztowaniem założyciela Freedom Hosting na zlecenie FBI. Dodatkowo już od wielu lat dokumenty ujawniane w trakcie procesów przestępców pokazują, że FBI korzysta z podobnego oprogramowania o nazwie CIPAV (computer and internet protocol address verifier) służącego do identyfikacji przestępców. Czas pokaże, czy ta teoria okaże się słuszna.