Logo id.androidermagazine.com
Logo id.androidermagazine.com

Izin aplikasi Android - cara google melakukannya dengan benar ...

Daftar Isi:

Anonim

Ada banyak berita akhir-akhir ini tentang penyimpangan dalam keamanan atau penilaian - keduanya, benar-benar - di Apple yang memungkinkan aplikasi iOS untuk meminjam data kontak Anda dan mengirimkannya ke bagian yang tidak diketahui tanpa persetujuan Anda. Apple telah membahas masalah ini kepada anggota Kongres AS, dan akan mengambil langkah-langkah untuk memegang kendali yang lebih ketat dalam pembaruan iOS di masa mendatang. Itu kabar baik, dan kami senang melihatnya terjadi.

Tapi bagaimana dengan Android? Selama semua fokus ini pada aplikasi melakukan hal-hal tanpa izin pengguna eksplisit, Anda melihat orang-orang merujuk pada model izin Android. Kami akan memecah semuanya untuk Anda. Ini tidak sempurna, tetapi bekerja cukup baik - dan tentu saja lebih baik daripada tidak ada sistem izin sama sekali.

Mari kita memandu Anda melalui perizinan di Android, dan bagaimana Anda harus memastikan Anda berpisah.

Secara desain, tidak ada aplikasi Android yang memiliki izin untuk melakukan operasi apa pun yang akan "berdampak buruk pada aplikasi lain, sistem operasi, atau pengguna." Agar aplikasi memiliki akses ke hal-hal seperti data kontak pribadi, data aplikasi lain, akses jaringan, atau bahkan sesuatu yang biasa seperti menulis data sendiri ke penyimpanan perangkat, aplikasi harus menyatakan bahwa ia akan memiliki izin untuk melakukannya, dan kemudian Anda harus menerima izin itu sebelum dapat menginstal aplikasi. Saat Anda memasang aplikasi, Anda diberikan daftar izin yang dideklarasikan oleh aplikasi.

Dan perhatikan bahwa kami mengatakan aplikasi "menyatakan" izin, dan tidak harus "meminta" mereka. Semantik, kami kira, tetapi tidak ada kotak yang bertuliskan "Hei, Jerry! Saya seorang aplikasi, dan saya ingin Anda membiarkan saya melihat informasi kontak Anda. Tidak apa-apa?" Alih-alih, aplikasi Android lebih langsung, dengan mengatakan, "Yo, Jerry. Saya adalah aplikasi. Ini daftar yang bisa saya lakukan, hanya saja, Anda tahu. Ambil atau tinggalkan."

Aplikasi Android menyatakan izin mana yang dapat mereka akses, dan dengan demikian kotak pasir mana yang bisa mereka mainkan. Dan Anda bisa memilih untuk menerimanya dan menginstal aplikasi, atau tidak. Masuk akal?

Izin - dimuka dan pribadi di Android Market

Begini tampilannya jika Anda menginstal, katakanlah, Path. Anda mendapatkan daftar makro izin yang dinyatakan Path. Ketuk satu, dan itu menjelaskan izin itu dengan sedikit lebih detail.

Begini tampilannya jika Anda menginstal aplikasi apa pun dari Android Market. Anda harus menggulir daftar untuk melihat semuanya. Sedikit cara adalah yang mendapatkan Path (dan lainnya) dalam segala macam masalah di iOS. Dalam formulir Android-nya, Anda dapat dengan jelas melihat bahwa Path menyatakan izin untuk "Data pribadi Anda - baca data kontak." Ketuk izin itu, dan Anda mendapatkan detail lebih lanjut:

"Mengizinkan aplikasi membaca semua data kontak (alamat) yang tersimpan di ponsel Anda. Aplikasi berbahaya dapat menggunakan ini untuk mengirim data Anda ke orang lain."

Jadi Path telah memberi tahu Anda bahwa ia memiliki akses ke data kontak Anda. Itu tidak selalu memberi tahu Anda apa yang akan dilakukan dengan itu (jika kita tidak hanya membawanya, apakah Anda benar-benar ingin tahu?), Tetapi ia memberi tahu Anda bahwa itu dapat membacanya.

Aplikasi di luar Android Market

Tetapi bagaimana jika Anda menghentikan aplikasi? Atau gunakan Amazon Appstore? Aplikasi masih harus menyatakan izin mana yang mereka gunakan, dan Anda melihat daftar izin itu ketika Anda menginstal aplikasi. (Ingat bahwa Amazon Appstore sideloads apps, jadi apa yang Anda lihat persis sama seperti jika Anda menginstal aplikasi dari email atau unduh.)

Beginilah tampilan sampingan Gmail. Satu-satunya perbedaan nyata antara pengalihan dan penginstalan dari Android Market, sejauh izin berjalan, adalah ketika Anda melakukan sideload, Anda tidak mendapatkan deskripsi izin yang lebih rinci.

