paint-brush
A többblokkos támadás anatómiájaáltal@rnick
Új történelem

A többblokkos támadás anatómiája

által Nick Ruck11m2024/10/06
Read on Terminal Reader

Túl hosszú; Olvasni

A cikk bemutatja a Uniswap V3 TWAP ár-orákulumok hitelezési protokollokban való használatának kockázatait, különösen a hosszú végű eszközök esetében. Ezek az orákulumok manipulálhatók, jelentős veszteségeket eredményezve. A kockázatok mérséklése érdekében a protokollok alternatív orákulumokat használhatnak, és figyelembe vehetnek olyan tényezőket, mint az Uniswap mennyisége és a likviditási felár.
featured image - A többblokkos támadás anatómiája
Nick Ruck HackerNoon profile picture
0-item


Hosszú farok vagyonok védelme a kölcsönzési protokollokon a TWAP Oracle támadásokkal szemben


A legtöbb hitelezési protokoll feltörése az intelligens szerződések sebezhetőségéből ered, ami évente több százmillió dollár ellopását eredményezi. A fejlesztők és az auditorok óvatosabbak lettek a gyakori támadásokkal szemben, miközben a protokollok többszörös kódellenőrzésen és hibajavító programokon esnek át. A hitelezési protokollok azonban gazdasági támadásokkal is szembesülnek a piaci volatilitás és az árazási problémák, például a depeg események és az orákulum manipulációja miatt.


E támadások megelőzése érdekében a legtöbb protokoll csak nagyon likvid eszközöket sorol fel, és a leginkább támaszkodó orákulumszolgáltatókat, elsősorban a Chainlinket használja. Míg a legtöbb kölcsönzési protokoll nem használ decentralizált csereidővel súlyozott átlagáras (TWAP) orákulumokat, ezek az egyik leginkább elérhető lehetőségek. A legtöbb protokoll azonban nem talált biztonságos módszertant ezeknek az orákulumoknak önmagában történő biztonságos használatához, mivel az általában túl kockázatos az alternatívákhoz képest.


Az Uniswap V3 TWAP árú orákulumokat olyan hitelezési protokollokban használták, mint az Inverse Finance, a Rari Capital és az Euler Finance. Bár a jelentésben többször hivatkoznak az Uniswap-ra és annak V3-as orákulumaira, más TWAP-oákulumok is hasonlóan működhetnek. Ezeknek az orákulumoknak számos előnye van, például szabadon integrálhatók a protokollokba, és kevésbé támaszkodnak a központosított vezérlésre, de a hátrányok megakadályozzák a széles körű használatot.


Rengeteg példa van arra, amikor az orákulumokat manipulálták, különösen a TWAP orákulumokat, valamint kutatások részletezik, miért történnek ezek a támadások. Ez általában akkor jelent problémát, ha a likviditás nem megfelelő az orákulum forrásánál, például egy Uniswap poolnál, így az orákulumot árakra használó kölcsönzési protokollok támadás veszélyének vannak kitéve.


Az Euler Finance csapata jelentéseket írt, köztük Michael Bentley Manipulating Uniswap v3 TWAP Oracles-t , és kiadott egy oracle támadást szimulátor számszerűsíteni a kölcsönzési protokollok kockázatait Uniswap V3 TWAP árú orákulok használatával. A jelentés középpontjában az azonnali ármanipuláció elemzése áll legalább egy blokk esetében. Ezt a szempontot figyelembe veszi az alábbi 1. ábrán látható Euler Oracle Tool szimulátor is, mivel a generált jelentésekben tíz blokkig megjeleníti a blokkonkénti értékeket és költségeket.


A támadók megpróbálják korlátozni a kudarc kockázatát gyorskölcsön segítségével, hogy egy blokkon belül befejezzék a támadást. Bár a gyorskölcsönök lehetővé teszik a támadók számára, hogy több likviditást használjanak fel, mint amennyivel rendelkeznének, nem valószínű, hogy a gyorskölcsönök sikeresek lesznek egy blokkon belül a leglikvidebb eszközökön.


Például az alábbi 1. ábra mutatja az egyblokkos támadás teljes költségét (598,85 milliárd USD) az USDC/WETH 0,3%-os díjpárra gyakorolt 20%-os árhatásért. A hitelezési korlátozások, például a hitelfelvételi és fedezeti tényezők (LTV arány) miatt a támadóknak általában jóval 20%-ot meghaladó árakat kell emelniük vagy dömpingelniük, hogy nyereséges támadást érjenek el.


