Přinese Android M lepší správu oprávnění aplikací? aneb Dělá to Apple lépe?

opraveni_aplikaci_ico

Google má prý v plánu poskytnout uživatelům větší možnosti nastavení oprávnění aplikací. Jaká je ale skutečnost? Opravdu dá běžnému uživateli takovou moc?

Na začátku května jsme se podrobněji zabývali poněkud tristními možnostmi správy oprávnění aplikací ve článku Proč by vás měla zajímat oprávnění aplikací na Androidu? Došli jsme přitom k závěru, že Android potřebuje lepší kontrolu nad oprávněními aplikací. Možná se blýská na lepší časy!

Proč by vás měla zajímat oprávnění aplikací na Androidu? Proč by vás měla zajímat oprávnění aplikací na Androidu?

Doslova za rohem je totiž každoroční vývojářská konference Google I/O, která se letos koná 28. a 29. května v San Franciscu. Samozřejmě již Internetem kolují více či méně potvrzené zvěsti o tom, co vyhledávací gigant představí a jaká překvapení si pro letošek připravil. Poměrně věrohodně zní například informace, že by měla být prezentována příští verze Androidu, označovaná prozatím písmenem „M“ (viz aktualita Android M bude představen během konference Google I/O 2015). Další spekulace tvrdí, že v novém systému by například mělo být možné ovládat libovolnou aplikaci pomocí hlasových příkazů.

Google by měl představit Android M Google by měl představit Android M

V kontextu s výše zmíněnými právy aplikací je ale zajímavější informace agentury Bloomberg, odkazující se na zasvěcené zdroje, která tvrdí, že Google má v plánu poskytnout uživatelům větší kontrolu (viz Android M umožní uživatelům lépe ovládat oprávnění aplikací). Trochu zarážející je ale údajná realizace: uživatel si bude moci vybrat, která práva aplikaci udělí, před jejím stažením a instalací z Obchodu Play. To se nám jeví jako ne právě prozíravý přístup.

Návrat do minulosti

Přibližně před rokem přitom Google přišel se zjednodušeným zobrazením požadovaných oprávnění, které je ale mnoha uživateli (nutno dodat, že právem) kritizováno. Třeba oprávnění „Číst stav telefonu a identitu“ umožňuje rozpoznat příchozí hovor, takže aplikace může ztlumit svůj vlastní zvuk, nicméně stejné oprávnění také umožňuje aplikaci zjistit IMEI telefonu, což je jedinečný identifikátor zařízení. Základní princip „ber, nebo nech být“, spočívající v možnostech buď schválit všechny požadavky, nebo program vůbec neinstalovat, zůstal stejný, a to určitě není dobrá cesta.

Přibližně před rokem Google přišel se zjednodušeným zobrazením požadovaných oprávnění Přibližně před rokem Google přišel se zjednodušeným zobrazením požadovaných oprávnění

Důvodem, proč je potřeba kontrola, je fakt že, mnoho aplikací má velmi špatně definovanou sadu oprávnění. Ve skutečnosti existují případy, kdy program určité právo vlastně nikdy nepoužije. Ale uživatel to nejen neví, ale ani nemá způsob, jak zjistit, zda aplikace skutečně využívá všechna oprávnění, o která žádala. Podobně mobilní reklamní systémy využívají informace, jako jsou poloha uživatele a možnost přístupu k Internetu, zpravidla k servírování relevantní reklamy. Nicméně někteří poskytovatelé reklamy jen matně informují o tom, jaká data sbírají, ukládají a zpracovávají. Některé mobilní reklamní společnosti tak mohou mít miliony unikátních záznamů o zákaznících, které umožňují sledovat leckdy až osobní údaje uživatele. Když například budete hledat krém na hemeroidy na vašem telefonu, patrně se brzy dočkáte reklamy na léčbu hemeroidů i ve webovém prohlížeči na desktopu. Získané údaje by sice měly být anonymní, ale je tomu tak i v případě, kdy reklamní systém spojí tato data s IMEI vašeho telefonu? To by se mělo změnit právě s Androidem M, který podle zprávy dovolí uživateli vybrat, zda má aplikace mít přístup k věcem, jako jsou například fotografie, kontakty nebo poloha zařízení.

App Ops jako řešení správy oprávnění aplikací

V minulosti přitom Google již správu oprávnění nabídl. Fungovala jiným, dle našeho mínění logičtějším, způsobem – uživatel nerozhodoval o přidělených oprávněních před instalací aplikace, ale kdykoli potřeboval. Poprvé se tato funkce, označovaná jako App Ops, objevila v Androidu 4.3 Jelly Bean, nicméně ve verzi 4.4.2 byla odstraněna.

