Android není dvakrát bezpečný systém a chyby se v něm v poslední době objevují až nepříjemně často, na druhou stranu jsou většinou díky šikovné komunitě poměrně rychle zalepené a tak v podstatě nejsou až zas takovým problémem. To však neplatí o opravdu kritické chybě, kterou se před dvěma dny povedlo odhalit redaktorům ze serveru Android Police v (nejen) grafické nadstavbě HTC Sense 3.0 od HTC.
Problém vznikl při nedávné aktualizace, ve které HTC aktivovalo poměrně rozsáhlý systém na logování stavu telefonu. Bohužel se již dvakrát neobtěžovalo s jeho zabezpečením a tak se k jeho výstupu může v dnešní době dostat každá aplikace s povolením k přístupu k internetu (android.permission.INTERNET), tedy v podstatě jakákoliv aplikace využívající reklamy, herní žebříčky nebo jiné online služby.
A co všechno v daném logu může potencionálně škodlivá aplikace nalézt? Inu je toho opravdu hodně.
- Seznam účtů z telefonu, tj. emailové adresy a to včetně momentálního stavu synchronizace
- Poslední známá lokace a seznam WiFi sítí s určitou, byť omezenou historií
- Telefonní čísla ze seznamu nedávno volaných čísel
- SMS data obsahující telefonní čísla a kódovaný text (který však může být pravděpodobně relativně snadno dekódován)
- Oba systémové logy (kernel/dmesg i app/logcat), které obsahují momentálně spuštěné aplikace, a jejich případné výstupy
- Aktivní notifikace včetně nekódovaného textu
- Kompletní informace o hardwaru a softwaru na telefonu
- Systémové vlastnosti a proměnné
- Seznam instalovaných aplikací, povolení, jejich verzí a další
- List momentálně spuštěných procesů
- Otisk jakéhokoliv běžícího vlákna jakéhokoliv procesu
Celkově se tak pomocí jednoho povolení může aplikace dostat a to i na nerootlém telefonu k informacím, ke kterým by byly potřeba nejméně všechna následující povolení:
- ACCESS_COARSE_LOCATION Povolení zjišťovat přibližnou polohu pomocí WiFi a sítí.
- ACCESS_FINE_LOCATION Povolení zjišťovat přesnou polohu pomocí GPS a sítí.
- ACCESS_LOCATION_EXTRA_COMMANDS Povolení zjišťovat rozšířené informace o poloze.
- ACCESS_WIFI_STATE Povolení číst informace o WiFi.
- BATTERY_STATS Povolení zjišťovat stav baterie.
- DUMP Povolení získat otisk systémových služeb.
- GET_ACCOUNTS Povolení zjistit informace o zadaných účtech.
- GET_PACKAGE_SIZE Povolení zjišťovat velikost o nainstalovaných balíčcích.
- GET_TASKS Povolení získat veškeré dostupné informace o probíhajících vláknech na pozadí.
- READ_LOGS Povolení číst nízko úrovňové systémové logy.
- READ_SYNC_SETTINGS Povolení číst informace o nastavení synchronizace.
- READ_SYNC_STATS Povolení číst informace o momentálním stavu synchronizace.
Za celým problémem stojí aplikace HtcLoggers.apk, která na požádání pomocí otevření lokálního portu (53718) vydá všechny své informace, ty navíc, vzhledem k přítomnosti povolení k přistupování k internetu mohou být v podstatě okamžité odeslány na potencionální server útočníka.
Kromě toho aplikace obsahuje i poměrně rozsáhlé aplikační rozhraní, bez problémů tak rozumí příkazům jako :help:, nic jako omezení pro přístup pomocí hesla však nezná.
HTC bylo na problém upozorněno již před týdnem, až včera po zveřejnění však zareagovalo a slíbilo, že na opravě problému již pracuje. Do té doby však na HTC telefonech silně doporučuji dávat si pozor, co instalujete.
Nakonec jen pro zajímavost, celý log má 3.5 MB a to prosím v podstatě čistého textu, takže asi sami uznáte, že obsahuje poměrně hezké množství informací.
Zatím známe potencionálně nebezpečné telefony:
- EVO 4G
- EVO 3D
- Thunderbolt
- EVO Shift 4G?
- MyTouch 4G Slide?
- Zatím nepředstavený Vigor?
- některé HTC Sensations?
- View 4G?
- Pravděpodobně další… (tj. všechny s nainstalovaným a běžícím balíčkem HtcLoggers.apk)
Zdroj & technické specifikace androidpolice
Zdroj & technické specifikace androidpolice
V nadpise vám chybí slovo Sense, bez něj to nedává smysl.