Статический анализатор Google для Android доступен как open-source

Статический анализатор Google для Android доступен как open-source

Статический анализатор Google для Android доступен как open-source

Компания Google открыла исходники Vanir, своего инструмента проверки сборок Android на наличие уязвимостей, для которых уже вышли патчи. Свободный доступ к анализатору кода, показавшему эффективность 97%, может существенно повысить безопасность экосистемы.

Ожидается, что расширение использования Vanir не только повысит качество Android-приложений, также облегчит жизнь OEM-провайдерам, ускорив бэкпорт и раздачу патчей на разнородные устройства. Новый opensource-проект опубликован на GitHub под лицензией BSD-3.

Статический анализатор кода пока существует в двух вариантах исполнения: как самостоятельное приложение C++ и как встраиваемая Python-библиотека. В Google его два года использовали для выявления недостающих патчей в Android и благодаря автоматизации сэкономили более 500 рабочих часов; зафиксировано лишь 2,72% ложноположительных срабатываний.

Примечательно, что для поиска известных уязвимостей метаданные Vanir не нужны. При разборе кода он сверяется с записями об уязвимостях Android в базе данных OSV (в настоящее время более 2 тыс.) и создает сигнатуры для идентификации отсутствия патча.

 

В настоящее время инструмент выполняет проверку кодов на C/C++ и Java и выявляет 95% непропатченных уязвимостей в Android, носимых устройствах и Pixel. На современном компьютере скан дерева исходных текстов, по словам Google, займет 10-20 минут.

Разработчики особо отметили, что Vanir можно переориентировать на другие платформы и цели — например, детектировать с его помощью лицензионный код или клоны. Значительных изменений это не потребует.

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