Onthulling: Ethereum ‘leefde’ 19 maanden met grote bedreiging

Sead Fadilpašić
| 3 min read

Dit is wat we wisten: Ethereum (ETH) heeft vorige maand de Berlijnse hardfork uitgevoerd. Dit is wat we niet wisten: het kwam met een oplossing die het risico op een grote DoS-aanval verlaagde, die bijna anderhalf jaar over het netwerk dreigde te hangen.

Volgens de post van 18 mei, geschreven door Ethereum-ontwikkelaar Péter Szilágyi en de beveiligingsleider bij de Ethereum Foundation Martin Holst Swende, maakt de Foundation “officieel een ernstige bedreiging bekend tegen het Ethereum-platform, wat een duidelijk en aanwezig gevaar was tot de Berlijnse harde vork.”

Deze kwetsbaarheid is lange tijd een “publiek geheim” geweest, zeiden ze, en ten minste één keer per abuis openbaar gemaakt. Nu de upgrade van Berlijn is voltooid en Geth-knooppunten standaard momentopnamen gebruiken, “schatten we dat de dreiging laag genoeg is dat transparantie overtroeft, en het is tijd om een ​​volledige onthulling te geven over de werkzaamheden achter de schermen”, aldus het rapport.

Ze voegden eraan toe dat het “belangrijk is dat de gemeenschap de kans krijgt om de redenering achter veranderingen te begrijpen die de gebruikerservaring negatief beïnvloeden, zoals het verhogen van de gaskosten en het beperken van terugbetalingen.”

Het rapport ging kort in op technische details en legde uit dat de Ethereum-staat bestaat uit een patricia-merkle trie, en als er nieuwe accounts aan het netwerk worden toegevoegd, vormen er zogezegd nieuwe “bladeren”, waarbij de boom dichter wordt.

Naarmate het netwerk groeide, werden bovendien nieuwe Ethereum Improvement Proposals (EIP’s) geïntroduceerd om de gasprijzen te verhogen voor operaties die toegang hebben tot de trie en om bescherming te bieden tegen DoS-aanvallen. Een daarvan was EIP-1884, geactiveerd in december 2019, tijdens de upgrade van Istanbul.

Maar in oktober 2019 werd een exploit ‘bewapend’ door Ethereum-beveiligingsonderzoekers Hubert Ritzdorf, Matthias Egli en Daniel Perez, en ingediend bij het Ethereum-bugbounty-programma. Toen werd ontdekt dat “de veranderingen in EIP 1884 zeker een impact hadden op het verminderen van de effecten van de aanval, maar lang niet voldoende waren.”

Ontwikkelaars van Geth, Parity en Aleth werden diezelfde dag geïnformeerd over de inzending op een kanaal gewijd aan cross-client beveiliging, aldus het rapport, eraan toevoegend dat Ethereum Classic (ETC)-ontwikkelaars het rapport ook ontvingen. Maar Parity Ethereum vertrok al snel en er werd een nieuw klantcoördinatiekanaal gecreëerd met Geth, Nethermind, OpenEthereum en Besu.

“Aan het einde van 2019 wisten we dat we grotere problemen hadden dan we eerder hadden verwacht, waarbij kwaadwillende transacties konden leiden tot blokkeringstijden in de minuut.”

Bovendien waren de ontwikkelaars al ontevreden over EIP-1884, dat een bepaalde contractstroom had verbroken, en “zowel gebruikers als mijnwerkers hunkerden enorm naar verhoogde gasgrenzen”.

Er waren twee benaderingen voor een oplossing:

  • proberen het probleem op de protocollaag op te lossen, bij voorkeur zonder contracten te verbreken en zonder ‘goed’ gedrag te bestraffen, maar aanvallen te voorkomen;
  • het oplossen door middel van software engineering, door de datamodellen en structuren binnen de klanten te veranderen.

Op 15 april van dit jaar, na verschillende afgewezen voorstellen, gingen EIP-2929 en zijn metgezel EIP-2930 live met de Berlijnse upgrade – die geen contractstromen verbreekt en die de gasprijzen verhoogde ‘alleen voor dingen die nog niet toegankelijk waren’ om te voorkomen dat de aanval.

Devstory herhaalt zich

Het is relevant om op te merken dat dit niet de eerste keer is dat we een bedreiging zien onthuld een paar jaar nadat deze was ontdekt, en ontwikkelaars beweren dat dit om een ​​zeer goede reden is.

Zoals gemeld, onthulde een onderzoekspaper in september 2020 dat Bitcoin een ernstige denial-of-service-kwetsbaarheid had gekoesterd – die werd ontdekt en hersteld in juni 2018, zonder dat het publiek het gedurende twee jaar wist.

Volgens ontwikkelaars die op dat moment met Cryptonews.com spraken, is het in het beste belang van softwarefouten een goed bewaard geheim te houden – het snel op de hoogte stellen van slechts een paar essentiële ontwikkelaars/code-eigenaren of -beheerders via gecodeerde berichten – in ieder geval totdat een oplossing is uitgerold. het netwerk en zijn gebruikers.

Verder nemen crypto-uitwisselingen maatregelen om ervoor te zorgen dat geen enkele ontwikkelaar met voorkennis van bugs probeert te profiteren van handel met voorkennis.

De bug kan vervolgens aan het publiek worden bekendgemaakt zodra de fix voldoende is verspreid, zodat een exploit geen kwaad kan doen, zei Bitcoin-ontwikkelaar Nicolas Dorier.

Om 11:47 UTC handelt ETH tegen $2.683. Het daalde 23,9% in 24 uur, 35,8% in een week en 39,3% ten opzichte van het hoogste punt ooit van $4.356.