Mengapa semua ini? Aplikasi Android adalah "kotak pasir" - mereka bermain di ruang mereka sendiri dan memiliki file data mereka sendiri di dalam kotak pasir itu. Mereka hanya dapat berbagi permainan di kotak pasir orang lain setelah secara eksplisit meminta izin, dan itu dilakukan melalui layar yang Anda lihat di atas. Saat Anda menerima izin itu dan menginstal aplikasi, Anda memberi izin aplikasi itu untuk bermain di kotak pasir yang menurut aplikasi ingin dimainkan.

Di sisi pengembang … dan bagaimana konsumen harus melakukan bagian mereka

Di belakang layar, pengembang aplikasi menyatakan izin ini dalam file AndroidManifest.xml, yang merupakan bagian yang diperlukan dari kode sumber untuk aplikasi Android. Deklarasi ini statis, dan semuanya disajikan kepada pengguna seperti yang telah kita lihat di atas. Android tidak memiliki cara untuk memberikan izin secara dinamis pada saat run-time, karena menurut pengembang OS Android "itu mempersulit pengalaman pengguna sehingga merugikan keamanan." Memaksa aplikasi untuk memberi tahu Anda apa yang ingin dilakukan, dimuka, dan tidak pernah bisa berubah - itulah model keamanan terbaik.

Sisi lain? Ini juga yang paling mudah bagi pengguna untuk diabaikan.

Kami tahu semua tentang apa yang terjadi dengan Path di iOS. Seperti banyak aplikasi iOS lainnya, aplikasi ini menggunakan kontak tanpa izin. Bukan untuk tujuan jahat, tapi tetap saja, tanpa izin di muka, dan tanpa bertanya kemudian. Path untuk Android mengirim semua jenis data ke servernya, seperti yang terjadi di iOS. Tapi seperti yang kami tunjukkan di pos ini, di Android, Path harus menyatakan izin terlebih dahulu. Atau, lebih tepatnya, itu menyatakan izin, dan Anda menerima atau menolaknya.

Masalahnya adalah ketika Anda menginstal aplikasi, kemungkinan besar Anda akan melewati bagian izin. Anda benar-benar tidak boleh, tetapi kita semua melakukannya. Fakta bahwa izin tidak ditulis dalam bahasa sederhana adalah bagian dari masalah. Tetapi bahkan jika mereka, sebagian besar dari kita akan mengklik kanan lewat saja. Itulah yang menonjol, di setiap platform. Di sisi lain, ada orang-orang yang takut izin karena mereka tidak memahaminya. Sekali lagi, lebih banyak bahasa yang ramah pengguna akan membantu di sini.

Salah satu alternatif untuk ini adalah memiliki aplikasi yang meminta izin pada saat run-time, ketika ingin melakukan sesuatu yang tidak dapat dilakukan secara normal. Kami telah membaca bahwa tim Android menganggap ini tidak nyaman dan tidak aman, sehingga tidak mungkin terjadi.

Alternatif lain adalah mengizinkan izin yang dipilih, seperti halnya RIM dengan BlackBerry. Anda berakhir dengan aplikasi yang hanya berfungsi setengah karena Anda menolak izin, sama seperti BlackBerry. Tidak ada metode yang sangat mudah, selain membaca semuanya ketika Anda menginstal aplikasi itu dan mencoba memahami apa yang diminta untuk dilakukan dan mengapa itu memintanya.

Di situlah kita semua masuk. Beberapa dari kita memahami izin aplikasi lebih dari yang lain, dan ketika sebuah aplikasi melakukan sesuatu yang seharusnya tidak boleh dilakukan, Anda mendengar teriakan itu. Baca izinnya. Baca komentar Pasar. Baca Android Central. Ketika sesuatu berjalan serba salah, Anda akan mendengarnya.

Dan satu hal lagi …

Perlu catatan khusus tentang kerentanan keamanan di sini. Setiap program komputer - dan itu berarti setiap sistem operasi seluler juga - penuh dengan mereka. Ketika kerentanan ditemukan yang memungkinkan aplikasi untuk memotong model keamanan, Google akan menambalnya dengan cepat. Ini terjadi, dan itu akan selalu terjadi. Seberapa cepat pembaruan ini diluncurkan kepada Anda tergantung pada orang-orang yang membuat ponsel Anda. Mereka layak mendapatkan penghargaan ketika mereka melakukannya dengan cara yang benar, dan cemoohan ketika mereka terlalu lama dan melakukannya dengan salah. Itu bukan sesuatu yang akan hilang dalam waktu dekat, dan kami di sana bersama Anda untuk memanggil OEM yang tidak menjaga barang-barang seaman dan semestinya.

Jika Anda ingin menyelami lebih dalam izin Android, lihat halaman pengembang Google.