rss

Százmillió dolláros kölcsön egy századmásodpercre – BlokkolóÓra 200.

2022 Crypto Crime Report címen jelent meg nemrég a blokkláncok adatait elemző Chainalysis cég tanulmánya a kriptovilágban történő rablásokról. A vizsgálódás egyik megállapítása éppen az, amit néhány héttel korábban én magam is leszűrtem:

“Egy évtized alatt a sérülékeny kriptotőzsdéket már kirabolták, akik talpon maradtak, azok mostanra talán kiállhatták az idők próbáját. Persze biztos lesznek még esetek, de jóval ritkábban, mint korábban. Ez maga az evolúció élőben. A DeFi, a decentralizált pénzügyi szolgáltatók azonban pusztán másfél éve kerültek a figyelem középpontjába. Az okos szerződéseik biztonságossága a tíz évvel korábbi kriptotőzsdék szintjén lehetnek. Vagyis látni fogunk még jónéhány rablást a DeFi-ben.”

Valóban, a Crypto Crime Report visszatekint az elmúlt évek kriptós rablásaira és azt találja, hogy a centralizált tőzsdék ellen elkövetett hekkelések aránya (ellopott értékben mérve) jócskán visszaszorult a DeFi okosszerződés kifosztások rovására.

 

Az elemzés másik érdekessége, hogy a támadás típusa szerint is megvizsgálja az elmúlt évek rablásait. A főbb kategóriák a “Code exploit”, amikor a támadó az okosszerződés programjában fedez fel kihasználható hibát, illetve a “Security breach”, amikor a program ugyan a szándékok szerint működik, de a támadó érzékeny adatokhoz (pl. privát kulcsokhoz, jelszavakhoz) jut hozzá, amit aztán felhasznál a rabláshoz. Az idei nagy hekkelések közül az előbbire példa a Wormhole, az utóbbira pedig a Ronin kifosztása. Az alábbi ábrán azt láthatjuk, hogy a hibás kód az ellopott érték egyre nagyobb százalékáért felel.

 

Van azonban egy harmadik nevesített kategória is, a “Flash loan”, vagyis gyorskölcsönhöz kapcsolódó támadások. A kriptovilágban a gyorskölcsön egészen mást jelent, mint a hagyományosban, ahol tipikusan hitelbírálat nélkül akár néhány órán belül folyósított kölcsönre gondolhatunk, amit aztán hatalmas kamat terhel, a bank szempontjából pedig magas a vissza nem fizetés kockázata. A kriptósok flash loan-ja egészen más. Sokkal gyorsabb, hiszen valóban azonnal (néhány másodpercen belül) felvehető, viszont szinte rögtön kamatostul vissza is kell fizetni. Bármekkora, akár hatalmas összegben is folyósítják, még óvadékot sem kérnek hozzá, a törlesztés elmaradásának mégsincs kockázata. Hűha, ez megint valami olyasmi, amihez még hasonlót sem láthatunk a hagyományos pénzügyi szolgáltatások piacán.

Valóban, a flash loan trükkje az, hogy ugyanazon tranzakción belül vissza kell fizetni, mint amelyikben felvették. És ehhez tudni kell, hogy a kriptós tranzakciók nem csak sima utalások lehetnek, hanem okosszerződések közötti, akár egészen bonyolult, szerteágazó interakciók sora, amelyben az egymást követő lépések függnek az előző lépés eredményétől. Valójában programokról van szó, amelyek végrehajtása során más programokat (okosszerződéseket) hívnak meg és akár nagyon komplex műveleteket hajtanak végre. A tranzakciót akkor tekintjük befejezettnek, amikor a program teljes egészében lefutott (vagy elfogy a tranzakció végrehajtásához felajánlott díj, mert akkor a program futása megszakad).

