Jak se chránit před USSD útokem?

ussd_ico

Minulý týden jsme ve článku Samsung má problém: zranitelnost dovoluje smazat obsah telefonu informovali o vážné bezpečnostní chybě, spočívající v automatickém spuštění tzv. “USSD příkazu” načtením QR kódu, skrze NFC, push WAP zprávou, nebo otevřením odkazu. Původně byla za viníka považována nadstavba TouchWiz, následně se spekulovalo o tom, že postiženy jsou pouze telefony Samsung, dalšími obviněnými byla aplikace Číselník a výchozí webový prohlížeč. Postupem času se ale ukázalo, že problém je daleko širší a dotýká se i telefonů jiných značek. Nakonec byl za viníka označen samotný operační systém Android, konkrétně verze 4.0.x a nižší.

Podívejte se, jak Sobre Ravi Borgaonkar prezentoval chybu na bezpečnostní konferenci Ekoparty v argentinském Buenos Aires.

Demo Dirty use of USSD Codes in Cellular Network en Ekoparty 2012

Demo Dirty use of USSD Codes in Cellular Network en Ekoparty 2012

V redakčním testu jsme například prokázali možnost spuštění USSD kódu pro zobrazení IMEI na Samsungu Galaxy S II s alternativní ROM CyanogenMod 9.1 s Androidem 4.0.4 Ice Cream Sandwich a prohlížečem Chrome. Samsung již vydal aktualizaci pro Galaxy S III, která blokuje automatické “vytočení” USSD příkazů. Podobně se zachoval Google, který zalátal bezpečnostní trhlinu vydáním Androidu 4.1.1, ovšem uživatelé neaktualizovaných telefonů jsou nadále v nebezpečí. Podle informací serveru Digital Trends jsou ohrožena následující zařízení:

  • HTC Desire HD
  • HTC Desire Z
  • HTC Legend
  • HTC One W
  • HTC One X
  • HTC Sensation (XE) (s Androidem 4.0.3)
  • Huawei Ideos
  • Motorola Atrix 4G
  • Motorola Milestone
  • Motorola Razr (s Androidem 2.3.6)
  • Samsung Galaxy Ace
  • Samsung Galaxy Beam
  • Samsung Galaxy S Advance
  • Samsung Galaxy S II
  • Samsung Galaxy S III (s Androidem 4.0.4)

Na uvedených telefonech je teoreticky možné provést reset do továrního nastavení pouhým načtením speciálního řetězce (“USSD příkazu”), čímž samozřejmě dojde ke kompletní ztrátě veškerých dat, nicméně skutečné potvrzená je schopnost smazat telefon pouze u Samsungů.

To, zda je zranitelný i váš telefon, si můžete ověřit jedním z následujících testů.

Pokud se po kliknutí na odkaz na testovací stránce zobrazí IMEI vašeho telefonu, je zařízení potenciálně zranitelné.

Co jsou USSD příkazy?

Pravděpodobně jste na ně již narazili při běžných činnostech, jako je zjištění zůstatku kreditu, nebo stavu vašeho účtu u operátora. Stačí zadat na číselníku telefonu určitý řetězec, skládající se z číslic, hvězdiček a křížků, a během okamžiku se na displeji objeví požadovaná informace. Právě jste v praxi využili takzvaných USSD příkazů (Unstructured Supplementary Service Data neboli Nestrukturovaná data doplňkové služby).

