» »

Lendf.me in Uniswapu ukradli za 23 milijonove evrov kriptovalut

Lendf.me in Uniswapu ukradli za 23 milijonove evrov kriptovalut

vir: ZDNet
ZDNet - Že nekaj časa ni bilo nobene večje tatvine kriptovalut, a to ne pomeni, da niso več aktualni. Ta konec tedna so neznanci izmaknili za 23 milijonov evrov kriptovalut. Napadli so menjalnico Uniswap in posojilnico Lendf.me v dveh bržkone povezanih akcijah.

Obe strani sta namreč uporabljali protokol Lendf.me, žeton imBTC in tehnologijo ERC-777. V kombinaciji teh tehnologij, pri čemer naj bi bil ERC-777 sam po sebi varen, so izrabili nekaj javno znanih lukenj, da so pridobili dostop do strani. Ranljivost, ki so jo izkoristili, je znana vsaj od lanskega aprila, od julija pa je na voljo tudi delujoča koda za izrabo.

V noči na soboto je potekal napad na Uniswap, dan pozneje pa na Lendf.me. Večino sredstev so ukradli z Lendf.me, in sicer 22,5 milijona, preostanek pa iz Uniswapa. Lendf.me je tako izgubila 99,95 odstotka vseh svojih sredstev. Po napadi sta obe strani začasno nedostopni, da bi preprečili nadaljnje napade in ohranili dokaze za preiskavo incidentov. Prav tako so onemogočili trgovanje z lastno valuto imBTC na drugih borzah. To je žeton, ki teče na platformi Ethereum.

15 komentarjev

Facebook dev ::

Moras biti pa res nekompetenten, da se igras s 23milijoni sredstev in ne zakrpas ranljvosti, ki so znane skoraj 1 leto.
If you can't handle me at my worst,
you don't deserve me at my best.

kow ::

Ne razumem novice. Kaj tocno avtor misli z "menjalnico uniswap"?
Kolikor vem uniswap ni "stran", ampak pametna pogodba. In jo je nemogoce ustaviti (niti avtor nima te moci).

Nihce ne more prepreciti, da dodas token (npr. imBTC) v liquidity pool. Ce prav razumem, nekdo ni uposteval znanega uniswap buga (v povezavi z ERC777 tokenom) in se je igral z ognjem. Uniswap pa ne mores fixati, brez redeploya. To pa nima smisla, ker bo kmalu prisel uniswap v2.

Skratka, tale novica je zavajajoca. Poleg tega ERC-777 ni "tehnologija", ampak interface standard.

Zgodovina sprememb…

  • spremenil: kow ()

kow ::

Vec o bugu:
https://blog.openzeppelin.com/exploitin...

Torej je edino vprasanje, ali je uniswap stran ("uradni" uporabniski vmesnik) prikazal imBTC token ali ne. Domnevam, da ni in so v tej zgodbi brezmadezni.

fiction ::

Tukaj je treba razumet, da Uniswap ni tradicionalna menjalnica, ampak DEX. Implementacija je preko pametnih pogodb na Ethereumu. Vsak lahko doda svoj par ETH <-> žeton in dodaja liquidity novim oz. obstoječim parom.
Te ponudniki potem tudi služijo na stroških menjave.

Trik je v tem, da Uniswap v1 podpira zgolj ERC20 žetone. ERC777 so skoraj taki, razen te razlike, da omogočajo callback pred izvedbo prenosa. In v tem callbacku je mogoče spet poklicati to funkcijo za menjavo (reentrancy bug).
Problem je v tem, da "prenos žetona not in ethra ven" ni atomarna operacija.

Predstavniki Uniswap-a so večkrat rekli tole je preverjeno zgolj za ERC20 žetone, med drugim so tudi zaradi tega naredili v2. Nekdo je pa rekel uh ne obstaja še par imBTC <-> ETH, kaj če bi služil s tem. Ni se pa zavedal da je to ERC777 žeton.

Tako da sam Uniswap tukaj ni kriv (in v2 ima proper reentrancy check, da bo pripravljen tudi za novejše žetone), ERC-777 standard je tudi varen in imBTC je zanimiv asset, ki sledi ceni bitcoina.

joebanana ::

kow je izjavil:

