ТОП інцидентів Web3 та їхні причини

29.08.2022 Автор: Софія Мащенко

Наслідки нехтування аудитом смарт-контрактів, застосунків та протоколів блокчейн

Із цієї статті ви дізнаєтеся про найбільші інциденти в DeFi, пов’язані з помилками розробників, власників та користувачів смарт-контрактів та DApp. Виявляється, що темпи зростання крипто-злочинів більше ніж у 5 разів перевищують темпи зростання кібер-злочинів загалом. Як уникнути мільйонних втрат? Є прості та надійні рішення.

Зниклі мільярди DeFi

bubble DeFi

Згідно зі свіжим звітом Crystal Blockchain про порушення безпеки та шахрайські дії з криптовалютами за останні 11 років, із 2011 року внаслідок зломів та шахрайства власники активів втратили 14,7 мільярда USD у криптовалюті. Головною ареною крипто-злочинів стала екосистема DeFi (Decentralized Finance) – фінансові інструменти, створені на блокчейні.

У таблиці нижче наведено дані щодо кількості крипто-злочинів та сум завданих збитків за останні роки.

РікКількість інцидентівСума збитків, млн. USD
201181,04
2012145,76
20131614,2
201411646
201510400
20165147
201714634
201815974
2019263500
2020311520
2021944632
20221202218

За ці роки зловмисники здійснили 167 зломів DeFi, 123 атаки на системи безпеки та реалізували 74 шахрайські схеми. Під час зламу централізованих платформ злочинці вкрали понад 3,2 мільярда USD. Понад 4 мільярди USD злодії вивели з проєктів DeFi, користуючись їхніми вразливостями. Решту коштів шахраї викрали з різних проєктів, систем і платформ, не користуючись технічними вразливостями, а шляхом зловживання довірою користувачів.

Із 2021 року увага хакерів помітно переключилася на DeFi. З 2022 року децентралізовані проєкти зламували вже у 20 разів частіше, ніж централізовані. Нижче наведено діаграму сумарного збитку від різних видів крадіжок криптовалют за роками.

incident schedule Web3

За словами експертів, причиною зростання атак на проєкти DeFi є розвиток сектору. Проєкти поспішають вийти на ринок із недостатнім тестуванням та аудитом безпеки.

Згідно з доповіддю компанії Leonardo, обсяг втрат від всіх кіберзлочинів (не тільки криптовалютних) у 2021 році становив 6 трильйонів USD. Цікаво, що цю статистику підтверджують прогнози Cybersecurity Vetures, що були опубліковані у 2020 році.

Середні темпи зростання збитків від кіберзлочинів за останні 5-7 років становлять близько 15% на рік. При цьому, виходячи зі статистики Crystal Blockchain, середні темпи зростання збитків від крипто-злочинів за той самий час становлять понад 80%.

Таким чином, середньорічні темпи зростання крадіжок криптовалют більш ніж у 5 разів перевищують середньорічні темпи зростання збитку від всіх крипто-злочинів.

Наслідки відмови від аудиту безпеки

system error

Смарт-контракти є центральним елементом екосистеми DeFi. Завдяки їхнім технологіям активно розробляються децентралізовані застосунки (DApps), які дозволяють функціонувати без участі посередника для контролю над коштами користувачів. Однак неаудовані смарт-контракти майже завжди мають безліч уразливостей та інших недоліків, які можуть негативно вплинути на безпеку DeFi. Іншими словами, якщо вразливий ваш смарт-контракт, уразливий і ваш застосунок DeFi.

Оскільки смарт-контракти, як будь-яке інше програмне забезпечення, розробляються людьми, людський чинник має вирішальне значення. Незалежно від професіоналізму та досвіду розробника, ризики припущення помилок у коді та конфігураціях існують завжди. Тому значна частина смарт-контрактів не застрахована від злому. У таких випадках злочинці використовують помилки або недоліки коду смарт-контрактів для виконання зловмисних дій.

Наведемо кілька прикладів недавніх великих інцидентів у криптовалютній індустрії, пов’язаних із помилками розробників, власників та користувачів смарт-контрактів, розподілених застосунків та протоколів.

Сайдчейн Ronin Network. Яскравим прикладом крипто-інциденту є найбільший злом в історії сегмента DeFi, про який ми вже писали детальніше відразу після цього інциденту. Платформа Ronin Network, пов’язана з популярною грою play-to-earn “Axie Infinity” у березні 2022 року втратила 625 мільйонів USD внаслідок хакерської атаки на службову лазівку, яку розробники відкрили для безкоштовних транзакцій своїх партнерів.

Протокол Yam Finance. Більш ранній випадок є сенс згадати через високу величину втрат. Проєкт Yam Finance залучив у 2020 році понад 400 мільйонів USD, а потім упав майже до нуля. Це сталося після того, як помилка у неаудованому смарт-контракті проєкту збільшила кількість токенів YAM у 10 разів. Це унеможливило прийняття будь-яких управлінських рішень. Через відсутність аудиту коду, як і в деяких інших смарт-контрактах DeFi, один рядок коду спричинив колапс цілого нового перспективного проєкту.

Платформа Wormhole. У лютому 2022 року криптовалютна платформа Wormhole виправила вразливості безпеки, опублікувала виправлення, але не встигла їх застосувати. Невідомий зловмисник виявив у коді платформи вразливість “нульового дня” та скористався нею. Шляхом підробленого діючого підпису хакеру вдалося завершити транзакцію та отримати ефір на суму 325 мільйонів USD.

