Недавно обнаруженная уязвимость Android позволяет вредоносным приложениям получать доступ к контенту, отображаемому другими приложениями, что потенциально может скомпрометировать seed-фразы для восстановления криптокошельков, коды двухфакторной аутентификации (2FA) и многое другое.
Согласно недавнему исследованию, атака “Pixnapping” “обходит все средства защиты браузера и может даже красть секреты из небраузерных приложений”. Это возможно благодаря использованию Android API для вычисления контента конкретного пикселя, отображаемого другим приложением.
Механизм не сводится к простому запросу и доступу к отображаемому контенту другого приложения. Вместо этого, он использует наслоение цепочки полупрозрачных действий, контролируемых злоумышленником, чтобы замаскировать все, кроме выбранного пикселя, а затем манипулирует этим пикселем, чтобы его цвет доминировал в кадре.
Повторяя этот процесс и синхронизируя рендеринг кадров, вредоносное ПО выводит значения этих пикселей, чтобы реконструировать секреты, отображаемые на экране. К счастью, это требует времени и ограничивает эффективность атаки против контента, который отображается не более нескольких секунд.
Визуальное представление Pixnapping. Источник: Исследовательская работа Pixnapping
Seed-фразы в опасности
Особенно чувствительной информацией, которая обычно отображается на экране в течение длительного времени, являются seed-фразы для восстановления криптокошельков. Эти фразы, которые предоставляют полный и неограниченный доступ к подключенным криптокошелькам, требуют от пользователей записи их для безопасности. В исследовании атака была протестирована на кодах 2FA на устройствах Google Pixel:
“Наша атака успешно восстанавливает полный 6-значный код 2FA в 73%, 53%, 29% и 53% случаев на Pixel 6, 7, 8 и 9 соответственно. Среднее время восстановления каждого кода 2FA составляет 14,3, 25,8, 24,9 и 25,3 секунды для Pixel 6, Pixel 7, Pixel 8 и Pixel 9 соответственно.”
Хотя 12-словная seed-фраза займет гораздо больше времени для захвата, атака остается жизнеспособной, если пользователь оставляет фразу видимой во время ее записи.
Ответ Google
Уязвимость была протестирована на пяти устройствах под управлением Android версий 13-16: Google Pixel 6, Google Pixel 7, Google Pixel 8, Google Pixel 9 и Samsung Galaxy S25. Исследователи утверждают, что аналогичная атака может работать и на других устройствах Android, поскольку используемые API широко доступны.
Google изначально попытался исправить уязвимость, ограничив количество действий, которые приложение может размывать одновременно. Однако исследователи обнаружили обходной путь, который все еще позволяет Pixnapping функционировать.
“По состоянию на 13 октября мы все еще координируем наши действия с Google и Samsung относительно сроков раскрытия информации и мер по устранению.”
Согласно исследованию, Google оценил проблему как критическую и обязался выплатить исследователям вознаграждение за обнаружение ошибки. Команда также связалась с Samsung, чтобы предупредить, что “патча Google недостаточно для защиты устройств Samsung.”
Аппаратные кошельки обеспечивают надежную защиту
Очевидным решением проблемы является избежание отображения seed-фраз или любой другой особенно чувствительной информации на устройствах Android. Еще лучше – избегать отображения информации для восстановления на любом устройстве, подключенном к интернету.
Простое решение для этого – использование аппаратного кошелька. Аппаратный кошелек – это специализированное устройство для управления ключами, которое подписывает транзакции вне компьютера или смартфона, не раскрывая при этом личный ключ или seed-фразу. Как отметил исследователь угроз Vladimir S в своем посте в X https://x.com/officer_cia/status/1978061395200483829?s=46 по этому поводу:
“Просто не используйте свой телефон для защиты своей криптовалюты. Используйте аппаратный кошелек!”