max_siz

Category:

Ethereum talk

В ноябре 2018 в очень уважаемом мной интернет СМИ я заметил две публикации об уязвимостях Ethereum. На фоне общего падения крипторынка эти новости могли быть восприняты широкой аудиторией как негатив в сторону самой платформы Ethereum. Я и мои коллеги в IberGroup около двух лет занимаемся разработкой смарт контрактов на этой платформе. Поэтому считаю важным сделать небольшой разбор этих двух кейсов.

Итак,  речь пойдёт о двух публикациях ForkLog: 

  1. В сети появились сообщения об уязвимости в виртуальной машине Ethereum
  2. Раскрыты детали позволяющей опустошать кошельки криптовалютных бирж уязвимости

1. Уязвимость виртуальной машины

Да, был пост в Твиттере от компании NettLabs о выявленной ошибке в работе одной из реализаций виртуальной машины Ethereum  - Py-EVM v0.2.0-alpha.33. Да, с подачи NettLabs, эта информация была размещена в Национальной базе уязвимостей США (NVD). Однако, сам по себе этот факт не может являться каким-либо подтверждением серьезности проблемы. На сайте NVD указано, что они НЕ занимаются активной проверкой уязвимостей, а полагаются на сторонние организации. В данном случае, такой стороной стала NettLabs. И как отметели в одном из комментов  в Твиттере, они поставили этим действием под сомнение свой авторитет. Всем разработчикам в Ethereum сообществе известно,  что реализация узла сети на Питоне используется для исследований и быстрого прототипирования новых функций. Если взглянуть на статистику основной Сети Ethereum,  то среди более чем 12 тысяч узлов, вряд ли найдется больше 1-2 узлов, работающих на Питоне. Об этом же в reddit и написал Виталик Бутерин

Хотя, конечно,  часто хочется экономить на газе,  но для этого есть другие, штатные способы ;-)

2. Опустошение кошельков криптовалютных бирж

Разработчики Level K официально опубликовали информацию о векторе атаки, который может привести к опустошению “горячих” кошельков обменников и бирж.  Но этот вектор использует НЕ уязвимость платформы Ethereum, а особенности архитектуры некоторых бирж и обменников. Стоит лишь уточнить, что под опустошением “горячих” кошельков здесь имеется ввиду не кража эфира, а лишь тот факт, что весь эфир с такого кошелька может быть потрачен (сожжен) на оплату газа транзакции, которая переводит эфир клиенту биржи(обменника). Будучи реализованной в “чистом виде”, такая атака не дает профита (дохода) тому, кто её подготовил и провёл, но создать трудности обменнику, несомненно может. 

 С “незапамятных” времен существуют рекомендации о том, как лучше организовать вывод эфира с баланса смарт контракта. Если кратко - то либо нужно проверять сколько газа “хочет” потратить транзакция, либо транзакция по выводу эфира должна быть инициирована самим клиентом биржи или обменника. Тем, кто этим советам следовал - такая атака не страшна. К слову сказать, Level K в своем анализе справедливо указали на все эти особенности. В их публикации также описан сценарий, как злоумышленник все-таки может на этом «честно» заработать, но это уже тема другого разговора. Кому интересно  - можно почитать о проекте GasToken.

Резюмируя сказанное выше, хочу подчеркнуть, что нет никаких оснований считать, что рассмотренные уязвимости относятся к самой платформе Ethereum.  Экосистема Эфира по прежнему растёт, развивается и является одной из  самых перспективных и “взрослых” платформ по передаче ценности (value) в Интернете.

Ссылки:

  1. https://forklog.com/v-seti-poyavilis-soobshheniya-ob-uyazvimosti-v-virtualnoj-mashine-ethereum/ 
  2. https://forklog.com/raskryty-podrobnosti-uyazvimosti-pozvolyayushhej-opustoshat-goryachie-koshelki-birzh-za-schet-szhiganiya-ethereum-gaza/
  3. https://twitter.com/NettaLab/status/1060889401805271042
  4. https://twitter.com/NettaLab/status/1060889400102383617
  5. https://nvd.nist.gov/vuln/detail/CVE-2018-18920
  6. https://github.com/ethereum/pyethereum
  7. https://github.com/ethereum/py-evm
  8. https://www.ethernodes.org/network/1
  9. https://www.reddit.com/r/ethereum/comments/9vkk2g/netta_labs_claim_to_have_found_a_vulnerability_in/e9d3wyx/
  10. https://medium.com/level-k/public-disclosure-malicious-gastoken-minting-236b2f8ace38
  11. https://solidity.readthedocs.io/en/latest/common-patterns.html
  12. https://drive.google.com/file/d/1mULop1LxHJJy_uzVBdc_xFItN9ck04Jj/view
  13. https://gastoken.io/

Error

Anonymous comments are disabled in this journal

default userpic

Your reply will be screened

Your IP address will be recorded