Исследователи выявили 34 200 смарт-контрактов с уязвимостями

Совместное исследование ученых из Национального университета Сингапура (NUS), Yale-NUS колледжа в Сингапуре и Университетского колледжа Лондона продемонстрировало уязвимости 34200 из проанализированных смарт-контрактов.


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

На выборке в 3000 контрактов команде удалось подтвердить и воспроизвести уязвимости с коэффициентом результативности в 89%, что, теоретически, позволяет похитить, в среднем, 6 млн $ в результате эксплуатации этих уязвимостей.

Опубликованный на прошлой неделе отчет проходит процесс рецензирования коллег.

«Мы имеем дело с приложениями, у которых есть 2 неприятные особенности: они управляют вашими деньгами, и они не могут быть изменены», – объяснил Илья Сергей, ассистент профессора в Университетском колледже Лондона и соавтор публикации.

Сергей и его коллеги ставили целью провести масштабное исследование смартконтрактов для обнаружения таких уязвимостей до того, как ими кто-то мог воспользоваться. Анализ смарт-контрактов усложняется тем, что для полноценного анализа необходим доступ к исходному коду, который не всегда доступен, и поэтому обычно уязвимости обнаруживаются уже после того, как случилась катастрофа. Исследователи объясняют свой метод, используя пример с вендинговой машиной:

«Представьте, что ваша цель – не взаимодействовать с вендинговой машиной как положено, а сломать ее или получить товар бесплатно. Допустим, мы опустили несколько монет в автомат, и просто начали нажимать все подряд кнопки в надежде, что внутренние механизмы автомата, о которых мы не имеем никакого представления, будут подскакивать и, в конце концов, замки автомата сломаются, и мы сможем взять ту конфетку».

На практике это означало скачивание копии всего блокчейна Эфириум до определенного момента (фактически создание личного форка) и прогон программ локально с запуском множества различных комбинаций взаимодействий со всеми смарт-контрактами на блокчейне, в момент форка. Когда появлялся непредвиденный эффект, исследователи помечали это как «признак уязвимости». В дальнейшем, команда уже анализировала отмеченные уязвимости.

По словам Сергея, исследователи также попытались найти создателей уязвимых смарт-контрактов, но в этом не преуспели. Однако нет гарантий, что создатели прислушались бы к исследователям. Так, например, компания Parity, которая стояла за уязвимым кодом кошелька, который уничтожил DevOps199, была оповещена о проблеме за месяцы до катастрофы, но руководство приняло решение не принимать немедленных мер, выбрав обновление с «повышением удобства».

Тем не менее, так как исследователи не опубликовали список уязвимых контрактов, можно предположить, что на данный момент, деньги хранятся в условной безопасности:

«Если кто-то захочет воспользоваться идеей, они должны будут проделать, как минимум, тот же объем работ, что проделали мы», – утверждает исследователь.

Подписывайтесь на Bitnovosti в telegram!

Делитесь вашим мнением об этой новости в комментариях ниже.

Источник



Categories: Без рубрики, Безопасность, Новости, Образование, Общество

Tags: , , , ,

Leave a Reply

Оставьте первый комментарий!

  Subscribe  
Notify of