Android Q vă va proteja mai bine confidențialitatea cu funcții noi

click fraud protection

Analiza unei versiuni Android Q care s-a scurs arată mai multe actualizări de confidențialitate care vin pe Android: blocarea citirilor clipboard-ului în fundal, protecție media mai bună și multe altele.

Fiecare versiune nouă de Android vine cu funcții noi, ceea ce înseamnă că Android are nevoie de noi permisiuni pentru a putea accesa aceste funcții. Am găsit o mulțime de permisiuni noi în cadrul Android Q (nu toate le voi acoperi în acest articol, deoarece multe dintre ele nu sunt interesante). Unele dintre permisiunile pe care le-am găsit nu aveau nicio descriere, dar oricum numele lor se explică de la sine. Să ne aprofundăm și să discutăm despre noile îmbunătățiri ale confidențialității din culise din Android Q, precum și despre câteva alte funcții interesante pe care le-am găsit.

Mulțumiri speciale lui PNF Software pentru că ne-a oferit o licență de utilizare Decompiler JEB. JEB Decompiler este un instrument de inginerie inversă de calitate profesională pentru aplicațiile Android.

Blocarea accesului la Clipboard de fundal

Stiai asta fiecare aplicație din Android vă poate citi clipboard-ulși nu trebuie să le acordați permisiunea de rulare pentru a face acest lucru? O mulțime de oameni probabil copiază informații sensibile precum nume de utilizator, parole, adrese etc. tot timpul, așa că ar fi ușor pentru orice aplicație să răzuiască aceste date în fundal. De aceea, multor aplicații de gestionare a parolelor le plac KeepPass au propriile tastaturi pe care le puteți folosi pentru a ocoli managerul de clipboard Android. Aplicațiile de gestionare a parolelor șterg adesea clipboard-ul după ce copiați și lipiți ceva. Motivul pentru care aplicațiile Android trebuie să citească clipboard-ul este că nu pot accepta niciun text din clipboard fără el, ceea ce înseamnă că nu puteți lipi niciun text pe care l-ați copiat. Android Q caută să schimbe asta, din fericire.

A fost adăugată o nouă permisiune numită „READ_CLIPBOARD_IN_BACKGROUND” se pare că va face exact ceea ce spune: limitați ce aplicații pot citi clipboard-ul în fundal. Nivelul de protecție al acestei permisiuni este „semnătură”, ceea ce înseamnă că numai aplicațiilor semnate de OEM li se poate acorda această permisiune.

<permissionandroid: name="android.permission.READ_CLIPBOARD_IN_BACKGROUND"android: protectionLevel="signature"/>

Suport pentru downgrade-ul aplicațiilor?

Ați instalat vreodată o actualizare pentru o aplicație pe Google Play și ați regretat imediat? Uneori, un dezvoltator va împinge o actualizare care rupe ceva pe care nu l-a anticipat, dar odată ce actualizarea a fost împinsă și instalată, este prea târziu pentru a face ceva în acest sens. Dezvoltatorul trebuie să emită rapid o remediere rapidă, iar utilizatorul fie trebuie să nu mai folosească aplicația până la lansarea unei actualizări, fie să dezinstaleze aplicația și să încarce o versiune mai veche. Nu există nicio modalitate de a downgrade o aplicație decât dacă aveți un dispozitiv rootat cu o aplicație asemănătoare TitaniumBackup, deoarece managerul de pachete Android vă împiedică să instalați versiuni mai vechi de aplicații. Există un motiv întemeiat pentru a face acest lucru, deoarece instalarea unei versiuni mai vechi a unei aplicații ar putea duce la defecțiuni dacă datele aplicației nu sunt șterse sau ar putea expune utilizatorul la pericol dacă versiunea mai veche este vulnerabilă la o securitate defect.

Deși nu știm sigur dacă Google va permite utilizatorilor să deruleze aplicațiile la o versiune mai veche, am găsit mai multe permisiuni și comenzi în Android Q care sugerează că va fi posibil. În primul rând, noul „PACKAGE_ROLLBACK_AGENT" și "MANAGE_ROLLBACKSpermisiunile sugerează că aplicația de piață preinstalată poate acționa ca un agent pentru a gestiona derularea versiunilor de aplicație. Prima permisiune este „semnătură”, în timp ce cea de-a doua este „instalator” deasupra „semnăturii”, deci aceasta înseamnă doar o aplicație semnată de platformă, cu capacitatea de a instalați aplicații (de obicei, numai managerul de pachete, Magazinul Google Play sau alte magazine de aplicații primare, în funcție de dispozitiv) pot folosi aceste permisiuni. Au fost adăugate două noi intenții de difuzare protejate: „PACKAGE_ENABLE_ROLLBACK" și "PACKAGE_ROLLBACK EXECUTED.” Aceste transmisii nu pot fi trimise de aplicații terțe și sunt probabil menite să permită aplicației afectate să știe când a fost retrogradată (mult cum ar fi modul în care li se spune aplicațiilor când au fost actualizate, dându-le șansa de a afișa un mesaj la următoarea pornire.) În cele din urmă, a fost adăugat un nou steag la „pm install” comanda shell. Steagul, numit „--enable-rollback,” vă poate permite să returnați o aplicație la o versiune anterioară. Totuși, nu am reușit să-l fac să funcționeze.

