The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Атака Pixnapping, определяющая содержимое экрана для перехвата 2FA-кодов в Android

14.10.2025 10:31

Группа исследователей из четырёх американских университетов разработала технику атаки Pixnapping (CVE-2025-48561), позволяющую из непривилегированных Android-приложений, не запрашивающих дополнительных полномочий, определить содержимое, выводимое на экран другими приложениями. В качестве примера практического применения атаки продемонстрировано определение кодов двухфакторной аутентификации, показываемых приложением Google Authenticator. Так же показано как можно применить атаку для извлечения конфиденциальных данных, выводимых на экран при работе с Gmail, Signal, Venmo и Google Maps.

Для определения содержимого экрана задействован метод попиксельного анализа, реализованный в 2023 году той же командой исследователей в атаке по сторонним каналам GPU.zip и впервые описанный ещё в 2013 году. Суть метода в том, что из-за присутствующих в GPU оптимизаций, отрисовка пикселя с цветом, повторяющим уже выведенный на экран цвет, выполняется быстрее, чем пикселя с иным цветом. Оценивая разницу во времени при отрисовке пикселей можно воссоздать уже имеющееся на экране содержимое и сформировать подобие скриншота.

Атака Pixnapping сводится к вызову целевого приложения, выводу поверх него своего окна и попиксельному перебору содержимого с анализом времени выполнения графических операций над каждым пикселем. Подобный перебор позволяет с высокой вероятностью определить, какие пиксели имеют белый цвет фона, а какие участвуют в отображении символов. Для скрытия манипуляций с пикселями от пользователя производится наложение слоёв с масками - во время атаки визуально на экране продолжает показываться содержимое окна приложения, из которого производится атака.

Для активации атакуемого приложения и попадания пикселей из его окна в конвейер отрисовки осуществляется переключение между Android-активностями при помощи intent-запросов. Поверх окна атакуемого приложения отображаются полупрозрачные окна, выделяющие отдельные пиксели и инициирующие выполнение с ними графических операций при помощи API Window Blurs. Для измерения точного времени отрисовки пикселя применяются callback-вызовы, привязанные к VSync.

Ограничением ранее предложенного метода GPU.zip была низкая производительность - при атаке на браузер определение имени, под которым пользователь в другой вкладке вошёл в Wikipedia, требовало 30 минут на GPU AMD Ryzen 7 4800U и 215 минут на GPU Intel i7-8700 при точности 97-98%. Для того, чтобы уложиться в 30-секундный интервал обновления кодов в Google Authenticator метод был усовершенствован и оптимизирован. Число проверок каждого пикселя было сокращено с 64 до 16, а задержка между обработкой пикселей уменьшена с 1.5 секунд до 70 миллисекунд. Сканирование производилось не всего экрана, а только области, в которой Google Authenticator показывает код.

