blog

Tweede keer dat Ethereum DeFi kredietprotocol bZx aangevallen wordt, minimaal 3.500 ETH verlies

By 22 februari 2020No Comments

Voor de tweede keer in korte tijd is kredietverlener bZx aangevallen. Dit bedrijf verleent DeFI (wat staat voor Decentraliced Finance) diensten via een tweede laag op de blockchain van Ethereum.

In totaal 3.500 ethers verloren

Het geschatte verlies is deze keer 2.388 ether, ofwel 620.000 dollar. Kyle Kistner van bZx zegt dat op Telegram dat de aanval lijkt op het proberen te manipuleren van de gebruikte oracle.

Alle transacties van het bedrijf worden uitgevoerd op de blockchain van Ethereum. Daarom is het voor onderzoekers niet moeilijk om te herleiden om welke transactie het gaat. Zij komen uit op een transactie in blok 9504627. Die transactie kan je zelf bekijken op blockexplorer Etherscan.

Kistner vertrouwt erop dat ze deze aanval net zo kunnen neutraliseren als de vorige aanval. In die vorige aanval gingen 1.193 Ethers verloren, tegen een waarde van ongeveer 290.000 dollar. Het bedrijf schreef een uitgebreide post mortem over de aanval.

Onderbreking van protocol

Toch konden ze hun geleerde lessen niet snel genoeg in de praktijk brengen, getuige de tweede aanval. Ze hebben namelijk het protocol opnieuw moeten onderbreken. De transactie zou hebben plaatsgevonden met behulp van flash loans (snelle leningen) en handel op Synthetix. bZx tweette dat dit geen ivloed heeft op het Synthetix-systeem.

Een reconstructie van de eerste aanval

De aanval werd gelanceerd op 14 februari, op Valentijnsdag. Op dat moment was er een Ethereum evenement in Denver waar het hele team van bZx ook aanwezig was. Ze hoorden van de aanval, gingen naar huis en analyseerden de transacties.

Een reconstructie:

  1. Een flash loan van dYdX voor 10.000 ETH werd geopend
  2. 5500 ETH werd verzonden naar Compound als onderpand om 112 wBTC te lenen. wBTC is een token versie van 1 bitcoin. Geen echte bitcoin dus, maar een token die 1 bitcoin moet voorstellen.
  3. 1300 ETH werd verzonden naar het Fulcrum pToken sETHBTC5x, waarmee een 5x shortpositie werd geopend tegen de ETHBTC-ratio.
  4. 5637 ETH werd geleend en via de Uniswap-reserve Kyber geruild voor 51 WBTC, wat zorgde voor een hoge slippage. Slippage doet zich voor als een trader genoegen moet nemen met een andere prijs dan verwacht, tussen de periode dat zij de markt betreden en de daadwerkelijke uitvoering van de transactie.
  5. De aanvaller verwisselde de 112 wBTC (geleend van Compound) voor 6871 ETH op Uniswap, wat resulteerde in winst.
  6. De flash loan van 10.000 ETH van dYdX werd terugbetaald uit de opbrengst.

In totaal was de winst van de aanvaller (waarschijnlijk een team van aanvallers) 1.193 ether.

Aanval op oracle kwam te vroeg

Dinsdagmiddag schreef het team van bZx dat ze op zoek gaan naar een andere oracle. Hun oog is gevallen op het product van Chainlink. Pas na implementatie gaan ze verder, maar dan wel met beperkte functionaliteit.

We zullen ook Chainlink-oracles implementeren als aanvulling op de Kyber-pricefeed om prijsgegevens te verstrekken. Hoewel dit geen aanval op het oracle was, zijn er velen bezorgd dat de beveiligingseigenschappen van ons oracle robuuster zouden kunnen zijn, en we hebben geluisterd naar de feedback. We doen er alles aan om ervoor te zorgen dat Chainlink geen central point of failure wordt in ons model, omdat de technologie zich nog steeds ontwikkelt en crypto-economische veiligheidsgaranties nog niet zijn geïmplementeerd.

Bovenstaande quote is van na de eerste aanval, maar voor de tweede aanval. De ironie wil dat tijdens die tweede aanval de oude oracle wel succesvol werd aangevallen.

Leave a Reply