Skip to main content

Согласно сообщению в блоге, опубликованному разработчиками криптокошелька ZenGo, фирма заявила, что обнаружила уязвимости в безопасности решений для моделирования транзакций, используемых популярными децентрализованными приложениями или dApps. Эта уязвимость, получившая название «атака с красной таблеткой», позволяла вредоносным децентрализованным приложениям красть пользовательские активы на основе непрозрачных утверждений транзакций, предложенных пользователям и одобренных ими. Уязвимость получила свое название от культовой сцены «красной таблетки» из серии фильмов «Матрица».

«Если вредоносное ПО способно обнаружить, что оно действительно выполняется в смоделированной среде или живет в матрице, оно может вести себя безобидно, тем самым обманывая решение для защиты от вредоносных программ, и раскрывать свою истинную вредоносную природу только тогда, когда оно действительно выполняется в реальной среде. среда.»

ZenGo заявила, что ее исследование показало, что многие ведущие поставщики, включая Coinbase Wallet, в какой-то момент были уязвимы для таких атак. «Все поставщики были очень восприимчивы к нашим отчетам, — сказал ZenGo, — и большинство из них быстро исправили свои ошибочные реализации».

Уязвимость возможна из-за недосмотра программирования в «Специальных переменных» среди смарт-контрактов, хранящих общую информацию о функциональности блокчейна, такую ​​как временная метка текущего блока. Однако во время моделирования ZenGo говорит, что для специальных переменных нет правильного значения, и утверждает, что разработчики «срезают путь» и устанавливают для них произвольное значение.

«Например, инструкция «COINBASE» содержит адрес текущего майнера блока. Поскольку во время моделирования нет реального блока и, следовательно, нет майнера, некоторые реализации моделирования просто устанавливают для него нулевой адрес (адрес со всеми нулями)».

В видео разработчики ZenGo продемонстрировали, как симуляция смарт-контракта на Polygon (MATIC) просит пользователей отправлять нативные монеты в обмен на другую, которая может быть скомпрометирована с помощью этого метода:

«Когда пользователь фактически отправляет транзакцию по цепочке, COINBASE [Wallet] на самом деле заполняется ненулевым адресом текущего майнера, а контракт просто принимает отправленные монеты».

ZenGo сказал, что исправление уязвимости было простым: «вместо того, чтобы заполнять эти уязвимые переменные произвольными значениями, симуляции должны заполнять их значимыми значениями». Фирма представила отредактированные скриншоты вознаграждений за обнаружение ошибок, по-видимому, присужденных Coinbase за решение проблемы. Фонд Ethereum (ETH) также предоставил ZenGo грант в размере 50 000 долларов США за их исследования в области моделирования транзакций.

Источник: Сointеlеgrаph

Оставить комментарий