Перейти к содержанию

Хакеры научились похищать коды 2FA и личные сообщения со смартфонов на Android


Рекомендуемые сообщения

Опубликовано

Группа американских учёных разработала схему атаки Pixnapping, которая позволяет перехватывать закрытую информацию с устройств под управлением Android, выводя её на экран и считывая отображаемые данные по пикселям — точнее, по времени, которое необходимо для их отрисовки. Атака предполагает, что владелец Android-устройства предварительно установил на него вредоносное приложение. Такое приложение не требует системных разрешений, но позволяет считывать с экрана данные, которые выводит любое другое, целевое приложение. Исследователи продемонстрировали реализацию атаки Pixnapping на смартфонах серии Google Pixel и Samsung Galaxy S25 — вероятно, её можно адаптировать и для других моделей.

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

Атака производится в три этапа. На первом вредоносное приложение вызывает средства API Android, которые обращаются к целевым приложениям или позволяют сканировать устройство на предмет установки этих приложений. С помощью этих вызовов вредонос заставляет целевые приложения выводить на экран необходимые данные, например, переписку в мессенджере или коды двухфакторной аутентификации для входа на сайт.

На втором этапе алгоритм Pixnapping выводит поверх интерфейса целевого приложения прозрачное или полупрозрачное изображение и осуществляет анализ данных графического конвейера, чтобы по одному пикселю восстановить информацию, которую требуется перехватить. Это может делаться несколькими способами. Например, алгоритм анализирует область экрана, в которую Google Authenticator выводит коды двухфакторной аутентификации и по времени отрисовки определяет, является ли пиксель по заданной координате белым или нет — или в общем случае соответствует ли он исходному цвету.

На третьем этапе производится замер времени, необходимый для отрисовки кадра, которое зависит от цвета пикселя в определённой координате. Уязвимость возникла из-за механизмов сжатия в графическом конвейере, из-за которого время на отрисовку кадра зависит от его содержимого. Если пиксель соответствует исходному цвету, для его отрисовки требуется меньше времени, если не соответствует — больше. 

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

В некоторых случаях создателям схемы атаки удалось её оптимизировать, сократив число проходов при сканировании кадра для считывания целевого пикселя по заданной координате до 16 (было 34 или даже 64) и уменьшив время между такими проходами с 1,5 с до 70 мс. Реализация атаки для смартфона Google Pixel 6 помогла восстановить шестизначный код Google Authenticator в 73 % случаев со средним временем 14,3 с. 

Для других смартфонов того же производителя показатели успешности атаки распределились следующим образом: Pixel 7 — 53 % и 25,8 с; Pixel 8 — 29 % и 24,9 с; Pixel 9 — 53 % и 25,3 с соответственно. В случае Samsung Galaxy S25 авторам исследования из-за высокого уровня шума не удалось уложиться в 30 секунд. В Google отметили, что уязвимость, которой присвоили номер CVE-2025-48561, была частично исправлена в сентябрьском обновлении Android; допускается, что в декабрьском обновлении она будет исправлена полностью. Получить подтверждений того, что данная схема эксплуатировалась на практике, пока не удалось.

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...