Опубликован инструмент для тестирования Android-приложений на уязвимость

Опубликован инструмент для тестирования Android-приложений на уязвимость

Опубликован инструмент для тестирования Android-приложений на уязвимость

Пользователь GitHub под именем modzero опубликовал инструмент, созданный разработчиком Яном Гильрихом (Jan Girlich). Этот инструмент включает приложения для Android, предназначенные для тестирования и создания эксплойтов, доказывающих наличие уязвимостей (Proof of Concept, PoC) десериализации Java в Android.

Сам инструмент основан на ysoserial, созданном frohoff, однако нацелен на платформу Android. Уязвимости Java десериализации — давно изученная тема, обычно такие бреши приводят к выполнению кода в контексте атакуемого приложения. На Android эта проблема более актуальна из-за того, как обрабатывается обмен данными между приложениями.

В опубликованном репозитории находятся два Android-приложения:

  • Приложение «атакующее» — создает полезную нагрузку и реализует вредоносную составляющую процесса.
  • Уязвимое для связки эксплойтов CommonsCollection демо-приложение.

Для демонстрации работы можно открыть уязвимое демонстрационное приложение, затем переключиться на атакующее приложение и использовать цель «ch.modzero.intent_receiver.deserialize.pwn».

Как использовать:

  1. Открыть в Android Studio и скомпилировать папку атакующего приложения.
  2. Установить полученный apk на телефон или эмулятор, где также должно быть установлено тестируемое на уязвимость приложение.
  3. Убедиться, что ваше потенциально уязвимое приложение запущено.
  4. Указать название намерения (intent) потенциально уязвимого приложения в поле ввода в верхней части.
  5. Нажать кнопку «send» в правом нижнем углу.

Если брешь будет обнаружена, инструмент уведомит пользователя.

Android запретит доступ к экрану «лишним» приложениям

Google, похоже, готовит ещё одно нововведение по части безопасности Android. В тестовой сборке Android Canary 2602 обнаружена новая функция для Advanced Protection Mode — режима «максимальной защиты», который компания представила в Android 16.

Теперь Advanced Protection Mode может ограничивать работу приложений, использующих AccessibilityService API, если они не классифицированы как инструменты для доступности.

AccessibilityService API — это мощный механизм Android, изначально созданный для помощи людям с ограниченными физическими возможностями. С его помощью приложения могут читать содержимое экрана, отслеживать действия пользователя и даже выполнять жесты от его имени.

Именно поэтому этот API часто становился инструментом атакующих. За последние годы многие приложения — от автоматизаторов и лаунчеров до «оптимизаторов» и антивирусов — использовали его для обхода системных ограничений. Формально ради удобства, однако на деле получая очень широкие права.

Google постепенно ужесточала политику. Приложения, действительно предназначенные для помощи людям с ограниченными возможностями, должны указывать специальный атрибут isAccessibilityTool. К ним относятся экранные дикторы, системы управления жестами, голосовой ввод, брайлевские интерфейсы и другие специализированные инструменты.

По данным аналитиков, в новой версии Android Canary  при включении Advanced Protection Mode система:

  • запрещает выдавать разрешение Accessibility Service приложениям, не признанным Accessibility Tools;
  • автоматически отзывает уже выданные разрешения у таких приложений.

Если приложение сильно зависит от этого API, оно просто перестанет работать.

В тестах, например, приложение dynamicSpot (эмулирующее Dynamic Island на Android) становилось недоступным: пункт был с пометкой «Restricted by Advanced Protection». Причина простая: оно использует AccessibilityService для чтения уведомлений и отображения поверх других приложений.

Инструменты, официально классифицированные как средства доступности, под ограничения не попадают.

RSS: Новости на портале Anti-Malware.ru