Хакеры взломали биржу OKex с помощью смарт-контрактов
Обменник OKEx приостановил вывод токенов BEC и торговлю из-за хакерской атаки, которая обогатила злоумышленников на 8 vigintillion единиц криптовалюты BeautyChain.
Обменник OKEx приостановил вывод токенов BEC и торговлю из-за хакерской атаки, которая обогатила злоумышленников на 8 vigintillion единиц криптовалюты BeautyChain.
22 апреля 2018 года около 13:00 (по гонконгскому времени) криптобиржа OKEx обнаружила аномальную активность, связанную с токеном BeautyChain (BEC). В связи с этим платформа вынуждена была приостановить процесс торговли токенов BEC.
Как выяснилось позже хакеры взломали площадку и вывели 8 vigintillion единиц BEC. Чтобы написать это число, к восьмерке нужно добавить 63 нуля.
По словам экспертов компании PeckShield, которые разбирались в уязвимости и последствиях этого взлома, кто-то перечислил очень большое количество токенов BEC - 8 vigintillion. PeckShield объясняет, что такая ненормальная активность BEC исходит от атаки batchOverflow, которая использует ранее неизвестную уязвимость в смарт-контракте.
PeckShield разработали автоматизированную систему для сканирования и анализа переводов токенов на основе Ethereum (ERC-20). В частности, система автоматически отправляет предупреждение при подозрительных транзакциях (например, с участием необосновано большого количества токенов).
Именно эта система, 22.04.2018, подняла тревогу, из-за транзакций токена BEC. В этой конкретной сделке было перечислено аномальное количество токена BEC. Фактически, были проведены две передачи токенов, причем каждая передача включала в себя одинаковый объем из одного и того же контракта BeautyChain, но на два разных адреса.
Уязвимая функция находится в batchTransfer, где и вычисляется локальная переменная суммы транзакции, а ошибка BatchOverflow содержится в функции batchTransfer. Еще более десятка смарт-контрактов, используемых в работе ERC20-сервисов скрывают в себе эту же ошибку.
Официальный сайт сообщает: «По просьбе официальной команды проекта BeautyChain (BEC), мы теперь приостановили услугу вывода BEC и торговые пары BEC / USDT, BEC / BTC и BEC / ETH. Мы сообщим вам о ситуации после получения уведомления от команды. Приносим извинения за причиненные неудобства». Компания планирует обновить код смарт-контрактов и произвести откат данных всех трех торговых пар BEC (BEC / BTC, BEC / ETH и BEC / USDT) до 13:18:00, 22 апреля 2018 года (время в Гонконге).
Специалисты опасаются что ситуация может повториться на других криптоплатформах, торгующих активами с аналогичным смарт-контрактом. Кроме того, с распространенным принципом «код-это закон» в блокчейне Ethereum, нет отлаженного механизма защиты безопасности для устранения этих уязвимых контрактов.