Тестирование на проникновение приложений для Android - часть 1

Тестирование на проникновение приложений для Android - часть 1

@webware

t.me/webware

Тестирование безопасности 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. Каждое приложение, работающее на 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 (например, веб-браузер и приложения электронной почты), так и приложения третьей стороны, установленные пользователем после покупки устройства. Типичные области применения: камера, будильник, часы, калькулятор, контакты, календарь, медиаплеер и т. д.

Источник codeby.net

Report Page