Quali sono gli attacchi più frequenti al livello di protocollo delle blockchain

Le blockchain contengono progetti sottostanti che dettagliano la loro logica interna e i processi che utilizzano; tuttavia non è raro trovare un attore malevolo che possa manipolare tale blockchain se ha scoperto una falla nell’architettura e ha trovato un modo per sfruttarla. 

Sebbene sia prassi comune far assomigliare i livelli della blockchain al noto Modello OSI dividendoli in cinque settori chiave, non esiste un modo universalmente accettato per farlo. I livelli dell’infrastruttura, del protocollo (detto anche livello di consenso), dei dati, della rete e dell’applicazione sono esempi tipici di questi livelli.

attacchi blockchain
Adobe Stock

Un audit approfondito e dettagliato del vostro smart contract può salvaguardare il vostro progetto da rischi che possono essere evitati. Le verifiche e i test sulla sicurezza del protocollo condotti da esperti ne garantiranno la sicurezza continua.

Quali sono i livelli, o layer, che compongono l’architettura della blockchain

Vediamo un’analisi più approfondita di ciascun livello:

Infrastructure Layer (Livello dell’infrastruttura)

Il livello dell’infrastruttura, che comprende componenti software e hardware, funge da base per la tecnologia blockchain. 

Il tipo di rete è uno degli aspetti principali da determinare durante la costruzione del livello dell’infrastruttura.Le reti blockchain possono essere pubbliche o private, il che indica se sono senza o con permesso. 

Per fare un esempio, le reti blockchain come Ethereum e Hyperledger possono essere pubbliche o private. I nodi sono il secondo componente di una rete blockchain, dopo che la natura della rete è stata determinata per essere risolta. 

Sono pezzi di hardware o apparecchiature gestite da esseri umani e collegate a Internet. La loro responsabilità principale è quella di verificare e rendere pubbliche le transazioni finanziarie.I nodi che compongono una rete blockchain sono i componenti fondamentali che permettono alla rete di avere un livello di consenso funzionante.

Data Layer (Livello dei dati)

Ogni aspetto dell’ingegneria, compresa la blockchain, trae vantaggio da una struttura dei dati e da pratiche di utilizzo adeguate.Quando un conto di proprietà esterna firma una transazione con la sua chiave privata, i dati principali associati alla transazione diventano visibili. 

Tuttavia, a causa della natura potenzialmente sensibile della tecnologia blockchain, la transazione viene crittografata. Nel campo della crittografia, esistono due approcci per criptare i dati: simmetrico e asimmetrico.

Di conseguenza, l’approccio della crittografia asimmetrica è utilizzato nella maggior parte dei livelli di dati delle blockchain. Per proteggere la riservatezza delle informazioni sensibili, la tecnica asimmetrica utilizza coppie di chiavi appartenenti a entrambe le parti coinvolte.

Ogni transazione viene aggiunta a un blocco di dati man mano che viene elaborata e i validatori o minatori hanno il compito di controllare periodicamente i blocchi.   

Mentre alcune blockchain si occupano della propria archiviazione dei dati, altre scelgono di esternalizzare il compito alle blockchain modulari. L’archiviazione può anche essere on-chain o off-chain, a seconda delle preferenze dell’utente.

Network Layer (Livello della rete)

Il livello della rete è quello che rende possibile lo scambio di dati tra i diversi livelli dell’architettura. Lo scambio di dati è possibile grazie alla funzionalità peer to peer (P2P) inclusa nel livello di rete. 

I peer sono i nodi o le entità che li gestiscono al livello più elementare. A causa della sicurezza intrinseca della tecnologia blockchain, essa non accetta ciecamente che i dati inviati in rete siano accurati. I dati passano attraverso una serie di processi di verifica diversi prima di essere utilizzati. 

Nel contesto del livello di protocollo, parleremo più diffusamente di questi metodi. Il Trusted Execution Environment (TEE) utilizzato dai livelli di rete contribuisce a garantire ulteriormente la riservatezza dei dati. Grazie alle protezioni del TEE, qualsiasi aggressore avrà difficoltà a compromettere l’integrità dei dati durante il loro invio. 

Protocol Layer (Il livello di protocollo)

Il livello di protocollo di una blockchain delinea il processo attraverso il quale i peer di una rete raggiungono un accordo su una particolare questione. Inoltre, discute le architetture fondamentali delle reti blockchain e le funzioni da esse svolte. 