<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"/>

Securizarea fișierelor pe stocarea externă

Stocarea de date în Android implică „stocare internă” (/date cu excepția /date/media) și „stocare externă” (/data/media și orice carduri SD sau unități USB montate). APK-urile și datele lor cele mai sensibile sunt stocate în stocarea internă, în timp ce orice media partajată, cum ar fi documente, imagini, videoclipuri etc. sunt stocate în stocare externă. În mod implicit, aplicațiile pot citi și scrie fișiere doar într-un singur director din stocarea externă: /data/media/[user]/Android/data/[package_name]. (Pentru a afla mai multe despre acest comportament, vă recomand să citiți documentul meu articol despre sdcardfs în Android Oreo.) Odată ce utilizatorul acordă unei aplicații orice permisiune din grupul de permisiuni de stocare externă (READ_EXTERNAL_STORAGE sau WRITE_EXTERNAL_STORAGE), aplicația poate citi sau scrie orice fișier în stocarea externă. Acest lucru este problematic deoarece acordați unei aplicații posibilitatea de a colecta o mulțime de date despre dvs. atunci când ați vrut doar să o lăsați să citească sau să scrie anumite fișiere. Pentru a remedia acest lucru, Google pare să introducă câteva noi permisiuni legate de stocarea externă în Android Q. Permisiunile vor introduce următoarele caracteristici:

  • Abilitatea de a citi locațiile din media dvs. (Probabil blocarea accesului la metadatele imaginilor în mod implicit.)
  • Posibilitatea de a accesa fișierele muzicale.
  • Posibilitatea de a accesa fotografii.
  • Posibilitatea de a accesa videoclipuri.

Pentru aplicațiile care dețin deja READ_EXTERNAL_STORAGE sau WRITE_EXTERNAL_STORAGE permisiunile înainte de actualizarea Android Q, vor primi noul citit permisiunile, dar nu cele noi scrie permisiuni. De exemplu, o aplicație care a fost deja acordată READ_EXTERNAL_STORAGE de către utilizator i se va acorda automat READ_MEDIA_IMAGES permisiunea dar nu WRITE_MEDIA_IMAGES permisiune.

Șiruri relevante din framework-res 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>

citeşte mai mult

Revenirea accesului la locație de fundal

Android Oreo și Android 9 Pie au făcut pași mari înainte în asigurarea confidențialității utilizatorilor, dar unii utilizatori au considerat că Google a dus lucrurile prea departe. Un astfel de domeniu care poate fi considerat o regresie a caracteristicilor este în acces la locație de fundal. Accesul la locație în Android Oreo și mai târziu este puternic redus dacă nu este complet eliminat pentru aplicațiile care rulează în fundal, deci aplicațiile trebuie fie să fie în prim-plan, fie să aibă un serviciu în prim-plan care rulează dacă doresc să interogheze continuu dispozitivul Locație. Acest lucru blochează aplicațiile să vă spioneze locația în fundal, dar blochează și utilizatorul să își cartografieze propria locație folosind o aplicație în fundal. Aceasta este o problemă pe care am atins-o într-un articol separat și se pare că Google adaugă o nouă permisiune în Android Q pentru a răspunde preocupărilor acestor dezvoltatori și utilizatori.

În Android Q, a fost adăugată o nouă permisiune pentru a permite unei aplicații să aibă acces în fundal la locația dispozitivului. Descrierea permisiunii pentru utilizator avertizează că „aplicația va avea întotdeauna acces la locație, chiar și atunci când nu utilizați aplicația”. Această permisiune poate să fie acordate „în plus față de locația aproximativă sau precisă”, astfel încât aplicația „să poată accesa locația în timp ce rulează în fundal”. În contrast, permisiunea de locație grosieră poate obține locația dvs. numai pe baza surselor de rețea, cum ar fi turnuri celulare sau rețele Wi-Fi, dar numai atunci când aplicația este în prim plan.

Șiruri relevante din framework-res 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>

citeşte mai mult

Recunoașterea activității fizice

O nouă permisiune a fost adăugată la Android Q, care permite unei aplicații să „recunoaște activitatea fizică”. Acest lucru tehnic nu este nou, deoarece este face parte deja din Serviciile Google Play, dar ar putea însemna că Google va decupla permisiunea de la Serviciile Play. Având în vedere cât de integral au fost serviciile Google Play în furnizarea de funcții Android de bază, este bine să vedem că o parte din puterea sa este restituită 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>

Pentru mai multe știri despre Android Q, consultați etichetă cu ultimele știri sortate după dată. Am publicat recent un articol cu ​​multe dovezi care arată că Google lucrează care acceptă hardware de autentificare facială asemănătoare Face ID în Android Q. Avem și un implementarea timpurie a versiunii Android Q scurse (și există chiar și un videoclip) pe care ar trebui să-l vezi aici. Vom posta mai multe dintre descoperirile noastre din această versiune timpurie a Android Q pe care am obținut-o, așa că rămâneți pe fază.