Cloak And Dagger Exploit использует наложения и службы специальных возможностей для взлома системы

То, что мы в XDA когда-то рассматривали как доказательство концептуальной уязвимости безопасности, теперь подтверждено учеными-компьютерщиками из Технологического института Джорджии в Атланте. Команда подробно описывает, что они называют»плащ и кинжал"эксплойты, которые могут захватить пользовательский интерфейс большинства версий Android (включая 7.1.2). Учитывая его природу, его трудно исправить, а также трудно обнаружить.

Cloak and Dagger — это эксплойт, который использует два разрешения, чтобы получить контроль над пользовательским интерфейсом, не давая пользователю возможности заметить вредоносную активность. Атака использует два разрешения: СИСТЕМА_ALERT_WINDOW ("рисовать сверху") и BIND_ACCESSIBILITY_SERVICE ("а11й"), которые очень часто используются в приложениях Android.

У нас есть обрисовывал это в прошлом, но что делает эту уязвимость настолько острой, так это тот факт, что приложения, запрашивающие SYSTEM_ALERT_WINDOW, автоматически получают это разрешение при установке через Google Play Store. Что касается включения службы специальных возможностей, вредоносное приложение может довольно легко заставить пользователя предоставить ее с помощью социальной инженерии. Вредоносное приложение может даже быть настроено на использование службы специальных возможностей для полузаконных целей, таких как мониторинг открытия определенных приложений для изменения определенных настроек.

После того, как эти два разрешения будут предоставлены, количество атак может быть очень велико. Возможна кража ПИН-кодов, токенов двухфакторной аутентификации, паролей или даже атаки типа «отказ в обслуживании». Это происходит благодаря комбинации наложений, которые заставляют пользователя думать, что он взаимодействует с законное приложение и Служба специальных возможностей, используемые для перехвата текста и сенсорного ввода (или ретрансляции собственных вход).

Несколько месяцев назад мы выдвинули теорию о такой уязвимости, когда хотели создать тестовое приложение, использующее SYSTEM_ALERT_WINDOW и BIND_ACCESSIBILITY_SERVICE, чтобы нарисовать наложение поверх экрана ввода пароля в приложении XDA Labs и перехватить ввод клавиши для смахивания. пароли. Мы предполагали, что это приложение будет приложением для управления автоматическим поворотом, которое будет использовать наложение для рисования невидимого прямоугольника на экране. управлять вращением (вместо запроса WRITE_SETTINGS, который приведет к поднятию флагов) и службой специальных возможностей, позволяющей пользователю управлять автоматическим поворотом профилей для каждого приложения. основе. Теоретически это может быть одним из примеров приложения, использующего принцип «плаща и кинжала». Однако никто из нашей команды не был готов рисковать своими учетные записи разработчиков, бросив вызов автоматизированным системам сканирования приложений Google, чтобы узнать, будет ли наш экспериментальный эксплойт разрешен в Play. Магазин.

В любом случае, эти исследователи проделали работу и представили тестовые приложения, чтобы доказать, что использование этих двух разрешений действительно может быть серьезной проблемой безопасности:

Как видите, атаки невидимы для пользователей и позволяют полностью контролировать устройство. В настоящее время все версии Android, начиная с Android 5.1.1 до Android 7.1.2, уязвимы для этого. эксплойт, учитывая тот факт, что он использует два разрешения, которые в противном случае использовались бы для совершенно законных целей. целей.

Не ждите, что в ближайшее время на вашем устройстве появится настоящее решение этой проблемы, хотя следует отметить, что изменения, внесенные в SYSTEM_ALERT_WINDOW в Android O этот недостаток будет частично устранен, запретив вредоносным приложениям полностью прорисовывать весь экран. Кроме того, Android O теперь предупреждает с помощью уведомлений, если приложение активно рисует наложение. Благодаря этим двум изменениям вероятность того, что вредоносное приложение сможет избежать наказания за эксплойт, снижается. если пользователь внимателен.

Как защитить себя на версиях до Android O? Как всегда, устанавливайте только те приложения, которым вы доверяете, из источников, которым вы доверяете. Убедитесь, что разрешения, которые они запрашивают, соответствуют вашим ожиданиям.

Что касается сотен миллионов постоянных пользователей, по словам представителя Google Защита магазина Play также предоставит необходимые исправления для предотвращения атак плаща и кинжала. Как именно это будет сделано, неясно, но есть надежда, что это предполагает какой-то способ обнаружения злонамеренного использования этих двух разрешений. Однако я сомневаюсь, что он сможет обнаружить все такие случаи, поэтому в любом случае вам лучше отслеживать, какие разрешения предоставляются каждому устанавливаемому вами приложению.