Stan zagrożeń w internecie znajduje się obecnie na poziomie standardowym. Nie występują duże epidemie a eksperci z Kaspersky Lab nie zanotowali żadnych poważnych incydentów związanych z bezpieczeństwem. Poziom zagrożenia: 1

Zakorzenianie

Dodany 21 września 2015, 10:36 CEST
Tagi:

Od czerwca 2015 r. obserwujemy stały wzrost liczby ataków przy użyciu mobilnego szkodliwego oprogramowania, które do osiągnięcia swoich celów wykorzystuje przywileje superużytkownika (dostęp na poziomie administratora) na urządzeniu.

Dostęp na poziomie administratora jest niezgodny z modelem bezpieczeństwa systemu operacyjnego, ponieważ narusza zasadę, która głosi, że aplikacje powinny być odizolowane od siebie nawzajem i od systemu. Aplikacji wykorzystującej dostęp na poziomie administratora zapewnia praktycznie nieograniczoną kontrolę nad urządzeniem, co jest całkowicie niedopuszczalne w przypadku szkodliwej aplikacji.   

Szkodliwe wykorzystywanie przywilejów superużytkownika samo w sobie nie jest niczym nowym: w regionach, gdzie sprzedawane są smartfony z preinstalowanymi narzędziami eskalacji przywilejów, twórcy szkodliwego oprogramowania wykorzystują tę technikę od dawna. Znane są również przypadki, gdy trojany uzyskują takie przywileje po tym, jak użytkownik „zrootuje” urządzenie, tj. wykorzysta luki w zabezpieczeniach w celu zainstalowania aplikacji, które zapewniają przywileje superużytkownika na telefonie.    

Jednak opisane w tym poście szkodliwe oprogramowanie uzyskuje przywileje na poziomie administratora samodzielnie, a właściciel urządzenia nie ma pojęcia, że na jego telefonie znajduje się aplikacja z prawami superużytkownika.

Jak to działa

Przeanalizowaliśmy statystyki zbierane od maja do sierpnia 2015 r., identyfikując trzy główne rodziny trojanów, które bez wiedzy użytkownika wykorzystują przywileje na poziomie administratora. Są to: Trojan.AndroidOS.Ztorg, Trojan-Dropper.AndroidOS.Gorpo (który działa we współpracy z programem Trojan.AndroidOS.Fadeb) oraz Trojan-Downloader.AndroidOS.Leech. Wszystkie te rodziny szkodliwego oprogramowania mobilnego potrafią instalować programy; ich funkcjonalność ogranicza się do umożliwiania pobierania i instalowania dowolnych aplikacji na telefonie bez wiedzy użytkownika.     

Cechą wyróżniającą te trojany mobilne jest to, że stanowią one pakiety wbudowane w legalne aplikacje, ale w żaden sposób niepowiązane z pierwotnym celem tych aplikacji. Cyberprzestępcy po prostu dodają szkodliwy kod do popularnych legalnych aplikacji, nie zmieniając ich głównej funkcjonalności.

bloody_roots_eng_1.png

Po uruchomieniu trojan próbuje wykorzystać luki w zabezpieczeniach systemu Android OS jedną po drugiej w celu uzyskania przywilejów superużytkownika. W przypadku powodzenia, w folderze aplikacji systemowych (/system/app) zostaje zainstalowana osobna wersja szkodliwego oprogramowania, która regularnie łączy się z serwerem cyberprzestępców, czekając na polecenia pobrania i zainstalowania innych aplikacji. Ponieważ dalsze zachowanie szkodliwego oprogramowania różni się w zależności od rodziny, omówimy każdą z rodzin oddzielnie.    

Rodziny Fadeb i Gorpo

Na początek warto wyjaśnić, dlaczego mówimy o współdziałaniu ze sobą tych dwóch rodzin. Analiza kodu wykazała, że oba te szkodliwe programy opierają się na tej samej architekturze, a w ich kodzie wykorzystano identyczne metody ukrywania ciągów. Pod względem funkcjonalności, Trojan.AndroidOS.Fadeb odpowiada za pobieranie i instalowanie plików, natomiast Trojan-Dropper.AndroidOS.Gorpo uzyskuje eskalowane przywileje na urządzeniu, a następnie instaluje trojana Fadeb w /system/app pod nazwą LauncherXXXX.apk. Starsze wersje tego trojana działały „samodzielnie” i wymagały obecności w systemie pliku su, zainstalowanego przez producenta lub użytkownika.          

