Logo ro.androidermagazine.com
Logo ro.androidermagazine.com

Permisiuni pentru aplicații Android - cum Google are dreptate ...

Cuprins:

Anonim

În ultima perioadă au apărut o mulțime de știri despre o perioadă de securitate sau de judecată - ambele, într-adevăr - la Apple, care permite aplicațiilor iOS să împrumute datele de contact și să le trimită către părți necunoscute fără acordul dumneavoastră. Apple a adresat problema membrilor Congresului SUA și va lua măsuri pentru a controla mai strâns într-o viitoare actualizare iOS. Aceasta este o veste bună și ne bucurăm să vedem că se întâmplă.

Dar despre Android? În timpul acestui accent pe aplicațiile care fac lucruri fără permisiunea explicită a utilizatorului, vedeți oameni care se referă la modelul de permisiuni Android. Vom distruge totul pentru tine. Nu este perfect, dar funcționează destul de bine - și cu siguranță este mai bine decât niciun sistem de permis.

Haideți să vă parcurgeți permisiunile pe Android și cum trebuie să fiți siguri că vă faceți parte.

Prin proiectare, nicio aplicație Android nu are permisiunea de a efectua vreo operațiune care ar „afecta negativ alte aplicații, sistemul de operare sau utilizatorul”. Pentru ca o aplicație să aibă acces la lucruri precum datele de contact private, datele unei alte aplicații, accesul la rețea sau chiar ceva la fel de banal precum scrierea propriilor date în stocarea dispozitivului, aplicația trebuie să declare că va avea permisiuni pentru a face acest lucru, apoi trebuie să acceptați această permisiune înainte de a putea instala aplicația. Când instalați o aplicație, vi se prezintă o listă de permisiuni pe care aplicația o declară.

Și rețineți că spunem că aplicațiile „declară” permisiunile și nu neapărat „le solicită”. Presupunem că semantică, dar nu există nicio casetă care să spună "Hei, Jerry! Sunt o aplicație și mi-ar plăcea să mă lași să arunc o privire asupra informațiilor tale de contact. E OK?" În schimb, aplicațiile pentru Android sunt mai directe, spunând "Yo, Jerry. Sunt o aplicație. Iată o listă cu ce pot face, doar știu că știi. Luați-o sau lăsați-o."

Aplicațiile Android declară ce permisiuni au acces și, prin urmare, la ce cutii de nisip se pot juca. Și puteți alege să le acceptați și să instalați aplicația, sau nu. Are sens?

Permisiuni - avansate și personale în Android Market

Iată cum arată dacă instalați, spuneți, Calea. Obțineți lista macro de permisiuni pe care calea este declarată. Atingeți unul și vă explică permisiunea cu un detaliu puțin mai mare.

Așa arată dacă instalați orice aplicație de pe Android Market. Va trebui să derulați lista pentru a le vedea pe toate. O mică modalitate de descărcare este cea care a primit Path (și altele) în tot felul de probleme pe iOS. În formularul său Android, puteți vedea clar că Calea declară permisiunea pentru „Datele dvs. personale - citiți datele de contact”. Atingeți această permisiune și veți obține mai multe detalii:

"Permite unei aplicații să citească toate datele de contact (adresă) stocate pe telefonul dvs.. Aplicațiile dăunătoare pot utiliza acest lucru pentru a vă trimite datele altor persoane."

Deci Path v-a spus că are acces la datele dvs. de contact. Nu vă spune neapărat ce va face cu el (dacă nu l-am fi adus la cunoștință, vreți să știți cu adevărat?), Dar vă spune că îl puteți citi.

Aplicații în afara Android Market

Dar dacă încercați să încărcați o aplicație? Sau folosiți Amazon Appstore? Aplicațiile trebuie să declare în continuare ce permisiuni folosesc și vedeți acea listă de permisiuni când instalați aplicația. (Amintiți-vă că aplicația Amazon Appstore declansează aplicațiile, deci ceea ce vedeți este exact același ca și când ați instalat o aplicație dintr-un e-mail sau descărcare.)

Iată cum ar arăta Gmail. Singura diferență reală între încărcarea de sid și instalarea de pe Android Market, în măsura în care sunt permisiunile, este că atunci când ați încărcat contul, nu veți primi descrierile de permisiuni mai detaliate.

