Исследователи в области безопасности разработали несколько различных методов кражи или обхода паролей на большей части распространенных мобильных платформ. Часть из них основана на программных ошибках, другие на простых техниках социальной инженерии. Пара исследователей из Кембриджского университета придумала новую хитрую атаку, которая позволяет с достаточной точностью узнавать мобильные PIN-коды с использованием камеры и микрофона смартфона.

В теории эта техника обманчиво проста: приложение исследователей запускается на мобильном устройстве, и, когда пользователь вводит свой PIN, программа записывает звуки набора через микрофон и использует камеру для определения ориентации смартфона и для наблюдения за лицом пользователя. Используя эти данные, программа угадывает четырехзначный PIN чаще, чем в 50% случаев, всего лишь за пять попыток на Samsung Galaxy S3.

«Записывая звук во время ввода PIN, мы можем определить моменты нажатий (см. раздел 3.4). Записывая видео с передней камеры, мы можем опознать кадры, соответствующие моментам нажатий. Тогда мы анализируем изменения ориентации в момент нажатий, и так можно определить, какой части экрана коснулся пользователь», — сообщили исследователи в своем докладе «PIN Skimmer: узнаем PIN с помощью камеры и микрофона», написанном Россом Андерсоном и Лораном Саймоном.

Для выполнения этой атаки злоумышленник должен установить свой PIN Skimmer на устройство жертвы. В своем докладе исследователи предполагают, что жертва загрузила вредоносное приложение из Google Play или другого магазина приложений, которое содержало их программу в качестве груза. Изначально они полагали, что их приложению понадобится использовать какую-либо уязвимость для получения root-прав, но вскоре обнаружили, что в этом нет необходимости — приложение может получить доступ к камере и микрофону с помощью некоторых хитрых приемов. Как только PIN Skimmer окажется на телефоне, он может работать в одном из нескольких режимов, включая мониторинг, сбор данных, обучение и журналирование.

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

Вредоносная программа обладает несколькими возможностями по сокрытию своей деятельности, включая отключение индикатора работы камеры и вмешательство в работу ОС для сокрытия количества отправленных пакетов. PIN Skimmer также способен фильтровать окружающий шум, улучшая точность информации от микрофона.

Защититься от такого рода атаки весьма непросто, но авторы утверждают, что кое-что для ее отражения сделать можно.

«Предпочтительнее всего отражать атаку на уровне ОС, так как это требует внесения изменений лишь в одном месте и помогает всем приложениям. В Android есть два основных пути для сообщения пользователю о вводе PIN. Первый состоит в использовании AlertDialog с опцией android:password=”true” в файле манифеста. Эта опция заставляет ОС выводить звездочки вместо вводимых цифр. Помимо включения этой опции мы предлагаем заблокировать доступ к разделяемым аппаратным ресурсам со стороны других приложений, установленных пользователем. Второй путь — выводить сообщение о вводе PIN через компонент GUI (Activity). В этом случае мы рекомендуем включить PasswordActivity, который наследуется от Activity», — говорится в докладе.

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

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

Категории: Уязвимости