App Ops jako řešení správy oprávnění aplikací App Ops jako řešení správy oprávnění aplikací

App Ops byl framework, součást systému, který umožňoval upravovat oprávnění jednotlivých aplikací. Jednalo se o reakci na skutečnost, že některá oprávnění jsou požadována pouze kvůli sekundárním funkcím (často spojených s mobilní reklamou), které nemají nic společného s hlavní funkcí aplikace. Základní myšlenka tedy byla prostá: pokud nechcete, aby například aplikace pro rozsvěcování LED byla schopna zjistit vaší polohu, jednoduše jí zakážete přístup k této informaci. Pokud pak aplikace skrze systém požadovala přístup k něčemu, co uživatel zakázal, Android vrátil chybu a neposkytl přístup k těmto údajům nebo funkci.

App Ops jako řešení správy oprávnění aplikací App Ops jako řešení správy oprávnění aplikací

Uživatel a reklama

Google ale v dalších verzích Androidu App Ops odstranil – jako oficiální důvod přitom uvedl, že nikdy nezamýšlel nabídnout tuto funkčnost koncovým uživatelům a v systému byla jako experimentální „pro účely vývoje.“ Samozřejmě to může být pravda, ale nezní to jako příliš racionální argument.

Nesmíme zapomenout na fakt, že Google je vlastně primárně reklamní společnost. Většina z jeho peněz pochází ze zobrazování reklamy a všechny jeho služby, jako je vyhledávání, Gmail a dokonce i Android, jsou pouze způsoby, jak dostat reklamu k lidem. Pokud by Google dovolil uživatelům neomezeně blokovat oprávnění, pak patrně první věc, kterou by většina udělala, je zablokování veškeré reklamy. Ačkoli blokování přístupu k Internetu nástroj App Ops nenabízel, účinnost reklamy by mohla být narušena (snížena) tím, že uživatel vyřadí další oprávnění – například informace o poloze.

Nesmíme zapomenout na fakt, že Google je vlastně primárně reklamní společnost Nesmíme zapomenout na fakt, že Google je vlastně primárně reklamní společnost

Podíváme-li se tedy na situaci z pohledu firmy, živící se reklamou, pak méně efektivní reklamní sdělení by mohla znamenat snížení příjmů, a to nejen pro vývojáře, ale i pro samotný Google. To by pak kriticky ovlivnilo celý ekosystém Androidu, stojící na monetizaci aplikací skrze reklamu. Vývojáři by následně Android opustili, nebo by své programy zpoplatnili, což by snížilo celkovou atraktivitu systému, stojící z velké části právě na mnoha tisících zajímavých programů, placených z reklamních proužků.

Dalším často prezentovaným důvodem, proč Google odstranil App Ops, je fakt, že některé aplikace nekontrolují chyby při žádostech o data přes API. Pokud taková aplikace neočekává chybový stav, bude pravděpodobně padat. Tím se zvyšuje zátěž na vývojáře, protože uživatelé budou spouštět aplikace na nestandardních konfiguracích.

Dělá to Apple lépe?

iOS tento problém řeší jinak než Android, a do jisté míry by se snad dalo i říci, že lépe. Při instalaci aplikace na iOS systém nežádá uživatele o schválení dlouhého seznamu oprávnění. To znamená, že uživatelé netrpí „provozní slepotou“ a neodklepávají přístup k často až osobním údajům se stejnou samozřejmostí, jako licenční podmínky. Nutno uznat, že většina uživatelů Androidu dialog s právy ke schválení jednoduše vůbec nečte a automaticky klepá na tlačítko Přijmout. Tím dávají aplikaci přístup ke všemu, co si její autor umane.

iOS to řeší jinak – když se nově nainstalovaná aplikace poprvé pokusí o přístup k některému z citlivých údajů, jako je třeba aktuální poloha, zeptá se uživatele, zda souhlasí. Toto rozhodnutí si následně pamatuje.

iOS se ptá se uživatele, zda souhlasí s oprávněním iOS se ptá se uživatele, zda souhlasí s oprávněním

Ne všechna oprávnění jsou udělena až na základě rozhodnutí uživatele – některá schvaluje systém automaticky. Protože je část oprávnění poskytována bez souhlasu uživatele, má iOS svou vlastní variantu App Ops část (tzv. Privacy) jako součást nastavení. Zde může uživatel nastavovat oprávnění přístupu k lokalizačním údajům, adresáři, kalendáři, upomínkám, fotografiím, Bluetooth, mikrofonu a účtům na sociálních sítích. Konkurenční systém přitom zamezení přístupu k některým funkcím a datům ze strany uživatele umožňuje.

