Дамокловы мечи: 4 потенциальных уязвимости блокчейна
Уязвимости присущи любой автоматизированной системе, однако ставки в Web3 особенно высоки, учитывая общую стоимость средств, находящихся под управлением.
Оглавление
- Введение
- Страшные слова в Web3: риски централизации
- Эксплуатируемая логика в коде протокола Web3
- Потенциальные сторонние узкие места: оракулы и мосты
- Черные лебеди, риски контрагентов и регуляторная неопределенность
- Использованная литература
Введение
По словам древнегреческого Цицерона, царь по имени Дионисий предложил льстецу по имени Дамокл возможность поменяться местами на день, чтобы Дамокл мог лично насладиться удачей царя. Дамокл согласился на сделку и был осыпан экзотической едой и другими предметами роскоши, но он заметил, что царь Дионисий подвесил к потолку меч, удерживаемый единственной прядью конского волоса.
Дамокл больше не мог наслаждаться роскошью царствования наряду с парализующим страхом, вызванным стрессом от пребывания в таких незащищенных обстоятельствах. То есть Дамокл узнал, что богатство власти сопряжено с серьезной ответственностью и что роковая судьба может прийти в любой момент без предупреждения. Тот же урок, который выучил Дамокл, можно применить к стеку Web3 и их приложениям в глобальных финансах, чтобы мы могли двигаться вперед уверенно и изящно, а не съеживаться в страхе.
По мере того, как Web3 продолжает развиваться , и множество вариантов использования внедряется для коммерциализации, те, кто хочет применить эту технологию к своим существующим бизнес-моделям, также должны сосредоточить свое внимание на потенциальных рисках, которые могут быть связаны с блокчейнами и цифровыми активами. Это особенно верно, когда технология автоматизирована и полностью охватывает основную финансовую инфраструктуру организации, не говоря уже о совокупности средств, которые часто выделяются на протоколы смарт-контрактов, операции майнинга или другие логистические инвестиции, связанные с коммерческим внедрением.
«Полезно ознакомиться с некоторыми потенциальными наземными минами, чтобы не наступить на них в Web3, мы надеемся, что это поможет информировать о проблемах безопасности в отношении Web3, даже если только с высоты птичьего полета».
Уязвимости — это, по сути, вещи, которыми мошенники могут воспользоваться для использования компьютерного программного обеспечения, оборудования или, в случае Web3, протокола смарт-контракта . Это может быть присуще базовой инфраструктуре данного блокчейна; недостатки или ограничения в языках кодирования смарт-контрактов или могут накапливаться с течением времени, если централизация возьмет верх над узлами или другими участниками сети, что может поставить под угрозу целостность их активов.
Конечно, ставки этих уязвимостей не могут быть намного выше, учитывая огромную ценность активов, которыми управляют протоколы Web3 и тому подобное. Эта высокая стоимость делает протоколы Web3 очень привлекательными целями для хакеров, поэтому крайне важно, чтобы проекты не жалели средств на устранение уязвимостей блокчейна и болезненных потерь, которые пользователи несут из-за эксплойтов.
Полезно ознакомиться с некоторыми потенциальными наземными минами, чтобы не наступить на них в Web3, и мы надеемся, что это поможет информировать о проблемах безопасности в отношении Web3, даже если только с высоты птичьего полета. Поэтому в этой статье будут обобщены некоторые из наиболее распространенных уязвимостей, присущих блокчейнам и стеку Web3 в более широком смысле, а также различные стратегии снижения рисков, используемые проектами, чтобы аудитория могла более эффективно оценить свою устойчивость к риску и принять соответствующее участие. Тем не менее, ничто, найденное здесь или где-либо еще на сайте, никоим образом не должно рассматриваться как финансовый совет.
Страшные слова в Web3: риски централизации
Возможно, самой распространенной уязвимостью, угрожающей протоколам Web3, является риск централизации. По иронии судьбы, централизация является одной из основных проблем, для решения которых изначально была разработана технология распределенного реестра. Выявление рисков централизации не так просто, как подсчет количества узлов в сети и их одобрение. Важно учитывать ряд аспектов, с которых впоследствии могут проявиться риски централизации.
Риски централизации обычно возникают либо из-за характера лежащей в основе проекта консенсусной структуры, общего количества или географического распределения узлов, участвующих в данной сети, либо даже из-за доли узлов, на которых работает самая последняя версия сетевого программного обеспечения, среди прочего. Это создает единые точки отказа, которые хакеры могут использовать для получения привилегированного доступа к кошельку пользователя или пулам ликвидности сети.
Например, какое минимальное количество объектов необходимо для нарушения работы сети? Это было названо исследователями коэффициентом Накамото и эффективно представляет количество узлов, которые должны работать сообща, чтобы нарушить работу данной цепочки блоков. Если количество узлов, необходимых для отключения сети, становится неправдоподобно большим, она считается функционально безопасной.
Точно так же количество хеш-мощности, контролируемой пулом майнинга, валидаторным узлом или пулом ставок, также может влиять на свойства децентрализации блокчейна. Slush Pool и F2Pool были выдвинуты в качестве примеров децентрализации в сообществе биткойнов из-за их размера и коллективной хэш-мощности.
Протоколы, использующие учетные записи с привилегированным доступом, представляют собой еще одну форму риска централизации, поскольку хакеры неизбежно попытаются использовать эти учетные записи привилегированных пользователей. Даже при самой разумной операционной безопасности доверие, необходимое для такого рода настройки, практически сводит на нет преимущества децентрализации, которыми пользуются блокчейны, при этом все еще беря на себя риск использования смарт-контрактов.
Если злоумышленники получают доступ к конфиденциальной информации привилегированной учетной записи или заражают ее вредоносной программой, потери могут быть катастрофическими. Это часто делается с помощью фишинговых атак, таких как электронные письма, обманом заставляющие пользователя щелкнуть ссылку или ввести часть или всю строку конфиденциальной информации. Однако это не уникально для Web3 и будет оставлено для более общих обсуждений, хотя цифровые активы, безусловно, стали обычными целями для фишинговых атак и тому подобного.
Внедрение инструментов аналитики, аудита и белых хакеров, специфичных для Web3, может отслеживать подозрительную активность, хотя, если что-то действительно будет обнаружено, большое количество крипты уже будет потеряно. На ум приходит старая поговорка «лучше поздно, чем никогда», но стремление обойти проблему априори с помощью децентрализации и правильно выстроенных сдерживающих факторов для вреда в сети предпочтительнее, если не идеально.
Эксплуатируемая логика в коде протокола Web3
Код — это, по сути, закон, определяющий, как должны располагаться элементы программного обеспечения, чтобы желаемые результаты были предсказуемыми и определенными. Однако предвидеть плохое или неожиданное поведение гораздо сложнее, чем может показаться на первый взгляд. Следовательно, это дает возможность использовать уязвимости.
Иногда можно использовать логические проблемы, в зависимости от того, как выполняются строки кода. Это всегда будет проблемой для автоматизированных систем, поскольку хакеры будут постоянными угрозами, ищущими способы использовать систему для ее уязвимостей. Например, распространенной логической проблемой является неправильная настройка того, как смарт-контракты блокируют отметку времени, порядок операций, которые проверяют балансы бухгалтерской книги на предмет двойного расходования, хранение закрытых ключей пользователей и так далее.
Атаки с повторным входом — это взломы, которые используют такие логические проблемы, позволяющие хакерам истощать средства протокол, многократно отправляя, а затем отзывая транзакции, прежде чем протокол сможет обновить свой баланс. По сути, это означает, что злоумышленники могут обманом заставить смарт-контракты повторно отправлять средства, которые уже были отправлены, путем отправки и отзыва запросов на снятие средств, если только разработчики не изменят порядок операций логики своего кода.
После предыдущих атак с повторным входом разработчики Web3 начали реструктурировать свой собственный код для защиты от этой угрозы. Одним из распространенных решений было написать функции кода таким образом, чтобы внешние функции прослушивания срабатывали после изменения состояния блокчейна, использования событийных отправок, ограничений ресурсов или платежей по запросу . Платежи по запросу рекомендуются Open Zeppelin, поскольку они не позволяют получателям транзакции отменить транзакцию, что устраняет сложности с повторным входом.
Потенциальные сторонние узкие места: оракулы и мосты
Конечные точки, в которых блокчейны пересекаются либо с другими протоколами, либо с внешними системами, предоставляют злоумышленникам привлекательные цели для кражи средств путем использования системы каким-либо образом. Таким образом, уязвимости, связанные с оракулами и межсетевыми мостами, являются ключевыми объектами аудита безопасности Web3.
Если блок-цепочка настолько прочна, насколько ее самое слабое звено, то любые данные, вступающие в контакт с цепочкой блоков, должны быть свежими, нетронутыми и стерильными. Если данные, которые оракулы передают в протокол Web3, ошибочны или задерживаются, это приводит к неоптимальному или ошибочному выполнению смарт-контрактов. Возможно, подходящая аналогия — это больничные хирурги и их рабочая среда, она должна быть идеальной, чтобы не заражать иммунную систему пациента или иным образом создавать нежелательные симптомы, требующие лечения.
Чтобы выйти за рамки своих собственных блокчейнов, гибридные смарт-контракты используют оракулы для получения данных из внешних систем, чтобы «узнать», когда их условия соблюдены, и выполнить соглашение. Для этого они полагаются на сторонние оракулы, которые предоставляют периодически обновляемые потоки данных, позволяющие смарт-контрактам адаптироваться к быстро меняющимся условиям или событиям вне сети.
Однако они также предоставляют возможности для централизации и, следовательно, эксплуатации, сговора или манипуляции. Если данные, которые оракулы передают в протокол Web3, ошибочны или задерживаются, это приводит к неоптимальному или ошибочному выполнению смарт-контрактов.
Учитывая стремление к безупречной эффективности наших цифровых финансовых систем, недавний толчок к совместимости с Web3 не должен вызывать удивления. Межсетевые мосты были первым элементарным ответом на потребность рынка в функциональной совместимости и послужили полезными моделями для инфраструктуры, которую пользователи могут использовать для перемещения ценности по разрозненным цепочкам. Конечно, они также представляют собой серьезную уязвимость по нескольким причинам.
Во-первых, они не только служат центрами консолидации ликвидности, но и берут на себя повышенные риски контрагентов и другие проблемы безопасности. Поскольку кроссчейн-мосты пересекаются с другими блокчейнами через каналы ликвидности, их безопасность и работа зависят как минимум от трех взаимоисключающих схем безопасности. То есть безопасность цепи A, цепи B и самого моста должна выдерживать угрозы безопасности, при этом любое нарушение целостности моста наносит ущерб его взаимосвязанным цепям, не говоря уже о пошатнувшемся доверии незатронутых пользователей.
Большая часть уязвимостей межсетевых мостов связана с различиями в параметрах безопасности, языках смарт-контрактов и механизмах консенсуса между блокчейнами. Кроме того, узлы разрозненных цепочек не ведут реестры ни для какой другой, кроме своей собственной цепочки, и, следовательно, берут на себя дополнительные риски контрагента, как упоминалось ранее. Это может нанести ущерб репутации проекта, несмотря на то, что ранее он считался безопасным.
Инструменты аудита смарт-контрактов и аналитики блокчейна могут помочь в предотвращении внезапных атак, помогая укрепить привлекательные цели для эксплуатации, такие как оракулы или межсетевые мосты. Тем не менее, есть способы краудсорсинга информации, необходимой для прогнозирования потенциальных атак и защиты протоколов Web3. Иными словами, проекты должны не только постоянно проводить повторный аудит своих сетей, но и проводить хакатоны для поиска ошибок , прежде чем полностью перейти в онлайн, и нанимать белых хакеров, чтобы вынюхивать любые потенциальные риски, прежде чем они превратятся в кучу неприятностей.
Черные лебеди, риски контрагентов и регуляторная неопределенность
Иногда кажется, что атаки происходят из ниоткуда или происходят из-за недостатка в операционной безопасности одной или нескольких сторон. В других случаях это просто вопрос неослабевающих рисков контрагента. Конечно, главным дамокловым мечом, висящим над головой любого протокола, должна быть нормативная неопределенность, связанная с операциями с цифровыми активами, в сочетании с редким лоскутным одеялом правовой защиты, существующей в настоящее время по всему миру.
Атаки с использованием мгновенных кредитов также вызывают озабоченность; хакеры в прошлом ранее манипулировали функциями флэш-кредита для атаки на более слабые протоколы или мосты. С небольшими первоначальными инвестициями злоумышленники могут занять тысячи долларов ETH, развернуть их на уязвимый мост или пул ликвидности и извлечь огромные суммы в украденных цифровых активах, прежде чем мгновенно погасить свои первоначальные кредиты ETH. При тщательном расчете времени все это произойдет за одну транзакцию Ethereum, заставив пользователей изо всех сил пытаться выяснить, что случилось с их криптовалютой.
По заказу DARPA военных США исследователи из Trail of Bits недавно опубликовали негативный обзор особенностей и уязвимостей блокчейнов. В отчете была поставлена задача оценить механизмы консенсуса нескольких протоколов и инфраструктуру узлов на предмет качества децентрализации, а также их потенциал для тайных манипуляций или эксплуатации. Это вызвало слухи о том, что регулятивные риски, скрытые в темноте, более опасны, чем когда-либо, сейчас, когда криптовалюта достигла критического момента на кривой своего принятия. Этого нельзя исключать, если законодатели всего мира не внесут ясности в регулирование.
«Если стек Web3 действительно предназначен для онлайн-возрождения человеческого творчества, межличностного общения и коллективного сотрудничества, а также экономического динамизма, то он должен пройти определенный эволюционный процесс, чтобы сначала понять, а затем устранить слабые места, которые проявляются».
Учитывая растущую компонуемость экосистем Web3, необходимо изменить отношение к устранению уязвимостей безопасности путем открытого изучения и обсуждения их наличия. Одним из преимуществ Интернета и последующей цифровой экономики является то, что они постоянно совершенствуются с помощью краудсорсинга. Тем не менее, более четкое понимание потенциальных уязвимостей любого проекта должно быть главным приоритетом, если они должны быть должным образом смягчены и, следовательно, должным образом масштабироваться.
В конечном счете, нереально ожидать, что какая-либо система будет работать вечно без уязвимостей. Чего более реалистично ожидать, так это экосистемы Web3, которая снижает эти риски за счет краудсорсинга информации и использования принципов общей подотчетности посредством децентрализованной прозрачности, чтобы постоянно развиваться в быстро меняющейся среде. Это жизненно важно не только для укрепления гарантий безопасности отдельных проектов, но и для популяризации успеха сектора Web3 и более широкого внедрения цифровых активов.
Использованная литература
- Coghlan, J. (2022, 17 июня). Inverse Finance exploited again for $1.2M in flash loan oracle attack. Cointelegraph.
- Foxley, W. (2020, 19 февраля). Everything you ever wanted to know about the DeFi ‘flash loan’ attack. CoinDesk.
- Lamesh, L. (2022, 29 мая). Is there a secure future for cross-chain bridges? Cointelegraph.
- Sai et al. (2021, июль). Taxonomy of centralization in public blockchain systems: A systematic literature review. Information Processing & Management, 58(4), 102584.
- Shiv, J. (2022, 29 июня). Pentagon warns of serious threat to global economy from blockchain vulnerabilities. Benzinga Crypto.
- Srinivasan, B., & Lee, L. (2017, 27 июля). Quantifying decentralization. Medium.
- Sultanik et al. (2022, июнь). Are blockchains decentralized? Unintended centralities in distributed ledgers. Trail of Bits.
Присоединяйтесь к сообществу SupraOracles:
Website | Twitter | Telegram | LinkedIn | Announcements | Medium | Discord | YouTube