Logo uk.androidermagazine.com
Logo uk.androidermagazine.com

Дозвіл додатків для Android - як Google правильно це зрозуміє ...

Зміст:

Anonim

Останнім часом з’явилося багато новин про проміжок безпеки або судового рішення - і те, і інше - в Apple, що дозволяє додаткам iOS позичати ваші контактні дані та відправляти їх у невідомі частини без вашого згоди. Компанія Apple звернулася з цим питанням до членів Конгресу США і вживатиме заходів для посилення контролю над майбутнім оновленням iOS. Це гарна новина, і ми раді бачити це.

А як щодо Android? Під час всього цього зосередження на програмах, які роблять речі без явного дозволу користувача, ви бачите людей, що посилаються на модель дозволів Android. Ми все поб'ємо для вас. Це не ідеально, але він працює досить добре - і це, звичайно, краще, ніж взагалі немає системи дозволів.

Давайте ознайомимо вас з дозволами на Android, і як вам потрібно обов’язково розлучитися.

За задумом жодна програма Android не має дозволу виконувати будь-яку операцію, яка "негативно вплине на інші програми, операційну систему чи користувача". Щоб додаток мав доступ до таких речей, як приватні контактні дані, дані іншої програми, доступ до мережі або навіть щось настільки звичне, як запис власних даних у сховище пристрою, додаток повинен заявити, що матиме дозволи на це, а потім Ви повинні прийняти цей дозвіл, перш ніж встановити додаток. Встановлюючи додаток, ви отримуєте список дозволів, які заява заявляє.

І зауважте, що ми заявляємо, що програми "декларують" дозволи, а не обов'язково "вимагають" їх. Семантика, ми гадаємо, але немає коробки, де написано "Ей, Джеррі! Я додаток, і я хотів би, щоб ви дали мені ознайомитися з вашою контактною інформацією. Що гаразд?" Натомість додатки для Android є більш прямими: "Йо, Джеррі. Я додаток. Ось список того, що я можу зробити, просто так знаю. Візьміть або залиште".

Програми Android заявляють, до яких дозволів вони мають доступ, і, таким чином, до пісочниць, в які вони можуть грати. Ви можете або прийняти їх, і встановити додаток, або ні. Мати сенс?

Дозволи - передові та персональні в Android Market

Ось як це виглядає, якщо встановити, скажімо, Шлях. Ви отримуєте список макросів дозволів, які оголошує Path. Торкніться одного, і це пояснить цей дозвіл дещо детальніше.

Ось так виглядає, якщо встановити будь-яку програму з Android Market. Вам потрібно буде прокрутити список, щоб побачити їх усіх. Трохи вниз - це той, який потрапив у Path (та інші) у всілякі проблеми на iOS. У його формі Android ви чітко бачите, що Path оголошує дозвіл на "Ваші особисті дані - читайте контактні дані". Торкніться цього дозволу, і ви отримаєте більш детальну інформацію:

"Дозволяє програмі зчитувати всі контактні (адресні) дані, що зберігаються на вашому телефоні. Зловмисні програми можуть використовувати це, щоб надсилати ваші дані іншим людям."

Тож Path сказав вам, що має доступ до ваших контактних даних. Це не обов'язково говорить вам, що ви будете з цим робити (якби ми не просто виховували це, ви б дійсно хотіли б знати?), Але це означає, що ви можете це прочитати.

Додатки за межами Android Market

Але що робити, якщо ви завантажуєте додаток? Або використовувати Amazon Appstore? Програми все ще повинні оголосити, які дозволи вони використовують, і ви побачите цей список дозволів під час встановлення програми. (Пам’ятайте, що Amazon Appstore завантажує додатки, тому те, що ви бачите, точно так само, як якщо б ви встановили додаток з електронної пошти або завантажили.)

Ось як виглядатиме завантаженість Gmail. Єдина реальна відмінність між завантаженням та встановленням з Android Market, наскільки це стосується дозволів, полягає в тому, що при завантаженні в сторону ви не отримуєте більш детальних описів дозволів.