Trojany z tych dwóch rodzin można znaleźć w niedrogich smartfonach – w postaci pakietów wbudowanych do popularnych aplikacji, takich jak Twitter, Facebook, różnych modułów uruchamiania itd. Z analizy firmware’u zainfekowanych urządzeń wynika, że aplikacje zawierające szkodliwy kod nie są dostarczane przez producenta telefonów. Sami użytkownicy również nie zainstalowali tych aplikacji w standardowy sposób. Uważamy, że aplikacje te mogły zostać zainstalowane przez osoby trzecie, zanim urządzenia trafiły do użytkowników. Mogły to być niewielkie sklepy prywatne, które próbują zainstalować możliwie najwięcej aplikacji na urządzeniach, aby zadowolić klientów, ale korzystają z niepewnych źródeł oprogramowania bez przeprowadzania skanowania bezpieczeństwa pobieranych plików.   

Taką teorię postawiliśmy po zbadaniu różnych stron internetowych oraz forów użytkowników, na których użytkownicy opisywali przypadki zainfekowania swoich urządzeń bez ich wiedzy oraz znalezienia trojanów w niedawno zakupionych urządzeniach.

bloody_roots_eng_2_auto.png

Źródło: https://www.androidpit.de/xiaomi-mi4-smartphones-werden-teils-mit-trojaner-ausgeliefert

bloody_roots_eng_3_auto.png

Źródło: http://www.newegg.com/Product/SingleProductReview.aspx?ReviewID=4337361

bloody_roots_eng_4_auto.png

Źródło: http://www.amazon.com/Lenovo-Screen-Android-Qualcomm-Snapdragon/product-reviews/B00SUWBROI

Lista źródeł infekcji nie została wyczerpana: czasami sami użytkownicy pobierają te trojany z nieoficjalnych sklepów  aplikacjami. Według naszych statystyk, najpopularniejsze zainfekowane aplikacje to:

  • com.leo.appmaster
  • cn.cleanmaster.mguard
  • com.apusapps.launcher
  • cc.taosha.beautify.easylocker
  • cc.taosha.toolbox.shareit
  • com.twiter.android
  • com.freevideo.entertainment.youtube
  • com.star.android.smartTouch
  • com.top.sex.positions.real.sounds

Rodzina Leech

Jest to najbardziej zaawansowana rodzina szkodliwego oprogramowania spośród opisanych w tym tekście: niektóre z jej wersji potrafią obejść dynamiczne kontrole przeprowadzane przez Google, zanim aplikacje pojawią się w oficjalnym sklepie Google Play Store. Szkodniki z tej rodziny mogą uzyskać wiele różnych danych, w tym państwo rejestracji, adres oraz nazwy domen pasujące do adresu IP. Następnie, trojan sprawdza, czy dany adres IP mieści się w zakresie adresów IP wykorzystywanych przez Google:

  • 216.58.192.0 – 216.58.223.255
  • 209.85.128.0 – 209.85.255.255
  • 104.132.0.0 – 104.135.255.255
  • 173.194.0.0 – 173.194.255.255
  • 74.125.0.0 – 74.125.255.255

Jeśli adres IP mieści się w jednym z powyższych zakresów, szkodliwe oprogramowanie kończy swoje działanie.

Nazwy domen pasujące do adresu IP urządzenia są również sprawdzane pod kątem występowania następujących ciągów: „android”, „google” oraz „1e100″ (usługa wykorzystywana przez Google wewnętrznie; jej nazwa stanowi matematyczny wzór liczby googol). W ten sposób trojan ten sprawdza, czy zainfekowane urządzenie znajduje się w sieci korporacyjnej Google. Jest to niezbędne w celu zaliczenia testów dynamicznych wymaganych przed udostępnieniem aplikacji w sklepie Google Play. Kiedy Leech odkrywa, że znajduje się w sieci Google, oznacza to, że został poddany takiemu testowi, dlatego kończy swoje działanie.  

Szkodnik wykorzystuje również technikę dynamicznego ładowania kodu, która polega na pobieraniu wszystkich modułów o krytycznym znaczeniu i załadowaniu ich do jego kontekstu w czasie wykonywania. Utrudnia to statyczną analizę aplikacji. Dzięki wykorzystaniu wszystkich opisanych wyżej technik trojanowi udało się przeniknąć do oficjalnego sklepu z aplikacjami  Google Play wraz z aplikacją o nazwie „How Old Camera” – serwisu, który próbuje odgadnąć wiek osoby ze zdjęcia.