Метод был опробован на смартфонах Pixel 6, 7, 8 и 9 с версиям Android 13-16 для определения ста шестизначных кодов двухфакторной аутентификации, сгенерированных в Google Authenticator. Точность определения кодов на отмеченных смартфонах составила 73%, 53%, 29% и 53%, а время определения - 14.3, 25.8, 24.9 и 25.3 секунд, соответственно. На смартфоне Samsung Galaxy S25 исследователям не удалось уложиться в 30-секундный интервал из-за шума, вносимого работой других приложений, но на устройстве были показаны варианты атаки на другие приложения, для которых не было ограничений по времени. Используемые в атаке механизмы не специфичны для отдельных моделей смартфонов и атака потенциально затрагивает любые Android-устройства.

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

  1. Главная ссылка к новости (https://arstechnica.com/securi...)
  2. OpenNews: Атака GPU.zip, позволяющая воссоздать данные, отрисовываемые GPU
  3. OpenNews: Уязвимость в Android, позволяющая обойти блокировку экрана
  4. OpenNews: Получение контроля над смартфоном после ремонта через комплектующие
  5. OpenNews: Атака BrutePrint для разблокировки Android-смартфона через подбор отпечатков пальцев
  6. OpenNews: GPUHammer - вариант атаки Rowhammer на память GPU
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64045-pixnapping
Ключевые слова: pixnapping, gpu, attack, android
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (42) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.3, Аноним (-), 11:22, 14/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Разве эта уязвимость не решается таким же образом, как и уязвимость TapTrap?

    https://taptrap.click/

    В GrapheneOS решение есть уже давно:
    > only permit third party apps to use custom activity animations for transitions between their own activities to prevent a recently disclosed Android tapjacking vulnerability branded as TapTrap

    Android всё ещё уязвим.

     
  • 1.4, Аноним (-), 11:23, 14/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > Атака Pixnapping сводится к вызову целевого приложения, выводу поверх него своего окна
    > и попиксельному перебору содержимого с анализом времени выполнения графических операций над каждым пикселем.

    Разработчики GPU удивленно чешут репу и удивленно бубнят "ух ты, а что, так можно было?".

     
  • 1.5, Аноним (5), 11:24, 14/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Это потому что не вейланд? А вот не надо было пускать всякую шляпу в интернет.
     
     
  • 2.12, Аноним (12), 11:37, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Там и не иксы. И как ты по другому наложишь одно на другое и сообщишь что наложил? Рандомно задержка будешь добавлять или специально ждать чтобы всегда рисовалось за одинаковое время? Это преждевременная оптимизация.
     

  • 1.6, Аноним (6), 11:33, 14/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > требовало 30 минут на GPU AMD Ryzen 7 4800U и 215 минут на GPU Intel i7-8700

    Разве это уязвимость? Ни один чел не будет ждать 30 мин., пока этот пикснаппинг чето там расшифрует.

     
     
  • 2.13, Имя (?), 11:37, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Прочитать полностью новость религия не позволяет?
     
  • 2.50, Аноним (50), 13:51, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ну на последнем amd epyc это было бы уже 2 минуты.
     

  • 1.9, anonymous (??), 11:35, 14/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А вот нефиг аутентификацию строить через картиночки
     
     
  • 2.29, а (?), 12:03, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    эээ, дык любой логин/пароль/пин код на экране - это набор пикселей - то бишь картинка
     
     
  • 3.31, Самый Лучший Гусь (?), 12:12, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Идея для стартапа: карманный матричный принтер для печати одноразовых кодов
     
     
  • 4.33, Имя (?), 12:35, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Миленько. Но если только полюбоваться на себя, такого защищённого. А потом появится исследование, как по звуку распечатывания узнать, какие символы отображаются на бумаге.
     
  • 4.38, хуняо (?), 12:57, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    зачем матричный если есть термо, китайцы по 10 баксов делают уже
     
  • 4.41, Sadok (ok), 13:08, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    фигня. иголки разные символы с разным звуком бьют например "." и "Щ". по звукам уже шпионили за пишмашинками в пошлом тысячелетии.
     
     
  • 5.55, trolleybus (?), 13:55, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > в пошлом тысячелетии.

    Скорее наоборот.

     
  • 4.43, Аноним (43), 13:32, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    карманный генератор кодов
    известен уж как 20 лет
     

  • 1.10, Аноним (-), 11:36, 14/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > На смартфоне Samsung Galaxy S25 исследователям не удалось уложиться в 30-секундный интервал из-за шума, вносимого работой других приложений

    Чем больше аппок в памяти, тем безопаснее)
    А параноики еще гнали на то, что слишком много приложений по умолчанию
    Ну что выкусили)?

     
     
  • 2.14, Аноним (12), 11:39, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    То что тебя проще ломануть через любое приложение чем через сабж тебя конечно же не смущает.
     
     
  • 3.49, Аноним (49), 13:51, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    он покупает новый телефон самсунга, сравнивая количество блотвари, ну как мегапиксели считают :) "смотри, а у тебя нет этой программы".
     
     
  • 4.54, Аноним (54), 13:54, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Их покупают за длительную поддержку.
    У Пикселей до 7 лет, у Самсунга на некоторые модели до 8 лет.
     
     
  • 5.56, Аноним (49), 14:19, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > у Самсунга на некоторые модели до 8 лет.

    зависит от региона, на СНГ прошивки апдейты после 4 лет уже не прилетают в отличии от ЕУ.

     
     
  • 6.60, Аноним (54), 14:32, 14/10/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 6.65, Аноним (65), 14:45, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А если апдейты прилетают, то забитые неудоляймой рекламными приложениями на уровне системы. Впрочем, это же Android.
     

  • 1.24, Сосиска (-), 11:56, 14/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Насколько я помню, для орисовки приложений поверх других должны быть специальные разрешения. А кто их будет давать случайной апке?
     
     
  • 2.52, Аноним (52), 13:52, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Кстати, да. В моем не самом свежем андроид го вообще не работает эта функция, хотя она как бы присутствует и разрешения давать можно.

    Ну т.е. снова, кора дуба спасет всех.

     
     
  • 3.72, Ан339ним (?), 15:12, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Очень удобная функция, так то.
     

  • 1.30, Аноним (-), 12:06, 14/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    И это дополнительный аргумент в копилку того, что тайминг-атаки это не что-то специфичное для процессоров со спекулятивным выполнением, а фундаментальная угроза. Ещё тогда, когда тайминг-атаки на криптоалгоритмы начали демонстрировать, это было понятно всем, но не борцунам со спекулятивным выполнением. Я думаю, что и сейчас они не поймут, что бороться надо не со спекуляциями, а разрабатывать нечто фундаментальное, чтобы такие атаки делать невозможными. Любой shared ресурс, будь то процессор, оперативка, видеопамять, жёсткий диск, файловая система на нём, ядро ОС, шина d-bus, сетевая карта... всё это -потенциальные инструментальные цели для атак. И новый подход должен как-то всё это укладывать в одну теоретическую модель, иначе это не фундаментальный подход, а латание отдельных дыр.
     
     
  • 2.36, Аноним (36), 12:48, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Короче, надо с солонками вопрос решать радикально.
     
  • 2.44, ProfessorNavigator (ok), 13:39, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Метод такой есть)) Только он - не технический. Социально-экономический. Сделайте так, чтобы реализовать украденное было не возможно, и кражи моментально сойдут на нет. Как именно это можно сделать - задачка со звёздочкой. Подумайте на досуге - полезно будет))
     
     
  • 3.67, Аноним (-), 14:52, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Социально-экономический.

    Отнять и поделить?
    Сделать уравниловку похлеще чем в совке, чтобы нейрохирург, пожарный и уборощица получали одинаково. Несогласных сослать в лагеря, а лучше расстрелять.

    У вас же такой план?

     
     
  • 4.75, tty3 (?), 15:33, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Что-то не замечали в союзе уравниловки. Да, была коррупция, которая кому-то казалась "уравнилокой".
     
  • 2.53, Аноним (49), 13:54, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Любое кеширование это и есть тайминговая разница! Тут надо понимать где его надо использовать. А любые криптографические операции совершать на ЦПУ общего назначения - бред!!!
     

  • 1.34, Аноним (34), 12:40, 14/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Cтрашная-престрашная уязвимость, которую можно закрыть просто рандомизировав цвета текста и фона.
     
     
  • 2.51, Аноним (49), 13:52, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    а еще буквы переставить в тексте и будет идеально, прямо перестановочный шифр :)
     
  • 2.61, Ан339ним (?), 14:36, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Без разницы какая уязвимость. Цель всех подобных публикаций - чтобы ты побежал выкидывать свой смартфон в мусорку и бежал брать последний пиксель или самсунг, наяривал на обновления и даже не смел смотреть в сторону других брендов.
     
     
  • 3.70, Аноним (54), 15:07, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Очередной нищук, живущий на пенсию, фантазирует на тему того, как его будут ломать. Да-да, через приложения, поэтому ставь все из фелдроид и аудит проводи, а то мало ли!
     
  • 3.74, Аноним (74), 15:27, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Компания Google в сентябрьских патчах уязвимостей добавила в Android начальную защиту от
    > атаки [...] Google планирует реализовать более полную защиту в декабрьском обновлении
    > Android.

    Или просто нажать кнопочку update на своем пятелетнем пикселе.
    А вот покупатели всяких 60mжацких чинафонов таки побегут выкидывать.

     

  • 1.62, Аноним (62), 14:38, 14/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Отличная подсказка для разработчиков месседжера Маркс.
     
     
  • 2.63, Ан339ним (?), 14:41, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Сперва заставь параноика поставить макс, а то смысл воровать данные тех, кто и не скрывается?
     

  • 1.64, Аноним (64), 14:43, 14/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    12 лет кто-то с некто этим пользовался, а волноваться начали только сейчас. В чём тут безопасность не совсем тема раскрыта. Видимо,тем кто не получает свежий срез Андроида должно стать плохо.
     
     
  • 2.71, Ан339ним (?), 15:09, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И ведь немало тех, кого запугали подобными новостями, и они исправно ставят обновления ради обновлений. Причём десктопов тоже касается. Даже на LTS нет спасения от извечных обновлений безопасности.
     

  • 1.69, Аноним (69), 15:05, 14/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >из непривилегированных Android-приложений, не запрашивающих дополнительных полномочий
    >вызову целевого приложения, выводу поверх него своего окна

    Акадэмики!
    "Работа поверх других приложений" - это совсем не дополнительное полномочие. Раздается всем подряд.

     
  • 1.73, Аноним (73), 15:25, 14/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Надо просто выводить любые важные данные в виде капчи.
    И да, никому не говорите сколько здесь велосипедов, наши сотрудники никогда не будут спрашивать у вас такое.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру