Ostatní bezpečnostní opatření
Systémový oddíl a nouzový režim
Systémový oddíl obsahuje nejen jádro OS Android, ale také knihovny operačního systému, aplikační runtime, aplikační framework a aplikace. Systémový oddíl je nastaven pouze ke čtení, nedá se do něj zapisovat. Pokud uživatel spustí zařízení v nouzovém režimu, jsou k dispozici pouze základní (předinstalované) aplikace. Uživatel tím zajistí, že se bude vyskytovat v prostředí bez aplikací třetích stran, kde může například zálohovat kontakty, fotky nebo jiná důležitá data. Může se stát, že se nám nepodaří zjistit, v které aplikaci se malware skrývá, a tak je praktické dostat se do prostředí, kde není žádná aplikace třetí strany.
Oprávnění souborového systému
V Unixovém prostředí zajišťuje oprávnění souborového systému to, že jeden uživatel nemůže měnit nebo číst ze souborů jiného uživatele. Podobně tak v pří- padě OS Android, kdy každá aplikace může číst pouze ze svých souborů a ne ze souborů jiné aplikace. Je pouze na vývojáři aplikace, zda k jeho aplikaci bude mít přístup pouze aplikace samotná, nebo jestli cíleně zveřejňuje soubory jiným aplikacím a umožňuje jim tak přečíst nebo změnit soubory.
Šifrování souborového systému
Od verze OS Android 3.0 je možno šifrovat souborový systém, takže všechna uživatelská data mohou být šifrována jádrem. Šifrovací klíč je chráněn šifrou AES128. Advanced Encryption Standard šifry (Pokročilý Šifrovací Standard) použí- vají na šifrování i dešifrování stejný klíč (délky klíčů jsou 128, 192 a 256 bitů) a nehrozí jim útok hrubou silou (vyzkoušení všech možných kombinací hesel).
V OS Android se tyto šifry používají s podporou klíče odvozeného z uživatelské- ho hesla zadávaného při každém spuštění aplikace, což zabraňuje neoprávněné- mu přístupu k uloženým datům bez zadání uživatelského hesla pro dané za- řízení. Pro zaručení odolnosti vůči systematickým útokům na uhodnutí hesla (například hrubou silou) je heslo v kombinaci s náhodnou „solí“. Sůl je řetě- zec, který se přidává k hashovanému27 heslu. Sůl je pokaždé jiná i pro stejná hesla. Heslo je také hashováno šifrou SHA-1, která vstup rozdělí na bloky použitím standardního algoritmu PBKDF228. Aby nešlo heslo snadno uhodnout pomocí slovníkového útoku29, jsou na OS Android stanovena pravidla složitosti hesla, která si však nastavuje každý výrobce zařízení sám.
Ochrana heslem
Pomocí hesla, které po uživateli může požadovat zařízení, aby k němu měl plný přístup, lze v OS Android šifrovat klíč celého souborového systému a také zamezit neoprávněnému užití přístroje. Výrobce zařízení může použití hesla vynutit, stejně jako může nastavit jeho minimální délku a složitost.
Posílení bezpečnosti správy paměti
OS Android obsahuje mnoho funkcí, které se starají o to, aby běžné bezpečností prvky byly méně zneužitelné. Android SDK, překladače i samotný operační systém používají nástroje, které ztěžují porušení integrity paměti. Mezi tyto nástroje řadíme například:
Hardwarově založená No eXecute (NX) ochrana, která se používá k prevenci provedení kódu na zásobníku nebo haldě. ●
ProPolice, díky kterému se vyvarujeme přetečení zásobníku30 .
Safe_iop k redukci přetečení integeru31 .
Rozšíření funkce dlmalloc zabraňující opakovanému volání funkce free() a použití již uvolněné paměti, které by vedlo k porušení integrity (uskutečnění zápisu ještě před tím než se paměť skutečně uvolní).
Root zařízení
Pouze jádro a malá část jádra některých aplikací mají ve výchozím nastavení za- řízení OS Android rootovská práva – práva superuživatele. Pokud uživatel nebo aplikace mají práva superuživatele, mohou měnit operační systém, jádro a jiné aplikace. Superuživatel má přístup ke všem aplikacím a do všech jejich dat. Uživatel zařízení, který root použije, nejen že přichází o záruku zařízení, ale sou- časně snižuje zabezpečení zařízení a vystavuje jej většímu množství potenci- álních rizik. Důvodem proč je root povolený a proč vůbec existuje je vývoj aplikací na platformě OS Android. Díky bootloaderu32, který mají uživatelé mnoha zařízení s OS Android možnost odemknout, je možné instalovat i jiné verze operačního systému. Tyto verze povolují uživateli získat root přístup za účelem ladění aplikací a systémových komponent nebo přístup k funkcím, které nejsou aplikacím běžně dostupné. Jinou verzi operačního systému, který umožňuje změnit obyčejného uživatele na uživatele s rootovskými právy, může nainstalovat i uživatel s fyzickou kontrolou zařízení a USB kabelem. Aby byl původní uživatel i jeho data chráněni, jsou při procesu zpřístupnění bootloaderu smazána veškerá uživatelská data. Rootovská práva, která jsou získaná pomocí chyby jádra nebo bezpečnostní díry, mohou tuto ochranu obejít.
Data aplikací nejsou chráněna před uživateli s právy root kvůli šifrování dat pomocí klíče uloženého na zařízení. Data aplikací, které mají práva superuživatele, nejsou chráněny pomocí klíče uloženého na daném zařízení. Ochrana aplikace může být zvýšena přidáním klí- če, který je uložen mimo zařízení (například na serveru) nebo pomocí uživatelského hesla. Tato ochrana je pouze dočasná. Ve chvíli kdy aplikace klíč využije, stane se přístupným i uživatelům s právy root. Odolnějším přístupem k ochraně dat před uživatelem s root právy je použití specializovaného hardwaru. OEM33 výrobce pak může omezit přístup k určitému obsahu, například při přehrávání videa nebo k úložišti dat elektronické peně- ženky používající NFC. Jelikož je klíč k dešifrování souborového systému chráněn uživatelským heslem, není možné (například v případě zcizení zařízení) uživatelská data zpřístupnit ani použitím bootloaderu, ani úpravou operačního systému.