Analýza uniknutej zostavy systému Android Q ukazuje, že do systému Android prichádza viac vylepšení ochrany osobných údajov: blokovanie čítania zo schránky na pozadí, lepšia ochrana médií a ďalšie.
Každá nová verzia Androidu prichádza s novými funkciami, čo znamená, že Android potrebuje nové povolenia na prístup k týmto funkciám. V rámci systému Android Q som našiel veľa nových povolení (nie všetky z nich pokryjem v tomto článku, pretože mnohé z nich nie sú zaujímavé). Niektoré povolenia, ktoré som našiel, nemali žiadne popisy, no ich názvy sú aj tak celkom samovysvetľujúce. Poďme sa ponoriť a diskutovať o nových zákulisných vylepšeniach ochrany osobných údajov v systéme Android Q, ako aj o niekoľkých ďalších zaujímavých funkciách, ktoré som našiel.
Špeciálne poďakovanie patrí spoločnosti PNF Software za poskytnutie licencie na používanie JEB Decompiler. JEB Decompiler je profesionálny nástroj reverzného inžinierstva pre aplikácie Android.
Blokovanie prístupu do schránky na pozadí
Vedeli ste, že
každá aplikácia v systéme Android môže čítať vašu schránkua nemusíte im na to udeliť povolenie na spustenie? Mnoho ľudí pravdepodobne kopíruje citlivé informácie, ako sú používateľské mená, heslá, adresy atď. stále, takže pre každú aplikáciu by bolo ľahké zoškrabať tieto údaje na pozadí. To je dôvod, prečo sa mnohým aplikáciám na správu hesiel páči KeepPass majú svoje vlastné klávesnice, pomocou ktorých môžete obísť správcu schránky systému Android. Aplikácie na správu hesiel často vymazávajú schránku po tom, čo čokoľvek skopírujete a prilepíte. Dôvodom, prečo aplikácie pre Android potrebujú čítať schránku, je to, že bez nej nemôžu prijať žiadny text zo schránky, čo znamená, že nemôžete vložiť žiadny text, ktorý ste skopírovali. Android Q sa to našťastie snaží zmeniť.Bolo pridané nové povolenie s názvom „READ_CLIPBOARD_IN_BACKGROUND
“, čo znie, že urobí presne to, čo hovorí: obmedzí, ktoré aplikácie môžu čítať schránku na pozadí. Úroveň ochrany tohto povolenia je „podpis“, čo znamená, že toto povolenie možno udeliť iba aplikáciám podpísaným výrobcom OEM.
<permissionandroid: name="android.permission.READ_CLIPBOARD_IN_BACKGROUND"android: protectionLevel="signature"/>
Podpora pre prechod na staršiu verziu aplikácií?
Nainštalovali ste si niekedy aktualizáciu aplikácie na Google Play a hneď ste to oľutovali? Niekedy vývojár podá aktualizáciu, ktorá poruší niečo, s čím nepočítali, ale keď už bola aktualizácia presunutá a nainštalovaná, je už neskoro s tým čokoľvek robiť. Vývojár musí rýchlo vydať rýchlu opravu a používateľ buď musí prestať používať aplikáciu, kým nebude vydaná aktualizácia, alebo aplikáciu odinštalovať a načítať staršiu verziu. Neexistuje spôsob, ako prejsť na staršiu verziu aplikácie, pokiaľ nemáte zakorenené zariadenie s aplikáciou ako TitaniumBackup, pretože správca balíkov systému Android vám blokuje inštaláciu starších verzií aplikácií. Existuje na to dobrý dôvod, pretože inštalácia staršej verzie aplikácie by mohla viesť k jej poškodeniu údaje aplikácie nie sú vymazané alebo by mohli vystaviť používateľa nebezpečenstvu, ak je staršia verzia zraniteľná voči zabezpečeniu chyba.
Aj keď nevieme s istotou, či spoločnosť Google umožní používateľom vrátiť aplikácie na staršiu verziu, v systéme Android Q sme našli niekoľko povolení a príkazov, ktoré naznačujú, že to bude možné. Po prvé, nový „PACKAGE_ROLLBACK_AGENT
“ a „MANAGE_ROLLBACKS
” povolenia naznačujú, že predinštalovaná aplikácia Market môže pôsobiť ako agent na správu vrátenia verzií aplikácie. Prvé povolenie je „podpis“, zatiaľ čo druhé je „inštalátor“ navrchu „podpis“, takže to znamená iba aplikáciu podpísanú platformou s možnosťou inštalovať aplikácie (zvyčajne iba správca balíkov, Obchod Google Play alebo iné obchody s aplikáciami prvej strany v závislosti od zariadenia) môžu tieto povolenia používať. Boli pridané dva nové chránené vysielacie zámery: „PACKAGE_ENABLE_ROLLBACK
“ a „PACKAGE_ROLLBACK EXECUTED
.“ Tieto vysielania nemôžu odosielať aplikácie tretích strán a ich cieľom je pravdepodobne umožniť dotknutej aplikácii vedieť, kedy bola znížená (veľmi ako napríklad to, ako sa aplikáciám povie, keď boli aktualizované, čo im dáva možnosť zobraziť nejakú správu pri ďalšom spustení.) Nakoniec bol pridaný nový príznak "pm install
“príkaz shellu. Vlajka s názvom „--enable-rollback
“ vám umožní vrátiť aplikáciu na staršiu verziu. Nepodarilo sa mi to však spustiť.
<protected-broadcast android: name="android.intent.action.PACKAGE_ENABLE_ROLLBACK"/>
<protected-broadcast android: name="android.intent.action.PACKAGE_ROLLBACK_EXECUTED"/>
<permissionandroid: name="android.permission.PACKAGE_ROLLBACK_AGENT"android: protectionLevel="signature"/>
<permissionandroid: name="android.permission.MANAGE_ROLLBACKS"android: protectionLevel="installer|signature"/>
Zabezpečenie súborov na externom úložisku
Ukladanie údajov v systéme Android zahŕňa „interné úložisko“ (/údaje s výnimkou /údaje/médiá) a „externé úložisko“ (/údaje/médiá a akékoľvek pripojené karty SD alebo jednotky USB). Súbory APK a ich najcitlivejšie údaje sú uložené v internom úložisku, zatiaľ čo akékoľvek zdieľané médiá, ako sú dokumenty, obrázky, videá atď. sú uložené v externom úložisku. V predvolenom nastavení môžu aplikácie čítať a zapisovať súbory iba do jedného adresára na externom úložisku: /data/media/[používateľ]/Android/data/[názov_balíka]. (Ak sa chcete dozvedieť viac o tomto správaní, odporúčam vám prečítať si môj článok o sdcardfs v systéme Android Oreo.) Keď používateľ udelí aplikácii akékoľvek povolenie v rámci skupiny povolení externého úložiska (READ_EXTERNAL_STORAGE
alebo WRITE_EXTERNAL_STORAGE
), aplikácia potom môže čítať alebo zapisovať akýkoľvek súbor v externom úložisku. Je to problematické, pretože aplikácii poskytujete možnosť potenciálne zbierať veľa údajov o vás, keď ste ju chceli nechať čítať alebo zapisovať určité súbory. Zdá sa, že Google na vyriešenie tohto problému zavádza v systéme Android Q niekoľko nových povolení týkajúcich sa externého úložiska. Povolenia ohraničia nasledujúce funkcie:
- Schopnosť čítať miesta z vašich médií. (V predvolenom nastavení pravdepodobne blokuje prístup k metadátam obrázkov.)
- Možnosť prístupu k hudobným súborom.
- Možnosť prístupu k fotografiám.
- Možnosť prístupu k videám.
Pre aplikácie, ktoré už majú READ_EXTERNAL_STORAGE
alebo WRITE_EXTERNAL_STORAGE
povolenia pred aktualizáciou Android Q, získajú nové čítať povolenia, ale nie nové písať povolenia. Napríklad aplikácia, ktorá už bola udelená READ_EXTERNAL_STORAGE
používateľom bude automaticky udelené READ_MEDIA_IMAGES
povolenie, ale nie WRITE_MEDIA_IMAGES
povolenie.
Relevantné reťazce z framework-res systému Android Q
<stringname="permgroupdesc_aural">access your musicstring>
<stringname="permgrouplab_visual">Photos & Videosstring>
<stringname="permgrouprequest_aural">Allow <b>%1$s</b> to access your music?string>
<stringname="permgroupdesc_visual">access your photos & videosstring>
<stringname="permgrouplab_activityRecognition">Activity recognitionstring>
<stringname="permgrouplab_aural">Musicstring>
<stringname="permdesc_videoRead">Allows the app to read your video collection.string>
<stringname="permdesc_videoWrite">Allows the app to modify your video collection.string>
<stringname="permdesc_imagesRead">Allows the app to read your photo collection.string>
<stringname="permdesc_imagesWrite">Allows the app to modify your photo collection.string>
<stringname="permdesc_audioRead">Allows the app to read your music collection.string>
<stringname="permdesc_audioWrite">Allows the app to modify your music collection.string>
<stringname="permlab_audioRead">read your music collectionstring>
<stringname="permlab_audioWrite">modify your music collectionstring>
<stringname="permdesc_mediaLocation">Allows the app to read locations from your media collection.string>
"android.permission.READ_EXTERNAL_STORAGE"
targetSdk="10000">
<new-permission name="android.permission.READ_MEDIA_AUDIO" />
<new-permission name="android.permission.READ_MEDIA_VIDEO" />
<new-permission name="android.permission.READ_MEDIA_IMAGES" />
split-permission>"android.permission.WRITE_EXTERNAL_STORAGE"
targetSdk="10000">
<new-permission name="android.permission.READ_MEDIA_AUDIO" />
<new-permission name="android.permission.READ_MEDIA_VIDEO" />
<new-permission name="android.permission.READ_MEDIA_IMAGES" />
split-permission>
čítaj viac
Návrat prístupu k polohe na pozadí
Android Oreo a Android 9 Pie urobili veľké kroky vpred v zabezpečení súkromia používateľov, no niektorí používatelia mali pocit, že Google zašiel príliš ďaleko. Jedna taká oblasť, ktorú možno považovať za regresiu funkcie, je in prístup k polohe na pozadí. Prístup k polohe v systéme Android Oreo a novšom je výrazne obmedzený, ak nie je priamo zabitý pre aplikácie bežiace na pozadí, takže Aplikácie musia byť buď v popredí, alebo musia mať spustenú službu na popredí, ak chcú nepretržite vyhľadávať umiestnenie. To blokuje aplikáciám špehovať vašu polohu na pozadí, ale tiež blokuje používateľovi mapovať svoju vlastnú polohu pomocou aplikácie na pozadí. Toto je problém, ktorého sme sa dotkli v samostatnom článku, a zdá sa, že Google pridáva nové povolenie do systému Android Q, aby vyriešil obavy týchto vývojárov a používateľov.
V systéme Android Q bolo pridané nové povolenie, ktoré aplikácii umožňuje prístup k polohe zariadenia na pozadí. Popis povolenia pre používateľa varuje, že „aplikácia bude mať vždy prístup k polohe, aj keď ju nepoužívate“. Toto povolenie môže získať povolenia „dodatočne k približnej alebo presnej polohe“, aby aplikácia „mohla pristupovať k polohe, keď je spustená na pozadí“. naproti tomu povolenie na približnú polohu môže zistiť vašu polohu iba na základe sieťových zdrojov, ako sú mobilné veže alebo siete Wi-Fi, ale iba vtedy, keď je aplikácia v popredia.
Relevantné reťazce z framework-res systému Android Q
<stringname="permgroupbackgroundrequest_location">Always allow <b>%1$s</b> to access this device’s location?string>
<stringname="permgroupbackgroundrequestdetail_location">The app will always have access to the location, even when you’re not using the app.string>
"permdesc_accessBackgroundLocation">If this is granted additionally to the approximate or precise location access the app can access the location while running in the background.</string>
"permdesc_accessCoarseLocation">This app can get your location based on network sources such as cell towers and Wi-Fi networks, but only when the app is in the foreground. These location services must be turned on and available on your phone for the app to be able to usethem.string>
"android.permission.ACCESS_FINE_LOCATION"
targetSdk="10000">
<new-permission name="android.permission.ACCESS_BACKGROUND_LOCATION" />
split-permission>
"android.permission.ACCESS_COARSE_LOCATION"
targetSdk="10000">
<new-permission name="android.permission.ACCESS_BACKGROUND_LOCATION" />
split-permission>
čítaj viac
Rozpoznávanie fyzickej aktivity
Do systému Android Q bolo pridané nové povolenie, ktoré aplikácii umožňuje „rozpoznať vašu fyzickú aktivitu“. Toto technicky nie je nové, pretože je už súčasťou Služieb Google Play, ale môže to znamenať, že Google odpojí povolenie od služieb Play. Vzhľadom na integritu služieb Google Play pri poskytovaní základných funkcií systému Android je dobré vidieť, že časť ich výkonu je vrátená AOSP.
<stringname="permgroupdesc_activityRecognition">recognize activitystring>
<stringname="permgrouprequest_activityRecognition">Allow <b>%1$s</b> to recognize your physical activity?string>
<stringname="permdesc_activityRecognition">This app can recognize your physical activity.string>
Ak chcete získať ďalšie novinky o systéme Android Q, pozrite si naše tag s najnovšími správami zoradenými podľa dátumu. Nedávno sme publikovali článok s množstvom dôkazov smerujúcich k tomu, že Google pracuje podporuje hardvér na autentifikáciu tváre podobným Face ID v systéme Android Q. Máme tiež skoré praktické informácie o uniknutej zostave Android Q (a dokonca je tu aj video), ktoré by ste si mali pozrieť tu. Zverejníme ďalšie naše zistenia z tejto skorej zostavy Android Q, ktorú sme získali, takže zostaňte naladení.