Insights

Крипто баг-баунті: отримання винагороди за злам блокчейну

До появи блокчейну були Netscape, Google та Heartbleed. Тепер є Immunefi, десятимільйонні виплати та смартконтракти, що чекають, поки їх розберуть на частини.

Опубліковано Команда Netts 14 хв читання

Інші мови: EnglishРусскийEspañol中文ไทยFrançaisTürkçeहिंदीفارسیالعربيةHausaPortuguêsTiếng Việt한국어日本語Bahasa IndonesiaDeutschTagalog

Крипто баг-баунті: отримання винагороди за злам блокчейну
Зміст
  1. Чому криптосфера потребує «білих хакерів» більше, ніж будь-хто інший
  2. Математика для CEO: між тисячею доларів та мільйоном
  3. Екосистема: платформи, програми та рекордні виплати
  4. Аналіз майстерності та чому це не «легкі гроші»

Стереотип, який викликає слово «хакер», є напрочуд стійким: молодий хлопець у чорному худі, що похмуро вдивляється в екран у яскраво освітленій кімнаті, викрадаючи паролі людей, які занадто довіряють інтернету. Цей образ зберігається протягом десятиліть реальної культури безпеки, оскільки це зручний спосіб перетворити щось складне на образ лиходія — а лиходії завжди стають у пригоді. Значно рідше можна почути про те, що деякі з найкращих хакерів перебувають по інший бік цієї транзакції: вони знаходять вразливості раніше за злочинців (і отримують винагороду за свої зусилля). Ця практика має назву, інституційну пам'ять і професійну структуру, що виникли за кілька десятиліть до появи блокчейну.

Перша організована програма з пошуку багів (bug bounty) у сучасному стилі була запущена компанією Netscape 10 жовтня 1995 року. Компанія працювала над Navigator 2.0, своїм тогочасним провідним браузером, і зробила публічний заклик: знайдіть баг у системі безпеки, відповідально повідомте про цю вразливість компанії та отримайте винагороду за свої зусилля. Хоча за сьогоднішніми мірками бюджет був невеликим — 50 000 доларів на всю програму — сама ідея була справді оригінальною. Фактично, Netscape публічно визнала, що її програмне забезпечення має вразливості, які вона не може виявити власними силами, і що сторонні фахівці можуть мати кращі можливості для їхнього виявлення. Значення мало не стільки грошове питання, скільки те, що символізувало це неявне визнання.

У 2000-х роках цей процес розвивався повільно, але прискорився, коли до нього приєдналися великі платформи. У 2010 році Google анонсувала свою програму Vulnerability Reward Program, яка лише сьогодні виплачує дослідникам понад 12 000 000 доларів США, а загальна сума виплат на сьогодні перевищує 50 000 000 доларів США. Лише у 2013 році Microsoft підтримала цей тренд, запустивши офіційну програму, а Apple, яка довго опиралася цій ідеї, нарешті відкрила власну публічну програму у 2020 році.

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

Однак не всі важливі відкриття у сфері безпеки відбувалися в межах офіційних програм баунті, а деякі з найбільш значущих випадків продемонстрували, що може статися за їхньої відсутності. Ще у 2014 році дві команди — Ніл Мехта з Google та команда фінської фірми Codenomicon — незалежно одна від одної виявили серйозну ваду в OpenSSL, криптографічній бібліотеці, яка лежить в основі значної частини всього зашифрованого інтернет-трафіку. Ця нещодавно виявлена вразливість, що отримала назву Heartbleed, дозволяла зловмиснику зчитувати пам'ять сервера (до якої він не повинен був мати доступу), розкриваючи у відкритому вигляді приватні ключі, облікові дані, що використовувалися десятками тисяч сервісів, а також дані користувачів. Жодної винагороди за знайдений баг передбачено не було. Хоча про вразливість було повідомлено відповідально, вона залишалася відкритою в період між виявленням та виправленням довше, ніж хотілося б думати, а подальші дії вилилися в багатомісячну глобальну метушню — від випуску патчів ПЗ та оновлень контенту до перенаправлень. Контрфактичний сценарій — що, якби державна розвідка або злочинне угруповання виявили це раніше — був достатньо тривожним, щоб прискорити впровадження програм структурованого розкриття вразливостей у всій індустрії.