Ne razumem novice. Kaj tocno avtor misli z "menjalnico uniswap"?
Kolikor vem uniswap ni "stran", ampak pametna pogodba. In jo je nemogoce ustaviti (niti avtor nima te moci).

Nihce ne more prepreciti, da dodas token (npr. imBTC) v liquidity pool. Ce prav razumem, nekdo ni uposteval znanega uniswap buga (v povezavi z ERC777 tokenom) in se je igral z ognjem. Uniswap pa ne mores fixati, brez redeploya. To pa nima smisla, ker bo kmalu prisel uniswap v2.

Skratka, tale novica je zavajajoca. Poleg tega ERC-777 ni "tehnologija", ampak interface standard.


Se vedno lahko izklopis stran ki klice pogodbo. Prav tako imajo vse dobre pogodbe proxy pogodbo, tako da lahko lastnik pogodbe nadgradi z novo verzijo.

Seveda ce kdo hoče lahko še vedno direktno uporablja nenadgrajeno pogodbo (ampak na naslovu na katerega je pred tem kazal proxy).

Odvisno kaj se tudi misli z izklopi pogodbo. Lahko pred vsako funkcijo preverjas nek pogoj, ki ga lahko nastavlja samo original naslov (creator) pogodbe. Tako lahko onemogocis klicanje funkcij.

kow ::

joebanana je izjavil:


Se vedno lahko izklopis stran ki klice pogodbo. Prav tako imajo vse dobre pogodbe proxy pogodbo, tako da lahko lastnik pogodbe nadgradi z novo verzijo.

Seveda ce kdo hoče lahko še vedno direktno uporablja nenadgrajeno pogodbo (ampak na naslovu na katerega je pred tem kazal proxy).

Odvisno kaj se tudi misli z izklopi pogodbo. Lahko pred vsako funkcijo preverjas nek pogoj, ki ga lahko nastavlja samo original naslov (creator) pogodbe. Tako lahko onemogocis klicanje funkcij.


- stran, ki klice pogodbo lahko nakuca vsak (avtor oz avtorji ponavadi naredijo prvo oz. najbolj uporabljeno implementacijo)
- stran NI bila izklopljena, ker ni nobenega razloga, da bi jo izklopili (bug je samo v kombinaciji z ERC777)
- dobre pogodbe NIMAJO proxy pogodbe (idealna pametna pogodba je neumna pogodba, ki je koncni produkt)
- imo je uniswap najvecji dosezek kriptoscene do sedaj, prvi pravi "pure dapp" (ce zanemarimo manjko decentraliziranih graficnih uporabniskih vmesnikov) in tudi edini
- se enkrat, uniswap ni mogoce ustaviti oz. nadgraditi in to je feature

fiction ::

Kolikor sem bral, je Lendf.me kitajska kopija Compund Finance. Gre za decentralizirano posojilodajalnico. Od uporabnikov zberejo denar in jim dajo obrestno mero X %, da pri njih zaklenejo žetone, potem pa le-te posojajo naprej za Y>X %. Baje je Lendf.me celo ukradel pametne pogodbe od Compund. Legalno tukaj ni problema, vse skupaj je itak javno, je pa malo etično sporno. Oz. tukaj je zdaj bad karma, ker Compound je vedel, da njihova koda ni primerna za ERC-777 žetone, Lendf.me pa (očitno) ne. Tukaj je krivo podjetje, ki ji z napadom izgubilo sredstva svojih strank. Vseeno pa imBTC ni na noben način povezan s prej omenjenimi akterji.

fiction ::

kow je izjavil:


- stran, ki klice pogodbo lahko nakuca vsak (avtor oz avtorji ponavadi naredijo prvo oz. najbolj uporabljeno implementacijo)
- stran NI bila izklopljena, ker ni nobenega razloga, da bi jo izklopili (bug je samo v kombinaciji z ERC777)
- dobre pogodbe NIMAJO proxy pogodbe (idealna pametna pogodba je neumna pogodba, ki je koncni produkt)
- imo je uniswap najvecji dosezek kriptoscene do sedaj, prvi pravi "pure dapp" (ce zanemarimo manjko decentraliziranih graficnih uporabniskih vmesnikov) in tudi edini
- se enkrat, uniswap ni mogoce ustaviti oz. nadgraditi in to je feature