1. ábra – USDC / WETH 0.3 Fee Pool Uniswap V3 TWAP Euler Oracle Attack Simulator


Az Oracles árkezelésének feltételei


A blokkok számának minimalizálása a támadás végrehajtásához két okból is elengedhetetlen. Először is, a támadók gyorskölcsönöket használnak, amelyeket ugyanazon a blokkon belül kell visszafizetni. Másodszor, minél több blokk történik, megnő annak az esélye, hogy a támadó arbitrázsba kerül, ami leállítja a támadást, mivel a kereskedők látják az árkülönbséget, és kereskedést hajtanak végre, hogy visszaállítsák az árat a normál értékre, mielőtt a támadás befejeződne.


A legtöbbet használt eszközök, mint például az USDC, USDT és WETH, általában elég likvidek ahhoz, hogy megakadályozzák a TWAP orákulum manipulációs támadásait, különösen a gyorskölcsönök esetében. Ez nyilvánvalóbb az Ethereum mainneten, mivel a legtöbb második réteg és más láncok likviditása viszonylag kisebb. A hitelezési protokollok egyébként is általában Chainlink áras orákulumokat használnak a blue chip eszközökhöz, mivel megéri a költségeket megvédeni ezeket az eszközöket, amelyeket leggyakrabban fedezetként állítanak be.


Még akkor is, ha a leglikvidebb poolok nem rendelkeznek elegendő likviditással, számos más pool létezik az Uniswapban és más DEX-ekben, amelyek azonnali arbitrázslehetőséget kínálnak. A különböző poolokban lévő két rendkívül likvid token közötti árkülönbséget a kereskedők manuálisan megtalálják az arbitrázslehetőséget, a botok, aggregátorok vagy valószínűleg az Uniswap. Auto Router .


A képet az Uniswap Labs készítette


Az Auto Router megtalálja az elérhető legjobb árat azáltal, hogy felosztja a kereskedéseket több pool között. Ez azt jelenti, hogy ha egy támadó jelentős betétekkel rendelkező hitelezési készletet talál, amely alacsony volumenű, alacsony likviditású készletet használt az Uniswap V3-on orákulumként, a támadás akkor is meghiúsulhat, ha az azonos tokenhez tartozó többi pool nagy volumenű és likviditású, mert a következő Az Auto Router kereskedelme kihasználná az arbitrázs lehetőséget. Még nehezebb a támadás sikeressége, mivel az Auto Router más, nem kapcsolódó tokenek útvonalaira is képes felosztani.


Hasonló feltételezéseket lehet tenni az alacsony folyadéktartalmú, nagy térfogatú készletekre is. Alacsony likviditás mellett a pool jóslata sebezhető célpont lehet. A jelentős volumen miatt azonban a kereskedések folyamatosan a piaci árfolyamhoz igazítják az árat. Ezért nem valószínű, hogy egy támadás sikeres lesz.


A támadónak fontolóra kell vennie az Uniswap V3 likviditási felárát is, mivel a Likviditásszolgáltatók teljes körű likviditást vagy koncentrált likviditást biztosíthatnak. A teljes körű likviditás, amely mindkét oldalon tokeneket ad a nullától a végtelenig terjedő teljes ártartományhoz, növeli a támadás költségeit. A koncentrált likviditás, egy meghatározott tartomány, amely csak egyoldalú lehet, az aktuális ártól és a sávon belüli likviditás allokációjától függően növelheti vagy csökkentheti a költségeket. A Wonderland's CTO 0xGorilla cikkében további részletekkel foglalkozik ezzel kapcsolatban Oracle Manipulation 101 .


Egy „biztonságos” Uniswap-készlethez nem szükséges, hogy több milliárd dollár értékű tokenek legyenek elosztva a teljes skálán, hogy az árjóslás biztonságos legyen. Tekintsük a fenti 1. ábrát, ahol 598,85 milliárd dollárba került az ár 20%-os mozgatása egy blokkon belül, és még mindig közel 200 millió dollárba kerülne tíz blokkon keresztül. Ennek a medencének közel 70 millió dollár összértéke van zárolva. Ennek a poolnak a felára azonban nem pusztán a teljes tartományban van, mivel a likviditás nagy része koncentrált, ami növelheti a kockázatot.


