Тестирование безопасности Android чаще используется службами безопасности для проверки уязвимостей в приложениях Android. После веб-приложений больше внимания следует уделить тестированию на проникновение мобильных приложений. Давайте начнем с некоторых основ.
Основная структура устройства Android
Ядро Linux
Для оборудования всегда требовались драйверы в качестве программного обеспечения для устойчивой работы этого устройства. Мы выбираем ядро Linux, поскольку оно имеет функции безопасности, такие как:
- Пользовательская модель разрешений
- Изоляция процесса
- Расширяемый механизм для безопасного IPC
- Возможность удаления ненужных и потенциально незащищенных частей ядра
Уровень абстракции оборудования просто предоставляет приложениям прямой доступ к аппаратным ресурсам.
Bluetooth, аудио, радио и т.д.
В верхней части Hardware Abstraction Layer находится слой, который содержит некоторые из наиболее важных и полезных библиотек.
Ниже приведен список полезных библиотек, таких как:
Surface Manager: управляет окнами и экранами
Media Framework: Это позволяет использовать различные типы кодеков для воспроизведения и записи различных носителей
SQLite: это облегченная версия SQL, которая используется для управления базой данных
WebKit: это средство для работы браузера
OpenGL: используется для передачи 2D и 3D контента на экран соответственно, библиотеки в Android написаны на C и C ++
Виртуальная машина Dalvik, специально разработанная Android Open Source Project (Проект Android по разработке программного обеспечения с открытым исходным кодом) для выполнения приложений, написанных для
Ссылка скрыта от гостей
. Каждое приложение, работающее на Android-устройстве, имеет собственную виртуальную машину Dalvik.Android Runtime (ART) является альтернативой Виртуальной Машине Dalvik, выпущенной с Android 4.4 в качестве экспериментальной версии, в Android Lollipop (5.0) он может полностью заменить Виртуальную Машину Dalvik.
Значительное изменение в ART связано с досрочной компиляцией (ahead-of-time (AOT)) и сборкой ненужных данных. В досрочной (AOT) компиляции приложения для Android будут скомпилированы, когда пользователь установит их на своем устройстве, тогда как в Dalvik используется компиляция точно в нужный момент (Just-in-time(JIT)), в которой байт-код компилируется, когда пользователь запускает приложение.
Переход к последней является обычным делом. Начиная с версии Android 4.4, имеется также еще один способ работы под названием Android Runtime (ART), и пользователь может переключаться между средами DVM и ART Runtime.
Фреймворк приложения
Уровень Фреймворка приложения предоставляет множество услуг более высокого уровня для приложений класса Java. Разработчикам приложений разрешено использовать эти службы в своих приложениях.
Фреймворк приложения включает следующие ключевые службы
Менеджер активности - жизненный цикл приложения и стек управляются менеджером активности
Провайдер контента (Content Provider)
Компонент провайдера контента поставляет данные от одного приложения к другому по запросу.
Вы можете хранить данные в файловой системе, базе данных SQLite, в Интернете или в любом другом постоянном хранилище, к которому может обратиться ваше приложение.
Через провайдера контента другие приложения могут запрашивать или даже изменять данные (если это позволяет поставщик контента).
Контент-провайдер полезен в тех случаях, когда приложение хочет обмениваться данными с другим приложением.
Менеджер ресурсов - обеспечивает доступ к встроенным не кодированным ресурсам, таким как строки, настройки цвета и макеты пользовательского интерфейса.
Менеджер уведомлений - Позволяет приложениям отображать оповещения и уведомления пользователю.
Система просмотра - расширяемый набор просмотров, используемых для создания пользовательских интерфейсов приложений.
Менеджер пакетов - система, с помощью которой приложения могут узнать информацию о других приложениях, только что установленных на устройстве.
Менеджер телефонии - предоставляет информацию в приложении об услугах телефонии, доступных на устройстве, таких как статус и информация о подписчике.
Менеджер местоположений - предоставляет доступ к службам определения местоположения, позволяющим приложению получать обновления об изменениях местоположения.
Приложения
Приложения находятся на вершине стека программ Android. Они включают как «родные» приложения, обеспечиваемые конкретной реализацией Android (например, веб-браузер и приложения электронной почты), так и приложения третьей стороны, установленные пользователем после покупки устройства. Типичные области применения: камера, будильник, часы, калькулятор, контакты, календарь, медиаплеер и т. д.
Источник:
Ссылка скрыта от гостей