L'azienda di sicurezza blockchain Oak Security ha espresso preoccupazione per una vulnerabilità nel kit di sviluppo software (SDK) della catena Cosmos che potrebbe portare a un attacco Distributed Denial of Service (DDoS) sulla rete. In un post su Medium, due ricercatori dell'azienda, Edward Kotysh e Christian Vari, hanno spiegato perché si tratta di un rischio significativo.
Secondo i ricercatori , la vulnerabilità risiede nel fatto che le funzioni BeginBlock ed EndBlock non sono soggette alla misurazione del gas. Questa scelta è intenzionale, in quanto consente agli sviluppatori di disporre di un po' di tempo di calcolo libero, dato che queste due funzioni non influenzano necessariamente le transazioni degli utenti.
Tuttavia, gli esperti di sicurezza hanno avvertito che quella che doveva essere una minima libertà d'azione per gli sviluppatori potrebbe in realtà causare danni significativi alle reti basate su Cosmosin diversi modi, tra cui la congestione della rete, l'impatto sui validatori o persino l'interruzione completa.
Hanno detto:
"Questa libertà può rivelarsi un'arma a doppio taglio e può aprire un vaso di Pandora di potenziali vulnerabilità. Il problema principale è che senza limiti di gas, un codice mal ottimizzato o dannoso in BeginBlock ed EndBlock può davvero creare scompiglio."
I ricercatori hanno testato le loro teorie sul potenziale impatto della vulnerabilità conducendo esperimenti. In uno di questi, hanno introdotto ritardi randomizzati nella funzione BeginBlock a diverse altezze di blocco, con ritardi che andavano da cinque secondi a un minuto.
Dagli esperimenti, gli esperti hanno confermato che i ritardi hanno portato a una notevole congestione della rete, rallentandone la progressione e aumentando il tempo necessario per completare i blocchi. Hanno anche avuto ripercussioni sui validatori, molti dei quali non sono riusciti a firmare i blocchi nei tempi richiesti e alcuni hanno saltato completamente le fasi di voto.
Non sorprende che il numero limitato di validatori disponibili per firmare le transazioni (meno di due terzi) abbia causato interruzioni temporanee della catena di test. I ricercatori hanno osservato che ciò potrebbe comportare un'interruzione completa della rete principale stessa, dove si verificano contemporaneamente diverse transazioni che devono essere finalizzate.
Oak Security consiglia soluzioni per gli sviluppatori
Nel frattempo, gli esperti di sicurezza hanno raccomandato soluzioni per risolvere la vulnerabilità prima che un malintenzionato la sfrutti. Secondo loro, è necessario implementare rigidi limiti di calcolo, in modo che chiunque non possa semplicemente aggiungere un vettore di attacco che causerebbe un'elaborazione eccessiva.
Hannodenttre diversi modi per implementare questa soluzione. Questi includono l'aggiunta di complessità temporale alle funzioni BeginBlock ed EndBlock in modo che non vengano eseguite indefi, il wrapping del contesto per mantenere le operazioni ad alta intensità di risorse in contesti misurati e la convalida di tutti gli input alla funzione.
Inoltre, hanno chiesto test e simulazioni più approfonditi per determinare come sfruttare la vulnerabilità e il potenziale del suo impatto.
Hanno inoltredentmisure di sicurezza architettoniche e monitoraggio operativo per garantire che le reti funzionino secondo parametri standard e rilevino qualsiasi deviazione significativa.
Cosmos SDK lancia una nuova versione
Nel frattempo, l'SDK Cosmos non ha ancora rilasciato dichiarazioni sul rapporto sulla sicurezza e non ha ancora comunicato se e in che modo adotterà misure per risolvere il problema. Questo potrebbe essere dovuto al fatto che la vulnerabilitàdentè in realtà una funzionalità di progettazione e non un bug o un malware, come i recenti avvisi di sicurezza sugli attacchi alla supply chain.
Fortunatamente, gli sviluppatori che utilizzano Cosmos SDK possono implementare la maggior parte delle raccomandazioni degli esperti di sicurezza, il che consente loro di assumere il controllo di ciò che distribuiscono e di garantire che non sia vulnerabile agli attacchi DDoS.
È interessante notare che Cosmos SDK ha recentemente lanciato la versione v0.53.0. Secondo l'annuncio su X, questa versione è una risposta ai problemi sollevati dagli sviluppatori riguardo alla versione precedente.
L'ultima versione, a quanto pare, include transazioni non ordinate, capacità migliorate per i pool della community, meccanismi di governance personalizzati, epoche e conio personalizzato. Include anche correzioni di bug e gli sviluppatori possono già aggiornarla su GitHub.
Cosmos SDK è uno strumento che consente agli sviluppatori di creare facilmente la propria rete personalizzata e di integrarla con la blockchain Cosmos , una rete che punta a diventare l'Internet delle blockchain.