Чому криптосфера потребує «білих хакерів» більше, ніж будь-хто інший

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

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

Сцена Деякі з них пов'язані з державами, деякі є розвиненими злочинними угрупованнями, а багато інших просто тримають карту до аморальності та шукають притулку в Solidity; у них є готівка, і вони пильно стежать за тим, що розгортається в мережі. Очікування відтоку користувачів через проблеми з безпекою не є життєздатною бізнес-стратегією. Ні, єдиний варіант — знайти ці вразливості раніше за інших і найняти людей, достатньо талановитих, щоб їх виявити.

Аудит і тестування на проникнення — залучення фірми з безпеки для перевірки коду перед його розгортанням — необхідні, але зовсім недостатні. Аудити зазвичай обмежені в часі та проводяться командами обмеженого складу. Система «смарт-контрактів» може мати мільйони потенційних шляхів взаємодії, і команда аудиторів в умовах обмеженого часу охопить лише найбільш очевидні з них. Ці програми bug bounty виводять пошук на набагато ширший горизонт і залучають глобальну спільноту дослідників із різним досвідом, різними ментальними моделями та необмеженим часом. Поєднання обох підходів — комплексний внутрішній аудит перед запуском в основній мережі, а потім постійна програма винагород — сьогодні є стандартним висновком для тих, хто дбає про безпеку протоколу.

Математика для CEO: між тисячею доларів та мільйоном

Економічне обґрунтування програм bug bounty досить просте і не потребує пояснень; проте на практиці воно потрібне, оскільки витрати здійснюються зараз, а економія є теоретичною і розтягнутою на тривалий період часу.

Протокол із винагородою в 10 000 доларів за критичну вразливість витратив 10 тисяч доларів на свою безпеку. Це той самий протокол, який міг би не виявити жодної вразливості (ми щойно бачили, як зловмисник скористався цим), і тепер може втратити всі свої кошти — десятки мільйонів зникають миттєво, додаючи купу проблем, і фактично призводячи до повної зупинки діяльності. Винагорода була не витратою, а превентивною страховою виплатою ще до того, як стався страховий випадок.

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

Дані про збитки надає історія DeFi-експлойтів. Наприклад, лише у 2022 році міст Ronin Network зазнав збитків на суму 625 мільйонів доларів. Інший міст, Wormhole, був зламаний у січні, що коштувало 320 мільйонів доларів. Nomad Bridge — втрачено 190 мільйонів доларів, оскільки кожен користувач міг спустошити протокол після того, як було визначено початкову схему атаки. Це вразливість, виявлення та усунення якої через бау Уявіть сценарій, який дозволяє стверджувати, що багато ранніх DeFi-проєктів опинилися приблизно в такій ситуації: публічно оголошується баунті-програма, і починають масово надходити звіти, які виявляють, що внутрішній аудит був лише поверхневим оглядом; однак витрати на усунення вразливостей швидко перевищили кошти, які команда виділила на весь свій підхід до безпеки. Мораль цієї історії не в тому, що баунті-програми є ризикованими, а в тому, що вони передбачають певний мінімальний стандарт якості коду. Протоколи дізнаються про свої найгірші проблеми найгіршим із можливих способів, запускаючи баунті-програму як заміну ґрунтовній внутрішній роботі над безпекою, а не як доповнення до неї.

Усвідомлення цих уроків призвело до наступної послідовності дій у реальному світі: внутрішня перевірка, один або кілька зовнішніх аудитів від авторитетних фірм, а потім запуск у продуктивне середовище з постійно діючою баунті-програмою. Інші впроваджують додатковий захід у вигляді поетапного розгортання — обмеження максимальної вартості під ризиком (value-at-risk) у протоколі на визначений час, поки діє баунті-програма, і розширення ліквідності лише після того, як не було виявлено жодних критичних збоїв. Це повільніше і часто дорожче, ніж просто реліз. Альтернатива ж іноді буває катастрофічною.

Екосистема: платформи, програми та рекордні виплати

Інфраструктура крипто-баунті значно еволюціонувала з часів неформальних електронних листів про розкриття вразливостей та разових винагород.

