Как оказалось, криптовалютная биржа OKEx была взломана. На выходных украли вигинтиллионы BEC.
В минувшее воскресенье, 22 апреля, компания сообщила о приостановке снятия и торговли токенами BeautyChain (BEC). Причиной называлась аномальная торговая активность с BEC.
Эксперты компании Peckshield выяснили, что OKEx подверглась кибератаке.
Преступники воспользовались уязвимостью в системе смарт-контрактов batchOverflow и украли восемь вигинтиллионов (число насчитывает 63 нуля) BEC.
"22/22/2018, в 03:28:52 UTC, наша система подняла тревогу, связанную с необычной транзакцией токенов BEC", — рассказала команда Peckshield в своем блоге.
Эта аномалия побудила нас изучить соответствующий код смарт-контракта. Наше исследование показывает, что такая передача происходит от атаки "in-the-wild", которая использует ранее неизвестную уязвимость в контракте. Для разработки мы называем эту особую уязвимость batchOverflow.
BatchOverflow представляет собой проблему с переполнением целочисленного типа: значение, вычисленное в результате операции, не может быть помещено в n-битный целочисленный тип данных.
Баг в batchOverflow является частью функции batchTransfer, где и вычисляется локальная переменная суммы транзакции. Из-за ошибки один из параметров может быть записан как число с 63 нулями. Другие смарт-контракты могут иметь аналогичную уязвимость, но из-за используемого в Ethereum принципа "код есть закон" платформа не предусматривает четкого механизма решения таких проблем.
Эксперты предупреждают о том, что ситуация может повториться на других криптобиржах, торгующих активами с аналогичным багом. Еще одна сложность может возникнуть с обменниками, поскольку они, в отличии от криптобирж, даже не смогут остановить такую атаку.
Сама криптобиржа OKEx пока официальных заявлений не делала.