Безопасность Android приложений

27.07.2017
Учитывая, что скорость современной жизни только увеличивается, а приложений для телефонов появляется все больше и больше, то и требования к самим телефонам тоже возрастают. Функционал должен быть удобным, приложения выполняться быстро и не заставлять пользователя ждать достаточно долго. 
Android и по сей день остается одним из лидеров мобильного рынка, благодаря открытой архитектуре платформы и удобства для API разработчиков. 

Не всегда все бывает хорошо - параллельно с ростом хорошего софта, растет и количество вредных программ, которые, в лучшем случае грузят телефон, показывают не нужную рекламу и т.п. Учитывая, что примерно 60% Android устройств работают на версиях системы с некоторым количеством уязвимостей, то потенциал для взлома со стороны мошенников значительно возрастает. 

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

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

Что не так с безопасностью

Главным процессом для всех Android устройств является процесс Zygote. Это каркас приложения, для устройства, в который уже загружены все необходимые библиотеки для окружения Android, но нет кода самого приложения. Запуск приложения с точки зрения ОС выглядит так:
  • Проходит системный вызов fork для создания потомка от процесса Zygote
  • В новом процессе открывается файл запуска приложения
  • Чтение файла классов (classes.dex) и ресурсов из файла приложения. Открытие сокетов IPC
  • Системный вызов mmap для отображения файлов
  • Среда выполнения производит настройку нужного окружения и запускает приложение
Начиная с версии 4.3 добавилось использование компонента мандатного контроля доступа SELinux, что повысило в некоторой степени безопасность всей системы.

По умолчанию само приложение не может никак повлиять на другие приложения или данные пользователя. Для получения доступа/ов приложение обращается к сервисам ОС Android. Система задает пользователю вопросы на выдачу таких разрешений. Т.е. пользователь сам решает какой доступ, какому приложению давать. К сожалению, такая свободная политика привела к не менее вольным действиям пользователей, которые перестали думать о безопасности своих устройств. 

В Android 6 Marshmallow политика была изменена и система стала запрашивать разрешение на доступ уже во время работы. Пользовательский интерфейс определяется компонентом Activity, который используется для описания одного экрана. Компонент может вызывать или обращаться к другим компонентам.

Компонент Service производит фоновую обработку, компонент Content provider сохраняет и обменивается данными. 



Написать комментарий:




Оформить заявку
CAPTCHA
Введите слово на картинке
Новые проекты
ОТПкредит
Следите за кредитом по-новому с приложением ОТПкредит!
Читать дальше
Интерьеры-Т
Мобильное приложения для салона итальянской мебели

Читать дальше
Amway
Мобильное приложение для сотрудников компании Amway

Читать дальше
Все проекты