Immunefi — найбільша платформа в цій сфері, запущена в грудні 2020 року. На сьогодні вона виплатила понад 100 мільйонів доларів дослідникам за понад 3000 звітів про баги та стверджує, що допомогла запобігти втратам на суму понад 25 мільярдів доларів у щонайменше 500 протоколах станом на початок 2026 року. Платформа обслуговує спільноту з близько 45 000 зареєстрованих дослідників безпеки, підтримує структуровані процеси розкриття інформації та виступає посередником у переговорах між дослідниками та протоколами щодо класифікації ступеня тяжкості вразливостей і розміру виплат.

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

Найбільшою одноразовою виплатою в історії платформи залишається винагорода у розмірі 10 мільйонів доларів, виплачена в лютому 2022 року досліднику під псевдонімом «satya0x» за виявлення вразливості неініціалізованого проксі в мосту Wormhole. Ця вразливість, у разі її використання, могла б поставити під загрозу заблоковані ресурси вартістю приблизно 736 мільйонів доларів. Дослідник відповідально повідомив про неї та отримав на той момент найбільшу в історії виплату за програмою bug bounty. У грудні 2021 року Polygon виплатив 2,2 мільйона доларів досліднику Леону Спейсвокеру (Leon Spacewalker) за виявлення критичної помилки, яка могла б дозволити викарбувати до 9,3 мільярда токенів MATIC — що за тодішнім курсом валюти дорівнювало мільярдам доларів. Математика тут очевидна з обох сторін: винагорода була великою в абсолютному вимірі, але незначною відносно потенційних збитків від відвернутих атак.

Спеціалізовані програми стимулювання на рівні протоколів зараз досягли цифр, які ще кілька років тому було важко уявити. Максимальна виплата за критичні вразливості в програмі Uniswap v4 становить 15,5 мільйона доларів. LayerZero пропонує відкриті винагороди у розмірі 15 мільйонів доларів. У 2026 році максимальна виплата від Ethereum Foundation зросла до 1 мільйона доларів.

Ці показники мають не лише корелювати з вартістю активів, які ці протоколи намагаються захистити, але й відповідати рівню дослідників, чию увагу ви прагнете залучити — ліміт у $1 000 не стане стимулом для фахівця, здатного виявити критичну вразливість у багатомільярдному протоколі.

Code4rena та Sherlock працюють дещо інакше: ви проводите конкурсний аудит у межах визначеного часового проміжку, де кілька дослідників одночасно перевіряють кодову базу, а загальний призовий фонд розподіляється залежно від критичності та валідності знахідок. Спільнота Code4rena налічує понад 8 300 зареєстрованих аудиторів та має понад 24 000 унікальних знахідок за всіма аудитами. Sherlock провів уже понад 175 таких конкурсів. Конкурсний формат змінює структуру стимулів; дослідники мотивовані шукати проблеми, які інші можуть пропустити, оскільки за масові знахідки часто виплачують лише невелику суму або взагалі нічого. Загалом це також виявляє проблеми в більшому масштабі, ніж послідовні аудити або безстрокові баунті-програми окремо. Криптопрограми для інших власників Bitcoin Cash, таких як Coinbase та MakerDAO, досі розміщуються на GitHub. На всьому активному ринку баунті-програм у Web3 зараз пропонується понад 162 млн доларів США винагород на випадок, якщо щось піде не за планом, що свідчить як про обсяг активів на кону, так і про шлях професіоналізації, який пройшло багато дослідників.

Аналіз майстерності та чому це не «легкі гроші»

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

Пошук найкритичніших дефектів у робочому коді смарт-контрактів вимагає глибоких знань про віртуальну машину Ethereum (EVM) — не просто вміння писати на Solidity, а розуміння того, у що він компілюється, що саме робить EVM під час виконання байт-коду та які особливості мови гарантуються або виконуються її компілятором, на відміну від потенційних граничних випадків, що можуть стати проблемами безпеки в поєднанні з рішеннями щодо оптимізації газу, які приймаються обмеженими в коштах розробниками в умовах дедлайнів. Це вимагає не лише розуміння поширених класів вразливостей — реентрантності, переповнення цілих чисел, маніпуляцій із миттєвими позиками, маніпуляцій із цінами оракулів, збоїв контролю доступу, вразливостей ініціалізації — а й здатності виявляти нові вектори атак, що не відповідають жодним відомим шаблонам. Найціннішими знахідками є ті, які ніхто навіть не шукав.

