Цього року хакери вкрали з криптоактивів понад 2 мільярди доларів. Нещодавно галузь зазнала ще двох великих крадіжок: одна з торгових платформ втратила понад 21 мільйон доларів через послуги миттєвого обміну, а атаковані крос-чейн мости однієї з публічних блокчейн-платформ зазнали збитків близько 5,66 мільярда доларів.
З розвитком екосистеми криптоактивів, війна безпеки тільки буде ставати все більш запеклою. У цій статті буде:
Висунення методів класифікації безпекових подій у сфері шифрування
Перелічити найбільш вигідні методи атаки на даний момент
Оцінка переваг та недоліків поточних засобів захисту
Обговорення майбутнього розвитку шифрувальної безпеки
Один. Типи атак хакерів
Екосистема крипто-додатків складається з інтеропераційних протоколів, підтримуваних смарт-контрактами, і залежить від базового блокчейну та мережевої інфраструктури. На кожному рівні цього технологічного стеку існують унікальні вразливості. Ми можемо класифікувати хакерські атаки за цільовим рівнем атаки та використаними методами.
атака на інфраструктуру
Ці атаки використовують вразливості основної системи, включаючи блокчейн для консенсусу, фронтальні мережеві сервіси та інструменти управління приватними ключами.
Атака мови смарт-контрактів
Цей рівень атаки використовує вразливості та недоліки мов програмування смарт-контрактів (, таких як Solidity ), такі як повторне введення та небезпечні реалізації делегованих викликів, які можна уникнути шляхом дотримання рекомендацій з безпеки.
логіка атаки протоколу
Ці атаки націлені на помилки бізнес-логіки окремих додатків. Хакери можуть виявити та використати помилку, викликавши поведінку, яку розробники не передбачали.
Наприклад, якщо нова децентралізована біржа помилиться у формулі для обчислення прибутків користувачів, це може бути використано для того, щоб користувачі отримували прибуток понад нормальний рівень.
Атаки на логічному рівні протоколу також можуть бути спрямовані на системи управління додатками.
атака екосистеми
Багато відомих атак шифрувальників використовували взаємодію між кількома програмами. Найпоширеніше — це те, що зловмисники використовують логічну помилку в одному протоколі, одночасно використовуючи кошти, позичені з іншого протоколу, щоб розширити масштаб атаки.
Цей тип атаки зазвичай включає в себе швидкі кредити. Виконуючи швидкий кредит, зловмисник може позичити велику кількість коштів з пулів ліквідності певних протоколів.
Два, аналіз даних
Я зібрав дані про 100 найбільших уражень Криптоактивів з 2020 року, загальна сума вкрадених коштів склала 5 мільярдів доларів.
Атаки на екосистему є найчастішими, складають 41%.
Найбільші втрати коштів викликані логічними вразливостями протоколу.
Три найбільші атаки за сумою: атака на один міжланцюговий міст ( на 16.24 мільйона доларів ), атака на одну мережу ( на 16.11 мільйона доларів ) та атака на один міжланцюговий міст ( на 15.7 мільйона доларів ).
Якщо виключити три найбільші атаки, то втрати фінансів через атаки на інфраструктуру є найбільшими.
Три. Звичайні методи атак хакерів
Інфраструктура
61% вразливостей інфраструктури пов'язані з витоком приватних ключів невідомим способом. Хакери можуть отримати ці приватні ключі за допомогою соціальної інженерії, наприклад, через фішингові електронні листи та підроблені вакансії.
Мова смарт-контрактів
Атака повторного входу є найпоширенішим типом атак на рівні смарт-контрактів.
У випадку атаки повторного входу функція у вразливому смарт-контракті викликає функцію в злочинному контракті. Або, коли вразливий контракт надсилає токени злочинному контракту, це може активувати функцію в злочинному контракті. Потім, перш ніж контракт оновить свій баланс, злочинна функція викликає вразливу функцію в рекурсивному циклі.
Наприклад, під час атаки на певний протокол функція вилучення токенів застави виявилася вразливою до повторного входу і могла бути викликана кілька разів ( щоразу, коли зловмисний контракт отримував токени ), поки всі заставні активи не були вичерпані.
логіка протоколу
Вразливості на рівні протоколу, як правило, є унікальними для конкретних застосунків, оскільки кожен застосунок має свою унікальну логіку (, якщо це не чистий форк ).
Помилки контролю доступу є найбільш поширеною проблемою, що повторюється в групі зразків. Наприклад, під час одного з випадків хакерської атаки в мережі, контракт управління міжланцюгами мав функцію, яку міг викликати будь-хто для виконання міжланцюгової угоди.
Варто зазначити, що іноді кілька протоколів, які використовують одну й ту ж технологію, можуть бути атаковані хакерами, оскільки команди розгалужують кодову базу з вразливостями.
Наприклад, кілька форків одного кредитного протоколу стали жертвами атак повторного входу, оскільки код оригінального протоколу не перевіряв ефект взаємодії перед її дозволом. Це було здійсненно для оригінального протоколу, оскільки вони перевірили вразливості кожного нового підтримуваного токена, але команди форків цього не зробили.
Екосистема
98% атак на екосистему використовували позики з миттєвим кредитом.
Атаки на блискавичні кредити зазвичай слідують такій схемі: використання кредиту для масових угод, що підвищують ціну токенів на автоматичному маркет-мейкері, який використовується як ціновий oracle для кредитного протоколу. Потім у тій же угоді використовується роздуті токени як заставу, щоб отримати кредит, що значно перевищує їхню реальну вартість.
Чотири, цільова ланцюг атаки хакерів
Аналізувати дані залежно від блокчейну, на якому знаходиться атакований контракт або гаманець. Кількість хакерських атак на Ethereum є найбільшою, складаючи 45% зразка. Одна публічна блокчейн займає друге місце з часткою 20%.
Факторів, які спричинили цю ситуацію, є багато:
Ethereum та певна публічна блокчейн мають найвищу загальну вартість заблокованих активів, тому вони більш привабливі для хакерів.
Більшість розробників криптоактивів знайомі з Solidity, це мова смарт-контрактів на Ethereum та деяких інших блокчейнах, а також є більш зрілі інструменти для розробки.
Викрадені кошти з Ethereum становлять до ( 20 мільярдів доларів ). Одна публічна блокчейн займає друге місце ( 18.78 мільярдів доларів ).
Атаки, що стосуються кросчейн-мостів або багаточеневих додатків, мали величезний вплив на набір даних. Хоча такі хакерські інциденти складають лише 10% від загальної кількості, вони вкрали 25,2 мільярда доларів.
5. Способи запобігання хакерським атакам
Для кожного рівня технологічного стеку ми можемо використовувати деякі інструменти для раннього виявлення потенційних векторів атак і запобігання атакам.
Інфраструктура
Більшість великих атак на інфраструктуру пов'язані з отриманням чутливої інформації, такої як приватні ключі. Дотримання хороших процедур операційної безпеки (OPSEC) та регулярне моделювання загроз може знизити ймовірність виникнення такої ситуації. Розробницькі команди з хорошим процесом OPSEC можуть:
Визначення чутливих даних ( приватний ключ, інформація про співробітників, API ключі тощо )
Визначення потенційних загроз ( соціальної інженерії, технічних експлуатацій, внутрішніх загроз тощо )
Знайти наявні вразливості та слабкі місця в системах безпеки
Визначте рівень загрози для кожної уразливості
Розробити та впровадити план зниження загроз
Мова смарт-контрактів та логіка протоколу
Інструмент для модульного тестування
Інструменти для тестування на фузі можуть перевірити, як смарт-контракти реагують на велику кількість випадково згенерованих транзакцій. Це хороший спосіб виявлення крайніх випадків, коли певні входи призводять до несподіваних результатів.
Статичний аналіз
Статичні інструменти аналізу можуть автоматично виявляти вразливості в смарт-контрактах. Ці інструменти дуже підходять для швидкого виявлення поширених вразливостей, але вони можуть виявити лише набір попередньо визначених проблем.
Формалізація верифікації
Інструменти формальної верифікації порівнюватимуть смарт-контракт з технічними вимогами, написаними розробниками. Ці вимоги детально описують, що має робити код і які властивості потрібні.
Недоліком формалізованої перевірки є те, що тестування може відповідати лише стандартам специфікації. Якщо надана специфікація не вказує певну поведінку або є занадто м'якою, то процес перевірки не зможе виявити всі помилки.
Аудит та рецензування колег
Під час аудиту або рецензування колегами команда довірених розробників протестує та перевірить код проєкту. Аудитор складе звіт, в якому детально описані виявлені вразливості та рекомендації щодо їх виправлення.
Залучення професійних сторонніх аудиторів для перевірки контрактів є хорошим способом виявлення вразливостей, пропущених початковою командою. Однак аудитори також є людьми, і вони ніколи не зможуть виявити всі вразливості. Крім того, необхідно довіряти аудиторам, вірити, що після виявлення проблем вони повідомлять про них правдиво, а не скористаються вразливістю.
Атака на екосистему
Хоча атаки на екосистему є найпоширенішим і найруйнівнішим типом, в наявних інструментах мало таких, що спеціально призначені для запобігання таким атакам. Автоматизовані засоби безпеки зазвичай зосереджуються лише на помилках в окремому контракті. Аудит зазвичай не вирішує, як використовувати взаємодію між кількома протоколами в екосистемі.
Деякі інструменти моніторингу можуть надати раннє попередження про комбінаційні атаки, щоб команда могла вжити заходів. Але під час атаки з використанням миттєвих кредитів кошти зазвичай викрадаються в одній транзакції, тому будь-яке попередження може надійти занадто пізно, щоб запобігти великим втратам.
Моделі виявлення загроз можна використовувати для виявлення шкідливих транзакцій у пам'яті, перехоплюючи їх перед обробкою вузлом, але хакери можуть обійти ці перевірки, безпосередньо надсилаючи транзакції майнерам за допомогою певних сервісів.
Шість, майбутнє безпеки криптоактивів
Щодо майбутнього криптоактивів, я маю два прогнози:
рецензія колег
Виконати статичний аналіз і обробку з використанням методів розмиття для кожного нового коду в основному репозиторії.
Проведення формальної перевірки кожного значного оновлення
Створення системи моніторингу та тривоги з відповідними діями ( призупиняє всю програму або конкретні модулі, що зазнали впливу )
Нехай частина членів команди спеціально відповідає за розробку та підтримку планів автоматизації безпеки та реагування на атаки
Безпека не повинна закінчуватися після аудиту. У багатьох випадках вразливості виникають через помилки, які були введені під час оновлень після аудиту.
Процес реагування на атаки хакерів у безпечних криптоспільнотах стане більш організованим і оптимізованим. У майбутньому відповідні групи можуть перетворитися на більш впорядковані організаційні форми:
Використання інструментів моніторингу в ланцюзі та моніторингу соціальних медіа для швидкого виявлення активних атак
Використовуйте інструменти управління безпекою інформації та подіями для координації роботи
Вжити незалежні робочі процеси, використовувати різні канали для спілкування про роботу Black and White, аналіз даних, основні причини та інші завдання
 і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Аналіз глибини поточного стану безпеки шифрування: війна атак і захисту на фоні крадіжки 2 мільярдів доларів