bloody_roots_eng_6_auto.jpg

bloody_roots_eng_7_auto.jpg
bloody_roots_eng_8_auto.jpg
Jak widać, aplikacja ta pojawiła się 22 maja 2015 roku, w okresie najwyższej popularności podobnego serwisu firmy Microsoft. W momencie, gdy została usunięta ze sklepu Google Play (10 czerwca, 2015 r.), liczba jej zarejestrowanych instalacji wynosiła od 100 000 do 500 000, czyli była spora, szczególnie wobec zagrożenia, jakie stanowi ta aplikacja. Pakiet z tym trojanem został również osadzony w innych, popularnych legalnych aplikacjach, takich jak aplikacje do pobierania filmów z serwisu YouTube lub do instalowania dynamicznych tapet.    

Po uzyskaniu przywilejów superużytkownika Leech, oprócz swojej samodzielnej wersji, instaluje również inną aplikację w folderze /system/app. Jest to aplikacja o nazwie „com.sync.sms”, wykrywana przez produkty firmy Kaspersky Lab jako Trojan.AndroidOS.Guerilla.a. Trojan ten prowadzi agresywne kampanie reklamowe dla innych aplikacji. Kampanie te obejmują wyświetlanie reklam na pasku stanu, w aplikacjach osób trzecich, jak również pobieranie i instalowanie aplikacji (łącznie z możliwością pobierania aplikacji z Google Play) oraz wyświetlanie wszelkich elementów interaktywnych na ekranie urządzenia.       

bloody_roots_eng_9.png

Elementy interaktywne wyświetlane przez szkodnika o nazwie Trojan.AndroidOS.Guerilla.a

Trojan Guerilla potrafi również wstrzykiwać swój kod do aplikacji systemowych w pamięci urządzenia, aby zapewnić jego ciągłe uruchamianie.

Poniżej znajduje się lista aplikacji, które reklamuje trojan Guerilla:

  • com.duotui.home
  • com.mobile.indiapp
  • com.polaris.newnews
  • com.uf.lockscreen
  • gamedangian.tienlenmiennam.gamebai
  • com.flipkart.android
  • com.truecaller
  • com.chaatz
  • com.eterno
  • com.machinezone.gow
  • com.moonton.magicrush
  • com.zqkt.hezuobao1
  • com.batterysaverplus
  • com.heisha.candy150706
  • com.lazada.android
  • com.mfree.mp3.music
  • com.mm.artifact
  • com.mzve.mstc.yxjz
  • com.qihoo.security
  • com.schibsted.bomnegocio.androidApp
  • com.uf.flashlight
  • com.baidu.androidstore
  • com.dianxinos.dxbs
  • com.dianxinos.optimizer.duplay
  • com.estrongs.android.pop
  • com.ijinshan.kbatterydoctor_en
  • com.quikr
  • com.star.android.smartTouch
  • com.weixin.gzsj
  • com.wifi.free.superfast
  • com.baidu.browser.inter
  • com.cleanmaster.mguard
  • com.looku.bee2
  • com.specialapps.SecretBox
  • com.voonik.android
  • com.applockv43o003.amb
  • com.apusapps.launcher
  • com.coconuttec.teenpatti.klub
  • com.cool.coolbrowser
  • com.dragon.android.mobomarket
  • com.hcg.cok.gp
  • com.igg.castleclash_fr
  • com.leo.appmaster
  • com.uc.browser.en
  • com.fission.sevennujoom
  • com.then.dayx.hgwe
  • com.wifimap.mapwifi
  • net.lovoo.android

Leech zapewnia dostęp do zainfekowanych urządzeń nie tylko trojanowi Guerilla, ale również znacznie groźniejszemu szkodliwemu oprogramowaniu. Dlatego też postanowiliśmy napisać osobny artykuł na temat tego szkodliwego oprogramowania, w którym zamierzamy opisać zarówno tego nadzwyczajnego trojana, jak i jego pochodne.

Rodzina Ztorg

