2016 год в блокчейн-индустрии ознаменовался сенсационным инцидентом безопасности: атакующий, потратив менее 1 доллара на комиссию за транзакцию, с помощью одной строки кода с перепутанным порядком, вывел из контракта на цепочке ведущего проекта The DAO цифровые активы на сумму 60 миллионов долларов. Никакого взлома, никакого незаконного проникновения — всё было выполнено исключительно через логическую уязвимость самого кода.


Принцип этой уязвимости был до смешного прост: нормальная логика вывода должна была сначала обнулить баланс пользователя, а затем выполнить перевод. Но в контракте того года порядок был перепутан — сначала перевод, затем обнуление. Атакующий в механизме обратного вызова, triggered переводом, циклически инициировал запросы на вывод, пока система ещё не обновила состояние баланса, раунд за раундом извлекая средства, рекурсивно опустошая весь резерв контракта. Для исправления достаточно было поменять местами две строки кода.
The DAO был далеко не мелким проектом — это был самый заметный флагманский проект экосистемы Ethereum того времени, с краудфандингом в 150 миллионов долларов. Код прошёл несколько раундов рецензирования сообществом и проверки профессиональными командами безопасности, но никто не заметил эту базовую логическую ошибку.
В итоге событие вынудило сообщество Ethereum запустить хардфорк, принудительно откатить транзакции и вернуть украденные активы, что также привело к появлению ответвления Ethereum Classic. Долгосрочно исповедуемая индустрией концепция «код — это закон» впервые получила жёсткую пощёчину от реальности, и споры о том, является ли использование уязвимости обоснованным действием или кражей, продолжаются до сих пор.
Что ещё более иронично — прошло более десяти лет, а такие базовые уязвимости не только не исчезли, но и повторяются в новых обличьях. В 2021 году известный протокол кредитования CREAM Finance лишился 130 миллионов долларов по той же схеме, и из-за сложной многоуровневой вложенности вызовов, несмотря на полный профессиональный аудит, риск не был обнаружен.
Кроме того, в индустрии одно за другим происходят: атаки с манипуляцией flash-кредитами с нулевым капиталом, грубые ошибки с неправильно заданными правами функций, и даже крупный инцидент с кроссчейн-мостом, где только из-за фишингового письма было потеряно 625 миллионов долларов. Многие проекты, стремясь ускорить запуск и снизить затраты на разработку, постоянно идут на компромиссы в безопасности, и каждая мелочь, где сэкономили усилия, в итоге оборачивается непоправимыми колоссальными потерями.$ETH
{spot}(ETHUSDT)
ETH0,77%
Посмотреть Оригинал
post-image
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Репост
  • Поделиться
комментарий
Добавить комментарий
Добавить комментарий
Нет комментариев
  • Закреплено