16-01-2019 1 minuto

Ethereum - l'Hard-Fork constantinople rimandato

CryptoRivista Scritto da CryptoRivista

Questo venerdì si terrà una nuova chiamata tra gli sviluppatori di ethereum, per decidere il nuovo blocco, per l'attivazone del fork constantinople, visto il nuovo bug riscontrato da Chain Security.

 


 

La società di audit blockchain (Chain Security) ha infatti scoperto una vulnerabilità di sicurezza in Ethereum Improvement Proposal (EIP) 1283, una delle modifiche previste incluse a constantinople. Se sfruttato, il bug avrebbe permesso 'attacchi reentrance', consentendo agli attori malintenzionati di prelevare fondi dalla stessa fonte più volte.

 


 

I principali client di ethereum, tra cui Go-Ethereum (Geth) e Parity, hanno rilasciato aggiornamenti software progettati per ritardare l'aggiornamento, come per esempio la nuova versione lampo di Geth (1.8.21) o la (2.27) per quanto riguarda Parity.

 


 

Alcuni potrebbero pensare anche ad un downgrade alle versioni precedenti per risolvere il problema, ma almeno per Parity, tale pratica è scosiglita come ci segnala Kirill Pimenov, il capo della sicurezza di Parity Technologies:

 

Voglio ribadire che il downgrade di Parity a versioni precedenti a constantinople è una cattiva idea, non lo consigliamo a nessuno. In teoria dovrebbe funzionare, ma non vogliamo occuparci di quel casino. 

 

Ma cosa comporta questo bug?

 

Chiamato  attacco di rientro, la vulnerabilità consente essenzialmente a un utente malintenzionato di 'rientrare' nella stessa funzione più volte senza aggiornare l'utente sullo stato delle cose. In questo scenario, un aggressore potrebbe essenzialmente 'ritirare i fondi per sempre', ha detto Joanes Espanol, CTO di Amberdata  società di analisi blockchain, in una precedente intervista a CoinDesk ha spiegato:

 

Immagina che il mio contratto abbia una funzione che chiama un altro contratto ... Se sono un hacker e sono in grado di attivare la funzione per un po 'di tempo mentre la funzione precedente era ancora in esecuzione, potrei essere in grado di prelevare fondi.

 

Il post di ChainSecurity ha spiegato che prima di constantinople, le operazioni di archiviazione sulla rete costano 5.000 gas, superando i 2.300 gas normalmente richiesti quando si chiama un contratto utilizzando le funzioni 'trasferimento' o 'invio'.

 

Tuttavia, se l'aggiornamento fosse implementato, le operazioni di stoccaggio 'sporche' costerebbero 200 gas. 'Il contratto di attaccante può utilizzare la spesa di 2.300 gas, per manipolare con successo la variabile del contratto vulnerabile'.