De ce toate astea? Aplicațiile Android sunt „sandboxed” - se joacă în propriul spațiu și au propriile fișiere de date în acea cutie de nisip. Acestea pot împărtăși jocul în cutia de nisip a altcuiva după ce a cerut în mod explicit permisiunea, iar acest lucru se face prin ecranele pe care le vedeți mai sus. Când acceptați acele permisiuni și instalați aplicația, acordați permisiunii respectivei aplicații pentru a reda în casetele de nisip, aplicația spune că dorește să joace.

În ceea ce privește dezvoltatorul … și modul în care consumatorii trebuie să își facă partea

În spatele scenei, dezvoltatorii de aplicații declară aceste permisiuni în fișierul AndroidManifest.xml, care este o parte necesară a codului sursă pentru o aplicație Android. Aceste declarații sunt statice și fiecare dintre ele este prezentată utilizatorului așa cum am văzut mai sus. Android nu are cum să acorde permisiuni în mod dinamic în timpul rulării, deoarece, potrivit dezvoltatorilor sistemului de operare Android, „complică experiența utilizatorului în detrimentul securității”. Forțând o aplicație să vă spună ce vrea să facă, în avans și niciodată să nu poată schimba - acesta este modelul de securitate maximă.

Partea flip? Este, de asemenea, cel mai ușor de ignorat de către utilizatori.

Știm totul despre ce s-a întâmplat cu Path pe iOS. La fel ca multe alte aplicații iOS, a folosit contactul fără permisiune. Nu în scopuri nefaste, dar, totuși, fără nicio permisiune în față și fără a cere mai târziu. Path pentru Android a trimis tot felul de date pe serverele sale, la fel ca și pe iOS. Dar după cum am arătat în această postare, în Android, Path trebuie să declare mai întâi permisiunea. Sau, mai precis, declară permisiunea și fie o acceptați, fie o respingeți.

Problema este când instalați o aplicație, cel mai probabil veți pleca imediat după secțiunea de permisiuni. Chiar nu ar trebui, dar cu toții o facem. Faptul că permisiunile nu sunt scrise în limbaj simplu este o problemă. Dar chiar dacă ar fi, majoritatea dintre noi oricum ar face clic pe trecut. Asta înseamnă că este, pe fiecare platformă. Pe de altă parte, există și cei care se desprind de permisiuni, deoarece nu le înțeleg. Din nou, un limbaj mai ușor de utilizat ar ajuta aici.

Una dintre alternativele este aceea ca aplicația să ceară permisiuni în timp de execuție, atunci când dorește să facă ceva ce nu poate face în mod normal. Am citit deja că echipa Android consideră că acest lucru este incomod și nesigur, deci nu este posibil să se întâmple.

O altă alternativă este de a permite permisiunile selectate, la fel cum face RIM cu BlackBerry. Puteți termina cu aplicații care funcționează doar pe jumătate, deoarece ați refuzat permisiunile, la fel ca BlackBerry. Nu există o metodă reală care să nu fie prostă, în afară de a citi totul când instalați aplicația respectivă și de a încerca să înțelegeți ce cere să facă și de ce o cereți.

Acolo venim cu toții. Unii dintre noi înțeleg mai mult permisiunile de aplicare decât alții, iar când o aplicație face ceva ce nu ar trebui să facă, auziți strigătele. Citiți permisiunile. Citiți comentariile pieței. Citiți Android Central. Când ceva se va descurca, vei auzi despre asta.

Și un ultim lucru …

O notă specială trebuie să meargă aici despre vulnerabilitățile de securitate. Fiecare program de calculator - și asta înseamnă că și fiecare sistem de operare mobil - este plin de ele. Când se constată o vulnerabilitate care permite unei aplicații să ocolească modelul de securitate, Google o va aplica rapid. Acest lucru se întâmplă și mereu se va întâmpla. Cât de repede este actualizată această actualizare depinde de persoanele care vă fac telefonul. Ei merită creditul atunci când îl fac așa cum trebuie, și disprețul când iau prea mult timp și îl fac rău. Nu este ceva care va dispărea în curând și suntem chiar acolo cu tine pentru a chema un OEM care nu păstrează lucrurile la fel de sigure și sigure pe cât ar trebui să fie.

Dacă încercați să vă scufundați și mai profund în permisiunile Android, consultați pagina dezvoltatorului Google de pe ele.