Il meccanismo di consenso della blockchain è il primo componente che costituisce il livello di protocollo. La proof of stake (PoS), la proof of authority (PoA), la proof of space e così via sono tutti esempi di ciò che può essere. Quando ci si riferisce a una blockchain con un’architettura di layer 2, un livello di protocollo può anche riferirsi a una sidechain. 

Una sidechain, come suggerisce il nome, svolge le sue funzioni insieme alla blockchain principale. 

Application Layer (Il livello applicativo)

Il livello applicativo della blockchain è responsabile dell’astrazione di un numero significativo di tecnicismi sottostanti alle reti blockchain. Il livello applicativo di una blockchain consente agli utenti di interagire con la tecnologia. 

A livello di applicazione, gli utenti sono ignari della programmazione in corso. Hanno solo familiarità con l’interfaccia utente necessaria per utilizzare il prodotto o il servizio sulla blockchain. Tuttavia, il livello applicativo contiene una backdoor del codice a catena nascosta al suo interno. 

Il chaincode è una raccolta più completa di infrastrutture on-chain che aiutano il livello applicativo a funzionare correttamente.La maggior parte di essa è costituita da contratti digitali. 

I livelli applicativi sono spesso presenti nelle applicazioni mobili o nei siti web decentralizzati. Uniswap (UNI), Metamask e Magic Eden sono alcuni esempi di applicazioni decentralizzate (DApp).

Per difenderti adeguatamente dagli attacchi normativi e dai disastri di mercato, se hai esposizioni in criptovalute e DeFi leggi subito il nostro approfondimento per navigare senza paura durante la tempesta:
Sta arrivando l’Apocalisse DeFi e non ho niente da mettermi

vulnerabilita blockchain
Adobe Stock

Vulnerabilità comuni nella tecnologia Blockchain al livello di protocollo

Finora sono state riscontrate diverse falle significative nella sicurezza dei protocolli alla base della tecnologia blockchain. Questi problemi non riguardano solo gli ingegneri e i project manager, ma anche gli stakeholder e l’intera rete. Di conseguenza, l’ecosistema blockchain subisce gravi danni.

Il livello di protocollo della blockchain è vulnerabile a un’ampia gamma di falle di sicurezza, tra cui i seguenti esempi:

#1 – Long Range Attack

Il problema degli attacchi a distanza non è banale per l’elevata gravità che comporta e deve essere risolto il più rapidamente possibile.

Quando un attaccante riesce a creare un fork in una blockchain e a modificarne la storia, ha portato a termine con successo un attacco a lungo raggio. Poiché la nuova blockchain sarà più lunga di quella autentica, l’avversario sarà in grado di incorporare una serie di transazioni. 

Il ricevitore può difendersi da questo attacco ritardando il completamento del pagamento fino a quando non avrà ricevuto un numero sufficiente di conferme di blocco.

#2 – Race Attack

Il race attack è una vulnerabilità ad alta gravità che mette a rischio di compromissione un sistema blockchain. Inviando una transazione al destinatario, gli hacker malintenzionati sono in grado di portare a termine un exploit noto come race attack. Allo stesso tempo, l’avversario effettua un pagamento a se stesso dello stesso importo per annullare la transazione precedente. Se il destinatario non verifica la transazione prima di completare il pagamento, sarà lui a subirne le conseguenze. 

È possibile aggirare questa misura di sicurezza della blockchain ritardando l’aggiunta della firma digitale al pagamento per un periodo di tempo sufficiente.

#3 – Liveness Denial

Una vulnerabilità altamente significativa e di elevata gravità, nota come attacco liveness Denial, ha il potenziale di portare una rete blockchain a un arresto immediato, temporaneo o permanente.

I validatori di una blockchain Proof of Stake (PoS) si riuniscono per stabilire una cospirazione interna al fine di portare a termine questo attacco. Decidono di non produrre più blocchi e la blockchain si estingue. 

Il fork della blockchain consentirà a nuovi gruppi di validatori onesti di continuare a creare blocchi una volta che l’assalto sarà stato mitigato dalla comunità.

#4 – Censorship (Censura)

L’attacco di censura è una vulnerabilità importante che può rallentare o bloccare completamente il funzionamento di una rete blockchain.

