Android 11 haalt de camerakiezer weg om mogelijke geotag-kapingen te beperken

Android is misschien begonnen met de mantra dat ontwikkelaars alles mogen doen, zolang ze het kunnen coderen, maar dingen zijn in de loop der jaren veranderd omdat beveiliging en privacy hogere prioriteiten werden. Elke grote update van het afgelopen decennium heeft functies of beperkingen toegevoegd om gebruikers te beschermen, maar sommige offers waren misschien niet helemaal nodig. Een andere afweging voor Android 11 heeft ontstond, waardoor gebruikers niet langer camera-apps van derden kunnen selecteren om namens andere apps foto’s of video’s te maken, waardoor gebruikers alleen op de ingebouwde camera-app hoeven te vertrouwen.

De kern van deze verandering is een van de bepalende eigenschappen van Android: het Intent-systeem. Stel dat u een foto moet maken van een nieuwe koffiemok om te verkopen via een veiling-app. Omdat de veiling-app niet was gebouwd voor fotografie, koos de ontwikkelaar ervoor om dat over te laten aan een goede camera-app. Dit waar het Intent-systeem in het spel komt. Ontwikkelaars maken eenvoudig een verzoek met een paar criteria en Android zal gebruikers vragen om te kiezen uit een lijst met geïnstalleerde apps om de klus te klaren.

Camerakiezer op Android 10.

Er gaan echter dingen veranderen met Android 11 voor apps die om foto’s of video’s vragen. Drie specifieke bedoelingen zullen niet meer werken zoals vroeger, waaronder: VIDEO OPNAME, BEELDOPNAME, en IMAGE_CAPTURE_SECURE. Android 11 biedt nu automatisch de vooraf geïnstalleerde camera-app om deze acties uit te voeren zonder ooit naar andere apps te hoeven zoeken om de rol te vervullen.

Vanaf Android 11 kunnen alleen vooraf geïnstalleerde systeemcamera-apps reageren op de volgende intentie-acties:

Als er meer dan één vooraf geïnstalleerde systeemcamera-app beschikbaar is, presenteert het systeem een ​​dialoogvenster waarin de gebruiker een app kan selecteren. Als u wilt dat uw app een specifieke camera-app van een derde partij gebruikt om namens de app afbeeldingen of video’s vast te leggen, kunt u deze bedoelingen expliciet maken door een pakketnaam of een onderdeel voor de bedoeling in te stellen.

Google beschrijft de wijziging in een lijst met nieuw gedrag in Android 11, en verder bevestigde het in de Issue Tracker. Privacy en veiligheid worden als reden genoemd, maar er is geen discussie over wat die bedoelingen precies gevaarlijk maakte. Misschien zijn sommige gebruikers misleid om een ​​kwaadaardige camera-app als standaard in te stellen en deze vervolgens te gebruiken om dingen vast te leggen die privé hadden moeten blijven.

“… wij geloven dat dit de juiste afweging is om de privacy en veiligheid van onze gebruikers te beschermen.” – Google Issue Tracker.

Android 11 neemt niet alleen de vrijheid om de vooraf geïnstalleerde camera-app automatisch te starten wanneer daarom wordt gevraagd, het voorkomt ook dat app-ontwikkelaars gemakkelijk hun eigen interface bieden om dezelfde functionaliteit te simuleren. Ik heb een test uitgevoerd met een aantal eenvoudige code om de camera-apps op een telefoon op te vragen, en vervolgens op apparaten met Android 10 en 11 waarop dezelfde set camera-apps is geïnstalleerd. Android 10 gaf een volledige set apps terug, maar Android 11 rapporteerde niets, zelfs niet de eigen vooraf geïnstalleerde Camera-app van Google.

READ  Bekijk: Nintendo Direct Mini: Partner Showcase

Bovenstaande: Debugger-weergave op Android 10. Hieronder: Dezelfde weergave op Android 11.

Zoals Mark Murphy van CommonsWare wijst erop, Schrijft Google wel een oplossing voor ontwikkelaars voor, hoewel het niet erg handig is. De documentatie adviseert om expliciet te controleren op geïnstalleerde camera-apps op basis van hun pakketnaam – wat betekent dat ontwikkelaars vooraf voorkeursapps moeten kiezen – en gebruikers rechtstreeks naar die apps te sturen. Er zijn natuurlijk andere manieren om opties te krijgen zonder alle pakketnamen te identificeren, zoals een lijst met alle apps ophalen en vervolgens handmatig zoeken naar intentiefilters, maar dit lijkt een overcomplicatie.

