IL funzionamento della Blockchain e il Quantum Collision Attack.
Red Hot Cyber
Condividi la tua difesa. Incoraggia l'eccellenza. La vera forza della cybersecurity risiede nell'effetto moltiplicatore della conoscenza.
Cerca
970x20 Itcentric
Redhotcyber Banner Sito 320x100px Uscita 101125
IL funzionamento della Blockchain e il Quantum Collision Attack.

IL funzionamento della Blockchain e il Quantum Collision Attack.

28 Gennaio 2022 11:45

Autore: Fernando Curzi L. (CyberSecurity analyst, Web developer e autore di Hackerpunk)
Data Pubblicazione: 28/01/2021

Blockchain (catena di blocchi) è una tecnologia digitale per il trasferimento sicuro di beni, come il denaro. Spesso si fa confusione riferendosi al sistema del Blockchain con la moneta virtuale più famosa il Bitcoin (BTC), ma chiariamo subito che trattasi di due cose diverse:

  • Bitcoin è una cripto valuta basata sulla tecnologia Blockchain sulla quale si basano anche altre monete virtuali;
  • Blockchain è in realtà una meta-tecnologia che utilizza vari componenti: strumenti crittografici (hash, crittografia a chiave pubblica, protocolli condivisi, distributed ledger technology (DLT), rete P2P.

Blockchain risolve fondamentalmente il problema di trasferire denaro fra due entità diversamente da come avviene di solito, ma ultimamente si sente anche parlare di Metaverso in termini di cripto valute, si deduce che questa tecnologia sia in questo momento in forte espansione.


Christmas Sale

Christmas Sale -40%
𝗖𝗵𝗿𝗶𝘀𝘁𝗺𝗮𝘀 𝗦𝗮𝗹𝗲! Sconto del 𝟰𝟬% 𝘀𝘂𝗹 𝗽𝗿𝗲𝘇𝘇𝗼 𝗱𝗶 𝗰𝗼𝗽𝗲𝗿𝘁𝗶𝗻𝗮 del Corso "Dark Web & Cyber Threat Intelligence" in modalità E-Learning sulla nostra Academy!🚀 Fino al 𝟯𝟭 𝗱𝗶 𝗗𝗶𝗰𝗲𝗺𝗯𝗿𝗲, prezzi pazzi alla Red Hot Cyber Academy. 𝗧𝘂𝘁𝘁𝗶 𝗶 𝗰𝗼𝗿𝘀𝗶 𝘀𝗰𝗼𝗻𝘁𝗮𝘁𝗶 𝗱𝗲𝗹 𝟰𝟬% 𝘀𝘂𝗹 𝗽𝗿𝗲𝘇𝘇𝗼 𝗱𝗶 𝗰𝗼𝗽𝗲𝗿𝘁𝗶𝗻𝗮.
Per beneficiare della promo sconto Christmas Sale, scrivici ad [email protected] o contattaci su Whatsapp al numero di telefono: 379 163 8765.


Supporta Red Hot Cyber attraverso: 

  1. L'acquisto del fumetto sul Cybersecurity Awareness
  2. Ascoltando i nostri Podcast
  3. Seguendo RHC su WhatsApp
  4. Seguendo RHC su Telegram
  5. Scarica gratuitamente “Byte The Silence”, il fumetto sul Cyberbullismo di Red Hot Cyber

Se ti piacciono le novità e gli articoli riportati su di Red Hot Cyber, iscriviti immediatamente alla newsletter settimanale per non perdere nessun articolo. La newsletter generalmente viene inviata ai nostri lettori ad inizio settimana, indicativamente di lunedì.

La struttura Blockchain è caratterizzata, come dice il termine stesso, da una catena di blocchi, ciascuno dei quali contiene informazioni differenti e dipendenti dal tipo di applicazione che lo utilizza. L’aspetto importante è che tali informazioni sono vincolate tra loro e ogni blocco è collegato con il precedente (in parte anche con il successivo).

Nella figura sottostante è visualizzato questo concetto; il blocco iniziale della catena è denominato “genesys block”.

Secondo l’applicazione utilizzata (Cripto valuta), il blocco può contenere varie informazioni; Nel caso dei Bitcoin, un blocco contiene informazioni sulle varie transazioni, in particolare su chi ha trasferito il denaro e sul ricevente e sulla somma trasferita.

Ovviamente le identità dei soggetti coinvolti nelle transazioni non sono in chiaro ma essi sono rappresentati dalla rispettiva chiave pubblica (un codice alfanumerico utilizzato per cifrare ulteriormente le transazioni attraverso la crittografia asimmetrica). Per comprendere eventuali vulnerabilità nel sistema Blockchain è doveroso analizzare a fondo la sua struttura e il funzionamento.

I blocchi

Ogni blocco fondamentalmente contiene:

  • I dati riguardanti le transazioni
  • L’hash del blocco precedente
  • L’hash del blocco attuale
  • hash del blocco successivo (inserito in un secondo tempo ma solo come riferimento e non

entra nel calcolo dell’hash del blocco attuale)

Questi parametri rappresentano un Fingerprint del blocco stesso, mentre per generare il “Digest” (output della funzione di hash) Blockchain utilizza l’algoritmo SHA-256 che ne garantisce l’integrità e ogni eventuale variazione di dati all’interno del blocco, poiché se in teoria questo accadesse, genererebbe un diverso hash.

Importante rilevare fin da subito, ma riprenderemo il discorso in seguito, che SHA-1 fu sostituito in maniera massiccia con SHA-2 e SHA-3, dopo che Google nel 2014 annunciò la sua violazione attraverso tecniche matematiche di alterazione binaria, questa categoria di attacco è di natura prettamente matematica e calcolo probatorio viene chiamato “Attacco a compleanno” o “Hash collision”. In realtà una violazione a SHA-1 avvenne alcuni anni prima, nel 2005 un team cinese di crittografi riuscì a generare collisioni efficaci nell’algoritmo.

L’hash di un blocco attuale del Blockchain (“attuale” per distinguerlo) è generato fornendo come input all’algoritmo SHA-256 i seguenti parametri:

  • dati riguardanti le transazioni appartenenti al blocco attuale
  • Hash del blocco precedente
  • valore di nonce (numero casuale da ricercare e testare tramite la Proof-of-Work)

Se un attaccante modificasse il contenuto di un blocco, l’hash di tale blocco varierebbe, invalidando conseguentemente tutti gli hash dei blocchi successivi, l’attaccante comunque, potrebbe ricalcolare anche tutti gli altri blocchi, non è così complesso rielaborare un hash al fine di rigenerare una catena valida. Tuttavia tale rielaborazione è resa più complessa dalla cosiddetta Proof-of-Work (PoW) che appunto complica tale calcolo.

Proof-of Work (PoW)

Proof-of-Work (PoW) è un meccanismo che rallenta la creazione di nuovi blocchi e insieme all’uso degli hash e alla crittografia garantisce un ottimo livello di sicurezza al Blockchain. La PoW è un problema crittografico computazionalmente complesso ma la cui verifica del risultato ottenuto è molto semplice.

Consiste nel trovare un numero casuale (nonce) tale che l’hash dei dati (SHA-256 o successivi) delle transazioni, dell’hash del blocco precedente e del nonce stesso sia tale da avere come cifre iniziali un numero di zeri definito (esempio 4 zeri: 000HGD636…).

Che cosa vuol dire questa frase?

Nulla di complesso vuol dire solo risolvere un puzzle crittografico attraverso l’uso delle potenze di calcolo messe a disposizione dalle CPU e GPU, aumentando il numero di zeri che dovrà avere l’hash per andare in convalida si aumenta anche il grado di difficoltà per i Miner, in questo momento questo valore dovrebbe essere impostato a 19 zeri iniziali.

Chi risolve questo Puzzle crittografico?

I Miner della rete Blockchain.

Vediamo un esempio di un attacco a questo sistema.

Esempio di un attacco a Blockchain

Possiamo notare nel Blocco #5 i tre parametri principali, contiene una transazione (per esempio 100.000€), l’hash del blocco#4 e un nonce=p##@1 che è il valore casuale ricercato con l’operazione di mining (tramite tentativi consecutivi) tale da produrre un hash valido (SHA-256) del blocco ovvero un hash che cominci in questo caso con 000000P3X22A.. (sette zero consecutivi). Il nonce e l’hash trovato costituiscono la soluzione della PoW per il Blocco #5.

Analogamente il Blocco #6 contiene dati similari (una transazione esempio da 350.000€) e l’hash del Blocco #5, si ripete il nonce=p##@1 che produce anche in questo blocco un hash valido. Lo stesso nonce e l’hash trovato costituiscono anche in questo caso la soluzione della PoW per il Blocco #6.

Per il blocco#7?

Trovare soluzioni di questo tipo (con questi requisiti di zero consecutivi) non è ovviamente complicatissimo anche se richiesto un ingente dispendio energetico per la potenza di calcolo. Questo appena descritto è solo un esempio ma PoW potrebbe essere complicato ulteriormente in base al livello di sicurezza che si vuole ottenere.

Una modifica fraudolenta ai dati in input all’algoritmo di hash (per esempio aumentare il valore della transazione nel Blocco #5 da 100€ a 100.000.000€) graverà sulla correttezza dell’hash del blocco che potrebbe non essere più strutturato con sette zeri iniziali 000000P3X22A e quindi essere invalidato.

Per riuscire nel suo intento l’attaccante che ha modificato la cifra di una transazione, con un’operazione di «mining», dovrà riuscire a trovare un nuovo nonce per il blocco in cui ha eseguito la modifica, tale che la PoW (nell’esempio sette zero consecutivi) sia nuovamente verificata. In seguito l’attaccante dovrà compiere una nuova operazione di mining per trovare un nuovo nonce anche per il blocco successivo tale da verificare anche per questo la relativa PoW; dovrà eseguire quest’operazione per ogni blocco della Blockchain, dalla posizione in cui è intervenuto in avanti.

Questo dimostra chiaramente il concetto del Blockchain e della sua capacità di gestire la non modificabilità dei dati. Se l’attaccante riuscisse a ricalcolare tutte le PoW di ogni blocco Blockchain, allora la sua modifica (falsa transazione) potrebbe andare a buon fine. Generalmente, con le potenze di calcolo in gioco, per il caso Bitcoin calcolare una PoW richiede circa 15-30 minuti a blocco.

La sicurezza Blockchain è garantita dalla difficoltà computazionale del Proof-of-Work ma tale livello è ulteriormente elevato dal fatto di utilizzare una rete Peer-to-Peer (P2P) e un Ledger distribuito (libro mastro). Ogni nodo della rete che partecipa a Blockchain possiede una copia sincronizzata e completa della Blockchain stessa (Distribuited Ledger). Il Ledger è appunto distribuito e visibile a tutti i nodi, non è detenuto da nessuno in particolare né tantomeno da un’unità centrale (Trusted-Third-Party). Ciò garantisce al contempo sia la sicurezza sia l’immutabilità del registro. I vari nodi possono entrare e uscire dalla rete P2P, ogni volta che un nodo rientra, riceve una copia del Ledger aggiornata.

Un attaccante che sia riuscito a ricalcolare i blocchi del Blockchain (come nell’esempio precedente) dovrebbe quindi guadagnare il consenso di almeno più del 50% dei nodi della rete P2P al fine di far accettare come valida la modifica fraudolenta a Blockchain. I nodi che si trovano in possesso della copia Blockchain falsa saranno quindi in numero ridotto e la copia Blockchain anomala sarebbe scartata. Il sistema, basandosi sulla rete P2P e sul concetto di Ledger pubblico e distribuito, riesce in autonomia a garantire la propria sicurezza.

Quantum Collision Attack SHA256 e SHA512

Ricercatori universitari, Centri di calcolo e altri enti come IACR, stanno studiando questa tipologia di attacchi basati sulle collisioni e sul calcolo probatorio, utilizzando per lo scopo i Computer quantistici. Questi particolari elaboratori sono in grado di migliorare notevolmente il tempo di esecuzione dei calcoli e le prestazioni, sfruttando le leggi della fisica e della meccanica quantistica, elaborando dati sfruttando come unità fondamentale il Qbit al posto del tradizionale Bit utilizzato nel calcolo elettronico.

All’Eurocrypt 2020 Hosoyamada e Sasaki hanno proposto il primo attacco quantistico dedicato alle funzioni di hash, precisamente a SHA-2 e SHA-3, in realtà hanno riprodotto una versione migliorata del classico “Attacco a compleanno” che genera collisioni sugli output degli algoritmi di hash sfruttando il calcolo probatorio come tecnica di violazione. Questo lavoro prettamente rivolto all’ambito dell’analisi matematica e della crittoanalisi apre una nuova prospettiva verso la sicurezza degli algoritmi utilizzati dalle funzioni di hash. Per il momento rimane uno studio di ricerca universitaria anche perchè non tutti dispongono in casa di questi prestanti e costosi elaboratori. Possiamo concludere che Blockchain è un sistema apparentemente sicuro, dico “apparentemente” perché anche se come abbiamo visto gode di sicurezza multilivello, come ogni tecnologia soffre potenziali vulnerabilità intrinseche che con l’avvento di nuove tecnologie come il Metaverso per esempio o altri sistemi entranti, potrebbero ampliare la sua superficie di attacco.

Nel prossimo articolo vedremo come svolgere un attacco di Password cracking, utilizzeremo tool che fanno uso di Rainbow table e cercheremo di comprendere come avvengono questo tipo di violazioni alle funzioni di hash e come migliorare la loro sicurezza.

Seguici su Google News, LinkedIn, Facebook e Instagram per ricevere aggiornamenti quotidiani sulla sicurezza informatica. Scrivici se desideri segnalarci notizie, approfondimenti o contributi da pubblicare.

Immagine del sito
Fernando Curzi

Ingegnere informatico, pentester certificato, cybersecurity analyst, web developer e freelancer collaborator di RHC. Autore dell’e-book Hackerpunk.

Lista degli articoli

Articoli in evidenza

Immagine del sito
Un bambino, una mutazione, un algoritmo: così l’AI ha sconfitto una malattia mortale
Di Redazione RHC - 19/12/2025

Solo un anno fa, i medici non potevano dire con certezza se KJ Muldoon sarebbe sopravvissuto al suo primo anno di vita. Oggi sta muovendo i primi passi a casa, con la sua famiglia al suo fianco. Quest...

Immagine del sito
Vulnerabilità critica in FreeBSD: eseguibile codice arbitrario via IPv6
Di Redazione RHC - 19/12/2025

Una nuova vulnerabilità nei componenti FreeBSD responsabili della configurazione IPv6 consente l’esecuzione remota di codice arbitrario su un dispositivo situato sulla stessa rete locale dell’agg...

Immagine del sito
Navigare nel Dark Web: distinzioni concettuali e il paradosso dell’anonimato
Di Paolo Galdieri - 19/12/2025

Dopo aver approfondito i delicati equilibri che vincolano gli operatori di Cyber Threat Intelligence(CTI) tra il GDPR e il rischio di Ricettazione, è fondamentale rivolgere l’attenzione a chiunque,...

Immagine del sito
La prima CVE del codice Rust nel kernel Linux è già un bug critico
Di Redazione RHC - 19/12/2025

Il mondo della tecnologia è un vero e proprio campo di battaglia, dove i geni del coding sfidano ogni giorno i malintenzionati a colpi di exploit e patch di sicurezza. Ecco perché la recente scopert...

Immagine del sito
Ink Dragon alza l’asticella in Europa: ShadowPad su IIS, FinalDraft su Graph API
Di Sandro Sana - 19/12/2025

Questa notizia ci arriva dal feed News & Research di Recorded Future (Insikt Group): Check Point Research ha documentato una nuova ondata di attività attribuita al threat actor China-linked Ink D...