Уязвимость безопасности в Cosmos SDK может позволить DDoS-атаки

Фирма по обеспечению безопасности Блокчейн Oak Security выразила обеспокоенность по поводу уязвимости в программном обеспечении для разработки на базе Cosmos chain (SDK), которая может привести к атаке распределенного отказа в обслуживании (DDoS) на сеть. В посте на Medium два исследователя фирмы, Эдвард Котыш и Кристиан Вари, объяснили, почему это представляет собой серьезный риск.

Согласно исследователям, уязвимость заключается в том, что функции BeginBlock и EndBlock не подлежат учету газа. Это сделано намеренно, так как позволяет разработчикам иметь некоторое бесплатное вычислительное время, поскольку эти две функции не обязательно влияют на пользовательские транзакции.

Однако эксперты по безопасности предупредили, что то, что должно было стать незначительным отступлением для разработчиков, на самом деле может нанести значительный ущерб сетям на базе Cosmos несколькими способами. К ним относятся создание сетевой перегрузки, влияние на валидаторов или даже полное отключение.

Они сказали:

“Эта свобода может быть двусторонним мечом, и она может открыть ящик Пандоры с потенциальными уязвимостями. Главная проблема в том, что без газовых лимитов плохо оптимизированный или злонамеренный код в BeginBlock и EndBlock может действительно наделать бед.

Исследователи протестировали свои теории о потенциальном воздействии уязвимости, проведя эксперименты. В одном из экспериментов они ввели случайные задержки в функцию BeginBlock на различных высотах блоков, с задержками от пяти секунд до одной минуты.

Из экспериментов эксперты подтвердили, что задержки привели к значительному заторам в сети, замедляя её прогресс и увеличивая время, необходимое для завершения блоков. Это также сказалось на валидаторах, несколько из которых не смогли подписать блоки в требуемые сроки, а некоторые полностью пропустили фазы голосования.

Неудивительно, что ограниченное количество валидаторов, доступных для подписания транзакций ( менее двух третей ), означало, что тестовая цепочка испытывала временные сбои. Исследователи отметили, что это может привести к полному отключению на основном блокчейне, где одновременно происходит несколько транзакций, которые необходимо завершить.

Oak Security рекомендует исправления для разработчиков

Тем временем эксперты по безопасности рекомендовали решения для устранения уязвимости, прежде чем злоумышленник сможет ее использовать. По их мнению, необходимо внедрить строгие пределы вычислений, чтобы даже кто-либо не мог просто добавить любой вектор атаки, который вызовет чрезмерные вычисления.

Они выявили три разных способа реализации этого решения. К ним относятся добавление временной сложности к функциям BeginBlock и EndBlock, чтобы они не выполнялись бесконечно, оборачивание контекста для сохранения ресурсоемких операций в измеряемых контекстах, а также валидация всех входных данных в функцию.

Кроме того, они призвали к более комплексному тестированию и моделированию, чтобы определить, как уязвимость может быть использована и каков потенциальный её воздействие.

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

Cosmos SDK запускает новую версию

Тем временем, Cosmos SDK еще не прокомментировал отчет о безопасности и то, будет ли он что-либо делать, чтобы решить эту проблему с их стороны. Это может быть связано с тем, что выявленная уязвимость на самом деле является особенностью дизайна, а не ошибкой или вредоносным ПО, как это было в недавних отчетах о безопасности, связанных с атаками на цепочку поставок.

К счастью, разработчики, использующие Cosmos SDK, могут реализовать большинство рекомендаций от экспертов по безопасности, что позволяет им контролировать то, что они разворачивают, и гарантировать, что это не подвержено DDoS-атакам.

Интересно, что Cosmos SDK недавно запустил свою версию v0.53.0. Согласно объявлению в X, эта версия является ответом на проблемы, которые строители подняли по поводу предыдущей версии.

Сообщается, что последняя версия включает в себя неупорядоченные транзакции, улучшенные возможности для общественных пулов, пользовательские механизмы управления, эпохи и пользовательский чекан. Она также включает исправления ошибок, и разработчики уже могут обновиться до неё на GitHub.

Cosmos SDK — это инструмент для разработчиков, позволяющий легко создавать свои собственные настраиваемые сети и интегрироваться с блокчейном Cosmos, сетью, стремящейся стать Интернетом Блокчейнов.

Cryptopolitan Academy: Хотите увеличить свои деньги в 2025 году? Узнайте, как это сделать с помощью DeFi на нашем предстоящем вебинаре. Забронируйте свое место

Посмотреть Оригинал
Содержание носит исключительно справочный характер и не является предложением или офертой. Консультации по инвестициям, налогообложению или юридическим вопросам не предоставляются. Более подробную информацию о рисках см. в разделе «Дисклеймер».
  • Награда
  • комментарий
  • Поделиться
комментарий
0/400
Нет комментариев
  • Закрепить