È possibile che i validatori di una blockchain scelgano di non includere alcune transazioni pronte all’interno di un blocco per motivi personali o ingiusti. La natura decentralizzata di una blockchain come questa è messa in pericolo da questa censura.Questo tipo di validatore ingiusto può essere punito dalla comunità. L’adozione di una tecnica Zero Knowledge (ZK) è preferibile in quanto nasconde l’identità di chi sta dietro a una transazione. Si tratta di un’importante caratteristica di sicurezza.

#5 – Finney Attack

Questo attacco ad alta gravità sarà inevitabilmente lanciato su ogni blockchain Proof of Work (PoW).

L’attacco Finney è una variante dell’assalto al doppio pagamento che ha preso il nome in onore di Harold Finney. Dopo che il destinatario del pagamento ha confermato di aver ricevuto i fondi, un miner compila la transazione in un blocco e la trasmette. 

Questo attacco può essere eluso dal destinatario assicurandosi che la legittimità della transazione sia stata confermata da un numero maggiore di blocchi. Una verifica accurata e dettagliata del vostro smart contract può salvaguardare il vostro progetto da rischi che possono essere evitati.

#6 – Vector76 Attack

Una vulnerabilità nota come Vector76 ha un grado di gravità elevato e ha il potenziale per dirottare un sistema blockchain.

L’exploit Vector76 è un tipo di attacco sofisticato e utilizzato molto di rado. Si verifica quando un aggressore usa l’inganno per convincere un exchange a convalidare una transazione con un numero elevato di fondi. 

L’unico modo per proteggersi da questo attacco è che la borsa ritardi il più possibile l’approvazione del pagamento dopo il suo invio.

#7 – Alternative Historical Attack

Un attacco di elevata gravità che prevede la manipolazione del meccanismo di riorganizzazione della blockchain è noto come Attacco Storico Alternativo. Durante questo attacco, l’avversario fornirà al destinatario dati crittografati.

Il processo passa quindi al mining di un’altra versione della catena, che restituisce lo stesso importo.  Se ci sono abbastanza conferme di blocco, solo allora il destinatario deve dare la sua approvazione alla transazione.

#8 – 51% attack

L’attacco del 51% è una delle vulnerabilità più gravi che esistono nel livello di protocollo delle blockchain. Questo tipo di attacco è possibile in situazioni in cui una singola entità possiede una quantità eccessiva di partecipazione o di capacità di elaborazione. Esercitando un dominio sulla blockchain, l’entità è in grado di compiere scelte significative in modo indipendente. 

Questa vulnerabilità della blockchain può essere evitata dalla comunità se si assicura che nessun individuo abbia un potere sproporzionato all’interno della rete.

#9 – Grinding attack

Questa vulnerabilità comporta la manipolazione del precomputo di un protocollo, una tecnica estremamente rischiosa.

Se un validatore è in grado di controllare la blockchain in modo tale da essere scelto come leader dello slot, allora è in grado di effettuare un attacco di tipo grinding. Al contrario, la scelta dovrebbe essere fatta a caso. 

Il metodo più efficace per impedire l’uso di questa tattica è quello di rendere più casuale la selezione dello slot leader in un blocco realizzato dalla blockchain.

#10 – Coin Age Accumulation Attack (Block Double Production)

Entrambe le blockchain che utilizzano meccanismo di consenso Proof of Stake (PoS) e Proof of Difference presentano questo gravissimo difetto nella loro progettazione.

Un aumento della posta in gioco e delle ricompense potrebbe mettere il sistema in una posizione vulnerabile.

L’attaccante può prendere il controllo della rete se ha accumulato un numero sufficiente di partecipazioni e ricompense.

Limitare l’entità delle ricompense delle esposizioni e la velocità di crescita è la strategia più efficace per proteggersi da questa vulnerabilità.

Conclusioni

La blockchain, nella sua interezza, è vulnerabile a diversi tipi di attacchi. Questo spiega perché gli hacker blackhat hanno costantemente trovato vulnerabilità nella sicurezza della blockchain che potevano attaccare. Alcuni di questi attacchi sono stati riscontrati nei cinque più importanti hack della DeFi del 2022

Alla luce di questo, il team o la comunità fondatrice di qualsiasi rete blockchain è ora consapevole che il problema della sicurezza della blockchain è molto importante. Chi sviluppa una blockchain deve assicurarsi che tutte le vulnerabilità siano risolte.

 

Impostazioni privacy