Blockchain offre un approccio radicalmente diverso alla sicurezza informatica, che può arrivare a certificare l’identità di un’utente, garantire la sicurezza delle transazioni e delle comunicazioni e proteggere l’infrastruttura critica che supporta le operazioni tra le organizzazioni.
Un cambio di paradigma che può permettere di sfruttare al massimo i servizi online condivisi. Ma affinché questa tecnologia diventi davvero un catalizzatore di cambiamenti sociali e industriali, è essenziale chiarire i possibili impatti sulla sicurezza.
Blockchain: un supporto o un ostacolo per la sicurezza?
L’alto livello di dipendenza dalla tecnologia e da Internet ha portato oggi a nuovi modelli di business per le organizzazioni, ma ciò ha anche creato nuove opportunità da sfruttare per gli hacker, che si adoperano per sottrarre informazioni preziose (quali proprietà intellettuale, informazioni di identificazione personale, cartelle cliniche, dati finanziari) e monetizzano l’accesso ai dati mediante l’utilizzo di tecniche avanzate di ransomware o interrompendo le attività aziendali complessive tramite attacchi DDoS.
In questo contesto, la blockchain costituisce un supporto o un ostacolo per la sicurezza informatica?
La premessa ineludibile per parlare di sicurezza informatica si sviluppa attorno a tre elementi di base: confidenzialità, integrità e disponibilità, conosciuti anche con l’acronimo CIA (Confidentiality, Integrity, Availability).
Riservatezza dei dati nella rete blockchain
Secondo l’Istituto nazionale degli standard e della tecnologia (NIST), la riservatezza dei dati si riferisce alla “proprietà che le informazioni sensibili non siano divulgate a persone, entità o processi non autorizzati“. Proteggere l’accesso alla rete blockchain è fondamentale per garantire l’accesso ai dati. Se un utente malintenzionato fosse in grado di accedere alla rete blockchain, aumenterebbero infatti le sue possibilità di riuscire ad accedere ai dati. Ne consegue che, analogamente ad altre tecnologie, i controlli di autenticazione e autorizzazione devono essere implementati anche nel caso di una blockchain. Sebbene tale tecnologia sia stata originariamente creata senza specifici controlli di accesso (a causa della sua natura pubblica), esistono alcune implementazioni blockchain che iniziano ad affrontare i problemi di riservatezza e controllo degli accessi, fornendo funzionalità di crittografia completa dei blocchi, che garantiscono che i dati non siano accessibili da parti non autorizzate mentre sono in transito.
Nelle blockchain pubbliche non è necessario controllare l’accesso alla rete poiché i protocolli delle catene consentono a chiunque di accedere e partecipare alla rete. Al contrario, le blockchain private richiedono l’esistenza di adeguati controlli di sicurezza per proteggere l’accesso alla rete. Si potrebbe supporre che reti e sistemi locali siano già ben protetti dietro il perimetro di un’organizzazione da diversi livelli di sicurezza interni (come firewall, reti private virtuali, VLAN, Intrusion Detection & Prevention Systems, ecc.). Tuttavia, pensare di affidarsi esclusivamente all’efficacia di tali controlli di sicurezza è chiaramente insufficiente. Per questo motivo, le best practice raccomandano che i controlli di sicurezza (come i controlli di accesso) siano implementati direttamente a livello applicativo, costituendo questa la prima e la più importante linea di difesa, specialmente nel caso in cui un attaccante riesca ad accedere alla rete locale o vi sia già presente. In linea con questi requisiti, la blockchain può fornire controlli di sicurezza avanzati, ad esempio sfruttando l’infrastruttura a chiave pubblica per autenticare e autorizzare le parti e crittografare le loro comunicazioni.
Se poi un utente malintenzionato accedesse ad una rete blockchain e ai suoi dati, non necessariamente sarebbe in grado di leggerne le informazioni.
La crittografia completa dei blocchi di dati può essere applicata ai dati in fase di transazione, garantendo in modo efficace la sua riservatezza. La crittografia end-to-end prevede che solo coloro che hanno l’autorizzazione ad accedere ai dati crittografati, attraverso la loro chiave privata, possono decifrare e vedere i dati. L’utilizzo delle chiavi di crittografia può fornire alle organizzazioni un livello di sicurezza più elevato. Ad esempio, l’implementazione di protocolli di comunicazione sicuri su blockchain garantisce che anche in una situazione in cui un utente malintenzionato tentasse di eseguire un attacco man-in-the-middle, non riuscirebbe a falsificare l’identità dell’interlocutore o a rilevarne i dati. Anche in uno scenario estremo in cui le chiavi private venissero compromesse, le sessioni passate verrebbero comunque mantenute riservate a causa delle perfette proprietà di protezione avanzata dei protocolli di sicurezza.
Gestione e protezione delle chiavi private
Sebbene gli utenti blockchain generalmente eseguano il backup della propria chiave privata in un luogo secondario, ad esempio in una cella frigorifera, il furto delle chiavi private rimane un rischio elevato. In un ambiente aziendale sarà quindi fondamentale proteggere adeguatamente il materiale delle chiavi segrete in modo da non mettere a repentaglio il registro e lasciarlo confidenziale ed integro. Un esempio di protezione adeguata è l’uso di chiavi speciali che implementano tecnologie come i moduli di sicurezza hardware per proteggere i segreti principali e fornire un ambiente sicuro e resistente alla manomissione.
Le organizzazioni devono essere consapevoli che l’accesso al loro account blockchain da più dispositivi le sottopone ad un rischio più elevato di perdere il controllo delle proprie chiavi private. Devono quindi perseguire adeguate procedure di gestione delle chiavi (come le linee guida di gestione delle chiavi crittografiche IETF o RFC 4107) e sviluppare internamente procedure di governance delle chiavi sicure. Gli algoritmi crittografici odierni, utilizzati per la generazione di chiavi pubbliche e private, si basano su problemi di fattorizzazione di interi, che sono difficili da risolvere con l’attuale potenza di calcolo. I progressi nel campo dell’informatica quantistica diventeranno significativi per la sicurezza della blockchain a causa del loro impatto sull’attuale pratica di crittografia.
Ad esempio Bitcoin utilizza algoritmi crittografici per produrre una coppia di chiavi pubblica/privata ed un indirizzo che viene derivato utilizzando operazioni di hashing e checksum sulla chiave pubblica. L’esposizione dell’indirizzo da solo non è ad alto rischio. Tuttavia, l’esposizione dell’indirizzo e della chiave pubblica richiesta per la transazione, dati i progressi sufficienti nell’informatica quantistica, potrebbe permettere di derivare la chiave privata. Se il calcolo quantistico commerciale non è ancora disponibile come una realtà su larga scala, risulta importante pianificare ora il passaggio alla crittografia a resistenza quantistica. Non a caso, il NIST è attualmente impegnato nello sviluppo di standard di crittografia resistenti ai quanti.
Tutela dell’integrità dei dati nella blockchain
Il NIST definisce l’integrità come la “protezione contro la modifica o la distruzione di informazioni improprie e include la garanzia di autenticità“.
Garantire l’integrità dei dati durante l’intero ciclo di vita è fondamentale nei sistemi di informazione. Crittografia, confronto degli hash o utilizzo della firma digitale sono alcuni esempi di come i proprietari dei sistemi possono assicurare l’integrità dei dati, indipendentemente dalla fase in cui si trovano (in transito, a riposo o in uso).
L’immutabilità e la tracciabilità integrate delle blockchain forniscono già alle organizzazioni un mezzo per garantire l’integrità dei dati.
I protocolli del modello di consenso associati alla tecnologia presentano per le organizzazioni un ulteriore livello di garanzia sulla sicurezza dei dati, poiché in genere il 51% degli utenti di una blockchain deve accettare che una transazione sia valida prima di poter essere aggiunta alla piattaforma. Quando, infatti, c’è da comprovare una transazione, la maggioranza degli utenti deve essere d’accordo. Tuttavia, se si riuscisse a creare un gruppo di utenti e a controllarne il 50+1%, si potrebbero creare delle transazioni truffa. Questo diventa chiaramente più semplice quando una blockchain è molto piccola o appena nata, pertanto è importante fare molta attenzione.
Blockchain, Gdpr e diritto all’oblio
Per quanto riguarda l’immutabilità dei dati, è importante capire come blockchain possa adattarsi al GDPR. Come implementare il diritto all’oblio in una tecnologia che garantisce che nulla sarà cancellato è una sfida interessante per la quale ci sono più soluzioni. Una soluzione è crittografare le informazioni personali scritte nel sistema, cosicché, quando sarà il momento, la perdita delle chiavi garantisca che le informazioni sensibili non siano più accessibili. Un’altra possibilità è fornire una prova inalterabile dei fatti scrivendo l’hash delle transazioni, mentre queste vengono memorizzate al di fuori del sistema. Ciò mantiene l’integrità delle transazioni, pur consentendo la possibilità di cancellarle, lasciando solo tracce residue di informazioni dimenticate nella blockchain.
Ogni transazione aggiunta ad una blockchain è firmata digitalmente con indicazione di data e ora, il che significa che le organizzazioni possono risalire ad una qualsiasi transazione e riuscire ad identificarla puntualmente. Questa funzionalità garantisce che non si possa duplicare l’autenticità della propria firma su un file o la paternità di una transazione originata e aumenta l’affidabilità del sistema (tramite il rilevamento di tentativi di manomissione o transazioni fraudolente), poiché ogni transazione è associata crittograficamente a un utente.
Qualsiasi nuova transazione aggiunta a una blockchain comporterà la modifica dello stato globale del libro mastro. Di conseguenza, ad ogni nuova iterazione del sistema, lo stato precedente verrà memorizzato, risultando in un registro cronologico completamente tracciabile. Dal punto di vista della sicurezza informatica, questo fornisce alle aziende un ulteriore livello di sicurezza che i dati sono autentici e non manomessi.
Smart contract e attacchi cyber
Anche gli smart contract forniscono un’ampia area di superficie per eventuali attacchi cyber. Blockchain introduce un nuovo paradigma nello sviluppo del software dei contratti intelligenti, per il quale standard e pratiche di sviluppo sicuri, come l’implementazione di codifiche e test di sicurezza, devono essere messi in atto per tenere conto del ciclo di vita del contratto intelligente, al fine di minimizzare la minaccia di un bug critico durante il ciclo di vita degli smart contract. L’attacco a The DAO, un’organizzazione decentrata costruita su Ethereum, è avvenuto proprio sfruttando un bug in un contratto intelligente, il che ha portato al furto di 60M Ether25.
Nel 2016, un aggressore ha sfruttato i contratti intelligenti di Ethereum per creare un overflow nella rete, fino al punto in cui la creazione di blocchi e la convalida delle transazioni hanno rallentato fortemente la rete.
La tecnologia blockchain non garantisce o migliora la qualità dei dati. Può solo assumersi la responsabilità dell’accuratezza e della qualità delle informazioni una volta entrate, il che significa che è necessario fidarsi che i dati estratti dai sistemi esistenti dell’organizzazione siano di buona qualità, alla stregua di tutti gli altri sistemi tecnologici. Un Oracle corrotto potrebbe quindi causare un effetto domino su tutta la rete e far sì che dati potenzialmente corrotti entrino in un ambiente sicuro. Visto che i dati verranno inevitabilmente trasmessi da un sistema di origine aziendale ad una blockchain, le organizzazioni devono garantire che i canali di scambio siano sicuri poiché questo è senza dubbio un punto di attacco e di ingresso per eventuali aggressori.
Resilienza operativa della blockchain
Il NIST definisce la disponibilità come “garanzia di accesso e uso tempestivo e affidabile delle informazioni“.
Gli attacchi informatici che tentano di influire sulla disponibilità dei servizi tecnologici continuano ad aumentare. Gli attacchi DDoS possono causare interruzioni ai servizi Internet e alle soluzioni abilitate per blockchain. Gli effetti che ne derivano vanno dall’interruzione dei siti Web al mancato funzionamento delle App mobili, il che può generare perdite e costi ingenti per le imprese. Dato che le blockchain sono piattaforme distribuite, gli attacchi DDoS alle blockchain non sono regolari attacchi, in quanto tentano di sopraffare la rete con grandi volumi di piccole transazioni. Ed è prevedibile che gli attacchi DDoS aumenteranno ancora in futuro (in virtù del crescente numero di installazioni di dispositivi IoT poco sicuri, della disponibilità online di malware DDoS e di velocità di banda sempre più elevate) e produrranno attacchi regolari di Terabit/secondo in grado di mettere a dura prova la capacità dell’infrastruttura Internet regionale e persino globale. Va però sottolineato come le blockchain non presentino un singolo punto critico di vulnerabilità, il che riduce notevolmente le possibilità che un attacco DDoS basato su IP ne interrompa il normale funzionamento.
Se un nodo venisse rimosso, i dati sarebbero ancora accessibili tramite altri nodi all’interno della rete, poiché tutti mantengono una copia completa del libro mastro in ogni momento. La natura distribuita dell’infrastruttura blockchain fornisce un nuovo livello di accessibilità ai dati, attraverso uno qualsiasi dei nodi della rete, anche nel caso in cui un attacco DDoS interrompa alcuni di essi.
Anche se si ritiene che una rete blockchain non abbia in sé degli specifici punti di rottura all’interno del suo funzionamento, le organizzazioni potrebbero comunque affrontare rischi provenienti da eventi esterni al di fuori del loro controllo. Ad esempio, un’interruzione globale di Internet potrebbe interrompere anche una rete pubblica di blockchain distribuita come Bitcoin o Ethereum, creando interruzioni che potrebbero influire sulle operazioni di un’organizzazione, alla stregua di qualsiasi altra tecnologia.
La combinazione della natura peer to peer e del numero di nodi all’interno della rete rende la piattaforma resiliente dal punto di vista operativo. Dato che le blockchain sono costituite da più nodi, le organizzazioni possono rendere ridondante un nodo sotto attacco e continuare a funzionare come al solito. Quindi, anche se una parte importante della rete blockchain è sotto attacco, continuerà a funzionare a causa della natura distribuita della tecnologia.
La resilienza operativa della blockchain costituisce dunque un’area chiave da testare rigorosamente. Il management dovrebbe essere in grado di articolare i rischi principali connessi alla blockchain entro un sistema di governance e controllo stabilito per gestirli.
Conclusioni
In conclusione, blockchain può contribuire a migliorare le tecniche di difesa cyber, prevenendo attività fraudolente attraverso meccanismi di consenso e rilevando la manomissione dei dati grazie alle caratteristiche sottostanti di immutabilità, trasparenza, verificabilità, crittografia dei dati e resilienza operativa.
Tuttavia, nessun sistema di difesa informatica può essere considerato sicuro al 100%. Ciò che è considerato sicuro oggi non lo sarà domani, per via della natura lucrativa del crimine informatico e a causa dell’ingegnosità dell’hacker criminale nel cercare nuovi metodi di attacco. Sebbene alcune delle funzionalità sottostanti delle blockchain riescano a garantire riservatezza, integrità e disponibilità dei dati, ciò non toglie che, proprio come per altri sistemi, sia necessario adottare comunque controlli e standard di sicurezza informatica per le organizzazioni che utilizzano le blockchain all’interno della loro infrastruttura tecnica, al fine di proteggere i propri dati da attacchi esterni.