Največji dosežek na DeFi sceni je MakerDAO, ampak Uniswap je tudi pretty damn close. Proxy pogodba je en način, ampak ponavadi je lažja taka arhitektura, da je core nespremenljiv, spreminjajo se pa (npr. preko nekega DAO goverenanca) adapterji do tega core dela. Če si zafrknil bistvo in osnovne predpostavke ne veljajo več, je lažje začet na novo. Zakaj bi hotel v tem primeru ohranit isti naslov? Seveda pa lahko še vedno nekdo kliče tvojo broken pogodbo. Point pametnih pogodb je, da jih ni mogoče kar tako ustaviti.

Si pa lahko razvijalec doda v naprej nek flag, s katerim se da stvar pavzirati ali ustaviti. Sam po svoje to potem ni čisto decentralizirano, ker ima neka entiteta možnost izvesti DoS. Mogoče je bolje, da večina edino lahko sproži kontroliran shutdown. Npr. da ni več mogoče izvesti novih depositov, še vedno pa ljudje lahko poberejo ven svoj delež.

WhiteAngel ::

fiction je izjavil:


Si pa lahko razvijalec doda v naprej nek flag, s katerim se da stvar pavzirati ali ustaviti. Sam po svoje to potem ni čisto decentralizirano, ker ima neka entiteta možnost izvesti DoS. Mogoče je bolje, da večina edino lahko sproži kontroliran shutdown. Npr. da ni več mogoče izvesti novih depositov, še vedno pa ljudje lahko poberejo ven svoj delež.


Kakšen dos? Saj flag je on chain in ima vsak aktualno kopijo?

kow ::

WhiteAngel je izjavil:


Kakšen dos? Saj flag je on chain in ima vsak aktualno kopijo?


Obstaja samo 1 verzija pogodbe, ker imajo vsi enako. Ce ima, recimo avtor, moznost (s transakcijo) ugasniti sistem, pomeni da mu lahko nekdo ukrade kljuce in ugasne sistem -> denial of service.

kow ::

fiction je izjavil:


Največji dosežek na DeFi sceni je MakerDAO, ampak Uniswap je tudi pretty damn close.


MakerDAO je pomemben, kompleksen, ambiciozen itd. projekt. Ne mores pa trditi, da je to dosezek, ker je veliko prezgodaj za tako oceno.
Fakti:
- MKR je trenutno recimo (po 2 letih) dilutan. Sicer malenkost, ampak to pomeni, da so holderji v rdecem
- Maker protocol ne podpira negativnih obrestnih mer, kar pomeni da je v teh razmerah tezko drzati peg (ze 1 mesec neuspesno)
- DAO trenutno ni sustainable (verjetno rabis vsaj 100 profesionalcev s polnim delovnim casov, pa se to je konzervativna ocena, kar pomeni da rabi protokol kaksnih 15mil fee-jev na leto
samo za place). Potrebnih je vsaj 10milijard DAI-jev v obtoku.

DeFi je se v tako zgodnji fazi, da ne vemo kako trdni so temelji in ali pa je to le hisica iz kart. V vsakem primeru pa priporocam vsakemu, da malo povrta v defi, ker je
res izjemno zanimiv eksperiment.

Zgodovina sprememb…

  • spremenil: kow ()

fiction ::

dForce attacker returns all $25M stolen funds back to the DeFi project

kow je izjavil:

fiction je izjavil:


Največji dosežek na DeFi sceni je MakerDAO, ampak Uniswap je tudi pretty damn close.


MakerDAO je pomemben, kompleksen, ambiciozen itd. projekt. Ne mores pa trditi, da je to dosezek, ker je veliko prezgodaj za tako oceno.
Fakti:
- MKR je trenutno recimo (po 2 letih) dilutan. Sicer malenkost, ampak to pomeni, da so holderji v rdecem
- Maker protocol ne podpira negativnih obrestnih mer, kar pomeni da je v teh razmerah tezko drzati peg (ze 1 mesec neuspesno)
- DAO trenutno ni sustainable (verjetno rabis vsaj 100 profesionalcev s polnim delovnim casov, pa se to je konzervativna ocena, kar pomeni da rabi protokol kaksnih 15mil fee-jev na leto
samo za place). Potrebnih je vsaj 10milijard DAI-jev v obtoku.

