Android 11 Developer Preview: Všechny nové funkce ochrany soukromí a zabezpečení

Google vydal první vývojářský náhled pro Android 11 pro Pixel 2, 3, 3a a 4. Zde jsou všechny nové funkce ochrany soukromí a zabezpečení, které oznámili.

Před plánem, Google dnes vydala první Developer Preview příští verze operačního systému Android: Android 11. Systémové obrázky jsou k dispozici pro Pixel 2, Pixel 3, Pixel 3a, Pixel 4, ale pokud žádný z nich nevlastníte zařízení, můžete také vyzkoušet Developer Preview prostřednictvím emulátoru Android Studio nebo Generic System Obraz. Přestože si Google většinu vzrušujících nových uživatelských a vývojářských funkcí šetří na velkolepé oznámení na Google I/O 2020, společnost sdílela nepřeberné množství změn, které jsou k dispozici v prvním Developer Preview. Zde je souhrn všech nových funkcí souvisejících s ochranou soukromí a zabezpečením, které Google oznámil v Android 11 Developer Preview 1.

Android 11 Developer Preview 1 – Nové funkce ochrany osobních údajů

Jednorázový přístup s oprávněním

Android ovládá, k jakým druhům datových aplikací mohou přistupovat prostřednictvím svého systému oprávnění. Před Androidem 6.0 Marshmallow aplikace požadovaly udělení oprávnění při instalaci, takže uživatelé se museli před instalací rozhodnout, zda souhlasí s aplikací, která má určitá oprávnění. Android 6.0 Marshmallow zavedl runtime oprávnění pro vybranou sadu citlivých oprávnění, včetně přístupu k poloze, přístupu k mikrofonu a přístupu k fotoaparátu. Oprávnění za běhu lze udělit až po instalaci a aplikace, která je požaduje, musí uživatele vyzvat prostřednictvím dialogu poskytnutého systémem, aby povolil přístup. A konečně, v Androidu 10 Google představil speciální verzi runtime oprávnění, které uživateli umožňuje udělit přístup pouze v době, kdy je aplikace aktivní; Google však zavedl pouze možnost „při používání aplikace“ pro oprávnění k poloze.

V systému Android 11 poskytuje Google uživatelům jemnější kontrolu nad dalšími citlivými oprávněními, včetně přístupu ke kameře a mikrofonu. Společnost zavedla novou funkci „jednorázového povolení“ v náhledu vývojáře Android 11, který umožňuje uživateli dočasně udělit aplikaci přístup k oprávnění, pokud je tato aplikace v popředí. Jakmile uživatel opustí aplikaci, aplikace ztratí přístup k tomuto oprávnění a musí o něj znovu požádat.

Změny rozsahu úložiště

v Android 10 beta 2Google navrhl radikální změnu ve způsobu, jakým aplikace přistupují k externímu úložišti v systému Android. (Externí úložiště je zde definováno jako data viditelná uživateli a dalším aplikacím umístěným v /data/media.) změna, nazvaná „Scoped Storage“, byla zaměřena na eliminaci příliš širokého používání READ_EXTERNAL_STORAGE povolení. Příliš mnoho aplikací v Obchodě Google Play požadovalo a dostávalo přístup k celému externímu úložišti, kam uživatelé ukládali své soukromé dokumenty, fotografie, videa a další soubory. S Scoped Storage by aplikace ve výchozím nastavení měly pouze možnost vidět jejich soukromé datové adresáře. Pokud má aplikace oprávnění READ_EXTERNAL_STORAGE v rámci vynucení Scoped Storage, může zobrazit určité mediální soubory přístupné prostřednictvím rozhraní API MediaStore. Alternativně může aplikace použít Storage Access Framework, aby uživatel ručně vybral soubory pomocí nástroje pro výběr systémových souborů. A konečně, aplikace, které potřebují široký přístup k externímu úložišti, jako jsou správci souborů, mohou k vyžádání použít Storage Access Framework uživatel udělí aplikaci přístup ke kořenovému adresáři externího úložiště, čímž udělí přístup ke všem jeho podadresářům, také.

Vynucení Scoped Storage bylo nastaveno tak, aby se projevilo u všech aplikací v Androidu 10, ale po zpětné vazbě a kritice od vývojářů, Google uvolnil změny, které je vyžadují pouze pro aplikace cílené na úroveň API 29 (Android 10). Po 1. srpnu 2020 musí všechny nové aplikace odeslané do obchodu Google Play cílit na Android 10 a totéž platí pro všechny aktualizace stávajících aplikací po 1. listopadu 2020. Kromě toho v systému Android 11 vývojáři aplikací pro správu souborů musí předložit formulář prohlášení společnosti Google umožnit široký přístup k externímu úložišti; po přijetí budou mít aplikace správce souborů nefiltrované zobrazení MediaStore, ale nebudou mít přístup k externím adresářům aplikací.