Dovolíme si tedy tvrdit, že jednou z oblastí, kde by se Android mohl něco naučit od iOS, je správa oprávnění. Pokud by byl uživatel vyzván k souhlasu, když se aplikace pokusí přistoupit ke kontaktům nebo IMEI telefonu, částečně by se tím vyřešila „slepota“ vůči seznamu s požadavky na oprávnění. Uživatelé by si prostě více uvědomovali, k jakému typu dat mohou aplikace přistupovat.

Dát či nedat uživatelům větší možnosti?

Mnoho uživatelů Androidu žádalo tuto funkci již řadu let, takže jsme si téměř jisti, že pokud Google možnost podrobnější správy oprávnění zakomponuje, většina lidí tuto změnu přivítá. Google se přidáváním dalších funkcí do svých mobilních služeb snaží přilákat uživatele, kteří stále více fungují v on-line světě prostřednictvím svých bezdrátových gadgetů – telefonů a tabletů. Podle Gartner Inc měl Android v roce 2014 81% podíl na celosvětovém trhu se smartphony, zatímco iOS od Applu jen 15 %.

Asi nejzásadnějším argumentem pro lepší správu práv aplikací je ochrana soukromí. Uživatel by si tak mohl sám rozhodnout, kterému programu dá přístup k různým osobním údajům, jako je adresář, poloha, identifikátor telefonu a další.

Naopak proti možnosti spravovat oprávnění hovoří především představa, že by uživatelé odřízli aplikace či celý systém od Internetu a tím i od možnosti stahovat si reklamní proužky. Že se takové jednání Googlu hrubě nelíbí, dokazuje například odstranění aplikací na blokování reklamy z Obchodu Play v roce 2013 (viz Google odstranil z Obchodu Play aplikace na blokování reklam). Z oficiálního repozitáře tehdy „zmizel“ nejen Adblock Plus, ale i další programy pro blokování reklam – například AdAway a AdFree. Oficiálním důvodem bylo porušení bodu 4.4 pravidel Obchodu Play pro vývojáře, podle kterého aplikace nesmí provádět činnost, jež narušuje či způsobuje škody, nebo přistupuje neoprávněným způsobem k zařízení, serverům, sítím, nebo jiným vlastnostem či službě jakékoliv třetí strany. Cílené odstraňování reklamy bylo z tohoto pohledu považováno za narušení služby třetí strany. Navíc šlo o praktiku, kvůli které vývojáři přicházejí, když ne přímo o peníze, tak alespoň o možnost zisku.

Jako další důvod, proč nedat uživatelům možnost individuálního nastavení práv aplikacím, jsou často uváděny pády programů v případě neošetřené chyby. Ačkoli by na vině byl autor aplikace, chybu a pád by uživatelé často neprávem připisovali na vrub systému Android, což samozřejmě není v zájmu Googlu. Z našeho pohledu jde ale spíše o výmluvu – mnohé aplikace třetích stran, které řeší správu oprávnění vlastní cestou (fungují ale jen na rootnutých zařízeních), umí aplikaci při požadavku podsunout falešná data (například jinou než skutečnou polohu, prázdný adresář, apod.). Nedojde tedy k chybě a při přístupu aplikace nespadne, pouze nebude pracovat s reálnými daty. Jistě by se podobný způsob dal implementovat i do systémového řešení.

Konečně třetím argumentem je přílišná složitost, přičemž Google se soustavně snaží, aby jeho systém byl jednoduchý a uživatelsky přívětivý. Zde můžeme použít paralelu s operačními systémy Windows a síťovým firewallem. Zatímco starší verze systému firewall vůbec neměly, Microsoft ho postupně zakomponoval jako součást systému. Nutno konstatovat, že poměrně dobře – ve většině případů totiž uživatel o jeho existenci prakticky neví, zatímco pokročilý si v něm může docela slušně „pohrát“ s protokoly, porty, výjimkami a dalšími parametry. Jistě by podobně mohl fungovat i „firewall pro přístup k osobním údajům.“

Jak to vidí naši čtenáři? Líbilo by se vám, kdyby Google poskytl uživatelům detailnější kontrolu nad oprávněními aplikací? Proč ano, nebo proč ne? Podělte se o své názory v diskuzi pod článkem!

Zdroje: Android Authority, Bloomberg, Android Police, Android Authority.

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

Komentáře (6)