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

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

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

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

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

Эксперты GuardSquare говорят, что для проверки целостности файла Android экономно проверяет байты в разных местах. Расположение этих байтов отличается в файлах APK и DEX, исследователи обнаружили, что они могут внедрить DEX-файл в APK, а Android все равно будет считать, что он читает оригинальный APK-файл.

Это происходит потому, что процесс внедрения DEX не изменяет байты, которые проверяет Android.

На деле эта уязвимость, получившая имя Janus, позволяет злоумышленнику внедрить вредоносные DEX-файлы в обновления легитимных Android-приложений (файлы APK). Более того, благодаря тому, что обновленное приложение наследует разрешения исходного приложения, вредонос может легко получить любые разрешения в системе.

Единственным недостатком Janus на данный момент является невозможность разместить вредоносные составляющие в официальном магазине приложений Play Store. Следовательно, злоумышленникам потребуется заманить пользователей в сторонние магазины приложений.

По утверждениям GuardSquare, уязвимость Janus влияет только на приложения, подписанные с помощью схемы подписи приложения v1. Приложения, подписанные с помощью схемы v2, не затронуты.

Также утверждается, что в опасности находятся устройства под управлением Android 5.0 и более поздних версий.

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