Глибоке обговорення стану безпеки криптоактивів
Цього року хакери вкрали з криптоактивів понад 2 мільярди доларів. Нещодавно галузь зазнала ще двох великих крадіжок: одна з торгових платформ втратила понад 21 мільйон доларів через послуги миттєвого обміну, а атаковані крос-чейн мости однієї з публічних блокчейн-платформ зазнали збитків близько 5,66 мільярда доларів.
З розвитком екосистеми криптоактивів, війна безпеки тільки буде ставати все більш запеклою. У цій статті буде:
Один. Типи атак хакерів
Екосистема крипто-додатків складається з інтеропераційних протоколів, підтримуваних смарт-контрактами, і залежить від базового блокчейну та мережевої інфраструктури. На кожному рівні цього технологічного стеку існують унікальні вразливості. Ми можемо класифікувати хакерські атаки за цільовим рівнем атаки та використаними методами.
атака на інфраструктуру
Ці атаки використовують вразливості основної системи, включаючи блокчейн для консенсусу, фронтальні мережеві сервіси та інструменти управління приватними ключами.
Атака мови смарт-контрактів
Цей рівень атаки використовує вразливості та недоліки мов програмування смарт-контрактів (, таких як Solidity ), такі як повторне введення та небезпечні реалізації делегованих викликів, які можна уникнути шляхом дотримання рекомендацій з безпеки.
логіка атаки протоколу
Ці атаки націлені на помилки бізнес-логіки окремих додатків. Хакери можуть виявити та використати помилку, викликавши поведінку, яку розробники не передбачали.
Наприклад, якщо нова децентралізована біржа помилиться у формулі для обчислення прибутків користувачів, це може бути використано для того, щоб користувачі отримували прибуток понад нормальний рівень.
Атаки на логічному рівні протоколу також можуть бути спрямовані на системи управління додатками.
атака екосистеми
Багато відомих атак шифрувальників використовували взаємодію між кількома програмами. Найпоширеніше — це те, що зловмисники використовують логічну помилку в одному протоколі, одночасно використовуючи кошти, позичені з іншого протоколу, щоб розширити масштаб атаки.
Цей тип атаки зазвичай включає в себе швидкі кредити. Виконуючи швидкий кредит, зловмисник може позичити велику кількість коштів з пулів ліквідності певних протоколів.
Два, аналіз даних
Я зібрав дані про 100 найбільших уражень Криптоактивів з 2020 року, загальна сума вкрадених коштів склала 5 мільярдів доларів.
Атаки на екосистему є найчастішими, складають 41%.
Найбільші втрати коштів викликані логічними вразливостями протоколу.
Три найбільші атаки за сумою: атака на один міжланцюговий міст ( на 16.24 мільйона доларів ), атака на одну мережу ( на 16.11 мільйона доларів ) та атака на один міжланцюговий міст ( на 15.7 мільйона доларів ).
Якщо виключити три найбільші атаки, то втрати фінансів через атаки на інфраструктуру є найбільшими.
Три. Звичайні методи атак хакерів
Інфраструктура
61% вразливостей інфраструктури пов'язані з витоком приватних ключів невідомим способом. Хакери можуть отримати ці приватні ключі за допомогою соціальної інженерії, наприклад, через фішингові електронні листи та підроблені вакансії.
Мова смарт-контрактів
Атака повторного входу є найпоширенішим типом атак на рівні смарт-контрактів.
У випадку атаки повторного входу функція у вразливому смарт-контракті викликає функцію в злочинному контракті. Або, коли вразливий контракт надсилає токени злочинному контракту, це може активувати функцію в злочинному контракті. Потім, перш ніж контракт оновить свій баланс, злочинна функція викликає вразливу функцію в рекурсивному циклі.
Наприклад, під час атаки на певний протокол функція вилучення токенів застави виявилася вразливою до повторного входу і могла бути викликана кілька разів ( щоразу, коли зловмисний контракт отримував токени ), поки всі заставні активи не були вичерпані.
логіка протоколу
Вразливості на рівні протоколу, як правило, є унікальними для конкретних застосунків, оскільки кожен застосунок має свою унікальну логіку (, якщо це не чистий форк ).
Помилки контролю доступу є найбільш поширеною проблемою, що повторюється в групі зразків. Наприклад, під час одного з випадків хакерської атаки в мережі, контракт управління міжланцюгами мав функцію, яку міг викликати будь-хто для виконання міжланцюгової угоди.
Варто зазначити, що іноді кілька протоколів, які використовують одну й ту ж технологію, можуть бути атаковані хакерами, оскільки команди розгалужують кодову базу з вразливостями.
Наприклад, кілька форків одного кредитного протоколу стали жертвами атак повторного входу, оскільки код оригінального протоколу не перевіряв ефект взаємодії перед її дозволом. Це було здійсненно для оригінального протоколу, оскільки вони перевірили вразливості кожного нового підтримуваного токена, але команди форків цього не зробили.
Екосистема
98% атак на екосистему використовували позики з миттєвим кредитом.
Атаки на блискавичні кредити зазвичай слідують такій схемі: використання кредиту для масових угод, що підвищують ціну токенів на автоматичному маркет-мейкері, який використовується як ціновий oracle для кредитного протоколу. Потім у тій же угоді використовується роздуті токени як заставу, щоб отримати кредит, що значно перевищує їхню реальну вартість.
Чотири, цільова ланцюг атаки хакерів
Аналізувати дані залежно від блокчейну, на якому знаходиться атакований контракт або гаманець. Кількість хакерських атак на Ethereum є найбільшою, складаючи 45% зразка. Одна публічна блокчейн займає друге місце з часткою 20%.
Факторів, які спричинили цю ситуацію, є багато:
Викрадені кошти з Ethereum становлять до ( 20 мільярдів доларів ). Одна публічна блокчейн займає друге місце ( 18.78 мільярдів доларів ).
Атаки, що стосуються кросчейн-мостів або багаточеневих додатків, мали величезний вплив на набір даних. Хоча такі хакерські інциденти складають лише 10% від загальної кількості, вони вкрали 25,2 мільярда доларів.
5. Способи запобігання хакерським атакам
Для кожного рівня технологічного стеку ми можемо використовувати деякі інструменти для раннього виявлення потенційних векторів атак і запобігання атакам.
Інфраструктура
Більшість великих атак на інфраструктуру пов'язані з отриманням чутливої інформації, такої як приватні ключі. Дотримання хороших процедур операційної безпеки (OPSEC) та регулярне моделювання загроз може знизити ймовірність виникнення такої ситуації. Розробницькі команди з хорошим процесом OPSEC можуть:
Мова смарт-контрактів та логіка протоколу
Інструменти для тестування на фузі можуть перевірити, як смарт-контракти реагують на велику кількість випадково згенерованих транзакцій. Це хороший спосіб виявлення крайніх випадків, коли певні входи призводять до несподіваних результатів.
Статичні інструменти аналізу можуть автоматично виявляти вразливості в смарт-контрактах. Ці інструменти дуже підходять для швидкого виявлення поширених вразливостей, але вони можуть виявити лише набір попередньо визначених проблем.
Інструменти формальної верифікації порівнюватимуть смарт-контракт з технічними вимогами, написаними розробниками. Ці вимоги детально описують, що має робити код і які властивості потрібні.
Недоліком формалізованої перевірки є те, що тестування може відповідати лише стандартам специфікації. Якщо надана специфікація не вказує певну поведінку або є занадто м'якою, то процес перевірки не зможе виявити всі помилки.
Під час аудиту або рецензування колегами команда довірених розробників протестує та перевірить код проєкту. Аудитор складе звіт, в якому детально описані виявлені вразливості та рекомендації щодо їх виправлення.
Залучення професійних сторонніх аудиторів для перевірки контрактів є хорошим способом виявлення вразливостей, пропущених початковою командою. Однак аудитори також є людьми, і вони ніколи не зможуть виявити всі вразливості. Крім того, необхідно довіряти аудиторам, вірити, що після виявлення проблем вони повідомлять про них правдиво, а не скористаються вразливістю.
Хоча атаки на екосистему є найпоширенішим і найруйнівнішим типом, в наявних інструментах мало таких, що спеціально призначені для запобігання таким атакам. Автоматизовані засоби безпеки зазвичай зосереджуються лише на помилках в окремому контракті. Аудит зазвичай не вирішує, як використовувати взаємодію між кількома протоколами в екосистемі.
Деякі інструменти моніторингу можуть надати раннє попередження про комбінаційні атаки, щоб команда могла вжити заходів. Але під час атаки з використанням миттєвих кредитів кошти зазвичай викрадаються в одній транзакції, тому будь-яке попередження може надійти занадто пізно, щоб запобігти великим втратам.
Моделі виявлення загроз можна використовувати для виявлення шкідливих транзакцій у пам'яті, перехоплюючи їх перед обробкою вузлом, але хакери можуть обійти ці перевірки, безпосередньо надсилаючи транзакції майнерам за допомогою певних сервісів.
Шість, майбутнє безпеки криптоактивів
Щодо майбутнього криптоактивів, я маю два прогнози:
рецензія колег
Безпека не повинна закінчуватися після аудиту. У багатьох випадках вразливості виникають через помилки, які були введені під час оновлень після аудиту.
![Йдучи в темному лісі криптоактивів, вам потрібен цей посібник з захисту Crypto](