Kromě toho Google představil další změny Scoped Storage v Android 11 Developer Preview. Aplikace se mohou přihlásit k získání nezpracované cesty k souboru a provádět dávkové operace úprav pro mediální soubory v MediaStore. Uživatelské rozhraní DocumentsUI bylo aktualizováno, aby bylo pro uživatele jednodušší. Tyto změny byly oznámeny na Android Dev Summit minulý rok a v budoucích verzích Androidu 11 jsme slíbili další vylepšení Scoped Storage.

Android 11 Developer Preview 1 – Nové funkce zabezpečení

Podpora mobilních řidičských licencí

Od začátku loňského roku na tom Google pracuje IdentityCredential API a HAL v AOSP. Tato funkce pokládá základy pro bezpečné ukládání identifikačních dokumentů na vašem mobilním zařízení, a zejména mobilních řidičských průkazů vyhovujících ISO 18013-5. Google oficiálně oznámil tuto funkci na Google I/O 2019a nyní je konečně podporován v Android 11 Developer Preview 1.

Google k této funkci neměl v tiskové zprávě mnoho co říci, ale protože je tato funkce vyvíjena otevřeně, víme již mnoho z toho, co se plánuje. Na I/O 2019 Google uvedl, že spolupracuje s ISO na standardizaci implementace elektronických pasů; stále nemáme ponětí o tom, kdy budou ePassporty k dispozici, ale již existuje několik států USA, kde jsou eDL implementovány nebo jsou ve zkušební fázi. Google také uvedl, že pracuje na poskytnutí knihovny Jetpack, aby vývojáři mohli vytvářet aplikace pro identity. Nevíme, jak brzy budou moci vývojáři tuto funkci otestovat, protože správná podpora vyžaduje bezpečný hardware v zařízení. The Secure Processing Unit na Qualcomm Snapdragon 865 podporuje IdentityCredential API, i když nemusí podporovat režim přímého přístupu API, protože SPU je integrován do SoC; Režim přímého přístupu by uživateli umožnil vytáhnout uložené elektronické ID, i když není dostatek energie pro spuštění systému Android. Pro více informací o tomto API doporučuji čtení našeho úvodního zpravodajství kde Shawn Willden, vedoucí bezpečnostního týmu podporovaného hardwarem Android, poskytl svůj příspěvek.

Nové hlavní moduly projektu

Jednou z největších změn v Androidu 10 pro nově uvedená zařízení bylo zavedení Hlavní linie projektu, který navzdory svému názvu nemá nic společného s podporou hlavního linuxového jádra na Androidu. (Mimochodem, ten projekt se nazývá Generic Kernel Image a je stále ve vývoji.) Místo toho je účelem Project Mainline Google vyrve kontrolu nad klíčovými komponentami a systémovými aplikacemi OEM. Každý modul hlavní řady je zapouzdřen buď jako soubor APK nebo an soubor APEX a je aktualizovatelný společností Google prostřednictvím Obchodu Play. Uživatel vidí aktualizace jako „Google Play System Update“ (GPSU) na svém zařízení a aktualizace jsou vydávány v pravidelném rytmu jako vlak (tj. jsou staženy a nainstalovány současně).

Výhody Project Mainline. Zdroj: Google.

Google nařizuje zahrnutí konkrétních modulů hlavní řady, které v době konání Google I/O 2019 zahrnovaly 13. Nyní Google nařizuje v Android 11 Developer Preview 1 celkem 20 modulů hlavní řady.

Počáteční hlavní moduly (@ Google I/O 2019)

Aktuální hlavní moduly (pro Android 11 Developer Preview 1)*

ÚHEL

Přihlášení na Captive Portal

Přihlášení na Captive Portal

Conscrypt

Conscrypt

DNS Resolver

DNS Resolver

Uživatelské rozhraní dokumentů

Uživatelské rozhraní dokumentů

ExtServices

ExtServices

Mediální kodeky

Mediální kodeky

Komponenty mediálního rámce

Komponenty mediálního rámce

Metadata modulu

Metadata modulu

Síťový zásobník

Síťový zásobník

Konfigurace oprávnění síťového zásobníku

Konfigurace oprávnění síťového zásobníku