Het nieuwe gedrag wordt afgedwongen in ten minste de huidige bètaversie van Android 11 en het zal met alle apps gebeuren, ongeacht of ze zich richten op API 30 of iets lager. We weten nog niet of de Android CTS (Compatibility Test Suite) dit gedrag vereist of dat OEM’s het mogen wijzigen naar de vorige regels, maar het is waarschijnlijk dat dit in de toekomst de standaard zal worden.

Dit is zeker geen verwoestende verandering, en voor veel gebruikers die al standaard hun ingebouwde camera gebruiken, zal deze volledig transparant zijn. En met de meeste apps kunnen gebruikers nog steeds overschakelen naar hun favoriete camera om een ​​goede foto te maken en deze vervolgens vanuit de galerij te uploaden. Dit betekent echter meer werk voor gebruikers, en het is een kick in de broek voor mensen die regelmatig profielfoto’s maken met een filter of voor degenen die afhankelijk zijn van G Cam-poorten om hun standaardcamera te vervangen. Bovendien staan ​​sommige apps geen verschillende workflows toe, wat betekent dat je vastzit aan de camera-app die er is.


READ  Pixel 5, Chromecast met Google TV, Nest Audio: alles wat Google zojuist heeft aangekondigd

Google schrijft de wijziging toe aan mogelijke geotag-kaping

In een reactie op The Verge, Legde Google uit dat deze wijziging is aangebracht om “te voorkomen dat slechte acteurs mogelijk uw locatie binnenhalen.” Deze uitleg is ook toegevoegd in een update naar de lijst met wijzigingen in Android 11, samen met meer technische details en een verduidelijking dat dit geen belemmering vormt voor de mogelijkheid om camera-apps van derden te installeren en te gebruiken.

Dit is ontworpen om ervoor te zorgen dat de EXIF-locatiemetagegevens correct worden verwerkt op basis van de locatiemachtigingen die zijn gedefinieerd in de app die de intentie verzendt.

Om EXIF-locatiemetagegevens te ontvangen van de vooraf geïnstalleerde systeemcamera-app bij gebruik van intenties die een van de voorgaande intentie-acties hebben, moet uw app declareren ACCESS_MEDIA_LOCATION naast de ACCESS_COARSE_LOCATION of ACCESS_FINE_LOCATION toestemming.

Als u wilt dat een specifieke camera-app van derden de bedoeling van uw app afhandelt, kunt u dit doen door expliciet de pakketnaam van de camera-app van derden op te geven om aan de bedoeling te voldoen.

Deze wijziging heeft geen invloed op de mogelijkheid van gebruikers om een ​​camera-app te installeren en te gebruiken om rechtstreeks foto’s of video’s vast te leggen. Een gebruiker kan een camera-app van een derde partij instellen als de standaard camera-app. Deze wijziging heeft ook geen invloed op de intentie-acties die de door de gebruiker gespecificeerde standaardcamera-app starten, inclusief android.provider.MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA, android.provider.MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE, of android.provider.MediaStore.INTENT_ACTION_VIDEO_CAMERA.

Het op deze manier oogsten van EXIF-gegevens is in het verleden feitelijk gedocumenteerd wanneer Shutterfly werd er in 2019 op betrapt. Deze wijziging beperkt de gemakkelijkste weg naar het kapen van locatiegegevens, maar het laat een aantal tijdelijke oplossingen over, zoals rechtstreeks bellen naar camera-apps of gebruikers vragen om foto’s te maken en deze te laden bij een mediaprovider. Het is mogelijk dat Google aanvullende stappen moet ondernemen om de deur volledig te sluiten voor deze tactiek.

READ  Game-sized Fallout 4 mod Fallout: London is voor onbepaalde tijd uitgesteld vanwege Bethesda's aankomende next-gen update

Een reactie achterlaten

Je e-mailadres zal niet getoond worden. Vereiste velden zijn gemarkeerd met *