Система обнаружения уязвимостей в Android работает через работу команды безопасности Android (Android Security Team). 1 Её задача — следить за качеством кода операционной системы, выявлять и исправлять найденные в ходе разработки новой версии ОС ошибки, реагировать на отчёты об ошибках, присланные пользователями и секьюрити-компаниями. 1
Некоторые методы, которые помогают обнаружить уязвимости в Android:
- Статический анализ. 2 Исходный код приложений автоматически сканируется инструментами статического анализа, такими как AndroBugs, APKTool и QARK. 2
- Динамический анализ. 2 Исследует, как ведёт себя приложение Android, когда оно работает на реальном или моделируемом устройстве. 2 Для этого используются инструменты, которые перехватывают и проверяют связь между приложением и сервером. 2
- Обратный инжиниринг. 2 Декомпиляция APK-файла для приложения Android с целью извлечения его исходного кода, ресурсов и других ресурсов. 2
- Физическое тестирование. 2 Во время него аппаратное обеспечение, прошивка и операционная система Android-смартфона проверяются на наличие недостатков в системе безопасности. 2
Также для автоматического поиска и анализа приложений на наличие уязвимостей используются утилиты и фреймворки с открытым исходным кодом, например, Androl4b, Mobile-Security-Framework (MobSF) и Droidbox. 4