Безлимитные токены

Безлимитные токены


На этой неделе было обнаружено более дюжины ошибок в смарт-контрактах на эфириуме, которые позволяют злоумышленникам создавать столько токенов стандарта ERC20, сколько они захотят.
Об этих ошибках сообщили на PeckShield 22 апреля и 25 апреля, ещё пара публикаций появилась на Medium: в них акцентировалось внимание на таких биржах, как OKEx, Poloniex, Changelly, Quoine и HitBTC, которые приостановили начисление токенов ERC20. 25 апреля к ним присоединилась биржа Huobi.Pro. На момент публикации Poloniex восстановила начисление токенов этого стандарта.
Как показали данные Etherscan, 22 апреля злоумышленник перевёл колоссальный объём (57,9*10^57) токенов BeautyChain — именно этот случай показал существование проблемы. В посте PeckShield от 22 апреля сообщается:
Наше исследование показывает, что такая передача происходит в ходе атаки in-the-wild, которая использует ранее неизвестную уязвимость в контракте. Рабочее название этой конкретной уязвимости — batchOverflow. Мы отмечаем, что batchOverflow, по сути, представляет собой классическую проблему целочисленного переполнения.
BatchOverflow описываетcя как функция batchTransfer, которая в контракте означает максимальное количество токенов, которые могут быть переданы при транзакции. Количество переносимых токенов должно быть меньше общего количества сгенерированных токенов. Тем не менее параметром _value (одним из двух, определяющих общее количество токенов) можно манипулировать, что в итоге меняет другую переменную, в результате чего злоумышленник сможет создать столько токенов, сколько захочет.
Кроме того, злоумышленник может обойти ограничения в контракте, которые обычно гарантируют передачу разумного количества токенов. В итоге получатель получит чрезвычайно большую сумму, которая не отразится на счёте у атакующего.
Хотя в первых отчётах указывалось, что все токены ERC20 могут быть уязвимы, важно уточнить, что функция batchTransfer — это не часть стандарта.
В посте Coinmonks на Medium не указывались уязвимые проекты, но отмечалось, что BeautyChain стал первым из обнаруженных. Подтверждая, что ошибка серьёзна, 24 апреля OKEx заявила об откате торгов BeautyChain. Также биржа сообщила, что в связи с этой уязвимостью были приостановлены ввод и вывод средств в проекте SmartMesh из-за «аномальных трейдерских операций». Coinmonks отметил, что это, возможно, связано с ошибкой proxyOverflow, которая, как и batchOverflow, представляет собой классическую проблему целочисленного переполнения. Некоторыми переменными можно манипулировать, чтобы спонтанно генерировать большое количество токенов. Один из пользователей Twitter заметил, что злоумышленник создал 5 октодециллионов (!) токенов в SmartMesh.
Также существует опасность того, что кто-то может использовать эту уязвимость для манипуляций ценами в свою пользу путём торговли в паре с биткоином, эфиром или другой крупной криптовалютой.

Report Page