Разбор полётов: ущерб от уязвимости в кошельке Parity и ее последствия
Как мы уже сообщали ранее, в результате случайного использования ранее неизвестной уязвимости в исходном коде Ethereum-кошелька Parity в этот понедельник были «заморожены», а фактически потеряны средства на счетах многих клиентов и проектов. Спасти их может только хардфорк, аналогичный совершенному в июле 2016 года для спасения токенов проекта TheDAO.
В компании Parity Technologies отреагировали на возмущение общественности и переживания клиентов только в среду — спустя 2 дня после блокировки средств в блоге официально подтверждено наличие критической угрозы безопасности:
«К сожалению, в коде обнаружена новая уязвимость, позволившая трансформировать контракт Parity Wallet в обыкновенный мультиподписной кошелёк, а также сменить его владельца, используя вызов функции initWallet. Этот уязвимый код появился в ПО после его обновления в результате событий 19 июля».
Проще говоря, исправляя одну уязвимость, разработчики Parity создали другую, не менее опасную, что заставляет всерьез усомниться в их квалификации.
Также, запущен специальный веб-сайт, на котором пользователи могут проверить, заблокированы ли их средства, указав в форме запроса свой адрес кошелька Эфириум. На сайте доступна статистика, из которой видно, что по состоянию на 9 ноября зарегистрировано 573 пострадавших. Всего ошибка пока затронула 584 электронных кошелька. Кроме того, сотрудники компании принимают обращения по электронной почте press@parity.io.
Мнения представителей индустрии
Виталик Бутерин, сооснователь проекта Ethereum:
«Я сознательно воздерживаюсь от комментариев по последним проблемам с кошельками Эфириума. Хочу только поддержать тех, кто работает над созданием простых и безопасных смарт-контрактов, а также тех, кто занимается аудитом безопасности уже существующего кода».
I am deliberately refraining from comment on wallet issues, except to express strong support for those working hard on writing simpler, safer wallet contracts or auditing and formally verifying security of existing ones.
— Vitalik Buterin (@VitalikButerin) 8 ноября 2017 г.
«Любое решение, дающее доступ к заблокированным средствам, требует осуществления хардфорка». – Мартин Свенде (Martin Holst Swende), руководитель отдела безопасности Ethereum Foundation.
Гэвин Вуд (Gavin Wood), основатель Ethcore, компании-разработчика клиента Parity:
«По нашим сведениям средства на кошельках заморожены и не могут быть перемещены куда-либо. Заявления о суммах потерь в социальных сетях носят спекулятивный характер».
Update: To the best of our knowledge the funds are frozen & can’t be moved anywhere. The total ETH circulating social media is speculative.
— Parity Technologies (@ParityTech) 7 ноября 2017 г.
Оценка ущерба и пострадавшие стартапы
Судя по списку с адресами заблокированных кошельков, появившемуся в четверг в Gitter-чате
Parity, заблокировано более 900 000 эфиров, стоящих по текущему курсу около 280 млн долл. Некоторые из этих средств были собраны в ходе краудфандинговых кампаний (ICO). Вот только некоторые из пострадавших проектов:
-
Polkadot, ~306 276 ETH, адрес 0x3bfc20f0b9afcace800d73d2191166ff16540258
-
Iconomi, 114 939 ETH, адрес 0x376c3e5547c68bc26240d8dcc6729fff665a4448
-
Musiconomi, ~16 475 ETH, адрес 0xc7cd9d874f93f2409f39a95987b3e3c738313925
Получается, что только три самых крупных проекта потеряли почти 440 000 ETH, то есть почти 150 миллионов долларов по текущему курсу! Еще больше пикантности ситуации придает то, что эти убытки они понесли даже не в результате хакерской атаки, а из-за случайных действий человека, который решил потренироваться в операциях со смарт-контрактами.
Самым крупным проектом с заблокированными средствами оказался стартап Polkadot, команда которого разрабатывает протокол обмена информацией между независимыми блокчейнами. В компании уже дали свой комментарий по произошедшему:
«Несмотря на то, что доступ к некоторым активам был утрачен из-за уязвимости в ПО Parity, этот кошелёк содержал только часть средств фонда Web3 Foundation. Поэтому, команда Polkadot продолжит работу над проектом согласно ранее утверждённому плану без изменений».
На этих новостях курс эфира ненадолго снизился на $20, но уже к вечеру 9 ноября вернул позиции и вырос до отметки в $330 за 1 ETH. Официальных заявлений или анонсов по поводу решения проблемы со смарт-контрактами от компании Parity пока не последовало. Разработчики сейчас только анализируют ситуацию, однако, как уже было замечено ранее Мартином Свенде, без хардфорка обойтись будет сложно.
Учитывая достаточно прохладную позицию Виталика Бутерина, добиться проведения второго «спасительного» хардфорка будет непросто, даже если включить его в релиз Constantinople, который вероятно состоится в первые месяцы 2018 года. Предыдущий хардфорк, предпринятый для возврата средств, привел к фозникновению Ethereum Classic, нечто подобное может получиться и на этот раз. А Фонду Эфириума такие репутационные издержки сейчас совершенно не нужны.