Nomad Bridge. Нещодавно, на початку серпня 2022 року, був зламаний міст Nomad Bridge. Збитки становили 190 мільйонів USD. Причиною злому стала невелика неточність у коді. Смарт-контракт Nomad не зміг належним чином перевірити введення транзакції.

Платформа Qubit Finance. Ситуація злому аналогічна до злому платформи Wormhole, і приблизно в той же час. Хакер викрав близько 80 мільйонів USD у криптовалюті BNB з гаманця платформи, використовуючи вразливість в одному зі смарт-контрактів, який компанія застосовувала для обробки транзакцій користувачів.

Блокчейн-платформа Solana. Інцидент стався у серпні 2022 року. Хакери зламали близько 8000 гаманців на базі Solana, отримавши доступ до коштів власників гаманців. Транзакції було підписано від імені користувачів. Збиток було оцінено фахівцями у 8 мільйонів USD.

Metamask. Користувач, що входить до десятки найкращих у рейтингу Degen Score, у серпні 2022 року втратив близько 500 тис. USD в USDC через експлойт і permit-функцію. Ця функція була задумана свого часу для підвищення зручності користувачів Ethereum. Зловмисник обманом отримав електронний підпис жертви та відправив транзакцію з permit-функцією з цим підписом. Така підготовка дала шкідливому смарт-контракту можливість керувати всіма коштами в гаманці жертви. Потім шкідливий смарт-контракт викликав функцію transferFrom, яка і викрала всі кошти. Цей інцидент примітний тим, що тут смарт-контракт виступає вже не вразливістю, а загрозою. Також тут жертвою виявився не проєкт, а окремий криптовалютний гаманець. Навряд чи хтось із вас захотів би опинитися на місці користувача цього гаманця та втратити свої кошти.

Слід також згадати такі великі злами DeFi поточного року, як Beanstalk (вкрадено 182 млн. USD в ETH, ERC20), Maiar Exchange (Elrond, вкрадено 113 млн. USD в ETH, ERC20 в EGLD), Harmony (вкрадено 100 млн. USD в ERC20), Mirror Protocol (вкрадено 90 млн. USD у TERRA) та Rari Capital (вкрадено 80 млн. USD в ETH).

“Децентралізований” – не означає “безпечний”

web3 hacking

Компрометації DeFi, смарт-контрактів та протоколів блокчейн зростають у геометричній прогресії. Уразливості, а простіше кажучи, помилки в коді та недоліки безпеки призводять до величезних фінансових втрат. Одна з основних причин фінансових втрат – нехтування аудитом смарт-контрактів.

Розробники застосунків і протоколів припускаються помилок не менш часто, ніж розробники смарт-контрактів. Багато смарт-контрактів, протоколів і застосунків DeFi створюються шляхом бездумного копіювання коду, який не завжди підходить для конкретних специфічних випадків. Це потенційно збільшує ризики безпеки ваших проєктів.

Безліч помилок допускають користувачі блокчейн, які довіряють ненадійним проєктам, які потім стають рагпуллами та іншим скамом. Втім, шахрайство є окремою великою темою, яку ми обов’язково висвітлимо в одній із наступних статей.

Запуск або розгортання неаудованого смарт-контракту, ігнорування перевірки безпеки коду та відмова від пентестів рано чи пізно призведуть до невтішних наслідків. Специфіка інцидентів безпеки полягає в тому, що вони відбуваються абсолютно несподівано. Крадіжки коштів, маніпулювання активами, збої функціонування та інші всілякі уразливості можуть призвести до загибелі ваш блокчейн-проєкт відразу після його зльоту або набагато пізніше, коли з висоти буде ще болючіше падати.

У той же час, на щастя, ризиками Web3 цілком можна керувати. По-перше, розробники Web2- та Web3-застосунків та протоколів мають можливість підвищити рівень безпеки своїх проєктів, доручивши аудит вихідного коду спеціалізованим компаніям. 

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

Нарешті, ви можете не знати заздалегідь, наскільки великими коштами може керувати ваш смарт-контракт, або скільки коштів ви залучите на ICO. Однак, виправити ваш смарт-контракт після його публікації ви вже не зможете. Тому, щоб уникнути колосальних втрат або недоотриманого прибутку, ми наполегливо рекомендуємо заздалегідь і належним чином проводити аудит ваших смарт-контрактів.

Навіть якщо ви впевнені у компетенції ваших розробників, DevOps та фахівців із безпеки, ціна питання надто велика. Тому перестрахуйте себе додатково та скористайтеся нашими сервісами безпеки, які, окрім іншого, включають також навчання ваших фахівців, сертифікацію вашої компанії, моніторинг подій безпеки, розслідування інцидентів безпеки та багато іншого.

Ви приділили ваш цінний час на прочитання нашої статті, тому ми намагатимемося компенсувати його. Скористайтеся нашим бонусом для вас, що діє протягом найближчих чотирьох тижнів, – безкоштовною індивідуальною консультацією з будь-яких питань захисту криптовалютних рішень та інших систем Web3.

Підпишіться на наш канал Телеграм, щоб не пропустити нові статті нашого блогу.

Інші записи

30/11/2024
Безпека штучного інтелекту
10/11/2024
Як захистити і навчити захищати входи в системи