Logo sv.androidermagazine.com
Logo sv.androidermagazine.com

Android-appbehörigheter - hur google får rätt ...

Innehållsförteckning:

Anonim

Den senaste tiden har det funnits många nyheter om ett förfall i antingen säkerhet eller bedömning - båda, verkligen - hos Apple som gör det möjligt för iOS-applikationer att låna dina kontaktuppgifter och skicka dem till delar som är okända utan ditt medgivande. Apple har riktat frågan till medlemmar av den amerikanska kongressen och kommer att vidta åtgärder för att hålla stramare kontroll i en framtida iOS-uppdatering. Det är goda nyheter, och vi är glada över att se det hända.

Men hur är det med Android? Under allt detta fokus på appar som gör saker utan uttryckligt användartillstånd ser du personer som hänvisar till Android-behörighetsmodellen. Vi kommer att bryta ner det hela åt dig. Det är inte perfekt, men det fungerar ganska bra - och det är säkert bättre än inget tillståndssystem alls.

Låt oss leda dig genom behörigheterna på Android och hur du måste vara säker på att du delar dig.

Genom design har ingen Android-applikation tillåtelse att utföra någon åtgärd som skulle "påverka andra applikationer, operativsystemet eller användaren negativt." För att en app ska ha tillgång till saker som privat kontaktdata, en annan applikations data, nätverksåtkomst eller till och med något så vardagligt som att skriva egna data till enhetslagring, måste appen förklara att den har behörigheter att göra det, och sedan måste du acceptera det tillståndet innan du kan installera appen. När du installerar en app får du en lista med behörigheter som applikationen förklarar.

Och notera att vi säger att applikationer "deklarerar" behörigheter och inte nödvändigtvis "begär" dem. Semantik antar vi, men det finns ingen ruta som säger "Hej, Jerry! Jag är en app, och jag skulle gärna vilja att du ska titta på din kontaktinformation. Det är OK?" Istället är Android-appar mer direkta och säger "Yo, Jerry. Jag är en app. Här är en lista över vad jag kan göra, bara sos vet du. Ta det eller lämna det."

Android-appar förklarar vilka behörigheter de har tillgång till och därmed vilka sandlådor de kan spela i. Och du kan antingen välja att acceptera dem och installera appen, eller inte. Vettigt?

Behörigheter - i förväg och personlig på Android Market

Så här ser det ut om du installerar, säg, sökväg. Du får en makrolista med behörigheter som sökvägen förklarar. Klicka på en, och det förklarar att tillståndet i lite större detalj.

Så ser det ut om du installerar ett program från Android Market. Du måste bläddra igenom listan för att se dem alla. Lite sätt ner är den som har fått Path (och andra) i alla möjliga problem på iOS. I sin Android-form kan du tydligt se att Path deklarerar tillståndet för "Din personliga information - läs kontaktuppgifter." Tryck på den behörigheten så får du mer information:

"Tillåter ett program att läsa all kontaktinformation (adress) som är lagrad på din telefon. Skadliga program kan använda detta för att skicka dina data till andra människor."

Så Path har sagt att den har tillgång till dina kontaktuppgifter. Det säger inte nödvändigtvis vad det kommer att göra med det (om vi inte bara hade tagit upp det, skulle du verkligen vilja veta?), Men det säger dig att det kan läsa det.

Appar utanför Android Market

Men vad händer om du laddar in en app? Eller använder du Amazon Appstore? Program ska fortfarande förklara vilka behörigheter de använder, och du ser att behörigheter listas när du installerar appen. (Kom ihåg att Amazon Appstore laddar appar, så det du ser är exakt detsamma som om du installerade en app från en e-post eller nedladdning.)

Här är hur sidoplatsning av Gmail skulle se ut. Den enda verkliga skillnaden mellan sidbelastning och installation från Android Market, i den mån behörigheter går, är att när du sidelastar får du inte de mer detaljerade behörighetsbeskrivningarna.