Чому все це? Програми для Android є «пісочницями» - вони грають у своєму власному просторі та мають власні файли даних у цій пісочниці. Вони можуть ділитися грою лише в чужій пісочниці лише після явного запиту дозволу, і це робиться через екрани, які ви бачите вище. Коли ви приймаєте ці дозволи та встановлюєте додаток, ви даєте цьому додатку дозвіл на гру в пісочниці, за якою програма каже, що хоче грати.

Що стосується розробника … і як споживачі повинні виконувати свою роль

За лаштунками розробники додатків заявляють про ці дозволи у файлі AndroidManifest.xml, який є обов’язковою частиною вихідного коду для програми Android. Ці декларації є статичними, і кожна з них подається користувачеві, як ми бачили вище. Android не має можливості динамічно надавати дозволи на час виконання, тому що, на думку розробників ОС Android, "це ускладнює користувацький досвід на шкоду безпеці". Змушувати додаток розповідати вам, що він хоче робити, заздалегідь, і ніколи не в змозі змінити - ось максимальна модель безпеки.

Перевернутий бік? Користувачам це також найпростіше ігнорувати.

Ми знаємо все про те, що сталося з Path на iOS. Як і багато інших програм для iOS, він використовував контакт без дозволу. Не для шахрайських цілей, але, тим не менш, без будь-якого попереднього дозволу і не запитуючи пізніше. Шлях для Android надсилав всілякі дані на свої сервери, як і в iOS. Але, як ми показали в цій публікації, в Android, Path повинен спочатку оголосити дозвіл. Або, точніше, він оголошує дозвіл, а ви його або приймаєте, або відхиляєте.

Проблема полягає в тому, що ви встановлюєте додаток, швидше за все, ви будете віяком прямо через розділ дозволів. Ти справді не повинен, але ми це робимо. Те, що дозволи не написані простою мовою, є частиною проблеми. Але навіть якби вони були, більшість із нас так чи інакше натиснули б на минуле. Це так, як це відбувається, на кожній платформі. З іншого боку, є й такі, хто відлякує над дозволами, оскільки не розуміє їх. Знову ж, тут допоможе більш зручна мова.

Однією з альтернатив цьому є те, щоб програма вимагала дозволу під час виконання, коли вона хоче зробити щось, чого не може зробити нормально. Ми вже читали, що команда Android вважає, що це незручно і небезпечно, тому це, мабуть, не відбудеться.

Інша альтернатива - дозволити вибрані дозволи, як і RIM у BlackBerry. Ви закінчуєте додатки, які працюють лише наполовину, тому що вам заборонено дозволу, як і BlackBerry. Немає справжнього безпроблемного методу, окрім того, як прочитати все це, коли ви встановите цей додаток і намагаєтесь зрозуміти, що він просить зробити і чому це запитує.

Ось де ми всі входимо. Деякі з нас розуміють дозволи на програми більше, ніж інші, і коли програма робить щось, чого не повинно було робити, ви чуєте крик. Прочитайте дозволи. Прочитайте коментарі ринку. Читайте Android Central. Коли щось зіпсується, ви почуєте про це.

І остання річ …

Тут слід звернути особливу увагу про вразливості безпеки. Кожна комп’ютерна програма - а це означає і будь-яку мобільну операційну систему - теж заповнена ними. Коли буде виявлено вразливість, яка дозволяє програмі обходити модель безпеки, Google швидко виправить її. Це відбувається, і це завжди буде. Наскільки швидко це оновлення буде розроблене для вас, залежить від людей, які роблять ваш телефон. Вони заслуговують на кредит, коли роблять це правильно, і зневажають, коли забирають занадто довго і роблять неправильно. Це не те, що незабаром піде, і ми з вами тут, щоб закликати OEM, який не тримає речі настільки безпечними і безпечними, як вони повинні бути.

Якщо ви хочете заглибитись ще дозволу на Android, перегляньте сторінку розробників Google на них.