Az Euler Oracle eszköz azt is megmutathatja, hogy 10 millió dollár közel 14%-kal lefelé mozgatja az árat 1 millió dolláros költség mellett, és közel 56%-kal felfelé 1,7 millió dolláros költség mellett. Ez potenciálisan aggodalomra ad okot orákulumként való használatra, de valószínűleg nem ez a 0,3%-os pool lenne a kölcsönzési protokollokban használt fő pool, mivel a 0,05%-os díjalap 129 millió dollárt tartalmaz TVL-ben és 2,4 milliárd dollárt 7 napos mennyiségben. Uniswap adatai.


Likviditási profilok


A felhasználóknak figyelembe kell venniük a különböző likviditási felár-profilokat, hogy jobban megértsék a Uniswap V3 TWAP árú orákulumokat használó hitelezési protokollokon való letétbefizetés kockázatait. A 2. ábra grafikonjai különböző likviditási profilokat mutatnak be, amelyeket a felhasználó az Uniswap poolokban találhat.


Az alábbi LP 1. grafikon egy likviditási profilt mutat be, amelyet gyakran feltételeznek az Uniswap V3 poolokról. A likviditás (L) általában az aktuális ár (P) körül összpontosul, de a két token, a Token01 és a Token02 irányában távolabb csökken.


LP 1 – Egy tipikus likviditási pool


Az LP 2 egy tipikus stablecoin-párprofilt mutat be, mint például az USDC/USDT, ahol a likviditás rendkívül koncentrált az aktuális ár körüli több pontra.


LP 2 – Egy tipikus Stablecoin likviditási készlet


Az LP 3 megmutatja, hogyan nézhet ki egy teljes körű pool a likviditás koncentrált csapásai nélkül.


LP 3 – Teljes körű likviditási készlet


Az LP 4 likviditása a jelenlegi ár Token01 oldalán összpontosul, ami drágábbá teszi a lerakást, de olcsóbbá teszi a szivattyúzást, míg az LP 5 ennek ellenkezőjét mutatja.


LP 4 és 5 – Koncentrált likviditási készletek


Ha a kölcsönzési protokoll mindkét tokent biztosítékként engedélyezi, akkor a támadó dönthet úgy, hogy a szivattyút vagy a kiürítést olyan irányba hajtja végre, amely kevésbé költséges és jövedelmezőbb. Ha egy eszköz elszigetelt, és nem használható biztosítékként, akkor a támadó csak profitszerzés céljából dobhatja ki. Vannak más módok is, hogy profitáljunk egy elszigetelt eszköz pumpálásából, de ez bonyolultabb, költségesebb vagy kockázatosabb lehet ahhoz képest, mintha egy izolált eszközt egyszerűen bedobnánk egy orákulum támadásba, vagy más típusú kihasználási módszerekre támaszkodnánk.


Az LP 6 ezt a gyakorlatban is megmutatja, mivel kevésbé költséges lenne a tokent a régi árról (P1) az A pontban a B pontban lévő új árra (P0) átengedni.


LP 6 – Árpontok mozgatása alacsony likviditású poolban


A felhasználóknak tisztában kell lenniük a likviditási szintekkel, a szpreddel és a tranzakciók volumenével, ha egy kölcsönzési protokoll Uniswap V3 TWAP árjóslatokat használ a poolokhoz. A támadó számára rendkívül sebezhető Uniswap pool alacsony likviditással, alacsony volumennel, a likviditás a célártól és az aktuális ártól távol koncentrálódik, és nincs más Uniswap és más DEX-ek, vagy legalábbis hasonló szerkezetű poolok.


A hosszú végű eszközkészletek általában alacsony likviditásúak és alacsonyabbak a támadási költségek, de nem feltétlenül kisebb a támadó kockázata. Míg az alacsony mennyiség csökkenti a támadást megszakító arbitrázs lehetőségét, előfordulhat, hogy erősen koncentrált a likviditás, és alacsony számú tokenek keringhetnek a nyílt piacon a támadáshoz. Ez lehetetlenné teheti a támadó számára, hogy hasznot húzzon.


A többblokkos támadás anatómiája


A többblokkos támadás jövedelmezősége attól függ, hogy az Uniswap készletben lévő tokenek értéke kisebb, mint a kölcsönzési protokoll célkészletében lévő likviditás értéke. Az Uniswap pool értékének meghatározásakor figyelembe kell venni az orákulum manipulálásának költségét is, ha az érték a jelenlegi tokenáron túl magas. Tehát az Uniswap pool értéke magasabb lehet, mint a kölcsönzési protokoll készletének értéke, de ha a visszafordítás költsége kisebb, mint a kölcsönzési protokoll pool értéke, akkor a támadás nyereséges lehet.


