Microsoft ostrzega, że złośliwe oprogramowanie typu Toll Fraud Malware jest jednym z najbardziej rozpowszechnionych na Androida. Staje się coraz bardziej niebezpieczne ponieważ umożliwia automatyczną subskrypcję usług premium.

Oszustwo polega na tym, że z naszego urządzenia wykonywane jest połączenie bądź wysyłany jest SMS na płatny numer premium. Obecnie wiele telefonów już oferuje opcje WIFI Calling która wykorzystuje technologie VoWIFI (Voice over WiFi) która między innymi oferuje darmowe połączenia przychodzące.

Toll fraud wyłącza WiFi i zmusza urządzenia do połączenia się z siecią operatora komórkowego, tym samym narażając nas na opłaty.


Analiza techniczna

Oszustwo działa za pośrednictwem protokołu WAP (Wireless Application Protocol), który umożliwia konsumentom subskrypcję płatnych treści i obciążenie rachunku telefonicznego.

Wymaga to połączenia przez sieć komórkową i kliknięcia przez klienta przycisku subskrypcji. Niektóre usługi wysyłają jednorazowe hasło (OTP), aby klienci mogli potwierdzić swój wybór.

Źródło: Microsoft

Troll Fraud robi to wszystko automatycznie, inicjując subskrypcję przechodzi do przechwycenia hasła OTP a na koniec ukrywa powiadomienia, które mogłyby zaalarmować ofiarę.

Microsoft zidentyfikował kilka etapów, które zazwyczaj odbywają się przy całkowitej nieświadomości użytkowników:

  • Wyłączenie połączenia Wi-Fi lub czekanie, aż użytkownik przełączy się na sieć komórkową
  • Ciche przejście do strony subskrypcji
  • Automatyczne kliknięcie przycisku subskrypcji
  • Przechwycenie OTP (jeśli dotyczy)
  • Wysłać OTP do dostawcy usług (jeśli dotyczy)
  • Anulowanie powiadomień SMS (jeśli dotyczy)

Wyłączenie połączenia WiFi

Złośliwe oprogramowanie zaczyna od zbierania danych o kraju abonenta i sieci komórkowej, na co Android nie wymaga żadnej zgody od użytkownika.

Kluczowym krokiem jest wyłączenie połączenia WiFi i zmuszenie urządzenia do korzystania z sieci operatora. W systemie Android 9 (poziom API 28) lub niższym jest to możliwe przy zwyczajnym poziomie uprawnień ochrony.

Dla wyższego poziomu API istnieje funkcja “requestNetwork”, która podlega pod uprawnienie CHANGE_NETWORK_STATE, które również posiada zwyczajny poziom ochrony.

Microsoft pokazał to w przykładowym kodzie ze złośliwego oprogramowania Joker, które od ponad pół dekady nieustannie przebija się do Sklepu Play Google.

Źródło: Microsoft

Następnie malware wykorzystuje “NetworkCallbak” do monitorowania stanu sieci i uzyskania zmiennej “networktype” w celu połączenia z konkretną siecią, zmuszając w ten sposób urządzenie do zignorowania dostępnego połączenia WiFi i skorzystania z połączenia operatora komórkowego.

Jedynym sposobem, aby użytkownik mógł tego uniknąć, jest ręczne wyłączenie danych mobilnych.

Jeśli operator komórkowy ofiary znajduje się na liście celów, malware przystępuje do pobierania listy stron internetowych, które zapewniają usługi premium i próbuje automatycznie się do nich zapisać.

Aby złośliwe oprogramowanie robiło to automatycznie, obserwuje postęp ładowania strony i wstrzykuje kod JavaScript zaprojektowany do klikania elementów HTML, które inicjują subskrypcję. Ponieważ użytkownik może tylko raz zapisać się do jednej usługi, kod oznacza również stronę HTML za pomocą pliku cookie, aby uniknąć podwójnych subskrypcji” – pisze Microsoft

Badacze Microsoft zauważyli również w raporcie, że czasami może być wymagana dodatkowa weryfikacja. Analizowane przez firmę próbki złośliwego oprogramowania typu Toll Fraud mają metody pozwalające osiągnąć i to.

Niektórzy operatorzy kończą subskrypcję dopiero po sprawdzeniu, że użytkownik ją autoryzował za pomocą kodu OTP dostarczonego przez SMS, HTTP lub USSD (Unstructured Supplementary Service Data). Gdy oprogramowanie uzyska kod autoryzacyjny, może swobodnie dokończyć subskrypcję wybranej usługi premium.


Tłumienie powiadomień

Od poziomu API 18 aplikacja, która rozszerza usługę NotificationListenerService, jest upoważniona do tłumienia powiadomień uruchamianych z innych aplikacji” – Microsoft

Twórcy złośliwego oprogramowania mają podzbiór trzech wywołań API, których mogą nadużywać, aby wyciszyć powiadomienia SMS z innych aplikacji:

  • cancelAllNotifications(), aby poinformować menedżera powiadomień o odrzuceniu wszystkich powiadomień
  • cancelNotification(String key), aby poinformować menedżera powiadomień o odrzuceniu pojedynczego powiadomienia
  • cancelNotifications(String [] keys), aby poinformować menedżera powiadomień o odrzuceniu wielu powiadomień jednocześnie

Podsumowanie

Aby uniknąć przypadkowego zainstalowania Troll Fraud na swoim urządzeniu, należy weryfikować źródło pobierania. Instalować aplikacje tylko z oficjalnych sklepów jak Sklep Play Google, jednak jak już wspominaliśmy i tam można się natknąć na podszywające się aplikacje.

Dodatkowa weryfikacja uprawnień podczas instalacji jest dobrym nawykiem, które poprawi bezpieczeństwo urządzenia.

Microsoft zaleca również, aby użytkownicy unikali: zezwalania aplikacjom na czytanie lub wysyłanie SMS-ów, dawania dostępu do powiadomień, chyba że uprawnienia te są potrzebne do normalnego funkcjonowania aplikacji.

Warto też zablokować usługi premium u swojego operatora. W ten sposób, nawet gdy oprogramowanie znajdzie drogę do naszego urządzenia, nie będzie miało możliwości, aby narazić nas na dodatkowe opłaty.

Na koniec zapraszamy do zapoznania się z artykułem o najlepszych praktykach zabezpieczenia swojego telefonu według zaleceń NSA. Informujemy tam między innymi o tym czego należy nie robić korzystając z telefonu, czego unikać i jak poprawić swoje bezpieczeństwo.

Podziel się z innymi tym artykułem!