Logo hr.androidermagazine.com
Logo hr.androidermagazine.com

Dozvole aplikacije za Android - kako Google to ispravno shvaća ...

Sadržaj:

Anonim

U posljednje vrijeme ima puno vijesti o padu sigurnosti ili presude - oboje, zaista - u Appleu koji omogućuje iOS aplikacijama da posuđuju vaše kontaktne podatke i pošalju ih u nepoznate dijelove bez vašeg pristanka. Apple je to pitanje obratio članovima Kongresa SAD-a i poduzet će korake kako bi održao pooštrenu kontrolu u budućem ažuriranju za iOS. To je dobra vijest i drago nam je da se to događa.

Ali što je s Androidom? Tijekom čitavog tog fokusiranja na aplikacije koje rade bez izričitog dopuštenja korisnika, vidjet ćete ljude koji se odnose na model dozvola za Android. Sve ćemo razbiti za vas. Nije savršen, ali djeluje prilično dobro - i sigurno je bolji od uopće ne dozvoljenog sustava.

Provjerimo vas kroz dopuštenja na Androidu i kako trebate biti sigurni da ste dio.

Po dizajnu nijedna Android aplikacija nema dozvolu za izvođenje bilo koje operacije koja bi "negativno utjecala na druge aplikacije, operativni sustav ili korisnika". Da bi aplikacija imala pristup stvarima poput privatnih podataka o kontaktima, podacima druge aplikacije, mrežnom pristupu ili čak nečemu što je uobičajeno kao što je pisanje vlastitih podataka u pohranu uređaja, aplikacija mora izjaviti da će za to imati dopuštenja, a zatim morate prihvatiti to dopuštenje prije nego što možete instalirati aplikaciju. Kad instalirate aplikaciju, prikazat će vam se popis dopuštenja koja aplikacija izjavljuje.

I imajte na umu da kažemo da aplikacije "deklariraju" dozvole, a ne nužno i "zahtijevaju" ih. Semantika, pretpostavljamo, ali ne postoji kutija na kojoj piše "Hej, Jerry! Ja sam aplikacija i volio bih da mi dopustite da pogledam vaše kontakt podatke. To je u redu?" Umjesto toga, Android aplikacije su izravnije, govoreći: "Yo, Jerry. Ja sam aplikacija. Evo popisa što mogu učiniti, samo znaš. Uzmi ili ostavi."

Androidove aplikacije izjavljuju kojim dozvolama pristupaju i na taj način u koji sandbox se mogu igrati. A možete ih i prihvatiti ili instalirati ili ne. Ima smisla?

Dozvole - napredna i osobna na Android Marketu

Evo kako to izgleda ako instalirate, recimo, Path. Dobijate makro popis dozvola koje Path izjavljuje. Dodirnite jedan i to objašnjava malo više detalja.

Tako to izgleda ako instalirate bilo koji program s Android Market-a. Morat ćete se pomicati kroz popis da biste ih vidjeli. Nekoliko načina dolje je onaj koji ima Path (i druge) u raznim problemima na iOS-u. U njegovom Android obliku možete jasno vidjeti da Path izjavljuje dozvolu za "Vaše osobne podatke - pročitajte kontaktne podatke." Dodirnite to dopuštenje i dobit ćete više detalja:

"Aplikaciji omogućuje čitanje svih podataka o kontaktima (adresama) pohranjenih na vašem telefonu. Zlonamjerne aplikacije mogu to koristiti za slanje vaših podataka drugim ljudima."

Dakle, Path vam je rekao da ima pristup vašim kontaktnim podacima. To vam ne mora nužno reći što ćete učiniti s tim (da ga nismo samo iznijeli, biste li to stvarno željeli znati?), Ali vam kaže da to može pročitati.

Aplikacije izvan Android Market-a

Ali što ako dodate aplikaciju? Ili koristite Amazon Appstore? Aplikacije još trebaju izjaviti koja dopuštenja koriste i vidjet ćete taj popis dopuštenja prilikom instaliranja aplikacije. (Imajte na umu da Amazon Appstore preuzima aplikacije, tako da ono što vidite je potpuno isto kao da ste instalirali aplikaciju s e-pošte ili je preuzeli.)

Evo kako bi izgledao Gmail s dodatnim učitavanjem. Jedina stvarna razlika između bočnog preuzimanja i instaliranja s Android Market-a, u mjeri u kojoj postoje dozvola, jest ta što kada bočno učitavate, ne dobijate detaljnije opise dozvola.

