Проблема «Плащ и кинжал» угрожает всем версиям Android, вплоть до 7.1.2

Мария Нефёдова, 26.05.2017

Специалисты Калифорнийского университета в Санта-Барбаре и Технологического института Джорджии рассказали о новой опасной проблеме, которая представляет опасность для всех устройств на базе Android, вплоть до новейшей версии 7.1.2. Так как в наше время уязвимостям и техникам принято давать названия, метод атак поучил имя «Плащ и кинжал» (Cloak & Dagger) и собственный официальный сайт, на котором исследователи опубликовали все подробности своей работы.

Специалисты предупреждают, что атака по методу «Плащ и кинжал» позволяет вредоносному приложению незаметно перехватить управление устройством и похить приватную информацию жертвы, включая пароли, списки контактов, PIN-коды, логи чатов и так далее.

При этом «Плащ и кинжал» не эксплуатирует какие-либо уязвимости в экосистеме Android. Вместо этого атака злоупотребляет системой выдачи прав приложениям, обращая в свою пользу безобидные на первый взгляд функции. Речь идет о SYSTEM_ALERT_WINDOW и BIND_ACCESSIBILITY_SERVICE. Дело в том, что если приложение было загружено из официального каталога Google Play, система даже не спросит пользователя о том, нужно ли выдать ему данные права. Фактически эти права считаются «специальными», и даже если они нужны приложению, пользователь все равно может увидеть сообщение, что никаких разрешений не требуется (no permission required).

Первое разрешение позволит злоумышленникам перекрывать окна других приложений легитимным оверлеем. Второе разрешение, также известное как a11y, призвано помочь людям, страдающим нарушениями зрения, и позволяет управлять устройством посредством голосовых команд, а также прослушивать, а не просматривать контент. Учитывая, что разрешение SYSTEM_ALERT_WINDOW выдается приложению сразу же, незаметно включить BIND_ACCESSIBILITY_SERVICE не составляет труда.

Перед какими типами атак уязвимы разные версии Android

Исследователи пишут, что после получения двух этих разрешений, злоумышленники могут делать все, что им заблагорассудится. Далее атака может развиваться в сторону кликджекинга (clickjacking), фишинга, перехвата нажатий на клавиши, незаметной установки дополнительных приложений, которые фактически будут работать «в режиме Бога» (то есть получат максимальные привилегии). Также злоумышленники смогут тайно разблокировать устройство и выполнять произвольные действия, при этом держа экран отключенным.

Специалисты опробовали технику «Плащ и кинжал» на 20 испытуемых, и ни один из пользователей ничего не заметил и даже не понял, что произошло.

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

О проблеме, связанной с SYSTEM_ALERT_WINDOW, ранее уже писали другие специалисты. Так, исследователи компании Check Point сообщали, что согласно их данным, 74% вымогателей, 57% адвари и 14% банковских троянов эксплуатируют недочеты в системе выдачи разрешений, а SYSTEM_ALERT_WINDOW – одна из главных проблем.

И хотя разработчики Google уже давно знают о происходящем, речь идет не о простой уязвимости, которую можно легко исправить. Поэтому разобраться с проблемами в системе выдачи прав планируют не раньше релиза Android O, который запланирован на третий квартал 2017 года. В частности ограничить злоупотребление SYSTEM_ALERT_WINDOW будет призвана новая функция TYPE_APPLICATION_OVERLAY, которая появится в новой версии ОС.

А пока «исправления» нет, самый простой способ защитить себя — запрещать использование SYSTEM_ALERT_WINDOW и BIND_ACCESSIBILITY_SERVICE. Сделать это можно в настройках ОС (Settings → Apps → Gear symbol → Special access → Draw over other apps, а также  Settings → Accessibility → Services ).