Приложение 1. Список модулей для сбора информации
Система включает в себя двадцать модулей для сканирования и сбора информации о приложении. Каждый из модулей отвечает за сбор «своей» информации. Список всех модулей представлен на вкладке Модули на странице Профиль. Из этого списка можно выбрать и настроить те модули, которые будут включены при сканировании приложения с этим профилем.
Модули собирают следующую информацию:
- Базы данных — список баз данных, с которыми работает приложение. Указываются путь к базе данных, ее тип и размер.
- Файлы приложения — список файлов приложения. Указываются путь к файлу, его расширение, тип, владелец, ID владельца, группа, ID группы, права, время создания и модификации.
- Дамп памяти приложения — указаны имя файла с дампом памяти приложения, его тип и размер.
- Информация о ключах — модуль для анализа безопасности хранилищ, в которых сохраняются ключи шифрования
- Записи системного журнала — указываются уровень, время, приложение, тэг, ID процесса, ID потока, сообщение.
- Отслеживание Activity — это все различные экраны приложения, которые были запущены во время сканирования. Для каждого экрана (Activity) приведены его имя, метод и параметры запуска.
- Отслеживание Broadcast Receiver — Broadcast Receiver по умолчанию открыт для взаимодействия с другими приложениями. Указываются время, метод, зарегистрированные интенты (Intents), полученный интент (Intent), разрешения, приоритет, компонент и дополнительные параметры.
- Отслеживание Broadcast — при использовании Broadcast Receiver риски и соответствующие им защитные меры различаются в зависимости от типа Broadcast. Указываются время, имя и метод объектов.
- Отслеживание Intent — межпроцессное взаимодействие в Android осуществляется при помощи специальных объектов — Intent. Для каждого объекта приведены время, имя, метод и параметры.
- Отслеживание Service — объекты типа Service, открытые для взаимодействия с другими приложениями и не относящиеся к системным Android-вызовам. Указываются время, имя и метод объекта.
- Работа с SharedPreferences — постоянное хранилище на платформе Android, используемое приложениями для хранения, например, своих настроек. Указываются время, метод, ключ и его старое и новое значение.
- Сетевая активность — все данные, переданные по сети — адрес, хост, протокол, время, метод, порт, а также содержание запроса и ответа.
- Содержимое SharedPreferences — указываются ключ и его значение.
- Работа с SQLite — это легковесная база данных в Android. Указываются время, метод и запрос.
- Используемые файлы — список файлов, не являющихся внутренними файлами приложения, с которыми оно взаимодействует. Указываются путь к файлу, его расширение, владелец, группа, права, тип операции (чтение/запись), количество обращений, время создания и модификации.
- SAST — модуль для статического анализа приложения.
- Поиск ранее найденной чувствительной информации — модуль для поиска ранее найденных чувствительных значениях в результатах других модулей. То есть, если была найдена чувствительная информация «session_id=111222333444555», то будет произведен поиск значения «111222333444555» во всех ранее собранных данных, но уже без привязки к имени параметра «session_id».
- Интеграция с AppScreener — модуль интеграции с системой статического анализа Solar AppScreener.
- Интеграция с Oversecured — модуль интеграции c системой статического анализа Oversecured.
- Построения графа вызовов (taint-анализ) — этот модуль позволяет отследить распространение непроверенных внешних данных по программе в процессе ее работы. Если такие данные попадают в ключевые точки кода, то такая ситуация может привести к появлению различных уязвимостей, включая SQL-инъекции, межсайтовый скриптинг (XSS) и другие.