Zašto sve to? Android aplikacije su „na pijesku“ - reproduciraju se u svom prostoru i imaju svoje datoteke podataka unutar tog sandbox-a. Oni mogu dijeliti igru ​​samo u tuđem sandžaku nakon što eksplicitno zatraže dozvolu, a to se događa preko zaslona koje vidite gore. Kad prihvatite ta dopuštenja i instalirate je, dajete njoj aplikaciju za igranje u kutiji s pjesmama, za koju kaže da se želi igrati.

Sa strane programera … i kako potrošači moraju učiniti svoj dio

Programi aplikacija iza koda izjavljuju ta dopuštenja u datoteci AndroidManifest.xml, što je obavezni dio izvornog koda za Androidovu aplikaciju. Ove su izjave statičke i svaka od njih predstavljena je korisniku kao što smo vidjeli gore. Android nema načina za dinamičko dodjeljivanje dozvola za vrijeme izvođenja, jer prema programerima Android OS-a „to komplicira korisničko iskustvo na štetu sigurnosti“. Prisiljavanje aplikacije da vam govori što želi učiniti, unaprijed i nikad ne moći promijeniti - to je najveći sigurnosni model.

Okretanje? Korisnicima je također najlakše zanemariti.

Znamo sve o onome što se dogodilo s Pathom na iOS-u. Kao i mnoge druge iOS aplikacije, i on je kontakt koristio bez odobrenja. Ne za gadne svrhe, ali bez ikakvog prethodnog odobrenja i bez kasnijeg upita. Path for Android slao je sve vrste podataka na svoje poslužitelje, baš kao što je to činio na iOS-u. Ali kao što smo pokazali u ovom postu, u Androidu Path mora najprije proglasiti dozvolu. Ili točnije, deklarira dozvolu, a vi je ili prihvaćate ili odbijate.

Problem je kada instalirate aplikaciju, najvjerojatnije ćete krenuti pravo iza odjeljka s dozvolama. Zaista ne bi trebao, ali svi to radimo. Činjenica da dozvole nisu napisane na običnom jeziku dio je problema. Ali čak i da jesu, većina bi nas ionako kliknula desno. Tako je, na svakoj platformi. S druge strane, postoje oni koji preziru dopuštenja jer ih ne razumiju. Opet, ovdje bi vam pomogao više prilagođen jezik.

Jedna od alternativa tomu je da aplikacija zatraži dozvole u vrijeme izvođenja, kada želi učiniti nešto što ne može normalno. Već smo pročitali da Androidov tim misli da je to nezgodno i nesigurno, pa se vjerojatno neće dogoditi.

Druga je mogućnost omogućavanje odabranih dozvola, slično kao što RIM radi s BlackBerryjem. Na kraju ste s aplikacijama koje rade samo pola jer ste uskratili dozvole, baš kao i BlackBerry. Ne postoji prava metoda za zaštitu od beskraja, osim čitanja svega kad instalirate tu aplikaciju i pokušavate shvatiti što je to potrebno učiniti i zašto to postavlja.

Tu svi ulazimo. Neki od nas razumiju dopuštenja aplikacija više od drugih, a kad aplikacija napravi nešto što ne bi smjela raditi, čujete negodovanje. Pročitajte dopuštenja. Pročitajte komentare na tržištu. Pročitajte Android Central. Kad nešto pođe po zlu, čut ćete o tome.

I još jedna stvar …

Ovdje je potrebna posebna napomena o sigurnosnim ranjivostima. Svaki računalni program - a to znači i svaki mobilni operativni sustav - prepun je njih. Kad se utvrdi ranjivost koja omogućuje aplikaciji da zaobiđe sigurnosni model, Google će ga brzo zakrpati. To se događa, i uvijek će se događati. Koliko brzo će vam se ovo ažuriranje dostaviti ovisi o ljudima koji vam daju telefon. Zaslužuju kad zaslužuju kad rade na pravi način, a prezir kad predugo traju i učine pogrešno. To neće nešto uskoro nestati, a mi smo tu s vama da pozovete OEM koji ne drži stvari onako sigurno i sigurno kao što bi trebali biti.

Ako želite zaroniti još dublje u dozvole za Android, pogledajte stranicu Google programera na njima.