Operační systémy pro mobilní zařízení (OSMZ)

Týden VIII. (29.3.-2.4.2021)

Vzhledem k dominantní roli Androidu na současném trhu mobilních zařízení se mu budeme věnovat ještě tento týden. Podíváme se, jakým způsobem funguje Android z pohledu samotného systému. Běžnému uživateli jsou totiž mnohé funkce operačního systému skryty a nebo nedostupné. Pro získání přístupu ke všem prostředkům potřebujete získat práva superuživatele, roota, tak jak tomu je i v jiných unixových systémech. Tento uživatel je ale standardně v telefonech zablokován (v prostředí emulátoru je situace jednodušší, tam práva roota získáte snadno).

„Rootování“ Androidu je proces, který umožňuje uživatelům telefonů, tabletů a dalších zařízení s operačním systémem Android přepnutí do tzv. privilegovaného režimu (z Linuxu „root access“). Rootování se provádí s cílem překonat omezení výrobců mobilních zařízení s OS Android. Díky tomu je možné měnit nebo nahradit systémové aplikace a nastavení, spustit specializované aplikace, které vyžadují oprávnění správce, nebo provádět další operace, které jsou pro běžného uživatele nedostupné. Rooting také usnadňuje úpravu nebo úplnou náhradu stávajícího OS – většinou za novější verzi. Rootovská práva můžete získat využitím některé z bezpečnostních děr systému (jak tomu bylo např. u exploitu RageAgainstTheCage), nebo modifikací souborového systému telefonu. Zástupcem druhého přístupu je aplikace Magisk.

Magisk je jedním z populárních rootovacích systémů. To v podstatě znamená, že skrz něj můžete upravit systém telefonu, aniž byste provedli jakékoli změny v základním kódu. Magisk je vyvíjen od roku 2016 a má velmi dobrou podporu komunity. Jedná se o open-source projekt a tak se uživatelé nemusí obávat zavlečení nežádoucího kódu, jako tomu je často v případě uzavřených aplikací z podezřelých zdrojů. Repositář Magisku je udržován na Githubu a má vynikající podporu na XDA fóru.

Jakmile získáte rootovská práva, máte neomezenou moc nad systémem a můžete provádět akce popsané v následujících textech. Tato oprávnění jsou nutná také pro hloubkovou analýzu a ladění, např. skrz jaderný modul LiME. Ten se často používá v kombinaci s aplikací Autopsy pro forenzní analýzy zkoumaných telefonů. Oboje jsou taktéž open-source aplikacemi.

PREZENTACE

LITERATURA

Prolistujte si knihu Android Internals: A Confectioner's Cookbook a zaměřte se na kapitoly

  • II: Android Partitions and Filesystems (str. 27 - 58)
  • III: Android Boot, Backup & Recovery (str. 61 - 95)
  • VII: Android Through a Linux Lens (str. 179 – 205)

BONUS MATERIÁLY

Video Android Internals for Developers
Krátká prezentace s ukázkou možností Autopsy
Kniha Karim Yaghmour, Embedded Android (2013)

OTÁZKY

Po přečtení výše uvedených textů byste měli být schopni odpovědět na další otázky z okruhů ke zkoušce, konkrétně:

  • Stručně popište platformu Android, základní strukturu a virtuální stroj.
  • Popište mechanismy zabezpečení aplikací a jejich návaznost na služby OS.
  • Popište jakým způsobem jsou zabezpečena uživatelská data napříč aplikacemi.