Компанія з безпеки Блокчейн Oak Security висловила занепокоєння щодо вразливості в програмному забезпеченні для розробки Cosmos chain (SDK), яка може призвести до атаки Distributed Denial of Service (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 на нашому майбутньому веб-класі. Забронюйте своє місце.
Контент має виключно довідковий характер і не є запрошенням до участі або пропозицією. Інвестиційні, податкові чи юридичні консультації не надаються. Перегляньте Відмову від відповідальності , щоб дізнатися більше про ризики.
Вразливість безпеки в Cosmos SDK може дозволити атаки DDoS
Компанія з безпеки Блокчейн Oak Security висловила занепокоєння щодо вразливості в програмному забезпеченні для розробки Cosmos chain (SDK), яка може призвести до атаки Distributed Denial of Service (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 на нашому майбутньому веб-класі. Забронюйте своє місце.