Miután a támadó eldöntötte, hogy képes lesz hasznot húzni, kitalálhatja, hogy hatékonyabb-e megvásárolni a támadáshoz szükséges tokeneket, vagy kölcsönkérni azokat. Először is levonják a tokenek vásárlásának költségét a támadás során Uniswapon történő eladásuk nyereségéből. Ez inkább a csúszás miatti veszteség lenne, tekintettel arra, hogy egy alacsony likviditású Uniswap pool árát próbálják csökkenteni. A probléma azonban az is lehet, hogy nincs elég token a vásárláshoz, vagy nincs elegendő tőkéjük ahhoz, hogy elegendő tokent vásároljanak. A támadó azt is gondolhatja, hogy a potenciális veszteség túl magas lenne, ha a támadás sikertelensége esetén túl magas lenne az elegendő token vásárlásának költsége.


Ha a tokenek vásárlása túl problémás, a támadó kölcsönkérheti a tokeneket a célzott kölcsönzési protokollból vagy egy másikból. Valószínűbb, hogy a támadó csökkentené a költségeket, ha kölcsönkéri a tokeneket a célzott kölcsönzési protokollból, feltételezve, hogy nem valaki más irányítja a támadást. Az orákulum manipulálásából eredő árváltozások miatt fokozatosan olcsóbbá válik a token kölcsönzés a célzott kölcsönzési protokollból.


Végül a támadó fontolóra veszi, hogy minimalizálni akarja-e a blokkokat, miközben több fedezetet kockáztat, vagy megkísérelné több körben felvenni és eladni, hogy kevesebb fedezetet használjon fel. Az ideális helyzet az, ha megtalálja a minimális mennyiségű biztosítékot, amely ahhoz szükséges, hogy a legtöbb betétet ellopja. Ha az ár megváltozik, vagy az ár nem tud tovább süllyedni a tervezett célig, akkor a támadás a fedezet egy részét vagy egészét a protokollban zárhatja.


Multi-Block Attack Simulator


Kiszámíthatjuk a lehetséges nyereséget, ha a támadó tokeneket kölcsönöz a célzott kölcsönzési protokollból, és eladja azokat, hogy manipulálja az árjóslatot az Uniswap-on. Ehhez figyelembe kell vennünk a hitelezési protokoll korlátozásait, például a hitelfelvételi és a fedezeti tényezőket, ha mindkettő rendelkezik, a letétbe helyezendő biztosíték összegét és az oracle pool likviditását.


A Multi-Block Attack használata Szimulátor , megadhatjuk a betét összegét a fedezethez, a hitelezési tényezőket, a DEX-likviditást, a rendelkezésre álló hitelkészletet, valamint a kölcsönzött és a fedezeti tokenek különböző árbemeneteit. A táblázat a felhasználó bemeneti adatai alapján kiszámítja az Uniswap-on történt eladásokból kapott tokenek számát, valamint a token új árát. A szimulátor minden értékesítési kör után módosítja a kölcsönzött tokenek új értékét.


Az 1. felhasználói pozíció azt mutatja, hogy a támadó a letétbe helyezett biztosítéka alapján mennyi tokenek maximális mennyiségét kölcsönözheti. A támadó eladja a maximálisan kölcsönzött tokeneket a megcélzott Uniswap-készletben, és beírja a nyereséget és az új árat az 1. felszámolási kör szakaszába. A 2. felhasználói pozíció és a további felszámolási körök az új értékeket jelenítik meg, figyelembe véve az új kölcsönzött token árához szükséges biztosítékot.


A további körök célja annak nyomon követése, hogy hány tokent lehet eladni a kívánt árhatás eléréséhez, ha az első kör nem elegendő. A felhasználók azt is meghatározhatják, hogy mekkora biztosíték szükséges egy nyereséges támadás végrehajtásához a lehető legkevesebb értékesítési körben. A további részek kiszámítják a nyereséget, ha a támadó elhagyja a fedezetét, vagy befejezi a támadást az utolsó körben, és elveszi a felhalmozott nyereséget vagy veszteséget.


A felhasználók különböző forgatókönyveket szimulálhatnak, és személyre szabott kockázati keretrendszereket hozhatnak létre, amikor kölcsönzési protokollokkal dolgoznak TWAP orákulumokkal. Az Euler Oracle eszköz és a Multi-Block Attack Simulator kombinálásával a felhasználók teljes képet kaphatnak a gyorskölcsönzés és a többblokkos támadások lehetséges kockázatairól. Ezenkívül a felhasználók számos szimulációt futtathatnak, hogy felfedezzék a kölcsönzési protokollok bevált gyakorlati kockázati paramétereit, az oracle támadások által leginkább veszélyeztetett tokenkategóriákat, korai riasztási rendszereket és még sok mást.


