Autor: BlockSec
zavedení
Vzhledem k tomu, že vývoj DeFi neustále přetváří finanční prostředí, bezpečnost byla vždy hlavním problémem, kterému ekosystém DeFi čelí. Bezpečnostní problémy způsobují každoročně ztráty na majetku v miliardách dolarů.
Podle Chainalysis vedly hackery DeFi v roce 2023 ke ztrátě majetku ve výši více než 1,1 miliardy dolarů. Ačkoli je toto číslo nižší než v roce 2022, v roce 2023 se objevily nové trendy útoků DeFi. Napadeny byly například i některé známé protokoly, které jsou dlouhodobě bezpečné, jako Curve a KyberSwap. Kromě toho se objevily sofistikované útoky zaměřené na zranitelnosti infrastruktury, jako je Flashbots Relay.
Data Security Incident Dashboard ukazují, že v první polovině roku 2024 došlo k více než 50 hackerským incidentům, které způsobily ztráty přesahující 100 000 USD.
Nedávné útoky hackerů
(Zdroj: Panel bezpečnostních incidentů)
https://app.blocksec.com/explorer/security-incidents
Bezpečnost je pro vývoj protokolu DeFi zásadní. Některé protokoly spravují uživatelská aktiva v hodnotě miliard dolarů a bezpečnostní incidenty mohou uživatelům způsobit značné ztráty. Zatímco v některých případech lze odcizené finanční prostředky (částečně) získat zpět (jako je například Eulerův útok), nemůžeme do toho zcela upínat své naděje. Každý útok narušuje důvěru uživatelů v DeFi.
Přestože průmysl navrhl mnoho opatření ke zvýšení zabezpečení, stále existuje velký prostor pro zlepšení zabezpečení DeFi. Pozitivní je, že auditování kódu se stalo konsensem komunity a většina protokolů bude před přechodem online auditována, což pomáhá snížit riziko útoků způsobených zranitelností inteligentních smluv. Samotný audit kódu však zdaleka nestačí k vyřešení všech bezpečnostních problémů. Auditování kódu nemůže zabránit útokům způsobeným chybami zabezpečení způsobenými upgrady smluv, změnami konfigurace a externími závislostmi. Vzhledem k těmto omezením začínají některé protokoly přijímat proaktivnější řešení, jako je operační monitorování a systémy detekce útoků.
V tomto článku se podíváme na přehled bezpečnostních opatření, která lze protokolem přijmout z fáze před spuštěním, po spuštění a reakce na útok, abychom porozuměli bezpečnostnímu panoramatu DeFi. Podíváme se blíže na každý typ bezpečnostní iniciativy a její klíčové dodavatele/produkty a také na jejich klady a zápory. Doufám, že tento článek pomůže komunitě lépe porozumět současnému stavu zabezpečení DeFi a inspirovat inovativní řešení zabezpečení.
Bezpečnostní panorama DeFi
Bezpečnostní opatření protokolu DeFi by měla probíhat celým životním cyklem protokolu od jeho spuštění až po jeho spuštění a zajistit bezpečnost protokolu samotného i během jeho provozu. Je také důležité mít preventivní opatření a plány reakce na potenciální útoky. Abychom čtenářům pomohli jasně porozumět tomu, jaká bezpečnostní řešení DeFi jsou aktuálně dostupná, rozdělili jsme relevantní dodavatele (produkty) do následujících kategorií.
Zabezpečení před spuštěním
Bezpečnostní opatření, která lze přijmout před tím, než protokol přejde do režimu online, zahrnují audity kódu, formální ověření a testování zabezpečení.
Služby auditu kódu a soutěže
Audit kódu je komunitou uznávaná praxe pro zajištění zabezpečení protokolu. Během tohoto procesu bezpečnostní společnost provede poloautomatickou kontrolu zmrazeného kódu, to znamená, že automaticky naskenuje běžné zranitelnosti v kódu a poté ručně zkontroluje komplexní zranitelnosti, mezi které patří OpenZeppelin, ChainSecurity, BlockSec atd.
Kromě toho existuje platforma auditní soutěže. Na rozdíl od auditorských společností, které přímo poskytují auditní služby, tyto platformy veřejně publikují požadavky na audit, přitahují bezpečnostní výzkumníky z komunity k účasti na auditních soutěžích a přidělují odměny soutěžícím, kteří objeví zranitelnost protokolu. Platformy auditové soutěže zahrnují Code4rena, SHERLOCK, Cantina, Secure3 atd. Každá platforma má určité rozdíly v úrovních závažnosti zranitelnosti, přidělených odměnách a kritériích účasti.
Audit kódu je první linií obrany pro zabezpečení protokolu. Má však také určitá omezení, a proto mnoho protokolů auditovaných známými společnostmi stále není v bezpečí před hackery.
Za prvé, auditování statického kódu nemůže vyřešit bezpečnostní problémy způsobené závislostmi na protokolech, což je umocněno složitelností protokolů DeFi.
Za druhé, během procesu auditu kódu nebyla některým problémům věnována dostatečná pozornost. Například ztráta přesnosti je častým problémem, kterého si auditoři a smluvní strany nemusí všimnout. Až po incidentech Hundred Finance a Channels Finance si komunita plně uvědomila bezpečnostní důsledky ztráty přesnosti.
A konečně, vysoce kvalitní audit kódu zůstává nedostatkovým zdrojem, který vyžaduje interdisciplinární talent se znalostmi v oblasti bezpečnosti, financí a informatiky, které v současné době trvale a ve velkém nabízí jen málo univerzit. Přestože jsou některé smlouvy auditovány, profesionalita auditorů poskytujících auditorské služby je nedostatečná.
Formální ověření
"Formální ověření používá matematické metody k prokázání správnosti nebo nesprávnosti systému na základě nějaké formální specifikace nebo vlastnosti." Formální ověření může zajistit, že chování protokolu DeFi odpovídá formální specifikaci. Například Prover, vyvinutý společností Certora, může provádět formální ověření protokolů DeFi. Vývojáři poskytují pravidla (specifikace) a Prover prozkoumá každý možný stav programu, porovná výsledky s pravidly a identifikuje zranitelnosti.
Největší výhodou formálního ověření je jeho schopnost matematicky prokázat správnost DeFi protokolů, které spravují miliardový majetek. Jeho širokému přijetí však brání několik omezení v praktických aplikacích.
Za prvé, specifikaci musí poskytnout vývojáři, což vyžaduje, aby vývojáři měli podrobnou dokumentaci očekávaného chování protokolu, a většina vývojářů není v této oblasti odborníky.
Za druhé, časté upgrady protokolů mohou vyžadovat aktualizaci specifikací a přehodnocení protokolů a některé protokoly nemusí být schopny věnovat tolik času a energie.
Navzdory těmto omezením stále věříme, že protokoly by měly podléhat formálnímu ověření, zejména nové protokoly, které ještě nejsou časově testovány a spravují velké množství uživatelských aktiv. Jak zvýšit operativnost formálního ověřování a zvýšit míru jeho přijetí, je však i dnes obrovskou výzvou.
Bezpečnostní testování
Testování zabezpečení využívá testovací případy k odhalení potenciálních problémů v protokolu. Ve srovnání s formálním ověřováním, které prokazuje správnost protokolu pomocí matematických metod, bezpečnostní testování obecně používá specifická vstupní data (spíše než symbolický vstup při formálním ověřování), takže je efektivnější, ale o něco méně komplexní.
Foundry je oblíbený rámec pro vývoj a testování chytrých smluv. Vývojáři mohou provádět testování ve Foundry a mohou také provádět diferenciální testování, testování invariance a diferenciální testování na protokolech DeFi. Mezi další nástroje pro testování bezpečnosti patří Tenderly a Hardhat.
Zabezpečení po spuštění
Bezpečnostní opatření, která lze přijmout po uvedení protokolu do provozu, včetně bug bounty, detekce útoků a provozního monitorování.
Bug Bounty
Bug Bounty překlenuje propast mezi protokoly a bezpečnostními výzkumníky. Protokol zveřejňuje program odměn na platformě Bug Bounty s podrobnostmi o rozsahu odměn a výši odměn, které získávají výzkumníci v oblasti bezpečnosti nahlášením zranitelností protokolu zero-day. Immunefi je reprezentativní platforma Web3 Bug Bounty.
Detekce útoku
Platforma pro detekci útoků identifikuje škodlivé transakce skenováním transakcí. Konkrétně tyto platformy skenují každou transakci, která interaguje s protokolem, na škodlivé chování a systém spustí výstrahu, když je identifikována škodlivá transakce.
BlockSec Phalcon například skenuje každý paměťový fond a on-chain transakce, aby identifikoval škodlivé chování (jako jsou škodlivé smlouvy a škodlivé návrhy) analýzou charakteristik chování transakcí. Je to jako hlídač, který beze spánku sleduje každý detail každé transakce a hledá neobvyklé trendy. Z těchto transakcí získává vzorce chování a využívá finanční modely (podobné těm, které používají banky k odhalování podvodů) k identifikaci potenciálních útoků. Mezi podobné systémy patří produkty od Hypernative a Hexagate. Venn Security Network společnosti Ironblock navíc poskytuje decentralizovanou infrastrukturu schopnou agregovat výsledky detekce z více zdrojů.
Provozní sledování
Jak název napovídá, rámec provozního monitorování monitoruje provozní bezpečnost protokolu po jeho uvedení do provozu. Může například v reálném čase monitorovat změny administrátorských klíčů, nasazení a aktualizace chytrých smluv a automaticky detekovat bezpečnostní zranitelnosti v požadavcích na stažení. Platforma OpenZeppelin Defender může vývojářům pomoci bezpečně psát, nasazovat a provozovat chytré smlouvy. BlockSec Phalcon může monitorovat upgrady smluv, transakce bezpečné peněženky (jako jsou iniciované, nově podepsané, realizované), řízení přístupu a rizika související s řízením. Kromě toho mohou uživatelé prostřednictvím monitorovacího systému Forta Network v reálném čase vytvářet protokoly pro monitorování botů nebo se přihlásit k odběru stávajících botů a dostávat upozornění na bezpečnostní hrozby, jako je phishing.
Reakce na útok
Bezpečnostní opatření, která se automaticky spouštějí nebo přijmou naléhavě poté, co dojde k útoku, včetně blokování útoků, automatické reakce, válečné místnosti, analýzy příčiny útoku a sledování toku finančních prostředků útočníků.
Mezi těmito pěti opatřeními odezvy je zvláště pozoruhodné blokování útoků, protože projektový tým může předem zablokovat útoky dříve, než k nim dojde, a snížit ztráty na nulu. Platforma automatické reakce také pomáhá snížit ztráty způsobené útoky.
Založení válečné místnosti, provedení analýzy příčiny útoku a sledování toku prostředků jsou protiopatření přijatá po útoku I když mohou pomoci snížit ztráty a zabránit podobným útokům v budoucnu, mohou způsobit těžké ztráty, které je obtížné obnovit. Navíc poškození dobré pověsti projektu a ztráta důvěry uživatelů může mít dalekosáhlé negativní důsledky. Zdá se, že rizika jsou všude a je obtížné jim předcházet, ale účastníci projektu nemusí pasivně reagovat, mohou předem nasadit preventivní opatření, což je také více doporučovaný přístup.
blokování útoku
Detekce útoků je důležitým kanálem, jak se dozvědět o útocích hackerů, ale pokud chcete proti útokům hackerů bojovat, samotná detekce zdaleka nestačí. Protože bez možností automatického blokování útoků je často příliš pozdě na ruční opatření reakce. Vezměme si jako příklady útoky KyberSwap, Gamma Strategies a Telcoin. Tyto protokoly provedly několik minut nebo dokonce hodin po útoku. Útoky Velocore a Rho v červenci způsobily pozastavení provozu celých řetězců Linea a Scroll, čímž upozornili uživatele na problém centralizace řetězce L2.
Blokování útoků může automaticky zabránit útokům hackerů, které se opírá o dvě základní technologie: včasnou detekci a automatickou preempci. Včasná detekce znamená, že útočné transakce mohou být identifikovány předtím, než je transakce nahrána do řetězce a když je stále ve fázi paměťového fondu. Automatické front-running znamená předložit front-running transakci k pozastavení protokolu předtím, než je útočná transakce nahrána do řetězce, čímž se zabrání provedení útočné transakce. Tato metoda blokuje útok dříve, než k němu skutečně dojde, čímž se zabrání ztrátám.
V této kategorii je BlockSec Phalcon jediným produktem s těmito základními technologiemi. Poté, co hacker zahájí útočnou transakci, může modul pro monitorování útoků Phalcon předem detekovat transakci, odeslat uživateli výstrahu o útoku a automaticky preemptovat a pozastavit protokol, čímž sníží ztrátu na 0. Schopnost tohoto produktu blokovat útoky byla v minulosti prokázána při více než dvaceti záchranách bílých klobouků, čímž se ušetřilo více než 20 milionů dolarů na majetku.
automatická odpověď
Kromě platforem blokujících útoky mohou platformy jako Phalcon, Hexagate, Hypernative atd. také automaticky reagovat, když dojde k útoku.
Po přihlášení k odběru takové platformy mohou uživatelé nastavit monitorování a opatření reakce na různá rizika protokolu. Pokud transakce narazí na pravidla monitorování, systém automaticky zahájí opatření předem nastavená uživatelem (jako je pozastavení protokolu), čímž se sníží ztráty. Některé platformy však nemají moduly detekce útoků a systém nemůže přímo identifikovat transakce útoku a upozornit uživatele. Místo toho musí uživatelé přizpůsobit podmínky, za kterých lze transakci určit jako útok. Vzhledem k tomu, že charakteristiky útočných transakcí jsou velmi složité a uživatelé (často smluvní vývojáři) nemají nutně dostatečné bezpečnostní znalosti, je to pro uživatele velmi náročné.
Válečný pokoj
Když protokol čelí útokům, je zřízení válečné místnosti obzvláště důležité. To protokolu pomáhá porozumět situaci, včas synchronizovat informace s komunitou a efektivně integrovat zdroje pro přijímání opatření reakce, což vyžaduje úzkou spolupráci odborníků v různých oblastech.
SEAL 911 je navržen tak, aby "pomáhal uživatelům, vývojářům a bezpečnostním výzkumníkům přímo se připojit k důvěryhodným bezpečnostním expertům v nouzových situacích." Uživatelé mohou získat tuto službu prostřednictvím SEAL 911 Telegram Bot (https://t.me/seal_911_bot) a rychle vytvořit válečnou místnost, která se bude vypořádat s bezpečnostními výzvami, když je projekt napaden.
Analýza příčiny útoku
Když je protokol napaden, je klíčové identifikovat zdroj problému, jako jsou zranitelnosti v rámci inteligentní smlouvy a jak byla zranitelnost zneužita. Analýza útočných transakcí vyžaduje pomoc některých nástrojů Phalcon Explorer, OpenChain a Tenderly.
Sledování toku fondů
Sledování toku prostředků se týká sledování počátečních finančních prostředků útočníka a útoků na zisky v řetězci za účelem vyhledání relevantních adres a subjektů. Pokud tato aktiva přejdou do centralizovaných subjektů (např. centralizovaných burz a dalších subjektů na institucionální úrovni), lze se obrátit na orgány činné v trestním řízení, aby pomohly zmrazit finanční prostředky.
Reprezentativními společnostmi/produkty v této oblasti jsou Chainalysis, TRM Labs, ARKHAM, ELLIPTIC a MetaSleuth. MetaSleuth může například automaticky sledovat toky finančních prostředků napříč řetězci a poskytovat bohaté adresní značky. ARKHAM zakládá komunitu, kde strany protokolu mohou zveřejňovat odměnu za vyšetřování, aby motivovaly členy komunity, aby pomohli sledovat finanční toky útočníka.
Zdroje bezpečnostního vzdělávání
Znalosti jsou nejlepší obrannou linií. Kromě výše zmíněných dodavatelů a produktů zabezpečení existuje další kategorie rolí, která je pro zabezpečení DeFi kritická: vzdělávací platformy. Zdroje nebo informace poskytované těmito platformami mohou pomoci odborníkům a uživatelům DeFi hluboce porozumět bezpečnostním znalostem, zlepšit povědomí o bezpečnosti a rozvíjet bezpečnostní dovednosti, což hraje důležitou roli při podpoře rozvoje zabezpečení DeFi. Vzdáváme hold těmto platformám a níže sdílíme několik, které stojí za pozornost.
SΞCURΞUM: Komunita Discord zaměřená na bezpečnost Ethereum a pravidelně pořádá soutěž v oblasti zabezpečení chytrých kontraktů „Secureum RACE“.
https://x.com/TheSecureum
Panel bezpečnostních incidentů: Tato platforma shromažďuje a aktualizuje útoky v reálném čase zahrnující ztráty přesahující 100 000 USD a poskytuje podrobné informace, jako jsou částky ztrát, postižené řetězce, typy zranitelnosti, analýza příčin útoku a PoC.
https://app.blocksec.com/explorer/security-incidents
Rekt: Známý jako temný web pro zprávy DeFi a poskytuje hloubkovou analýzu exploitů, hacků a podvodů DeFi.
https://rekt.news/
RugDoc: bezpečnostní a vzdělávací komunita DeFi. Platforma poskytuje informace o hodnocení rizik projektu a také platforma RugDocWiKi, která představuje ekologii a technologii DeFi.
https://rugdoc.io/
DeFiHackLabs: Web3 bezpečnostní komunita, věnovaná pomoci talentům na zabezpečení Web2 vstoupit do oblasti Web3 S více než 2 000 členy a téměř 200 bílými hackery po celém světě poskytuje sklad DeFiHackLabs množství výukových zdrojů.
https://x.com/DeFiHackLabs
Solodit: Tato platforma obsahuje minulé auditní zprávy od auditorských firem Web3.
https://solodit.xyz/
Ethernaut: Hra založená na Web3/Solidity, kde hráči potřebují identifikovat zranitelná místa ve smlouvách Ethereum, podobně jako CTF.
https://ethernaut.openzeppelin.com/
Závěr
Bezpečnostní problémy způsobují každoročně ztráty v miliardách dolarů a jsou vážnou dlouhodobou hrozbou pro ekosystém DeFi. V současné době se většina bezpečnostních opatření soustředí na bezpečnostní problémy, než bude projekt spuštěn online. V bezpečnosti však neexistuje žádná „stříbrná kulka“. V různých fázích vývoje protokolu by měla existovat odpovídající opatření k zajištění jeho bezpečnosti a během celého životního cyklu protokolu.
Doufáme, že si průmysl uvědomí důležitost zabezpečení poté, co bude projekt online, přijme opatření ke sledování rizik protokolu a automaticky blokuje útoky.
Doufáme také, že ekosystém DeFi dokáže vytvořit konsenzus na prvním místě v oblasti bezpečnosti, aby bylo možné lépe chránit zabezpečení majetku uživatelů.