V telefonech se systémem Android špehuje malware SkyGoFree

Největší dosavadní bezpečnostní hrozbou roku 2018 spojenou s operačním systémem Android – tedy alespoň podle zájmu médií – je malware s mírně zarážejícím názvem SkyGoFree. Samotné jméno pravděpodobně pochází od výzkumníků společnosti Kaspersky a nestojí za ním žádné tajemno. Toto slovní spojení totiž bylo nalezeno v jedné z domén požitých ve zkoumaném vzorku a malware tak nijak necílí na uživatele telekomunikační společnosti Sky nebo její televize Sky Go. A co vlastně SkyGoFree (nebo SkyFree dle identifikace produkty společnosti Sophos) přesně je? Jedním slovem: Spyware.

Následující část dekompilovaného kódu v Javě, přičemž znalost tohoto jazyka není nutná, protože se jedná jen o ilustraci, naznačuje rozsah dat, která může tento malware ukrást:

 . . .

 public static final String URL_UPLOAD_CAMERA = “upload_camera.php”;

 public static final String URL_UPLOAD_CELL_INFO = “upload_cella.php”;

 public static final String URL_UPLOAD_FILESYSTEM = “upload_filesystem.php”;

 public static final String URL_UPLOAD_FILE_SEND = “upload_documents.php”;

 public static final String URL_UPLOAD_HISTORY = “upload_history.php”;

 public static final String URL_UPLOAD_INFO_TEL = “upload_info_tel.php”;

 public static final String URL_UPLOAD_LISTAPP = “upload_listapp.php”;

 public static final String URL_UPLOAD_REG_CALL = “upload_reg_call.php”;

 public static final String URL_UPLOAD_RUBRICA = “upload_rubrica.php”;

 public static final String URL_UPLOAD_SMS = “upload_sms.php”;

 public static final String URL_UPLOAD_WHATSAPP_SMS = “upload_whatsapp_msg.php”;

 . . .

Při pozornějším pohledu si lze všimnout slova RUBRICA – jde o italský pojem pro adresář. Mnohé ze škodlivého kódu tohoto malware pochází pravděpodobně od italsky mluvících autorů. Výše uvedená ukázka pochází ze souboru s názvem Costanti.java, což by v angličtině odpovídalo názvu Constants.java.

SkyGoFree obsahuje řadu škodlivých funkcí včetně StartReverse(), která nakažený telefon připojí k serveru kybernetických zločinců a umožní tzv. reverzní shell (pojem shell odkazuje na terminologii unixových a linuxových systémů). Za normálních okolností se uživatel musí přihlásit do příkazové řádky a provést připojení k zařízení, což znamená projít několika firewally i překladem síťové adresy, které stojí v cestě. Řada mobilních datových sítí a téměř všechny Wi-Fi sítě, kde je uživatel konzumentem dat (klient), sice umožňují odchozí komunikaci s jinými lidmi, ale připojení k jeho zařízení již nedovolí – jeho zařízení tak nemůže sloužit jako poskytovatel dat, tedy server. A právě technika reverzního shellu umožňuje hackerům toto omezení obejít a celý proces přihlašování vlastně o 180 stupňů převrátit.

První krok sice i v tomto případě iniciuje uživatelské zařízení, nicméně pouze za účelem navázání spojení se serverem provozovaným počítačovými podvodníky. Následně se již nakažený telefon chová jako server, zatímco zločinci vystupují jako klienti – přihlásí se a získají nad zařízením nic netušící oběti přímou kontrolu.

 

Součástí SkyGoFree je vlastnost – dá-li se tak vůbec tato funkce nazvat – označovaná jako Social, jejímž cílem je sbírat data z mnoha dalších aplikací spuštěných na klientském zařízení.

Následující fragment kódu ukazuje, jak se SkyGoFree pokouší získat data ze sociálních sítí:

 . . .

 mMap.put(“messenger”, new Social(“/data/data/com.facebook.orca/databases/”, new String[] { “upload_facebook_chat.php” }));

 mMap.put(“facebook”, new Social(“/data/data/com.facebook.katana/databases/”, new String[] { “upload_facebook_search.php”, “upload_facebook_contacts.php” }));

 mMap.put(“whatsapp”, new Social(“/data/data/com.whatsapp/databases/”, new String[] { “upload_whatsapp_msgstore.php”, “upload_whatsapp_contacts.php” }));

 mMap.put(“gmail”, new Social(“/data/data/com.google.android.gm/databases/”, new String[] { “upload_email_gmail.php” }));

 mMap.put(“mlite”, new Social(“/data/data/com.facebook.mlite/databases/”, new String[] { “upload_messengerlite_chat.php” }));

 . . .

Dobrou zprávou je, že drtivé většiny telefonů se systémem Android využívaných běžným způsobem se tento problém netýká a aplikace si data vzájemně (a nepozorovaně!) číst nemohou. Pokud nejde o rootnutý telefon nebo o příliš staré či neaktualizované zařízení, které obsahuje bezpečnostní chybu umožňující utajený automatický ROOT, nebude uvedená část tohoto malware fungovat.

SkyGoFree obsahuje i komponentu, která „může volat domů“ a stáhnout si k instalaci další moduly. Jde vlastně o obdobu systému pluginů, jen ve světě malware. Nicméně aktuálně jsou tyto dodatečné balíčky nedostupné. Malware bývá často naprogramován tak, aby se mohl sám aktualizovat i rozšiřovat. Důsledkem tohoto přístupu je, že reálné hrozby jsou ještě větší a nikdo, ani uživatelé ani bezpečnostní výzkumníci, vlastně neví, k čemu infikovaná zařízení kybernetičtí zločinci v budoucnu zneužijí.

Z pohledu uživatele

Zkoumaný vzorek Malware předstírá, že se jedná o „aktualizaci systému“ a používá k tomu zelenou ikonu Androidu:

Dojde-li ke spuštění této aplikace, poběží na pozadí a takřka okamžitě svoji ikonu odstraní a uživatel tak může snadno podlehnout dojmu, že se „aktualizace“ zdařila. Naštěstí se ale tento program stále zobrazuje v přehledu aplikací (Nastavení|Aplikace), kde ho lze zastavit a odinstalovat:

Všechny dostupné informace svědčí o tom, že tento malware nikdy nebyl součástí obchodu Google Play. Aby šlo tento škodlivý software nainstalovat, musí uživatelé zapnout volbu Povolit instalaci neoficiálních aplikací (Nastavení|Zabezpečení|Neznámé zdroje):

Obchod Google Play sice není rajská zahrada bez jakéhokoli viru obehnaná neprostupnou zdí, nicméně ve srovnání s neznámými zdroji – jako jsou alternativní obchody, nemoderovaná diskusní fóra nebo odkazy od přátel – jde pořád o mnohem bezpečnější místo pro získávání aplikací.

Co s tím?

  • Držet se obchodu Google Play. Pokud opravdu potřebujete využívat specifickou aplikaci, která není k dispozici v Google Play, po její nainstalování možnost využití neznámých zdrojů opět zakažte (Nastavení|Zabezpečení|Neznámé zdroje).
  • Používejte antivirový program pro operační systém Android. Produkty jako například zdarma dostupný Sophos Mobile Security for Android pomohou s blokováním malware a upozorní na případná nepříliš bezpečná nastavení chytrého zařízení.
  • Nevěřte systémovým aktualizacím třetích stran. Zvláště obezřetní buďte před „aktualizacemi“ uvádějícími, že nabízí další funkce a vlastnosti, které oficiálně nejsou k dispozici.