A felhasználók automatizálhatják ezt a lapot API-k, kiegészítők segítségével, vagy a számítások alapján alkalmazást fejleszthetnek. A táblázat lényege, hogy olyan módszertant biztosítson, amelyet bárki használhat a jövőben, ha egy API-t vagy alkalmazást eltávolítanak, korlátoznak vagy megváltoznak.

Ennek az eszköznek a középpontjában az áll, hogy megkísérelje fokozni a kockázattudatosságot, és nagyobb biztonságot nyújtani a hosszú farkú eszközök kölcsönzéséhez, amelyeket általában nem fedez az orákulumok többsége. Ez az eszköz figyelmen kívül hagyja az arbitrázst és a blokkok pontos számát egy támadásban, ehelyett a többblokkos támadás lehetséges költségeinek és nyereségének elszámolására összpontosít.


A Multi-Block Attack Simulator felhasználói útmutatót, számításokat és példát tartalmaz a felhasználók kényelme érdekében. Kérjük, készítsen másolatot, és szerkessze a Szimulátor lap kék celláit.


Multi-Block Attack Simulator


Következtetések


Noha nagy lehetőség rejlik a hosszú végű eszközök hitelpiacának létrehozásában, nyilvánvaló, hogy a biztonságos hitelezési lehetőségek kockázatai meghaladhatják az előnyöket. A protokolloknak legalább több eszközt kell kínálniuk, hogy a felhasználók tisztában legyenek az ezzel járó kockázat mértékével. A hosszú farkú eszközök, például a memecoinok, a kormányzási tokenek és a decentralizált tokenek bevezetése hasznot húzhatnak a hitelpiacokból és a származékos termékekből, de ezek a tokenek a leginkább kiszolgáltatottak a manipulációnak.


Továbbra is próbálkoznak a hosszú végű eszközök kölcsönzési és kölcsönzési potenciáljának felszabadításával, mivel az erőfeszítések magukban foglalják több orákulum hozzáadását, a kölcsönfelvétel felső határát, elszigetelt készletek létrehozását és a kivonások késleltetését. Nem biztos, hogy a volatilitás-szabályozás a leginkább illikvid eszközökön működik, mert az irányítás valószínűleg nem tudna különbséget tenni a valódi ármozgások és az orákulum manipulálására irányuló mozgások között.


Számos hitelezési protokoll foglalkozott időalapú kölcsönök létrehozásával. A rossz adósság keletkezésének alapvető problémája azonban továbbra is fennáll, és a hitelezőknek hajlandónak kell lenniük ezt a kockázatot elfogadni. Bár ez a tanulmány nem foglalkozik mélyebben a hitelezési protokollok ezen területével, a változó kamatláb alapú protokollok továbbra is uralják a piacot.


A lehetséges megoldások fontolóra vehetik az Uniswap mennyiségét, a likviditási felárat és a tokenek mennyiségét, hogy meghatározzák a kockázatot a hosszú távú hitelezési és hitelfelvételi piacokon. A magasabb kockázati besorolású piacokat zárolhatják vagy korlátozhatják mindaddig, amíg több likviditást nem biztosítanak az oracle pool számára az Uniswapon. E tényezők némelyikét az Euler V1 oracle minősítési rendszerében is felhasználták.


Más megoldások fejlesztése folyamatban van Uniswap V4 hoook-ként, valamint a meglévő protokollok, például az Euler V2 és a Bunni frissítései és revíziói. Az ár-orákulumok hatékonyabbá válhatnak más típusú decentralizált tőzsdék, például az idősúlyozott automatizált piacjegyzők (TWAMM) vagy a Bedlam Research által felvázolt megbízási könyv-alapú hitelezési protokoll alkalmazásakor is. Az olyan platformok, mint a Kamino Finance, számos kockázatkezelési intézkedést mutatnak be, beleértve a dinamikus LTV-t, míg más protokollok, például a GammaSwap, Timeswap és az Ammalgam orákulum nélküli és egyéb megoldásokat kínálnak.


Végső soron, ha az áraknak csak egyetlen forrása van, amely gyenge likviditású, akkor szinte semmilyen kockázatkezelés nem teheti biztonságossá és pénzügyileg megvalósíthatóvá a hitelezési protokoll résztvevői számára.