Logo da.androidermagazine.com
Logo da.androidermagazine.com

Android-app-tilladelser - hvordan Google får det rigtigt ...

Indholdsfortegnelse:

Anonim

Der har været en masse nyheder i det seneste om et bortfald i enten sikkerhed eller dømmekraft - begge, virkelig - hos Apple, der giver iOS-applikationer mulighed for at låne dine kontaktdata og sende dem til dele, der er ukendt uden dit samtykke. Apple har adresseret spørgsmålet til medlemmer af den amerikanske kongres og vil tage skridt til at holde strammere kontrol i en fremtidig iOS-opdatering. Det er gode nyheder, og vi er glade for at se det ske.

Men hvad med Android? Under alt dette fokus på apps, der gør ting uden eksplicit brugertilladelse, ser du folk, der henviser til Android-tilladelsesmodellen. Vi vil nedbryde det hele for dig. Det er ikke perfekt, men det fungerer temmelig godt - og det er bestemt bedre end intet tilladelsessystem overhovedet.

Lad os lede dig gennem tilladelser på Android, og hvordan du skal være sikker på, at du deler dig.

Ved design har ingen Android-applikation tilladelse til at udføre nogen handling, der "vil have negativ indflydelse på andre applikationer, operativsystemet eller brugeren." For at en app skal have adgang til ting som private kontaktdata, en anden applikations data, netværksadgang eller endda noget så dagligdags som at skrive sine egne data til enhedens lager, skal appen erklære, at den har tilladelser til at gøre det, og derefter skal du acceptere denne tilladelse, før du kan installere appen. Når du installerer en app, får du vist en liste over tilladelser, som applikationen erklærer.

Og bemærk, at vi siger, at applikationer "erklærer" tilladelser og ikke nødvendigvis "anmoder om" dem. Semantik antager vi, men der er ingen boks der siger "Hej Jerry! Jeg er en app, og jeg vil meget gerne have dig til at se mig på dine kontaktoplysninger. Det er OK?" I stedet for er Android-apps mere direkte og siger "Yo, Jerry. Jeg er en app. Her er en liste over hvad jeg kan gøre, bare sos ya ved det. Tag det eller lad det være."

Android-apps erklærer, hvilke tilladelser de har adgang til, og dermed hvilke sandkasser de kan spille i. Og du kan enten vælge at acceptere dem og installere appen, eller ej. Giver mening?

Tilladelser - på forhånd og personlig i Android Market

Sådan ser det ud, hvis du installerer, siger, Sti. Du får en makroliste over tilladelser, som Path erklærer. Tryk på en, og det forklarer tilladelsen i en lidt større detalje.

Sådan ser det ud, hvis du installerer et program fra Android Market. Du skal rulle gennem listen for at se dem alle. Lidt ned ad vejen er den der har fået sti (og andre) i alskens problemer på iOS. I sin Android-form kan du tydeligt se, at Path erklærer tilladelsen til "Dine personlige data - læs kontaktdata." Tryk på denne tilladelse, så får du flere detaljer:

"Tillader, at et program læser alle kontakt- (adresse) -data, der er gemt på din telefon. Ondsindede applikationer kan bruge dette til at sende dine data til andre mennesker."

Så Path har fortalt dig, at den har adgang til dine kontaktdata. Det fortæller dig ikke nødvendigvis, hvad det vil gøre med det (hvis vi ikke bare havde bragt det op, ville du virkelig gerne vide det?), Men det fortæller dig, at det kan læse det.

Apps uden for Android Market

Men hvad nu hvis du sideloader en app? Eller brug Amazon Appstore? Programmer skal stadig angive, hvilke tilladelser de bruger, og du ser denne tilladelsesliste, når du installerer appen. (Husk, at Amazon Appstore indlæser apps, så det, du ser, er nøjagtigt det samme, som hvis du installerede en app fra en e-mail eller download.)

Her er, hvordan sideladning af Gmail ser ud. Den eneste virkelige forskel mellem sidelæsning og installation fra Android Market, i det omfang der er tilladelser, er, at når du sideloader, får du ikke de mere detaljerede tilladelsesbeskrivelser.

