19 mag 2021 · 3 min read

Rivelazione: Ethereum ha 'vissuto' con una grande minaccia per 18 mesi

Ecco cosa sapevamo: Ethereum (ETH) ha eseguito l'hardfork di Berlino il mese scorso. Ecco cosa non sapevamo: veniva fornito con una soluzione che riduceva il rischio di un grave attacco di tipo DoS (denial of service), che incombeva sulla rete per più di un anno e mezzo.

ethereum eth

Fonte: iStock/PashaIgnatov

Secondo il post del 18 maggio scritto dallo sviluppatore di Ethereum Péter Szilágyi e dal responsabile della sicurezza presso la Fondazione Ethereum Martin Holst Swende, la Fondazione "ha ufficialmente rivelato una grave minaccia contro la piattaforma Ethereum, che era un pericolo chiaro e presente fino all'hardfork di Berlino. "

Hanno detto che per molto tempo questa vulnerabilità è stata un "segreto di Pulcinella", divulgato pubblicamente per errore almeno una volta. Poiché l'aggiornamento di Berlino è stato fatto, e i nodi Geth stanno usando gli snapshot per impostazione predefinita. "Stimiamo che la minaccia sia abbastanza bassa da far prevalere la trasparenza, ed è il momento di fare una divulgazione completa sui lavori dietro le quinte", ha detto il rapporto.

Inoltre hanno aggiunto che è "importante che la comunità abbia la possibilità di comprendere il motivo alla base dei cambiamenti che influenzano negativamente l'esperienza dell'utente, come l'aumento dei costi del gas e la limitazione dei rimborsi".

Ethereum è costituito da un trie patricia-merkle

Il rapporto è entrato brevemente nei dettagli tecnici, spiegando che lo stato di Ethereum è costituito da un trie patricia-merkle, e man mano che nuovi account vengono aggiunti alla rete, nuove "foglie" si formano, per così dire, con il trie che diventa più denso.

Inoltre, con la crescita della rete, sono state introdotte nuove Ethereum Improvement Proposals (EIP) per aumentare i prezzi del gas per le operazioni che accedono al trie e per proteggersi dagli attacchi DoS. Uno di questi era EIP-1884, attivato nel dicembre 2019, durante l'aggiornamento di Istanbul.

Ma nell'ottobre 2019, un exploit è stato "sfruttato'' dai ricercatori per la sicurezza di Ethereum Hubert Ritzdorf, Matthias Egli e Daniel Perez, e presentato al programma di ricompensa per l'individuazione dei bug di Ethereum. Si scoprì quindi che "i cambiamenti in EIP 1884 stavano sicuramente avendo un impatto nel ridurre gli effetti dell'attacco, ma non erano neanche lontanamente sufficienti".

Il rapporto ha affermato che gli sviluppatori di Geth, Parity e Aleth, sono stati informati della scoperta lo stesso giorno su un canale dedicato alla sicurezza cross-client. Ha aggiunto che anche gli sviluppatori di Ethereum Classic (ETC) hanno ricevuto il rapporto. Ma Parity Ethereum è stato presto sostituito da un nuovo canale di coordinamento dei clint creato con Geth, Nethermind, OpenEthereum e Besu.

"Mentre il 2019 volgeva al termine, sapevamo di avere più problemi di quanto avevamo previsto in precedenza, e che le transazioni dannose potevano portare a tempi di blocco dell'ordine dei minuti".

Inoltre, gli sviluppatori erano già scontenti di EIP-1884 il quale aveva causato una certa interruzione dei flussi contrattuali, e "sia gli utenti che i miner non vedevano l'ora di ceder aumentare i limiti del gas di blocco".

Due approcci, una soluzione

C'erano due approcci a una soluzione:

  • cercare di risolvere il problema a livello di protocollo, preferibilmente senza rompere i contratti e senza penalizzare i comportamenti "buoni", ma riuscendo a prevenire gli attacchi;
  • risolverlo attraverso l'ingegneria del software, modificando i modelli di dati e le strutture all'interno dei client.

Il 15 aprile di quest'anno, dopo diverse proposte respinte, EIP-2929 e il suo compagno EIP-2930 sono entrati in funzione con l'aggiornamento di Berlino. Non interrompe i flussi contrattuali e che ha aumentato i prezzi del gas "solo per cose non già accessibili" al fine di impedire l'attacco.

È importante notare che questa non è la prima volta che vediamo una minaccia rivelata un paio d'anni dopo essere stata scoperta e gli sviluppatori sostengono che sia per una buona ragione.

Come riportato, nel settembre 2020, un documento di ricerca ha rivelato che Bitcoin (BTC) aveva ospitato una grave vulnerabilità al DoS (denial-of-service, un attacco che porta alla negazione del servizio), che è stata scoperta e corretta nel giugno 2018, senza che il pubblico lo sapesse per due anni.

Secondo gli sviluppatori che parlarono con Cryptonews.com in quel periodo, i segreti sui bug del software devono essere custoditi gelosamente. Notificavano rapidamente solo alcuni sviluppatori / proprietari di codice essenziali o manutentori tramite messaggi crittografati - almeno fino a quando non veniva implementata una correzione nel migliore interesse della rete e per i suoi utenti.
____
Per saperne di più:
- Why Ethereum is Far From ‘Ultrasound Money’
- Ethereum Won't Hide From Quantum Computers Behind PoS Shield
- Proof-of-Disagreement: Bitcoin's Work vs. Ethereum's Planned Staking