Varför allt detta? Android-applikationer är "sandlådda" - de spelar i sitt eget utrymme och har sina egna datafiler i den sandlådan. De kan bara dela spel i någon annans sandlåda när de uttryckligen har begärt tillstånd, och det görs via skärmarna som du ser ovan. När du accepterar dessa behörigheter och installerar appen ger du den appen behörighet att spela i sandlådorna som appen säger att den vill spela i.

På utvecklarens sida … och hur konsumenterna måste göra sin del

Bakom kulisserna förklarar apputvecklare dessa behörigheter i AndroidManifest.xml-filen, som är en obligatorisk del av källkoden för en Android-app. Dessa deklarationer är statiska och var och en av dem presenteras för användaren som vi har sett ovan. Android har inget sätt att bevilja behörigheter dynamiskt vid körning, eftersom enligt Android OS-utvecklare "komplicerar det användarupplevelsen till nackdel för säkerheten." Tvinga en app att berätta vad den vill göra, i förväg och aldrig kunna förändras - det är den yttersta säkerhetsmodellen.

Vänd sidan? Det är också det enklaste för användare att ignorera.

Vi vet allt om vad som hände med Path på iOS. Liksom många andra iOS-appar använde den kontakten utan tillstånd. Inte för avskräckliga ändamål, men ändå, utan något tillåtet i förväg och utan att fråga senare. Sökväg för Android skickade alla typer av data till sina servrar, precis som på iOS. Men som vi har visat i detta inlägg, i Android, måste Path först meddela tillståndet. Eller mer exakt, det förklarar tillåtelse, och du antingen accepterar eller avvisar det.

Problemet är när du installerar en app, troligen kommer du att vinda precis förbi behörighetsavsnittet. Du borde verkligen inte, men vi gör alla. Det faktum att behörigheterna inte är skrivna på vanligt språk är en del av problemet. Men även om de var det, skulle de flesta av oss klicka rätt förbi ändå. Det är så hur det är på alla plattformar. Å andra sidan finns det de som lurar över behörigheter eftersom de inte förstår dem. Återigen skulle ett mer användarvänligt språk hjälpa här.

Ett av alternativen till detta är att låta ansökan be om tillstånd vid körning, när den vill göra något kan den inte göra normalt. Vi har redan läst att Android-teamet tycker att detta är obekvämt och osäkert, så det kommer troligtvis inte att hända.

Ett annat alternativ är att tillåta utvalda behörigheter, precis som RIM gör med BlackBerry. Du slutar med applikationer som bara hälften fungerar eftersom du nekade behörigheter, precis som BlackBerry. Det finns ingen riktig idiotsäker metod, annat än att läsa allt när du installerar den appen och försöker förstå vad den ber om att göra och varför den frågar den.

Det är där vi alla kommer in. Vissa av oss förstår applikationstillstånd mer än andra, och när en app gör något bör den inte borde göra, hör du skriket. Läs behörigheterna. Läs marknadens kommentarer. Läs Android Central. När något går fel kommer du att höra om det.

Och en sista sak …

En särskild anmärkning måste gå här om säkerhetsproblem. Varje datorprogram - och det betyder också att varje mobilt operativsystem är chockfullt av dem. När en sårbarhet hittas som gör det möjligt för en applikation att kringgå säkerhetsmodellen, korrigerar Google den snabbt. Detta händer, och det kommer alltid att hända. Hur snabbt den här uppdateringen rullas ut beror på personer som gör din telefon. De förtjänar kredit när de gör det på rätt sätt, och hån när de tar för lång tid och gör det fel. Det är inte något som kommer att försvinna när som helst snart, och vi är där med dig för att ringa en OEM som inte håller saker så säkra och säkra som de borde vara.

Om du vill titta ännu djupare i Android-behörigheter kan du kolla in Googles utvecklingssida på dem.