Hvorfor alt dette? Android-applikationer er "sandkasse" - de spiller i deres eget rum og har deres egne datafiler i denne sandkasse. De kan kun dele spil i en andens sandkasse, når de eksplicit har bedt om tilladelse, og det sker via de skærme, du ser ovenfor. Når du accepterer disse tilladelser og installerer appen, giver du den app tilladelse til at spille i sandkasser, som appen siger, at den vil spille i.

På udviklersiden … og hvordan forbrugere skal gøre deres del

Bag kulisserne erklærer appudviklere disse tilladelser i filen AndroidManifest.xml, som er en påkrævet del af kildekoden til en Android-app. Disse erklæringer er statiske, og hver eneste af dem præsenteres for brugeren, som vi har set ovenfor. Android har ingen mulighed for at tildele tilladelser dynamisk ved kørsel, fordi det ifølge Android OS-udviklerne "komplicerer brugeroplevelsen til skade for sikkerheden." Tvinge en app til at fortælle dig, hvad den vil gøre, på forhånd og aldrig kunne ændre sig - det er den største sikkerhedsmodel.

Vend siden? Det er også det nemmeste for brugerne at ignorere.

Vi ved alt om, hvad der skete med Path på iOS. Som mange andre iOS-apps brugte den kontakten uden tilladelse. Ikke til uheldige formål, men ikke desto mindre uden nogen forhånds tilladelse og uden at spørge senere. Sti til Android sendte alle mulige data til sine servere, ligesom det gjorde på iOS. Men som vi har vist i dette indlæg, i Android, skal Path først erklære tilladelsen. Eller mere præcist erklærer det tilladelse, og du enten accepterer eller afviser det.

Problemet er, når du installerer en app, sandsynligvis vil du brise lige forbi tilladelsesafsnittet. Det skulle du virkelig ikke, men vi gør det alle sammen. Det faktum, at tilladelserne ikke er skrevet på almindeligt sprog, er en del af problemet. Men selvom de var det, ville de fleste af os klikke lige forbi alligevel. Sådan er det, hvordan det er, på enhver platform. På den anden side er der dem, der grimser over tilladelser, fordi de ikke forstår dem. Igen ville mere brugervenligt sprog hjælpe her.

Et af alternativerne til dette er at få applikationen til at anmode om tilladelser på kørsel, når den vil gøre noget, den ikke kan gøre normalt. Vi har allerede læst, at Android-teamet synes, dette er upraktisk og usikkert, så det er ikke sandsynligt, at det sker.

Et andet alternativ er at tillade valgte tilladelser, ligesom RIM gør med BlackBerry. Du ender med applikationer, der kun halvdelen fungerer, fordi du nægtede tilladelser, ligesom BlackBerry. Der er ingen rigtig idiotsikker metode, bortset fra at læse det hele, når du installerer den app og prøver at forstå, hvad den beder om at gøre, og hvorfor den spørger den.

Det er her vi alle kommer ind. Nogle af os forstår applikationstilladelser mere end andre, og når en app gør noget, burde den ikke skulle gøre, hører du skriget. Læs tilladelserne. Læs markedets kommentarer. Læs Android Central. Når noget går galt, vil du høre om det.

Og en sidste ting …

En særlig note skal gå her om sikkerhedssårbarheder. Hvert computerprogram - og det betyder også hvert mobilt operativsystem - er fyldt med dem. Når der findes en sårbarhed, der tillader en applikation at omgå sikkerhedsmodellen, vil Google lappe den hurtigt. Dette sker, og det vil altid ske. Hvor hurtigt denne opdatering bliver rullet ud til dig, afhænger af de mennesker, der opretter din telefon. De fortjener æren, når de gør det på den rigtige måde, og foragt når de tager for lang tid og gør det forkert. Det er ikke noget, der snart vil forsvinde, og vi er lige der sammen med dig for at kalde en OEM, der ikke holder tingene så sikre og sikre, som de burde være.

Hvis du ønsker at dykke endnu dybere i Android-tilladelser, kan du tjekke Google-udviklersiden på dem.