Ogólnie, trojany z tej rodziny posiadają tę samą funkcjonalność co rodziny opisane wyżej. Techniki wykorzystywane do dystrybucji tych szkodników również odpowiadają tym stosowanym do rozprzestrzeniania trojanów z rodzin Gorpo (plus Fadeb) oraz Leech – pakiety szkodliwego kodu są osadzane w legalnych aplikacjach. Jedyna znacząca różnica polega na tym, że najnowsze wersje tego szkodnika wykorzystują technikę ochrony, która pozwala im całkowicie ukryć kod przed analizą statyczną. Osoby atakujące wykorzystują funkcję ochrony, która podmienia plik wykonywalny aplikacji na fikcyjny, odszyfrowując oryginalny plik wykonywalny i ładując go do przestrzeni adresowej procesu w momencie uruchamiania aplikacji. Ponadto, wykorzystywane jest zaciemnianie ciągów w celu dodatkowego utrudnienia zadania analizy tych plików, co i tak jest już skomplikowane.   

bloody_roots_eng_10_auto.png

Wersje trojana Ztorg, które nie stosują tego rodzaju ochrony, są wykrywane przez produkty firmy Kaspersky Lab jako Trojan.AndroidOS.Ztorg.a, natomiast wersje posiadające ochronę, są wykrywane pod nazwą Trojan.AndroidOS.Ztorg.b.

Dane statystyczne

Poniżej przedstawiamy dane dotyczące aktywności opisanych wyżej rodzin. Po lewej stronie znajdują się wykresy pokazujące liczbę niedawno zaatakowanych użytkowników na przestrzeni czasu, natomiast po prawej – mapy rozkładu geograficznego.

bloody_roots_eng_11_auto.jpg

Trojan-Downloader.AndroidOS.Leech.a

Największą liczbę prób infekcji dla trojana z rodziny Leech odnotowano w pierwszej połowie lipca – w ciągu dwóch tygodni zaatakowanych zostało około 33 tysięcy użytkowników. Najwięcej ataków miało miejsce 9 lipca – zarejestrowano ponad 2 800 potencjalnych ofiar.

bloody_roots_eng_12_auto.jpg

Trojan.AndroidOS.Ztorg.a

bloody_roots_eng_13_auto.jpg

Trojan.AndroidOS.Ztorg.b

Trojan.AndroidOS.Ztorg.a był dość aktywny w lipcu – dziennie atakowanych było średnio ponad 1200 użytkowników. Około połowy miesiąca popularność tego szkodnika gwałtownie spadła, a program został zastąpiony nową modyfikacją - Trojan.AndroidOS.Ztorg.b. Chroniona wersja tego trojana była bardziej aktywna i atakowała około 1300 użytkowników dziennie w lipcu.   

bloody_roots_eng_14_auto.jpg

Trojan-Dropper.AndroidOS.Gorpo.a

Aktywność programu Trojan-Dropper.AndroidOS.Gorpo.a rosła stopniowo, począwszy od początku maja 2015 r. Odnotowaliśmy jednak dwa skoki – 30 czerwca i 16 lipca. W tych dniach liczba zaatakowanych użytkowników przekroczyła odpowiednio 1500 i 1800,   

bloody_roots_eng_15_auto.jpg

Trojan.AndroidOS.Fadeb.a

Trojan.AndroidOS.Fadeb.a uznawany jest za najmniej skuteczny spośród wymienionych wyżej szkodliwych programów. Jego aktywność również wzrosła z początkiem maja, ale nawet w pierwszej połowie lipca, który stanowił jego najaktywniejszy okres, liczba zaatakowanych użytkowników nie przekroczyła 1 000 dziennie.

Większość użytkowników zaatakowanych przez te trojany było zlokalizowanych w Rosji i Indiach, jak również w państwach Bliskiego Wschodu. Jednak w innych regionach również odnotowano dziesiątki, a nawet setki infekcji.    

Zakończenie

Szkodliwe aplikacje nie często potrafią same uzyskać przywileje superużytkownika. Takie techniki wykorzystywane są głównie w wyrafinowanym szkodliwym oprogramowaniu służącym do przeprowadzania ataków ukierunkowanych. Opisane w tym poście przypadki pokazują, że tego rodzaju techniki stają się coraz popularniejsze: również zwykłe szkodliwe oprogramowanie coraz częściej stosuje podobne (jeśli nie bardziej zaawansowane) techniki. W ten sposób powstaje niebezpieczny trend. Chociaż opisane wyżej trojany w większości wykorzystywane są do celów reklamowych, nic nie powstrzyma ich przed użyciem swoich nowo uzyskanych przywilejów superużytkownika do zainstalowania aplikacji, które mogą wyrządzić użytkownikom większą szkodę niż jedynie irytację wywołaną denerwującymi reklamami.