Egy flash loan-os tranzakcióban két dologban lehetünk biztosak. Azzal indul, hogy kölcsönt kér egy gyorskölcsön szolgáltató okosszerződéstől, és azzal végződik, hogy a kölcsönt kamatostul visszafizeti. Hogy közben mit csinál, az a kölcsönvevő fantáziájára van bízva. Azonban a flash loan-t normál esetben nem hekkeléshez használják. Arra találták ki, hogy finanszírozást nyújtson azok számára, akiknek megvan a technikai tudások a DeFi hatékonytalan világában való arbitráláshoz, de nincs hozzá elegendő pénzük. Ha például valaki felfedezi, hogy két decentralizált tőzsde között néha lehetőség nyílik nagyobb összegben is arbitrálásra, akkor leprogramozhatja a következő tranzakciót:

  • kérj kölcsön egy flash loan-t nyújtó okosszerződéstől 100 millió dollárnyi USDT coin-t;
  • vegyél belőle étert az 1. számú decentralizált tőzsdén;
  • add el az összes étert a 2. számú decentralizált tőzsdén USDT-ért cserébe;
  • fizesd vissza a flash loan-t kamatostul, a megmaradt lóvét pedig utald a pénztárcámba.

Így aztán szemfüles programozók a két tőzsde között fennálló kis árkülönbséget nem csak a saját megtakarításukkal tudják arbitrálni, hanem akár hatalmas összegekkel is. A programozók jól járnak, a piacok pedig hatékonyabbá válnak.

A flash loan-t azonban felfedezték maguknak a hekkerek is. A dolog azért aktuális, mert éppen a napokban rabolták ki a Deus Finance nevű DeFi platformot egy gyorskölcsönös támadással. A hekkerek 13 millió dolláros profittal távoztak.

A tipikus flash loan támadás – amit tehát a Crypto Crime Report már külön kategóriába sorol – több lépésből áll. A gyorskölcsön felvétele után, azt felhasználva a támadó egy másik kriptopénzből vásárol egy decentralizált tőzsdén. A Deus Finance támadásánál két stabil értékű coin vett részt ebben az ügyletben, az USDC és a DEI. Mindkét kriptopénz értéke a dollárhoz van rögzítve, az árfolyamuk általában nagyon közel mozog az 1 dollárhoz. A támadó mégis hatalmas összegben költött el USDC-t, és vásárolt DEI-t, de csak azért, hogy a DEI árfolyamát mesterségesen feljebb tolja. Az ügyletbe bevont tőzsdén sikerült is neki a DEI árfolyamát egészen 20 dollárig feltolni.

Ezen a ponton a hekker egy decentralizált kölcsönző platformhoz fordul, hogy DEI óvadékért kölcsönt vegyen fel. Itt nem gyorskölcsönről van szó, hanem óvadék nyújtása mellett, hosszabb távra felvehető hitelről. A kölcsönző platform okosszerződése a tőzsdéhez fordul, hogy lekérdezze az óvadéknak felajánlott DEI árfolyamát, hiszen csak biztonsággal túlfedezett hitelt hajlandó adni. Válaszként azonban a frissen manipulált 20 dolláros árat kapja. Ezért a támadó által felajánlott DEI óvadék mellett messze nagyobb hitelt hajlandó adni, mint amennyit az óvadék valójában ér. Ezt a kölcsönt természetesen soha nem fizetik vissza. Befejezésként a hekker kamatostul visszafizeti a flash loan-t és zsebre teszi a profitot. A fenti folyamat természetesen automatizált, az okosszerződésekben kódolt program lefutásával pillanatok alatt megtörténik. Egyetlen tranzakcióba van foglalva, ami a valóságban a leírtnál sokkal bonyolultabb és szerteágazóbb.

A flash loan támadások ellen természetesen létezik hatékony védelem. A kriptovilág evolúciója során a védelmi mechanizmusok vagy beépülnek az okosszerződésekbe, vagy idővel rablások áldozatai lesznek és elbuknak a kevésbé biztonságos projektek. Ez most még a vadnyugat, amiben élet-halál harc folyik, de éppen ezek az evolúciós mechanizmusok teszik hosszú távon megbízhatóvá a túlélt okosszerződéseket.

A Decent Investments/CryptoPosition csapatával és külsős kriptoszakértőkkel kiegészülve 2018 januárja óta heti rendszerességgel tekintjük át a kriptopiac híreit, eseményeit és aktualitásait. Közben eszmét cserélünk, vitatkozunk, alaposan kielemzünk egy-egy projektet vagy a technológiai újításokat értjük meg mélyebben. E beszélgetéseket BlokkolóÓrának neveztük el. A BlokkolóÓra életünk elmaradhatatlan részévé vált, mindig tanulunk valami újat vagy találkozunk érdekes gondolatokkal. Az ott felmerülő témák közül hétről hétre szemezgetünk néhányat.

Kapcsolódó tartalom