DeFi je se v tako zgodnji fazi, da ne vemo kako trdni so temelji in ali pa je to le hisica iz kart. V vsakem primeru pa priporocam vsakemu, da malo povrta v defi, ker je
res izjemno zanimiv eksperiment.
Ja, MKR je dilutan zaradi tistih avkcij, ko je folk kupoval ether collateral za ~0 DAI. Tehnično gledano je projekt velikanski dosežek, je pa res, da je njihova "delnica" zdaj nižje, ker so meli vmes težave s slabimi posojili :). Pomoje sicer tudi ekonomija ne podpira negativnih obrestnih mer.

Zakaj bi rabil 100 profesionalcev, kako si prišel do te številke? Ok, rabiš nek "risk team", sam to je pomoje lahko par modelov.

kow ::

Mogoce sem res uporabil napacen izraz. Projekt je velik dosezek, tudi ce na koncu faila.

- kolikor vem je njihov cilj imeti vec neodvisnih risk teamov (z razlicnimi metodologijami)
- rabis developerje (ne samo za protokol, ampak cel toolset okoli
- rabis pravnike, lobiste, marketing
- rabis community memberje, ki vodijo DAO (bodo delali zastonj?)


Jaz produktu ne bi rekel niti beta verzija. Nekaj med alfa in beta je.
Sele, ko bi se protokol nehal spreminjati, bi lahko imel manjse teame.. (ne znam si predstavljati da bi se to zgodilo v naslednjih 10 letih).
Vprasaj se tudi koliko kostajo letno najboljsi "kvanti", ki delajo na Manhattnu...

Ekonomija seveda podpira negativne obrestne mere. To je danes defacto stanje v obstojecem ekonomskem sistemu.

Zgodovina sprememb…

  • spremenil: kow ()

Spura ::

joebanana je izjavil:

kow je izjavil:

Ne razumem novice. Kaj tocno avtor misli z "menjalnico uniswap"?
Kolikor vem uniswap ni "stran", ampak pametna pogodba. In jo je nemogoce ustaviti (niti avtor nima te moci).

Nihce ne more prepreciti, da dodas token (npr. imBTC) v liquidity pool. Ce prav razumem, nekdo ni uposteval znanega uniswap buga (v povezavi z ERC777 tokenom) in se je igral z ognjem. Uniswap pa ne mores fixati, brez redeploya. To pa nima smisla, ker bo kmalu prisel uniswap v2.

Skratka, tale novica je zavajajoca. Poleg tega ERC-777 ni "tehnologija", ampak interface standard.


Se vedno lahko izklopis stran ki klice pogodbo. Prav tako imajo vse dobre pogodbe proxy pogodbo, tako da lahko lastnik pogodbe nadgradi z novo verzijo.

Seveda ce kdo hoče lahko še vedno direktno uporablja nenadgrajeno pogodbo (ampak na naslovu na katerega je pred tem kazal proxy).

Odvisno kaj se tudi misli z izklopi pogodbo. Lahko pred vsako funkcijo preverjas nek pogoj, ki ga lahko nastavlja samo original naslov (creator) pogodbe. Tako lahko onemogocis klicanje funkcij.
Torej en DNS hijack pa gre vse po gobe?

kow ::

Samo za neuke uporabnike. Ostali bodo:
- uporabili drugi uporabniski vmesnik - UI (na drugem dns naslovu)
- kreirali transakcije sami (brez posrednika, torej UI)


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Kripto začetek (strani: 1 2 3 )

Oddelek: Kriptovalute in blockchain
13531022 (13170) Mato989
»

Lendf.me in Uniswapu ukradli za 23 milijonove evrov kriptovalut

Oddelek: Novice / Ostale najave
157831 (5041) kow
»

Začetek s Kriptovalutami po Korakih - prijava, nakazilo EUR, prenakazilo kovancev (strani: 1 2 3 )

Oddelek: Kriptovalute in blockchain
14861728 (48842) PrihajaNodi
»

kriptovalute - ponzi, scam, fud, fomo, ... (strani: 1 2 3 4 )

Oddelek: Kriptovalute in blockchain
17734027 (20953) dronyx
»

Slovenski blockchain projekt za trgovanje&energijo

Oddelek: Kriptovalute in blockchain
197653 (4786) neverlucky

Več podobnih tem