Tech новости

Разрешения для приложений Android — Как Google делает это правильно …

Android-разрешения

В последнее время появилось много новостей о том, что в Apple или в безопасности, или в суждениях — и то и другое — действительно, оба — в Apple, которые позволяют приложениям iOS заимствовать ваши контактные данные и отправлять их неизвестным частям без вашего согласия. Apple обратилась к этой проблеме с членами Конгресса США и примет меры по усилению контроля в будущем обновлении iOS. Это хорошая новость, и мы рады, что это происходит.

Но как насчет Android? Во время всего этого сосредоточения на приложениях, выполняющих действия без явного разрешения пользователя, вы видите людей, обращающихся к модели разрешений Android. Мы собираемся сломать все это для вас. Это не идеально, но работает довольно хорошо — и это, безусловно, лучше, чем вообще отсутствие системы разрешений.

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

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

И обратите внимание, что мы говорим, что приложения «объявляют» разрешения, а не обязательно «запрашивают» их. Мы предполагаем, что семантика, но нет коробки с надписью «Привет, Джерри! Я — приложение, и я бы хотел, чтобы вы посмотрели на вашу контактную информацию. Вместо этого, приложения для Android более прямолинейны и говорят: «Эй, Джерри. Я приложение. Вот список того, что я могу сделать, просто я знаю. Возьми или оставь».

Приложения Android объявляют, к каким разрешениям они имеют доступ, и, следовательно, к каким песочницам они могут играть. И вы можете либо принять их и установить приложение, либо нет. Есть смысл?

Разрешения — аванс и личные в Android Market

Вот как это выглядит, если вы установите, скажем, Path. Вы получаете список макросов разрешений, которые объявляет Path. Нажмите один, и это объясняет это разрешение более подробно.

Путь для Android

Путь для Android

Вот как это выглядит, если вы устанавливаете какое-либо приложение из Android Market. Вам нужно прокрутить список, чтобы увидеть их все. Небольшой путь вниз — это тот, который получил путь (и другие) во всех видах проблем на iOS. В форме Android вы можете ясно видеть, что Path заявляет о разрешении на «Ваши личные данные — читать контактные данные». Нажмите на это разрешение, и вы получите более подробную информацию:

«Позволяет приложению считывать все контактные данные (адреса), хранящиеся на вашем телефоне. Вредоносные программы могут использовать это для отправки ваших данных другим людям».

Таким образом, Path сказал вам, что у него есть доступ к вашим контактным данным. Он не обязательно говорит вам, что он собирается с этим делать (если бы мы не только подняли его, вы бы действительно хотели знать?), Но он действительно говорит вам, что может его прочитать.

Приложения вне Android Market

Но что, если вы загрузите приложение? Или использовать Amazon Appstore? Приложения по-прежнему должны объявлять, какие разрешения они используют, и вы видите этот список разрешений при установке приложения. (Помните, что Amazon Appstore загружает приложения, поэтому то, что вы видите, точно такое же, как если бы вы установили приложение по электронной почте или загрузили.)

Вот как будет выглядеть боковая загрузка Gmail. Единственная реальная разница между боковой загрузкой и установкой из Android Market, поскольку разрешения выполняются, заключается в том, что при боковой загрузке вы не получите более подробное описание разрешений.

Загрузка Gmail

Почему все это? Приложения Android «песочницы» — они играют в своем собственном пространстве и имеют свои собственные файлы данных в этой песочнице. Они могут делиться игрой в чужой песочнице только после явного запроса на разрешение, и это делается через экраны, которые вы видите выше. Когда вы принимаете эти разрешения и устанавливаете приложение, вы даете этому приложению разрешение играть в песочницах, в которых оно заявило, что оно хочет играть.

На стороне разработчика … и как потребители должны делать свое дело

За кулисами разработчики приложений декларируют эти разрешения в файле AndroidManifest.xml, который является обязательной частью исходного кода для приложения Android. Эти объявления являются статическими, и каждое из них представляется пользователю, как мы видели выше. У Android нет способа динамического предоставления разрешений во время выполнения, потому что, по словам разработчиков ОС Android, « это усложняет взаимодействие с пользователем в ущерб безопасности». Заставляет приложение сообщать вам, что оно хочет сделать, заранее и никогда не быть возможность изменить — это предельная модель безопасности.

Обратная сторона? Пользователям также легче всего игнорировать.

Мы знаем все о том, что случилось с Path на iOS . Как и многие другие приложения для iOS, он использовал контакт без разрешения. Не для гнусных целей, но, тем не менее, без какого-либо предварительного разрешения и без запроса позже. Path для Android отправляет все виды данных на свои серверы, как это было на iOS. Но, как мы показали в этом посте, в Android, Path должен сначала объявить разрешение . Или, точнее, оно объявляет разрешение, и вы либо принимаете, либо отклоняете его.

Принять разрешения

Проблема в том, что когда вы устанавливаете приложение, скорее всего, вы собираетесь просто пройти мимо раздела с разрешениями. Вы действительно не должны, но мы все делаем это. Тот факт, что разрешения не написаны простым языком, является частью проблемы. Но даже если бы они были, большинство из нас все равно бы прорвались мимо. Это просто так на каждой платформе. С другой стороны, есть те, кто волнуется из-за разрешений, потому что они их не понимают. Опять же, более удобный язык поможет здесь.

Одна из альтернатив этому — приложение запрашивает разрешения во время выполнения, когда оно хочет сделать что-то, что оно не может сделать в обычном режиме. Мы уже читали, что команда Android считает это неудобным и небезопасным, поэтому вряд ли это произойдет.

Разрешения BlackBerry

Другая альтернатива — разрешить выбранные разрешения, как в RIM с BlackBerry . В итоге вы получите приложения, которые работают только наполовину, потому что вы отказали в разрешениях, как и BlackBerry. Там нет реального надежного метода, кроме чтения всего этого, когда вы устанавливаете это приложение и пытаетесь понять, что он просит сделать и почему он спрашивает его.

Вот где мы все вступаем. Некоторые из нас понимают права доступа к приложениям больше, чем другие, и когда приложение делает что-то, чего не должно делать, вы слышите крик. Прочитайте разрешения. Читайте комментарии Маркета. Читайте Android Central. Когда что-то пойдет не так, вы услышите об этом.

И последнее …

Особое примечание должно быть здесь о уязвимостях безопасности. Каждая компьютерная программа — и это означает, что каждая мобильная операционная система — переполнена ими. Когда обнаруживается уязвимость, позволяющая приложению обойти модель безопасности, Google быстро ее исправит. Это происходит, и это всегда будет происходить. Как быстро это обновление будет передано вам, зависит от людей, которые делают ваш телефон. Они заслуживают похвалы, когда они делают это правильным образом, и презрения, когда они делают это слишком долго и делают это неправильно . Это не то, что собирается исчезнуть в ближайшее время, и мы тут же с вами, чтобы вызвать OEM-производителя, который не делает вещи такими безопасными и надежными, как они должны быть.

Если вы хотите еще глубже погрузиться в разрешения Android, посетите страницу разработчиков Google на них .

Мы можем заработать комиссию за покупки, используя наши ссылки. Узнайте больше

Похожие посты
Tech новости

Про совет: Протрите порно с вашего телефона перед заменой его

Tech новости

Охранная фирма детализирует проблемы конфиденциальности; разработчик рассказывает нам свою сторону истории

Tech новости

Проект Android UI Utilities приносит унифицированные инструменты дизайна для разработчиков

Tech новости

Google утверждает, что популярные обои-приложения считаются безопасными