В лабораторных условиях команде OneKey Anzen удалось воспроизвести сложную атаку подмены транзакции против Ethereum-приложения аппаратного кошелька Ledger версии 1.22.1. Это редкий случай, когда исследователи демонстрируют эксплуатацию состояния гонки (race condition) в критически важном компоненте безопасности.
Суть уязвимости заключается в конфликте между логикой отображения транзакции и базовым буфером данных. В момент, когда пользователь видит на экране устройства одну операцию и подтверждает её, злоумышленник может отправить новую APDU-команду, которая подменяет данные в буфере. В результате аппаратный кошелек подписывает совершенно иную транзакцию, нежели та, что была одобрена владельцем. Подобный вектор атаки особенно опасен, поскольку он подрывает само доверие к аппаратным средствам защиты, которые считаются «золотым стандартом» в индустрии.
Команда безопасности Ledger Donjon оперативно подтвердила наличие проблемы, но подчеркнула, что ни один реальный пользователь не пострадал. Сценарий оставался строго лабораторным, а уязвимость была локализована в устаревшей версии приложения. Патч, устраняющий баг, вышел 13 августа в релизе 1.22.2 — ещё до публичного раскрытия информации исследователями.
В официальном бюллетене безопасности Ledger отмечается, что проблема затрагивала лишь процесс подтверждения транзакций при отправке новых команд. Компания настоятельно рекомендует всем владельцам устройств обновить программное обеспечение и проверить актуальность аппаратной прошивки. Это стандартная, но критически важная процедура, которую многие пользователи, к сожалению, игнорируют.
Стоит напомнить, что 17 августа производитель BitBox также выпустил обновление Dixence, закрывающее две серьёзные уязвимости в прошивке своих кошельков. Ошибки были обнаружены в ходе внутренних аудитов с применением ИИ-моделей, что указывает на растущую роль автоматизированных инструментов в поиске уязвимостей.
Мой анализ: Данный инцидент — яркое напоминание о том, что даже самые защищённые аппаратные решения не являются абсолютной панацеей. Состояние гонки — это класс ошибок, который сложно выявить при традиционном тестировании, и его наличие в Ethereum-приложении Ledger говорит о необходимости более глубокого аудита кода на уровне прошивки. Индустрия движется к нулевой толерантности к таким багам, и я ожидаю, что в ближайшее время мы увидим ужесточение стандартов безопасности для всех производителей аппаратных кошельков.