• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

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

android.jpg


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

Основная структура устройства Android

main-qimg-6f8db847aa763cbf511c9c271da8aa48.webp



Ядро Linux

Для оборудования всегда требовались драйверы в качестве программного обеспечения для устойчивой работы этого устройства. Мы выбираем ядро Linux, поскольку оно имеет функции безопасности, такие как:

  • Пользовательская модель разрешений
  • Изоляция процесса
  • Расширяемый механизм для безопасного IPC
  • Возможность удаления ненужных и потенциально незащищенных частей ядра

Уровень абстракции оборудования просто предоставляет приложениям прямой доступ к аппаратным ресурсам.

Bluetooth, аудио, радио и т.д.

8.png


В верхней части 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. Разработчикам приложений разрешено использовать эти службы в своих приложениях.

33.png



Фреймворк приложения включает следующие ключевые службы

Менеджер активности - жизненный цикл приложения и стек управляются менеджером активности

Провайдер контента (Content Provider)
Компонент провайдера контента поставляет данные от одного приложения к другому по запросу.

Вы можете хранить данные в файловой системе, базе данных SQLite, в Интернете или в любом другом постоянном хранилище, к которому может обратиться ваше приложение.

Через провайдера контента другие приложения могут запрашивать или даже изменять данные (если это позволяет поставщик контента).

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

Менеджер ресурсов - обеспечивает доступ к встроенным не кодированным ресурсам, таким как строки, настройки цвета и макеты пользовательского интерфейса.

Менеджер уведомлений - Позволяет приложениям отображать оповещения и уведомления пользователю.

Система просмотра - расширяемый набор просмотров, используемых для создания пользовательских интерфейсов приложений.

Менеджер пакетов - система, с помощью которой приложения могут узнать информацию о других приложениях, только что установленных на устройстве.

Менеджер телефонии - предоставляет информацию в приложении об услугах телефонии, доступных на устройстве, таких как статус и информация о подписчике.

Менеджер местоположений - предоставляет доступ к службам определения местоположения, позволяющим приложению получать обновления об изменениях местоположения.

Приложения

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


Источник:
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!