BTC
6476.7
ETH
210.31
BCH
528.16
LTC
50.969
CFI
0.0233
EOS
5.3144
REQ
0.0482
XMR
106.41
XRP
0.5181
baikalminer.com
hashflare.io
YoBit.Net
https://itsoft.ru

Новая критическая уязвимость в кошельке Parity для Эфириума

Новая критическая уязвимость в кошельке Parity для Эфириума

После того как июльский взлом кода мультиподписного кошелька Parity привел к краже 153 000 ETH, 20 июля компания Parity (Ethcore) выпустила новую версию контракта Parity Wallet. Однако, в новом коде обнаружилась новая уязвимость: вызов функции initWallet приводит к преобразованию контракта в обычный мультиподписной кошелек и назначению нового владельца контракта. Скорее всего, такой вызов произошел случайно 6 ноября в 02:33:47 PM +UTC. Вслед за вызовом, пользователь уничтожил код контракта, превращенного в кошелек, и его библиотеки, вследствие чего все мультиподписные контракты оказались непригодными к использованию, а все средства на них – заморожены, поскольку логика контракта вместе с функцией изменения состояния находилась в этих библиотеках.

Соответственно, все мультиподписные кошельки Parity (версия 1.8), развернутые после 20 июля теперь выглядят следующим образом:

contract Wallet {
    function () payable {
          Deposit(...)
    }
}

Это означает, что средства не могут быть выведены с этих кошельков программными средствами.

В блоге Parity говорится, что специалисты анализируют ситуацию.

Общий объем потерь пока неизвестен, однако в Твиттере Parity сообщается о том, что средства, собранные на ICO Polkadot также заморожены, а это более $144 миллионов (485 000 ETH).

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

Тем не менее, можно сказать, что репутация компании Parity, и ее основателя Гэвина Вуда (Gavin Wood), и без того изрядно подмоченная происшествием 19 июля, практически уничтожена.

Настоящий виновник нашелся сам

Согласно информации портала Trustnodes, невольным виновником происшествия стал пользователь devops199. В чатруме разработчиков Parity он написал:

Я новичок в ETH.. я просто пытался научиться использовать команду kill() destroy() в случайных контрактах, вы можете посмотреть мою историю [...] .Когда я вижу в чате шутки о том, что я стал знаменитым... пожалуйста, прекратите... У меня руки трясутся.

По словам devops199, он не кодер, а консультант по графическим интерфейсам.

Спустя несколько минут после того как библиотека самоуничтожилась, devops199 написал сообщение в Github Parity, озаглавленное:"ваш контракт может уничтожить кто угодно", добавив, что он нашел уязвимость, которую может использовать злоумышленник. 

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

Теперь всем разработчикам клиентов для Эфириума, а не только Parity, придется задуматься над "защитой от дурака", чтобы предотвратить подобные случаи в будущем.

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

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

Калькулятор Bitcoin
Скорость, GH/s:
Сложность:
Курс BTC/USD:
Курс BTC/RUB:
в день в неделю в месяц
BTC
0.000035
0.000245
0.00105
USD
0.22650
1.5855
6.7949
RUB
15.329
107.31
459.88
Расширенный калькулятор
YoBit.Net
mining-center.org
Курсы криптовалют
Обновить
Статистика сети
Текущая сложность: 7184404942702
Следующая сложность: 6897834925564 (-3.99%)
Блоков до пересчета: 335
Цена шары (PPS): 0.0000000000
Мощность сети (Th/s): 49376625.7
Блоков в сети: 550033
Блоков в час: 5.76
Блоков за последний час: 8
До 6.25 BTC/блок: 578.46 дней
(79967 блоков)
konvert.im
Лучше взять и изобрести завтрашний день, чем переживать о том, что вчерашний был так себе
Стив Джобс