Інструментарій, з яким дослідники підходять до цієї роботи, значно вдосконалився і тепер включає засоби, які в більшості випадків не відрізняються від тих, що використовують зловмисники:

Slither, фреймворк для статичного аналізу, розроблений Trail of Bits, може сканувати ваш код Solidity на наявність 40 відомих шаблонів вразливостей і надавати впорядкований звіт. Це лише перший крок, а не останній — він дає хибнопозитивні результати та повністю пропускає вразливості на рівні логіки.

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

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

Більшість серйозних досліджень безпеки зараз проводяться з використанням Foundry, оскільки цей інструмент забезпечує мінімальний шлях від «я думаю, що це спрацює» до «я можу довести, що це працює», особливо враховуючи, що більшість дослідників пишуть свої тести та експлойти безпосередньо на Solidity за допомогою Foundry.

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

Ще один інструмент від Trail of Bits, Manticore, виконує динамічний аналіз і може використовуватися для автоматичної генерації вхідних даних, що проходять певними шляхами виконання коду в контракті — те, чого не може досягти статичний аналіз.

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

Ці практичні труднощі виходять далеко за межі технічних аспектів. Конкуренція надзвичайно висока. Під час аудит-конкурсів на Code4rena або Sherlock десятки розробників одночасно вивчають одну й ту саму кодову базу.

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

Однак довести результат може бути так само важко, як і знайти його. Необхідно надати практичну демонстрацію можливості експлуатації (зазвичай за допомогою реального proof-of-concept експлойту). Дехто знову ж таки оскаржує класифікацію важливості критичної або середньої знахідки, стверджуючи, що певні аспекти пом'якшують їхній статус. Дослідники, які не документують свою роботу ретельно, а також ті, кому бракує авторитету, що випливає з репутації, можуть отримати занижену оплату за важливі відкриття.

І нарешті, правове та податкове середовище саме по собі стає ускладненням. Більшість винагород виплачується в тій чи іншій формі криптовалюти — чи то USDT, USDC, ETH, чи нативний токен протоколу. Отримання переказу в USDT як доходу призводить до виникнення податкової події, що створює для одержувача необхідність відстежувати вартість на момент отримання перед конвертацією для звітності, а також фіксувати приріст капіталу від будь-якого руху ціни, якщо виплата була здійснена в цифрових активах. Bug bounty супроводжуються реальними накладними витратами — організація практики пошуку багів, як і будь-який бізнес, вимагає балансування між витраченим часом і відчутними результатами. Якщо ігнорувати адміністративні питання, це стає ще однією проблемою, яка тихо накопичується.

Але глибший виклик полягає в тому, що ця робота має високу стелю і відсутність гарантованого мінімуму заробітку. Дослідник, який розвиває справжню експертизу з підтвердженою історією — той, хто виявив критичні вразливості протоколів, чиє ім'я фігурує в аудиторських звітах або постмортемах — може заробляти суми, порівнянні із зарплатами старших інженерів у великих компаніях. Для цього потрібна або рідкісна генетична схильність від народження, або роки відточування конкретної майстерності. Майже кожен, хто намагається заробляти на життя виключно цим, швидко виявляє, що час навчання набагато довший, ніж очікувалося, конкуренти підготувалися краще, ніж передбачалося, а поки триває навчання, доходу просто не вистачає на покриття витрат.

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

Це чудова новина для всіх, хто працює з USDT — від визначення того, хто яку винагороду отримує, до розподілу виплат між кількома співавторами або просто виведення винагороди з протоколу. Калькулятор переказів USDT від Netts робить саме це: введіть адреси відправника та отримувача, і він точно підкаже, скільки Енергії (Energy) та Пропускної здатності (Bandwidth) знадобиться для транзакції, скільки буде спалено за замовчуванням або чи будуть використані наявні ресурси, а також надасть порівняння вартості відправлення на адресу, що вже містить USDT (13,84 TRX проти 2-3 TRX за орендовану Енергію), та на нову адресу (27,70 TRX проти 4-5 TRX за орендовані ресурси) — в обох випадках економія становить понад 80%!

поділитися X Telegram LinkedIn Reddit

Наступний крок