Logo
Cover
Технический директор криптобиржи CEX.IO

Атаки на DAPPS: как мошенникам удалось украсть $350 млн из сети Ethereum

Каким образом хакеры крадут деньги «прямо из блокчейна», почему опасность подстерегает проекты на базе Ethereum, и как можно защитить свои средства от атак, рассказывает Дмитрий Волков, технический директор международной криптобиржи CEX.IO.

По данным исследования Atlas VPN с 2012 года по сегодняшний день блокчейн-индустрия потеряла целых $13,6 миллиардов по причине хакерских атак. При этом кроме нападений на биржи и кошельки, достаточно солидные потери пришлись на встроенные приложения блокчейна, так называемые DAPPS. В одной только системе Ethereum хакерам удалось провести 33 успешных атаки на DAPPS и украсть $364,38 миллиона.

Что такое DAPPS?

DAPPS (Distributed Applications) — это распределенные приложения, которые работают внутри самого блокчейна. Они запускаются на суперкомпьютере, состоящем из машин-майнеров. Любое приложение такого типа имеет множество копий и работает одновременно на всех компьютерах сети.

DAPPS могут иметь разное назначение: они способны принимать и отправлять криптовалюту, выступать торговыми роботами, обслуживать биржи, выполнять роль  ICO-токенов или даже быть играми.

В сети Ethereum DAPPS называются смарт-контрактами. И хотя никто не запрещает делать их «с нуля», как правило в блокчейне создаются однотипные DAPPS по шаблону. Например, ERC-20 — это популярный шаблон смарт контракта для создания новых токенов. Любой желающий может создать свой собственный смарт-контракт, точно также как взаимодействовать с любым существующим в блокчейне смарт-контрактом.

Почему атаки идут на Ethereum?

Простые блокчейны, такие как Bitcoin, поддерживают только математические простые операции, такие как перевод криптовалюты между адресами или совершение транзакции с простым логическим условием. В таких операциях сложно найти уязвимость. DAPPS на базе Ethereum представляет собой полноценные приложения, созданные с использованием языка программирования.

Как следствие, в DAPPS, как и в любом программном коде, бывают ошибки. Они могут быть допущены случайно или специально, но именно на этих ошибках основаны практически все взломы DAPPS.

Для атак на DAPPS существует две возможности — либо хакеры находят ошибку (уязвимость) в существующем приложении, либо мошенники изначально стараются создать уязвимость, которую поначалу никто не заметит. В конечном счете успешные атаки приводят к потерям своих активов пользователями приложения. И иногда эти потери бывают значительными.

Примеры уязвимостей DAPPS

Один из известных случаев атаки на DAPPS — использование случайно допущенной ошибки в приложении The Dao. В 2016 году неизвестный хакер эксплуатировал уязвимость и украл значительную сумму пользовательских средств из проекта. Кстати, именно это событие впоследствии привело к хард-форку и разделению блокчейна на ETH и ETC.

Другая случайно допущенная ошибка была обнаружена в популярном DeFi проекте YAM Finance. В августе 2020 вложенные в этот проект средства пользователей исчезли, навсегда застряв в приложении. В истории с  YAM не было злого умысла, но от этого не легче — потери пользователей, веривших в проект, оказались значительными.

Технический аудит и гарантия надежности

Увы, большинство пользователей, даже самых опытных, не могут проверить, есть ли в приложении ошибки и можно ли доверять ему свои средства. Учитывая, что взлом DAPPS мог стать еще более масштабной проблемой, для DeFi-проектов проводят технические аудиты. Опытные программисты и эксперты проверяют код конкретного приложения и подтверждают, что в нем нет ошибок. Доверия такому проекту будет больше, но не стоит забывать, что эксперты — тоже люди.

Например, популярный и многообещающий проект Harvest Finance с отличной репутацией в свое время привлек порядка 1 млрд долларов. Harvest Finance прошел не один, а целых два независимых аудита у авторитетных фирм, он считался действительно надежным. И хотя в самом коде приложения не было серьезных и очевидных ошибок, проблема обнаружилась в самом алгоритме Harvest Finance. Хакер обнаружил нетривиальную уязвимость и с помощью других приложений за несколько минут украл десятки миллионов долларов.

Есть ли защита от взлома?

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

Пользователи могут ориентироваться на более известные приложения, которые уже давно используются, либо диверсифицировать свои инвестиции в разные проекты. Но стоит помнить, что риск взлома в этой области всегда остается.

Точка зрения автора колонки может не совпадать с мнением редакции.