Рискове за сигурността в Ethereum DeFi
NewsDevelopersEnterpriseBlockchain ExplainedEvent and ConferencesPressБюлетини
Абонирайте се за нашия бюлетин.
Имейл адрес
Ние уважаваме вашата поверителност
HomeBlogCodefi
Рискове за сигурността в Ethereum DeFi
от Everett Muzzy 19 май 2020 г. Публикувано на 19 май 2020 г.
Подходи за наблюдение и защита срещу рискове
2020 г. се оказа критична за екосистемата Ethereum DeFi. В допълнение към празнуването на над 1 милиард щатски долара, заключени в DeFi и важни етапи на платформата, индустрията е била обект на чести случаи на малки и големи инциденти със сигурността както в нови, така и утвърдени приложения на DeFi.
5 инциденти със сигурността на DeFi това се случи през април:
-
Uniswap: на 18-ти, $ 340 000 USD откраднати чрез вектор за повторна атака
-
Lendf.me: на 19-ти, откраднати 25 милиона щатски долара чрез вектор за повторна атака; средствата се преиздават след преговори на екипа с хакер.
-
Крива: Платформа за обмен на стабилни валути, разкри, че са открили и разрешили грешка в резервния договор за sUSD.
-
PegNet: Платформата DeFi на различни вериги PegNet претърпя 51% атака, когато 4 миньори в тяхната мрежа контролираха 70% хешрейт.
-
Хегик: 28 000 щ. Д. Ликвидност, заключени в договора с изтекъл срок на опция от грешка в договора, за която екипът обеща да компенсира засегнатите потребители със собствени средства.
Uniswap и Lendf.me – Атаката за повторно завръщане на ERC-777
Събитията bZx и Maker от февруари и март бяха добре отразени, но ние събрахме някои данни и прозрение за последните събития на протоколите Uniswap и Lendf.me, по-специално около компромиса със стандарта за токени ERC-777, който позволи на хакерите да източване на крипто на стойност 25 милиона долара на 18 април & 19-ти.
Токенът imBTC е ERC-777 токен, пуснат от Токенлон, DEX, работещ по 0x протокол. Както при инцидентите Uniswap, така и при Lendf.me, хакерите са използвали уязвимост за повторно влизане, възникнала от несъвместимостта между стандарта за токени ERC-777 и протоколите DeFi. Най-общо казано, уязвимостта при повторно влизане позволява на хакера да преразходва по същество първоначалните депозити на imBTC, като ефективно им предоставя неограничен капитал за извършване на сделки или заеми.
Разменете
Атаката стана възможна, тъй като Uniswap V1 няма въведени мерки за защита срещу този тип атака за повторно влизане при взаимодействие със стандарта ERC-777. Като цяло хакерът се разплати с ~ $ 300k USD в imBTC и ETH (~ $ 141k ETH + ~ $ 160k imBTC).
Интересното е, че този вектор на атака не е непознат за Uniswap или за крипто общността като цяло. Почти точно година преди атаката Uniswap, ConsenSys Diligence – услугата за одит на сигурността, предлагана от ConsenSys – идентифицирани и публикувани вектора за повторно влизане ERC-777. Uniswap имаше планове за справяне с вектора на атаката, както е посочено в техния Публикация в блога на 23 март за характеристиките на Uniswap V2.
Фиг. 1. Разменете баланса по договор за токени на imBTC
Lendf.me
Инцидентът Lendf.me използва същата уязвимост при връщане, предоставена от непълната съвместимост между кредитния протокол и стандарта за токени ERC-777, но с много по-голям успех. По време на атаката на 19 април бяха източени близо 100% от средствата на Lendf.me – над 24 милиона щатски долара.
За разлика от събитието Uniswap, откраднатите средства не бяха ограничени само до ETH и imBTC. Въпреки че по-голямата част от откраднатите средства бяха WETH ($ 10,8 млн.), USDT и HBTC компенсираха допълнителни $ 9,7 млн., Последвани от поне 16 други символа. Графиките по-долу показват разпределението на активите на компрометирани средства и месечните обеми на символи на Lendf.me, водещи до атаката на 19 април.
Фигура 2. Разпределение на изгубените средства по тип токен
Фиг. 3. Договорно салдо по Lendf.Me
При неочакван развой на събитията хакерите на Lendf.me върнаха откраднатите средства в протокола, според съобщенията, защото случайно е изложил IP адрес по време на атаката. Диаграмата на Sankey по-долу показва потока на средствата след хакването. Средствата напуснаха договора Lendf.me (зелен), преминаха през договора за обработване (сив) и до адреса на хакера (черен). След разкриването на IP, хакерът прехвърли средствата обратно на администраторския адрес Lendf.me, който след това прехвърли средствата на адрес за възстановяване (и двата в лилаво). Крайната дясна част на графиката, където диаграмата се влива в много отделни потоци от фондове, отбелязва момента, в който Lendf.me върнати средства на отделни потребители.
Фиг. 4. Поток на средства през целия Lendf.Me инцидент
Удивително е да видим как приложенията на DeFi са свързани помежду си за пълен финансов цикъл на поведение и как се развива динамиката на ливъридж, арбитраж, кредитиране и търговия. Синергията между DEX, заеми (също Flashloans) и Oracles отвори възможности за развитие на повече финансови елементи в Ethereum, както и намали бариерите за по-малките участници като приобщаващ финансов свят.
Какво можем да направим, за да защитим активите на DeFi?
Одити на интелигентен договор
Одиторските услуги са в състояние да идентифицират потенциални уязвимости на договори чрез стриктно тестване и хакерство с бяла шапка преди стартиране на протокол или функция. Въпреки че автоматизираните инструменти на трети страни могат да идентифицират набори от често срещани уязвимости, тези инструменти са най-ефективни, когато се комбинират с навременни услуги за одит.
Атаката Uniswap през април беше предвещана от одиторската служба ConsenSys Diligence. Освен това инцидентите през 2020 г. като че ли предизвикаха нова ера на прозрачност сред разработчиците на DeFi по отношение на проблемите на сигурността. Разработчик от търговския протокол Hegic публикува отворен „следкланичен” за грешка в нейния код, която направи някои средства недостъпни. Протоколът за обмен Loopring идентифицира предна уязвимост, поставя обмена на пауза, обявен на общността, и работи за отстраняването на проблема. Този вид прозрачност е от решаващо значение за изграждането на доверие сред нови и съществуващи потребители и за мащабиране на по-сигурна мрежа от протоколи DeFi.
С нарастването на броя, сложността и взаимосвързаността на протоколите DeFi има вероятност да възникнат повече уязвимости и компромиси в сигурността. Макар и за съжаление, тези инциденти са от решаващо значение за сигурното развитие на всяка нова технология. Колкото повече можем да използваме услугите и инструментите, които са на разположение за идентифициране и защита срещу тези вектори на атака, толкова по-уверено хората ще взаимодействат с нововъзникващата отворена финансова екосистема.
Инструменти за наблюдение и класиране
Възползвайки се от отвореността на блокчейна Ethereum, множество публични инструменти за наблюдение, свързани с DeFi, са достъпни за обществеността, за да взаимодействат по-уверено с финансовите приложения. Codefi Inspect е инструмент с отворен код за събиране на критична информация за сигурността на протоколите DeFi, включително публични одити, подробности за администраторски ключове, зависимост от Oracle и активност по веригата. Codefi’s Резултат от DeFi е стойност на риска от платформата, която може да се сравнява между протоколите, за да информира по-добре решенията на потребителите при избора между приложения на DeFi.
Мониторинг на здравето на мрежата: За индивидуални потребители
На платформите за кредитиране депозитите на потребителите са с риск да бъде ликвидиран след като коефициентите на обезпечение спаднат под определени прагове поради колебанията на цените. Фигура 5 показва размера на средствата, които са „ухапани“ в платформата на Maker. През ноември 2018 г. и март 2020 г., над 17 милиона щатски долара обезпечение бяха ликвидирани на Maker, когато цените на ETH достигнаха исторически минимуми (~ $ 110 / ETH през ноември 2018 г. и ~ $ 105 през март 2020 г.).
С подходящите инструменти за наблюдение потребителите могат по-добре да се предпазят от нежелани получатели на автоматизирани ликвидации на платформи за кредитиране. За кредитните продукти необходимото ниво на съотношението на обезпечението (стойност на депозитните активи, разделяща стойност на заетите активи, измерено в щатски долари в повечето случаи) определя линията за безопасност за собствениците на трезори. След като стойността на обезпечението спадне, съотношението спада и трезора става отворен за ликвидация. Потребителите могат да проследят съотношението на обезпечението и да решат да изплатят заемите или да добавят депозити, за да поддържат трезора в безопасно състояние и извън обхвата на ликвидацията. Инструментите за мониторинг ще играят важна роля в увереното взаимодействие на потребителите с протоколите за кредитиране, ако тези инструменти осигуряват в реално време надеждни ценови емисии на oracle за различни активи, за да предупреждават потребителите да предприемат действия предварително.
Фиг. 5. Ликвидационен обем на Maker
Друг показател за наблюдение на платформите за кредитиране е коефициентът на използване на пула от ликвидност на активите. Коефициентът на използване се изчислява чрез разделяне на общия размер на непогасения дълг на обема на предлагането в ликвидния пул. Ако всички средства в пула са заети и не бъдат изплатени, коефициентът на използване достига близо 100%.
Драматичната промяна в съотношението на използване може да отразява пазарните промени (напр. Спада на цената на ETH през март), които предизвикват групови реакции или да сигнализират за риск от хакерско източване на пула (например случая Lendf.me). Фигура 6 показва коефициент на използване на активите% за Maker, Lendf.me и други. През март можем да видим коефициента на използване на повечето платформи скок, вероятно като забавена реакция на пазарните събития на 12 март.
Спадът в цената на ETH доведе до спад на общата стойност на предлагането (ако е подкрепена от ETH) на повечето от тези протоколи, което доведе до внезапен скок на коефициента на използване. Междувременно, тъй като съотношението на обезпечението падна поради цената на ETH, огромна сума на непогасения дълг беше изчистена поради ликвидации. Следователно с течение на времето коефициентите на използване на много от тези платформи намаляват.
Lendf.me се откроява като пример за това как може да изглежда графика на коефициента на използване за хак. През април виждаме, че коефициентът на използване за всички токени се увеличава почти моментално до 100%, което показва, че хакерът използва експлоатационната уязвимост ERC-777 за повторно влизане.
Фигура 6. Степен на използване на активите в протоколите
На децентрализираните борси размерите на ликвидния фонд могат да помогнат на потребителите да решат коя платформа е по-устойчивият резерв. DEX са една от най-важните врати в арбитражната верига, доказана в bZx случай. Uniswap е един от най-често използваните DEX, а неговите пулове на ликвидност са свързани с много интерфейси на протокола DeFi / DEX. Фигура 7 показва размера на пуловете на ликвидност на Uniswap. Най-рязкото намаление се случи на 18 февруари, което беше моментът на втората bZx атака. На 18 февруари ликвидният фонд на Uniswap спадна, защото експлоататорът взе назаем голямо количество WBTC на bZx чрез резерва KyberUniswap. Вторият най-голям спад се случи на 13 март, когато крипто пазарите паднаха. На 13 март ликвидният пул на Uniswap спадна, тъй като притежателите на крипто бяха загрижени за колебанията на пазара и изтеглиха големи количества от ликвидността си от пула Uniswap. Въпреки значителния спад в размера на ликвидния пул обаче Uniswap преодоля много добре уязвимостите и пазарните колебания през последните няколко месеца – демонстрирайки устойчивостта на протокол DeFi с по-голям пул на ликвидност.
Фиг. 7. Размер на ликвидния пул при Uniswap
Няколко инструмента – като басейни.fyi – може да помогне на потребителите на DeFi да намерят най-големите пулове на ликвидност в големите DEX.
Мониторинг на здравето на мрежата: За платформи
Мониторингът на рисковете за платформи DeFi включва откриване на аномалии. Обикновено ненормалното поведение може да бъде категоризирано по 5 начина: 1) прехвърляне на голяма стойност, 2) висока честота на транзакции или повиквания към функция (особено тези, които не са изложени на обществеността) в рамките на кратък период от време, 3) действия с фиксирана сума , възникващи през всеки друг същия определен период от време (ботове), и 4) действия на „супер потребител“ на множество платформи и / или притежание на тревожно високи обеми на фонда.
След като се открие ненормално поведение, екипите за протоколи могат да използват администраторски контрол, проектиран в интелигентния договор, например:
-
Спирачки за прекратяване на някои / всички функционалности на интелигентни договори или протоколи.
-
Добавете чакаща сесия към някои транзакции с големи суми.
-
Връщане на подозрителни транзакции.
За да се изяснят категориите на ненормалното поведение:
-
Трансфери на големи стойности на фонда
Действията с голяма стойност, които се случват по веригата – включително заеми, депозити, търговия и ликвидация над праг – трябва да предизвикат сигнали, тъй като могат да разклатят стабилността на пула или платформата или да показват подозрителни движения (хакове на средства, пране на пари или fiat изход след атака). Конюшните монети могат да играят особено показателна роля при трансфери на големи стойности, тъй като техните стойности са ориентирани към фиатни пари.
2. Висока честота на действия (включително транзакции или повиквания към определени функции) в рамките на определен период от време
Високата честота на функционални повиквания, особено тези, които не са изложени външно, може да бъде сигнал за атаки. Повторното влизане е типична атака за източване на средства, при която функция се извиква рекурсивно няколко пъти в рамките на една и съща транзакция. В по-общ случай, ако платформите събират бенчмарк статистика за нормалните показатели за използване на договора (т.е. функция обикновено се нарича „x“ пъти) и наблюдават транзакциите, при които числата са много по-големи, вероятно те могат да уловят ненормалното поведение като веднага щом се случи.
Фигура 8. CDP на Maker’s Open Open с течение на времето
Фигура 8 показва пример за високочестотно събитие на платформата на Maker. През третото тримесечие на 2019 г. дневните CDP отваряния достигнаха 8,7 000, което е далеч над историческата средна стойност от 172 / ден. През следващите седмици и месеци се случиха още няколко партиди с високо отваряне на CDP. Ние вярваме, че тези скокове на данни са от кампании насочване на потребителски придобивания, но показва, че ръчното натискане ще остави следа и ние можем да го наблюдаваме, за да останем нащрек.
3. Фиксиран модел на поведение (откриване на ботове)
Законна практика е частни лица или екипи да изграждат арбитражни ботове, за да си взаимодействат с (някои) протоколи DeFi, но екипът на разработчика на платформата може да има притеснения относно ефектите на ботовете върху потребителския опит. Чрез дефиниране на специфични правила и модели, показателни за автоматизираното поведение на бота (фиксиран брой действия във всеки друг фиксиран период от време), е възможно да се изградят механизми за откриване на ботове и наблюдение на тяхното влияние върху пула.
4. Супер потребители (китове)
Активните китове в потребителската база на протоколи DeFi могат да окажат значително влияние върху стабилността на системата. Следователно, друг подход към общата систематична сигурност е да се разбере поведението на „супер потребителите“ и да се обмисли по-задълбочено към потенциалните рискове.
Фиг. 9. Движение на големи потребители на DeFi. Графика от доклада на Alethio Q1 DeFi.
Продукти за управление на риска
Застраховката, базирана на блокчейн, съществува от известно време, но през последните няколко месеца беше поставена на фокус. Nexus Mutual – ветеран от застрахователна верига, който действал като първият респондент за жертви в bZx exploit – и по-скоро Опин (отново) се появиха като водещи играчи в тази съседна индустрия на DeFi, служейки като опции за хеджиране срещу защитените активи. Според Блокът, няколко други подобни продукта, които трябва да назовем, включват Etherisc, iXledger, VouchForMe и aigang. Тези джаджи служат за подобни нужди, като същевременно могат да се осигурят като допълнителен слой един за друг – Nexus застраховката може да бъде закупена срещу опциите на Opyn като „презастраховане“.
ConsenSys пусна Codefi Compliance, автоматизирана и гъвкава платформа за регулиране и съответствие за цифровите активи. Codefi Compliance е част от продуктовия пакет Codefi, който колективно управлява търговията и финансите, като оптимизира бизнес процесите и дигитализира финансовите инструменти. Като решение от следващо поколение за борба с изпирането на пари (AML) и противодействието на финансирането на тероризма (CFT), Codefi Compliance гарантира, че цифровите активи отговарят на регулаторните очаквания, без да компрометират пазарните и бизнес изискванията, независимо от юрисдикцията и дизайна. Това е единственото решение за съответствие, проектирано изключително за базирани на Ethereum активи и изградено от ConsenSys, лидер в развитието на Ethereum. Codefi Compliance предоставя усъвършенствани възможности за съответствие, които включват рамки за познаване на вашата транзакция (KYT), високорисково управление на случаи и отчитане в реално време.
Информираност
Въпреки че много инструменти и ресурси вече са разработени, за да помогнат на клиентите да се ангажират по-уверено с DeFi, екосистемата изисква по-високо ниво на информираност. Поглеждайки назад към инцидентите през февруари, март и април, важно е да се признае, че пространството DeFi е:
-
Все още крехка сред някои протоколи. Въпреки че екосистемата като цяло е доста устойчива, индивидуалните протоколи все още могат да бъдат сериозно засегнати. По-специално, ограничените обеми на ликвидност могат лесно да доведат до пропадане на цените.
-
Предмет на „лего“ архитектурата на Ethereum. DeFi живее на върха на Ethereum и все още – поне засега – разчита на здравето и стабилността на цената на ETH. Това беше демонстрирано особено по време на пазарните събития през март.
-
Една екосистема, която се заражда и следователно е склонна към атаки. Както се доказва от инциденти през последните няколко месеца, огромната възможност на блокчейн технологията не я предпазва от същата тенденция да има грешки и вектори на атака, която традиционната технология има.
Нетният резултат от всички тези инциденти обаче е положителен. И тези атаки не са нови за общността Ethereum – както се демонстрира от вълните, които DAO атаката направи в криптосистемата през 2016 г. Атаките накараха повечето от екипите и участниците да се грижат повече за сигурността на различните продукти. И с тази информираност, ние вярваме, че ще бъдат разработени по-зрели показатели и инструменти, които да обслужват нуждите и да помагат за предпазване от риск.
Разбирането, поддържането и подобряването на кодовите бази на екипите от разработчици е от решаващо значение за здравето и просперитета на цялата екосистема. Неразгледаните разклонения на съществуващата работа на другите могат да доведат до критични последици. След като протоколът бъде пуснат в основната мрежа, той на практика се превръща в меден съд – отворен и изложен на всички потенциални злонамерени атаки. Тези финансови протоколи са сложни и натоварени със стойност, но все още доста млади и следователно особено способни да нарушат доверието на потребителите.
Въпреки тези вълни от инциденти със сигурността на протоколите DeFi, индустрията все още е с огромно мнозинство положителен за възможностите на DeFi и инерцията, която той носи в Ethereum. Обективните статистически данни на DeFi поддържат положителни настроения. В отговор на събитията в областта на сигурността през тази година и значителния натиск на пазара, започващ през март, заключеният ETH е намалял от рекордно високите стойности през февруари. Нивата обаче са спаднали само до цифрите от декември 2019 г. Тези статистики, дори и в лицето на високопоставени инциденти със сигурността, предполагат, че екосистемата DeFi като цяло е надминала някаква точка „без връщане.“ Въпреки че доверието в отделните протоколи е пострадало, общата ангажираност с възникващите парадигми на децентрализираното финансиране остава силна.
Написано от Danning Sui и Everett Muzzy
Опровержение
Codefi Data няма предпочитания или предразсъдъци към нито един от споменатите по-горе проекти. Обхватът на обсъжданите протоколи е ограничен и ще продължим да работим върху добавянето на повече в списъка, за да постигнем по-цялостен изглед. Тази статия никога не трябва да се използва като ръководство за злонамерени практики или предложения за търговия.
DeFiIndustry InsightNewsletter Абонирайте се за нашия бюлетин за най-новите новини на Ethereum, корпоративни решения, ресурси за разработчици и други.