Ovladač oprávnění

Ovladač oprávnění

Údaje o časovém pásmu

Údaje o časovém pásmu

Nový modul oprávnění

Nový modul poskytovatele médií

Nový modul API neuronových sítí (NNAPI).

*Poznámka: V době zveřejnění nám společnost Google neposkytla úplný seznam modulů hlavní řady, které jsou v současné době vyžadovány. Jakmile budeme mít úplný seznam, tuto tabulku aktualizujeme.

BiometricPrompt změny

Představen Android 9 Pie API BiometricPrompt, jednotné rozhraní API pro hardware biometrické autentizace. API poskytuje vývojářům způsob, jak vyzvat uživatele prostřednictvím jejich uložených biometrických údajů, ať už jde o otisky prstů, obličeje nebo duhovky. Před BiometricPrompt museli vývojáři vytvořit svůj vlastní ověřovací dialog a použít FingerprintManager API, které podporovalo pouze ověřování otisků prstů, aby vyzvali uživatele. Na chytrých telefonech Galaxy se skenery duhovky museli vývojáři použít SDK společnosti Samsung, aby vyzvali uživatele. S BiometricPrompt mohou vývojáři vyzvat uživatele jakoukoli podporovanou biometrickou metodou a systém uživateli poskytne dialog. Vývojáři se tak již nemusí starat o konkrétní poskytování podpory pro určitý druh biometrického hardwaru a také již nemusí kódovat uživatelské rozhraní pro dialog ověřování. The Bezpečný hardware pro rozpoznávání obličeje Pixel 4, lze například použít pro ověřování v aplikacích, které používají BiometricPrompt.

Ověření obličeje pomocí BiometricPrompt.

Co je nového pro BiometricPrompt v Android 11 Developer Preview 1? Google přidal 3 nové typy ověřovatelů: silný, slabý a přihlašovací údaje zařízení. Před Androidem 11 se vývojáři mohli dotazovat na zabezpečený biometrický hardware zařízení – skener otisků prstů, 3D skener rozpoznávání obličeje nebo skener duhovky – při použití BiometricPrompt. Počínaje verzí Android 11 Developer Preview 1 mohou vývojáři také dotazovat biometrické metody považované za „slabé“, jako jsou softwarová řešení rozpoznávání obličeje, která se nacházejí na mnoha telefonech. Například Google dříve na černé listině více telefonů Samsung Galaxy za vrácení slabého autentizátoru pro rozpoznání obličeje při pokusu o ověření založené na kryptoměnách. Nyní je na vývojáři, aby rozhodl, jakou úroveň granularity biometrické autentizace jejich aplikace potřebuje.

Bezpečné ukládání a sdílení objektů BLOB

Nové API nazvané BlobstoreManager usnadní a zajistí sdílení datových objektů mezi sebou. Google uvádí aplikace sdílející modely strojového učení jako ideální případ použití nového BlobstoreManager API.

Kalení platformy

Ve snaze snížit útočnou plochu Androidu používá Google dezinfekční prostředky LLVM identifikovat "chyby zneužití paměti a potenciálně nebezpečné nedefinované chování." Google nyní rozšiřuje jejich použití dezinfekční prostředky založené na kompilátoru pro několik kriticky důležitých komponent, včetně BoundSan, IntSan, CFI a Shadow-Call Stack. Aby Google zachytil problémy s pamětí v produkci, povoluje „označování ukazatele haldy" pro všechny aplikace cílené na Android 11 nebo vyšší. Označování ukazatele haldy je podporováno na 64bitových zařízeních ARMv8 s podporou jádra pro ARM Top-byte Ignore (TBI), což je funkce, ve které hardware při přístupu k paměti ignoruje horní bajt ukazatele." Google varuje vývojáře, že tato vylepšení mohou „objevit více opakovatelných/reprodukovatelných selhání aplikací“, takže vývojáři by měli své aplikace důkladně otestovat na novém Android 11 Developer Náhled. Aby bylo možné najít a opravit mnoho chyb paměti v systému, použil Google nástroj pro detekci chyb paměti tzv hardwarově podporovaný AddressSanitizer (HWASan). Google nabízí předem vytvořené systémové obrazy s podporou HWASan na sestavení serveru AOSP v případě, že máte zájem najít a opravit chyby paměti ve svých vlastních aplikacích.


Google jistě oznámí další funkce na ochranu soukromí uživatelů a zlepšení zabezpečení, takže nezapomeňte sledovat naše pokrytí Android 11, abyste zůstali v obraze.

Novinky Android 11 na XDA