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

0 Время чтения: 4 мин. okasks_editor

Специалисты из Oak Security подняли тревогу. В Cosmos SDK обнаружен баг, который открывает двери для потенциальных DDoS-атак. В блоге Medium исследователи компании, Эдвард Котыш и Кристиан Вари, объяснили, почему проблема может быть куда серьёзнее, чем кажется.

Суть бага в отсутствии учёта газа при исполнении функций BeginBlock и EndBlock. Так было и задумано, они считаются «вне пользовательских транзакций» и дают разработчикам немного свободного времени на вычисления.

Но, как отмечают исследователи, это самое «свободное время» легко превращается в уязвимость. Если в эти функции добавить плохо оптимизированный или намеренно вредоносный код, можно серьёзно навредить всей экосистеме Cosmos. Речь идёт не просто о лаге или ошибке, а о перегрузке валидаторов, блокировке блоков и даже полном отказе сети.

«Эта свобода открывает ящик Пандоры для всех, кто хочет устроить хаос. Без лимитов по газу BeginBlock и EndBlock могут реально обрушить сеть», — заявили эксперты.

Чтобы проверить уязвимость, команда Oak провела серию экспериментов. В одном из них они вставляли случайные задержки в BeginBlock, от 5 секунд до целой минуты. Уже при таких условиях сеть начинала захлёбываться. Прогресс блоков тормозился, а валидаторы не успевали подписывать блоки вовремя.

Читайте также: Объем торговли на блокчейне Sonic вырос на 130% после анонса Binance об аирдропе S-токенов

Часть валидаторов вообще пропускала фазы голосования, из-за чего общее число голосов падало ниже 2/3, сеть временно зависала. На тестовой сети это выглядело как остановка, но в реальной ситуации с загруженным мейннетом такие сбои могут стать фатальными.

Oak предлагает решение

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

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

Они выделили три возможных подхода:

  • ограничить сложность самих функций по времени исполнения, чтобы они не могли крутиться бесконечно,
  • ввести обёртки (context wrapping), которые будут принудительно учитывать расход ресурсов и «счётчик газа» даже для этих участков,
  • валидировать все входные данные, чтобы исключить вредоносные сценарии на этапе вызова функций.

Помимо этого, команда призывает разработчиков чаще проводить стресс-тесты и моделировать возможные векторы атаки.

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

Cosmos SDK выпускает обновление

На момент публикации Cosmos SDK официально не прокомментировал отчёт Oak Security. Пока не понятно будут ли предпринимать какие-то шаги для устранения уязвимости. Это может быть связано с тем, что сам баг, это не совсем баг в классическом смысле. Скорее, это особенность дизайна, а не ошибка или вредоносный код.

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

Читайте также: Tether увеличил закупки казначейских бондов до $98.5B

Параллельно Cosmos SDK выпустил новую версию v0.53.0. Как заявили разработчики в X, обновление это ответ на боль и фидбек от сообщества, которые накопились по поводу предыдущей версии.

Что добавили:

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

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

Cosmos SDK остаётся одним из главных инструментов для тех, кто хочет запустить собственную сеть и подключиться к Cosmos.

Комментарии (0)

Новости о цифровых валютах, финтех-трендах и финансовых инновациях

CoinSpot.io - крупнейший в рунете ресурс о цифровых валютах, финтех-трендах и финансовых инновациях. Мы рассказываем о технологиях, стартапах и предпринимателях, формирующих облик финансового мира. Венчурные инвестиции, p2p и цифровые технологии, криптовалюты, аналитика и обзоры - все, что нужно знать, чтобы быть в тренде и зарабатывать.

Полное или частичное использование материалов сайта разрешается только с письменного разрешения редакции, при этом ссылка на источник обязательна!

Подпишитесь на Email рассылку о новые статьях и важных новостях от Coinspot.io
Подпишись и будь в курсе самого главного.

Советы экспертов, актуальные комбо, постоянные розыгрыши.

Новостная выжимка в понятном формате. Мы бережем ваше время.