Загрузка...
Главная  |  Новости  |  Платформа Эфириум – новая мишень для хакеров

Платформа Эфириум – новая мишень для хакеров

26.06.2016

Платформа Эфириум – новая мишень для хакеров
Как недавно стало известно, некий хакер вывел со счетов децентрализованной автономной организации DAO количество криптовалюты Ether (Эфир) более чем на 53 миллионов долларов. Об инциденте сообщили сами представители организации. Известно, что злоумышленник оставил открытое письмо в интернете, где сообщил о полной законности своих действий, что и подтвердили ряд опытных юристов.

Хакер использовал одну ошибку в кодировке системы, которая позволяла получить награду за распределение новых блоков. Функция была вшита в системный код, а потому является частью самой системы, чем и воспользовался злоумышленник. Более того, его действия не нарушали правил сервиса, а потому выведенную сумму вряд ли смогут вернуть.

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

 

Отчет Питера Вессенеса

Умные контракты, на которых и построено функционирование всей системы Эфириума, могут «жить» вечно, так заявляли представители криптоплатформы. И действительно, если в контракте не прописаны условия расторжения сделки, то он будет оставаться в системе вечно, пока платформа не прекратит существование.

Несомненное, это хорошо, и в то же время плохо. С одной стороны, если разрешить пользователям, создающим контракт на отправку криптовалюты, устанавливать параметры возврата (аннулирования) сделки, то это полностью отменит правила доверия. Каждый сможет потребовать деньги назад, даже если они были высланы в правильном направлении и согласно договоренности.

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

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

Дан Мейер, известный в криптовалютном обществе специалист, провел самостоятельное исследование и доказал, сколько может быть ошибок в 1 тысяче строк кода. Так вот, по стандартам НАСА, недопустимо наличие ошибки на каждые 500 тысяч строк кода. Притом что космическое агентство имеет ультрасовременное, уникальное и дорогостоящее оборудование. В компании Microsoft на 1 тысячу строк приходится всего 0,5 единицы погрешности. В криптовалютных кодах на 1 тысячу строк может содержаться 20—55 ошибок. И это не удивительно, поскольку новая технология заставляет людей спешить, чтобы вовремя занять выгодные позиции на рынке. Но самых плохой результат я наблюдал в коде Эфириума, где на 1 тысячу строк приходится более 100 ошибок и несоответствий — заключает Майер.

Найденные Мейером ошибки можно условно разделить на несколько категорий:

  • В коде больше всего ошибок, связанных с безопасностью и доступом к Эфиру. Очень слабая кодировка условий предоставления услуг пользователям.
  • Второй блок ошибок отвечает за невыполнения условий умных контрактов.
  • Система обложением комиссией за транзакции и всякого рода переводы криптовалюты достаточно неэффективна.

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

 

 
Стабильный курс обмена популярных электронных валют  

Хаотичность кодировки

Хватило пятиминутной проверки одного контракта, как уже возник вопрос. Случайная функция должна опираться на произвольное число (целое), которое используется в качестве случайного фактора, но это число должно быть прописано в контракте. Существует два варианта, чему может соответствовать данное число:

  • Хэшированию уровня блока, который был добыт перед этим.
  • Или определенным номерам, по которым записаны пользователи в списке.

Это число отвечает за то, кому из пользователей достанется выплата. Блок в системе Эфириум создается примерно за 50 секунд, чего более чем достаточно, чтобы заменить реквизиты получателя и тем самым украсть деньги. Злоумышленникам достаточно нескольких секунд, чтобы провести операцию замены конечного адреса получателя. Неважно, с какой стороны смотреть на данный процесс, все равно он будет квалифицироваться, как грубейшая ошибка.

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

Удивительно, но даже внушительные по сумме перевода контракты также несовершенны. Используя их, пользователь вполне может потерять свои деньги, даже не имея надежды на компенсацию — подвел итог Вессенес.

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