Vuotaneen Android Q -koontiversion analyysi osoittaa, että Androidille on tulossa lisää tietosuojapäivityksiä: taustaleikepöydän lukemisen estäminen, parempi mediasuojaus ja paljon muuta.
Jokainen uusi Android-versio sisältää uusia ominaisuuksia, mikä tarkoittaa, että Android tarvitsee uusia käyttöoikeuksia päästäkseen käyttämään näitä ominaisuuksia. Löysin Android Q: n kehyksestä paljon uusia käyttöoikeuksia (joita en käsittele kaikkia tässä artikkelissa, koska monet niistä eivät ole kiinnostavia). Joissakin löytämissäni luvissa ei ollut kuvausta, mutta niiden nimet ovat joka tapauksessa melko itsestään selviä. Sukellaan ja keskustellaan Android Q: n uusista kulissien takana olevista yksityisyyden parannuksista sekä muutamista muista mielenkiintoisista löytämistäni ominaisuuksista.
Erityiset kiitokset PNF Softwarelle käyttöluvan myöntämisestä JEB Decompiler. JEB Decompiler on ammattitason käänteissuunnittelutyökalu Android-sovelluksille.
Taustaleikepöydän käytön estäminen
Tiesitkö että jokainen Android-sovellus voi lukea leikepöydän
, ja sinun ei tarvitse myöntää heille suoritusaikaista lupaa tehdä niin? Monet ihmiset todennäköisesti kopioivat arkaluontoisia tietoja, kuten käyttäjänimiä, salasanoja, osoitteita jne. koko ajan, joten minkä tahansa sovelluksen olisi helppo kaapata nämä tiedot taustalla. Siksi monet salasananhallintasovellukset pitävät KeePass heillä on omat näppäimistönsä, joiden avulla voit ohittaa Android-leikepöydän hallinnan. Salasanan hallintasovellukset tyhjentävät usein leikepöydän puolestasi, kun kopioit ja liität mitä tahansa. Syy siihen, miksi Android-sovellusten täytyy lukea leikepöytä, on se, että ne eivät voi hyväksyä tekstiä leikepöydältä ilman sitä, mikä tarkoittaa, että et voi liittää kopioimaasi tekstiä. Onneksi Android Q haluaa muuttaa sen.Uusi lupa on lisätty "READ_CLIPBOARD_IN_BACKGROUND
", mikä kuulostaa siltä, että se tekee juuri sen, mitä se sanoo: rajoittaa sitä, mitä sovelluksia voivat lukea leikepöydän taustalla. Tämän luvan suojaustaso on "allekirjoitus", mikä tarkoittaa, että vain OEM: n allekirjoittamille sovelluksille voidaan myöntää tämä lupa.
<permissionandroid: name="android.permission.READ_CLIPBOARD_IN_BACKGROUND"android: protectionLevel="signature"/>
Tuki vanhentuneisiin sovelluksiin?
Oletko koskaan asentanut päivityksen sovellukseen Google Playsta ja katunut sitä välittömästi? Joskus kehittäjä ajaa päivityksen, joka rikkoo jotain, jota he eivät odottaneet, mutta kun päivitys on työnnetty ja asennettu, on liian myöhäistä tehdä asialle mitään. Kehittäjän on annettava nopeasti hotfix-korjaus, ja käyttäjän on joko lopetettava sovelluksen käyttö, kunnes päivitys julkaistaan, tai poistettava sovellus ja ladattava vanhempi versio sivulta. Sovellusta ei voi päivittää vanhempaan versioon, ellei sinulla ole juurtunutta laitetta, jossa on vastaava sovellus Titanium Backup, koska Androidin paketinhallinta estää sinua asentamasta vanhempia versioita sovelluksista. Siihen on hyvä syy, koska sovelluksen vanhemman version asentaminen voi johtaa rikkoutumiseen, jos sovelluksen tietoja ei tyhjennetä tai se voi altistaa käyttäjän vaaralle, jos vanhempi versio on alttiina tietoturvalle virhe.
Vaikka emme tiedä varmasti, salliiko Google käyttäjien palauttaa sovelluksia vanhempaan versioon, löysimme Android Q: sta useita käyttöoikeuksia ja komentoja, jotka viittaavat siihen, että se on mahdollista. Ensinnäkin uusi "PACKAGE_ROLLBACK_AGENT
" ja "MANAGE_ROLLBACKS
” käyttöoikeudet viittaavat siihen, että esiasennettu market-sovellus voi toimia agenttina, joka hallitsee sovellusversioiden palautusta. Edellinen lupa on "allekirjoitus", kun taas jälkimmäinen on "asentaja" "allekirjoituksen" päällä, joten tämä tarkoittaa vain alustalle allekirjoitettua sovellusta, jolla on mahdollisuus asennussovellukset (yleensä vain paketinhallinta, Google Play Kauppa tai muut ensimmäisen osapuolen sovelluskaupat laitteesta riippuen) voivat käyttää näitä käyttöoikeuksia. Kaksi uutta suojattua lähetystarkoitusta on lisätty: "PACKAGE_ENABLE_ROLLBACK
" ja "PACKAGE_ROLLBACK EXECUTED
.” Kolmannen osapuolen sovellukset eivät voi lähettää näitä lähetyksiä, ja niiden tarkoituksena on todennäköisesti antaa sovellukselle, jota asia koskee, tietää, milloin se on päivitetty (paljon kuten kuinka sovelluksille kerrotaan, kun ne on päivitetty, jolloin ne voivat näyttää viestin seuraavan käynnistyksen yhteydessä.) Lopuksi uusi lippu on lisätty "pm install
”kuoren komento. Lippu nimeltä "--enable-rollback
”, voi antaa sinun palauttaa sovelluksen aikaisempaan versioon. En kuitenkaan saanut sitä toimimaan.
<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"/>
Tiedostojen suojaaminen ulkoisessa tallennustilassa
Androidin tietojen tallennus sisältää "sisäisen tallennustilan" (/data paitsi /data/media) ja "ulkoisen tallennustilan" (/data/media ja kaikki asennetut SD-kortit tai USB-asemat). APK: t ja niiden arkaluontoisimmat tiedot tallennetaan sisäiseen tallennustilaan, kun taas kaikki jaettu media, kuten asiakirjat, kuvat, videot jne. tallennetaan ulkoiseen tallennustilaan. Oletuksena sovellukset voivat lukea ja kirjoittaa tiedostoja vain yhteen hakemistoon ulkoisessa tallennustilassa: /data/media/[käyttäjä]/Android/data/[paketin_nimi]. (Jos haluat lisätietoja tästä käytöksestä, suosittelen, että luet minun artikkeli sdcardfsista Android Oreossa.) Kun käyttäjä myöntää sovellukselle minkä tahansa luvan ulkoisen tallennustilan käyttöoikeusryhmässä (READ_EXTERNAL_STORAGE
tai WRITE_EXTERNAL_STORAGE
), sovellus voi sitten lukea tai kirjoittaa mitä tahansa tiedostoa ulkoiseen tallennustilaan. Tämä on ongelmallista, koska annat sovellukselle mahdollisuuden kerätä paljon tietoja sinusta, kun halusit vain antaa sen lukea tai kirjoittaa tiettyjä tiedostoja. Tämän korjaamiseksi Google näyttää ottavan käyttöön pari uutta ulkoiseen tallennustilaan liittyvää käyttöoikeutta Android Q: ssa. Käyttöoikeudet mahdollistavat seuraavat ominaisuudet:
- Kyky lukea sijainnit mediastasi. (Todennäköisesti estetään oletusarvoisesti pääsy kuvien metatietoihin.)
- Mahdollisuus käyttää musiikkitiedostoja.
- Mahdollisuus käyttää valokuvia.
- Mahdollisuus käyttää videoita.
Sovelluksille, joissa on jo READ_EXTERNAL_STORAGE
tai WRITE_EXTERNAL_STORAGE
käyttöoikeudet ennen Android Q -päivitystä, he saavat uuden lukea luvat, mutta ei uutta kirjoittaa luvat. Esimerkiksi sovellus, joka on jo myönnetty READ_EXTERNAL_STORAGE
käyttäjältä myönnetään automaattisesti READ_MEDIA_IMAGES
lupa, mutta ei WRITE_MEDIA_IMAGES
lupa.
Asiaankuuluvat merkkijonot Android Q: n framework-res
<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>
Lue lisää
Taustasijainnin käytön palauttaminen
Android Oreo ja Android 9 Pie ottivat suuria askeleita eteenpäin käyttäjien yksityisyyden turvaamisessa, mutta joidenkin käyttäjien mielestä Google meni liian pitkälle. Yksi tällainen alue, jota voidaan pitää ominaisuuden regressiona, on taustasijainnin käyttöoikeus. Sijainnin käyttöoikeus Android Oreossa ja sitä uudemmissa versioissa on voimakkaasti rajoittunut, ellei se ole kokonaan kielletty taustalla toimivien sovellusten takia, joten sovellusten on oltava etualalla tai niillä on oltava etualalla oleva palvelu käynnissä, jos ne haluavat jatkuvasti pollata laitteen sijainti. Tämä estää sovelluksia vakoilemasta sijaintiasi taustalla, mutta se estää myös käyttäjää kartoittamasta omaa sijaintiaan taustalla olevan sovelluksen avulla. Tämä on ongelma, jota käsittelimme erillisessä artikkelissa, ja näyttää siltä, että Google lisää Android Q: hen uuden luvan vastatakseen näiden kehittäjien ja käyttäjien huolenaiheisiin.
Android Q: ssa on lisätty uusi käyttöoikeus, joka antaa sovellukselle pääsyn laitteen sijaintiin taustalla. Luvan kuvaus käyttäjälle varoittaa, että "sovelluksella on aina pääsy sijaintiin, vaikka et käyttäisi sovellusta". Tämä lupa voi saa "lisäksi likimääräisen tai tarkan sijainnin" luvat, jotta sovellus "pääsee sijaintiin, kun se toimii taustalla". Verrattuna, karkea sijaintilupa voi saada sijaintisi vain verkkolähteiden, kuten solutornien tai Wi-Fi-verkkojen, perusteella, mutta vain silloin, kun sovellus on etualalla.
Asiaankuuluvat merkkijonot Android Q: n framework-res
<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>
Lue lisää
Fyysisen aktiivisuuden tunnistus
Android Q: lle on lisätty uusi käyttöoikeus, jonka avulla sovellus voi "tunnistaa fyysisen aktiivisuutesi". Tämä ei ole teknisesti uutta, koska se on on jo osa Google Play Palveluita, mutta se voi tarkoittaa, että Google erottaa luvan Play-palveluista. Koska Google Play Palvelut ovat olleet olennainen osa Android-ydinominaisuuksien tarjoamista, on hyvä nähdä, että osa sen tehosta annetaan takaisin AOSP: lle.
<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>
Lisää Android Q -uutisia löytyy meidän tag viimeisimmät uutiset päivämäärän mukaan lajiteltuina. Julkaisimme äskettäin artikkelin, jossa on paljon todisteita, jotka viittaavat siihen, että Google työskentelee tukee Face ID: n kaltaista kasvojen todennuslaitteistoa Android Q: ssa. Meillä on myös varhainen käytännön kokemus vuotaneesta Android Q -versiosta (ja siellä on jopa video), joka kannattaa katsoa täältä. Julkaisemme lisää havainnoistamme tästä varhaisesta hankkimastamme Android Q -versiosta, joten pysy kuulolla.