Разработчики вредоносных приложений постепенно адаптируются к особенностям новой системы управления правами доступа к системным сервисам и персональной информации, которая встроена в Android 6.0 Marshmallow. Её поддержка появилась в двух известных троянах для мобильной платформы Google.
Android давно критикуют за неэффективную систему управления правами. Из-за неё пользователи ещё в магазине узнавали о том, какие права нужны приложению, и должны был одобрить весь список сразу. Вероятно, в Google рассчитывали, что люди будут внимательно изучать требования приложений, но желающих вникать в длинные и непонятные списки оказалось мало. Подавляющее большинство пользователей одобряет любые требования, не глядя.
В Android 6.0 Marshmallow управление правами доступа переделали по образу и подобию iOS. Теперь после установки приложение получает лишь права, относящиеся к нормальному уровню доступа. Когда оно пытается сделать что-то, требующее другого уровня доступа (например, получить геолокационную информацию или забраться в список контактов), система спрашивает у пользователя разрешение и запоминает ответ. Предполагается, что так приложениям будет труднее незаметно от пользователя получить чересчур широкие права доступа.
Для разработчиков, желающих использовать старый подход, оставили лазейку. Если значение атрибута target_sdk меньше 23, все требования, как и в старых версиях системы, придётся одобрять списком во время установки, а не по одному, как в Marshmallow. Впрочем, даже в том случае, если все разрешения выданы в момент установки, новый Android позволяет в любой момент отобрать их. На первых порах пользователей, которые умеют и желают отключать права доступа, почти не было, но теперь их стало больше. Это начинает мешать нормальной работе вредоносных приложений, поэтому их разработчики вынуждены реагировать.
Специалисты компании Symantec обратили внимание, что новые версии вредоносных программ, основанных на Android.Bankosy и Android.Cepsohord, в той или иной степени учитывают особенности Marshmallow. Банковский троян Android.Bankosy стал использовать программный интерфейс checkSelfPermission, чтобы узнать, есть ли у него права, которые нужны для запуска вредоносного кода. Android.Cepsohord не только проверяет наличие прав, но и запрашивает новые разрешения, если их не хватает (см. скриншот).
Чтобы избежать проблем с вредоносным софтом для Android, Symantec рекомендует не скачивать приложения из сомнительных мест и внимательно следить за разрешениями, которые они спрашивают. Кроме того, лучше быть готовым к худшему и периодически делать резервные копии всей ценной информации.
За уточнения к новости благодарим Александра Смирнова.