BTC
3670.8
ETH
121.75
BCH
128.36
LTC
31.433
CFI
0.0233
EOS
2.4697
REQ
0.0350
XMR
45.756
XRP
0.3256
Yobit
YoBit.Net
bestchange.ru
hashflare.io

Биржи приостановили торговлю токенами ERC-20 из-за обнаруженной уязвимости в контрактах

Биржи приостановили торговлю токенами ERC-20 из-за обнаруженной уязвимости в контрактах

Было обнаружено, что более десятка смарт-контрактов стандарта ERC-20 на базе Эфириума содержат ошибки, которые позволяют злоумышленникам создавать столько токенов, сколько они хотят.

Хотя ошибки, впервые выявленные 22 апреля и 24 апреля, были опубликованы компанией PeckShield, специализирующейся на безопасности блокчейна, напрямую не связаны со стандартом ERC-20, проблемы привели к приостановке торговли токенами ERC-20 на биржах OKEx, Poloniex, Changelly, Quoine и HitBTC. Huobi.Pro также объявила 25 апреля о приостановке торговли всеми монетами, однако впоследствии ограничение было изменено и касалось только токенов ERC-20. В данный момент Poloniex постепенно начала возобновлять операции.

В одном из примеров злоумышленник, воспользовавшийся ошибкой, перевел колоссальные 57.9 * 10 ^ 57 токенов BeautyChain - как показывают данные транзакций на Etherscan - 22 апреля. Именно эта транзакция стала причиной начала поиска ошибки.

«Наше исследование показывает, что такая транзакция произошла от атаки «в естественных условиях», которая использует ранее неизвестную уязвимость в контракте. Для целей разработки мы называем эту особую уязвимость batchOverflow», - отмечает компания PeckShield. «Хотим заметить, что batchOverflow по сути представляет собой классическую проблему с переполнением в целочисленной арифметике».

Бесчисленные токены

В записи о batchOverflow рассказывается, что функция batchTransfer в контракте обозначает максимальное количество токенов, которые могут быть отправлены в транзакции, а также отмечается, что значение передаваемых токенов должно быть меньше общего количества токенов, которые были сгенерированы. Тем не менее, параметром «_value» - одним из двух, определяющих общее количество токенов - можно манипулировать, что позволяет изменить другую переменную, в результате чего злоумышленники могут создавать столько токенов, сколько захотят.

Кроме того, злоумышленник может обойти барьерные условия в контракте, которые обычно гарантируют передачу разумного количества токенов.

«С нулевым количеством, злоумышленник может пройти проверки работоспособности в строках 258-259 и сделать вычитание в строке 261 неактуальным», - говорится в записи. «И вот самое интересное: как показано в строках 262-265, баланс двух получателей будет добавлен при помощи чрезвычайно большого значения _value, и злоумышленнику это не будет стоит ни монеты!»

Хотя в первых сообщениях отмечалось, что все токены ERC-20 могут быть затронуты, функция «batchTransfer» не является частью стандарта токена. В статье на Medium не перечисляется список уязвимых проектов, хотя отмечается, что BeautyChain был первым обнаруженным проектом с этой уязвимостью. Чтобы подчеркнуть серьезность проблемы OKEx заявила 24 апреля, что приостанавливает торговлю токенами BeautyChain.

В то же время биржа объявила, что в свете ошибок было приостановлено внесение и снятие средств для проекта SmartMesh из-за «аномальных торговых операций». В PeckShield отмечают, что это, возможно, связано с ошибкой proxyOverflow, которая, как и batchOverflow, является классической проблемой с переполнением в целочисленной арифметике. Некоторыми переменными можно манипулировать, чтобы генерировать большое количество токенов. Один из пользователей Твиттера заметил, что злоумышленник создал $5 октодециллионов в токенах SmartMesh.

Как отмечалось в статье об ошибке, существует опасность того, что кто-то может использовать уязвимые криптовалюты для управления ценами в свою пользу путем торговли с биткоином, эфиром или другой торговой парой. В заявлении на сайте BeautyChain наличие ошибки подтверждается и отмечается, что торговля возобновится в будущем. Аналогичным образом, SmartMesh объявила, что она предпримет шаги для предотвращения манипулирования ценами.

Фабиан Фогельштеллер (Fabian Vogelsteller), разработчик, который впервые предложил стандарт ERC-20, заметил, что ошибки «просто показывают, что нам нужны лучшие передовые методы и инструменты для их обнаружения».

Показать комментарии Обсудить на форуме

Подписывайтесь на новости и их анализ в нашем Telegram канале!

Калькулятор Bitcoin
Скорость, GH/s:
Сложность:
Курс BTC/USD:
Курс BTC/RUB:
в день в неделю в месяц
BTC
0.000043
0.000299
0.00128
USD
0.15354
1.0748
4.6063
RUB
10.202
71.415
306.06
Расширенный калькулятор
YoBit.Net
Курсы криптовалют
Обновить
Статистика сети
Текущая сложность: 5883988430955
Следующая сложность: 5693366751918 (-3.24%)
Блоков до пересчета: 1374
Цена шары (PPS): 0.0000000000
Мощность сети (Th/s): 40754706.67
Блоков в сети: 559074
Блоков в час: 5.81
Блоков за последний час: 9
До 6.25 BTC/блок: 508.65 дней
(70926 блоков)
Лучше взять и изобрести завтрашний день, чем переживать о том, что вчерашний был так себе
Стив Джобс