Новости:

You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

В Помощь Автомобилисту!

Главное меню
avatar_dvinnn

Разрешения ANDROID 6.0 в защите и нападении

Автор dvinnn, 30-01-2016, 11:10

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

dvinnnTopic starter

Guests are not allowed to view images in posts, please You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Каждый день в мобильных устройствах выявляют уязвимости, которые могут быть проэксплуатированы злоумышленниками. Они могут отправить СМС на платный номер, могут собрать большую базу данных контактов и продать ее, а могут и скомпрометировать конкретного человека. Удачная эксплуатация уязвимости обычно предполагает соблюдение целого ряда условий. Но ведь можно пойти и другим путем! Дать пользователю вполне нужное приложение (игрушку c птичками), у которого в манифесте будет записан список интересной нам информации на устройстве. В данной статье мы рассмотрим способы получения и сохранения важной информации с Android-устройства.

Архитектура ОС Android построена таким образом, что позволяет обмениваться разного рода информацией между приложениями. Приложению, работающему с картами, нужно местоположениe, диктофону — доступ к микрофону. Таким образом, с виду все ясно и прозрачно.

Мы открыто прописываем в манифесте приложения требуемые данные или возможности и получаем их при установке. Никто никого не обманывает, все добровольно. Но проблема состоит в том, что пользователи ужасно неграмотны в информационных технологиях. Мало кто задумывается, для чего тому же диктофону требуется твое местоположение или доступ к СМС. Приложение открыто заявляет о своих намерениях в манифесте, и странно было бы ожидать от него другого поведения.

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

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

После установки шпионское приложение не нaдо даже запускать, так как в нем может быть прописан механизм приема широковещательных сообщений (BroadcastReceiver) , который при получении сообщения от системы запустит сервис сбора информации.

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

На такие ухищрения приходилось идти вплоть до версии Android 6.0 Marshmallow. В ней появился новый механизм работы с разрешениями.

Он позволяет давать и забирать разрешения во время работы самого приложения. Для обратной совместимости старых аппликух (то есть у которых значение targetSdkVernsio меньше 23) работает старый механизм запроса разрешений при установке. Обновленные приложения должны запрашивать разрешения в процессе работы. В настройках приложения мы можем посмотреть, к чему у приложения есть доступ, и при желании отозвать этот самый акцесс.

Рассмотрим работу данного механизма на устройстве с версией Android 6.0.

Давай установим птичек, но перед первым запуском отберем у них все права. При запросе прав при установке из гуглплея мы видим, что targetSdkVersion у приложения меньше 23. Экран настроек говорит нам о несколько завышенных интересах создателей приложения.

Guests are not allowed to view images in posts, please You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Запрос прав при установке птичек из маркета

Guests are not allowed to view images in posts, please You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Список разрешений птичек

Guests are not allowed to view images in posts, please You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Забираем разрешения

Guests are not allowed to view images in posts, please You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Вот так-то будет лучше

После отзыва разрешений я запустил игру, и оказалось, что нормальной работе это ничуть не помешало. Видимо, фоновый сервис сбора данных никак не влияет на основной игровой интерфейс.

Теперь давай рассмотрим работу с обновленным приложением Skype. Вот перед нами часть манифеста «похожего» приложения. Список разрешений и требований из манифеста приложения вдохновляет:
Извините, вам запрещён просмотр содержимого спойлеров.


Если бы только пользователи это видели...

Раз мы хотим сохранить хотя бы малую долю частной жизни, остается уповать только на операционную систему. Рассмотрим процесс установки приложения. При установке из маркета никаких диалоговых окон не показывается — все разрешения приложение будет спрашивать потом. Проверим в настройках.

Guests are not allowed to view images in posts, please You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
У скайпа разрешений нет

Guests are not allowed to view images in posts, please You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
У скайпа разрешений совсем нет

Guests are not allowed to view images in posts, please You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Запрос скайпа 1

Последовательно отклоняем все запросы, и скайп превращается в интернет-чат :).

Постой, я сказал «в интернет-чат»? А почему он не спросил разрешения на доступ в интернет? А все потому, что разрешения делятся на две группы: обычные и опасные. Доступ теперь должны запрашивать только последние. Список обычных разрешений можно посмотреть  You are not allowed to view links. Register or Login. А вот — You are not allowed to view links. Register or Login. Для создания запросов на разрешения есть подробные материалы: You are not allowed to view links. Register or Login, You are not allowed to view links. Register or Login, а вот и  You are not allowed to view links. Register or Login.
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login[url-disabled]Guests are not allowed to view images in posts, please You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
[/url-disabled]
Абсолютно уверен, что жить нужно так, чтобы было приятно; а чтобы было приятно, делать нужно только то, что хочется, а чего не хочется - не делать!
Кто хочет – ищет возможности! Кто не хочет – ищет причины!

🡱 🡳

* Ваши права в разделе

  • Вы не можете создавать новые темы.
  • Вы не можете отвечать в темах.
  • Вы не можете прикреплять вложения.
  • Вы не можете изменять свои сообщения.