USSD se ale používá i pro jiné účely – pro mobilní platby, aktualizace sociálních sítí, ale také třeba pro zobrazení některých informací o telefonu (viz výše uvedené testy, které k zobrazení IMEI využívají univerzální USSD kód *#06#), nebo pro vstup do servisního menu. Každý výrobce přitom může implementovat vlastní USSD kódy, takže například řetězec, kterým provedete tovární reset na telefonech Samsung, nebude fungovat na zařízeních HTC apod.

Kdy jsou USSD příkazy nebezpečné?

Příkazy samy o sobě nebezpečné nejsou. Chyba, kterou prezentoval Ravi Borgaonkar, spočívá ve způsobu, jakým telefony zpracovávají odkaz, obsahující řetězec “tel:”. Jde o obdobu odkazu začínajícího “mailto:”, jež se používá pro hypertextové odkazy, které mají být otevřeny nikoli v prohlížeči, ale ve výchozím e-mailovém klientovi. Odkaz, obsahující řetězec “tel:”, považují mobilní webové prohlížeče za telefonní číslo, které otevřou v aplikaci pro vytáčení čísel (zpravidla se nazývá Telefon nebo Číselník). Problém spočívá v tom, že některé telefony nenechají poslední krok – stisknutí zeleného tlačítka pro zahájení vytáčení – na uživateli, ale hned číslo vytočí. Dostáváme se k jádru pudla: pokud je oním “telefonním číslem” řetězec pro obnovení telefonu do továrního nastavení, nemá uživatel šanci zabránit tomu, aby telefon číslo “vytočil” a spustil tak nevratný a nezastavitelný proces. Některé telefony ale před touto operací požadují potvrzení uživatelem.

Uvědomme si ale jednu podstatnou věc: pro většinu autorů škodlivých programů není zajímavé smazat uživateli obsah telefonu. To patří do repertoáru virů z dob dávno minulých. Dnešní malware se snaží o co možná největší nenápadnost, aby mohl provádět například sledování, či jiné činnosti co možná nejdéle. Je tedy otázkou, jak se tento způsob útoku rozšíří. Dá se předpokládat, že bude spíše doménou zlomyslných “script-kiddies” – zpravidla náctiletých dětí, kterým bude k radosti stačit vědomí, že někdo přišel o data v telefonu.

Jak se tedy chránit před útokem?

    • V případě Galaxy S III aktualizujte na poslední dostupnou verzi firmware, která opravuje uvedenou chybu.
    • Jestliže je pro váš telefon dostupný Android 4.1 Jelly Bean, je řešením provedení aktualizace. V tuto chvíli není známo, že by byl Jelly Bean náchylný na uvedený způsob útoku. Smůlu mají v tomto směru všichni, jejichž výrobce či operátor ještě neuvolnil Jelly Bean pro daný model, případně s aktualizací na poslední verzi Androidu vůbec nepočítá.
    • Nainstalujte si alternativní aplikaci pro vytáčení telefonních čísel. V případě, že telefon dostane požadavek na zpracování telefonního čísla, zobrazí se nejprve dialog s dotazem, kterou aplikaci chcete použít. Nedojde tak k automatickému vytočení čísla a tedy ani škodlivého USSD příkazu. Oblíbené a zdarma jsou například Dialer One či exDialer, fungující na Androidu 2.x a vyšším.

The app was not found in the store. :-(

ExDialer - Dialer & Contacts
ExDialer - Dialer & Contacts
    • Další možností je blokovat zpracování odkazů, obsahujících řetězec “tel:”. K tomuto účelu lze využít hned několik aplikací, fungujících v podstatě jako alternativní aplikace pro vytáčení telefonních čísel. Pokud telefon zaznamená požadavek na vytočení telefonního čísla, dostane uživatel na výběr, kterou aplikací ho chce zpracovat. Opět tak nedojde k automatickému zpracování USSD příkazu. Některé aplikace pak USSD příkazy zablokují. Za všechny jmenujme G Data USSD Filter, TelStop, NoUSSD, nebo NoTelURL. Účinnost těchto programů můžete vyzkoušet na jednom z výše uvedených testů.
Pokud otevřete nebezpečný odkaz, zobrazí se dotaz, jakou aplikací ho chcete zpracovat Pokud otevřete nebezpečný odkaz, zobrazí se dotaz, jakou aplikací ho chcete zpracovat

Takto blokuje USSD příkaz aplikace G Data USSD Filter Takto blokuje USSD příkaz aplikace G Data USSD Filter

Takto blokuje USSD příkaz aplikace TelStop Takto blokuje USSD příkaz aplikace TelStop

Takto blokuje USSD příkaz aplikace NoUSSD Takto blokuje USSD příkaz aplikace NoUSSD

Takto blokuje USSD příkaz aplikace NoTelURL Takto blokuje USSD příkaz aplikace NoTelURL

G Data USSD Filter
G Data USSD Filter

The app was not found in the store. :-(


The app was not found in the store. :-(
  • Zálohujte svůj telefon – toto pravidlo by mělo platit nejen v případě aktuálně hrozícího útoku, ale v podstatě pořád. Nikdy nemůžete vědět, kdy se váš telefon porouchá, nebo ho ztratíte, či skončí v rukách zloděje. Pravidelné (nejlépe automatické) zálohování kontaktů, fotek, videí a dat by mělo patřit k naprosté samozřejmosti.

Zdroje: Digital Trends, Security Watch a The H Open.

Karel Kilián
O Autorovi - Karel Kilián

S překonanou čtyřicítkou je s náskokem nejstarším členem redakce :-). Před několika lety hypoteticky vymyslel operační systém svých snů, aby následně zjistil, že přesně na… více o autorovi

Mohlo by vás zajímat

nfc platby telefonem android pay

Co je NFC a k čemu je dobré ho použít?

Články Karel Kilián Karel Kilián
9 min. uložit na později

Komentáře (29)