| Undefined
La crescente adozione e il relativo impatto mediatico e finanziario dell’ormai nota tecnologia blockchain ha fatto sì che aumentassero anche le problematiche relative alla sua sicurezza e al contempo anche l’interesse di utenti e investitori nel comprendere in che modo gli algoritmi utilizzati riescano a precludere eventuali attacchi informatici.E non è affatto un’esagerazione affermare che una delle tematiche più sentite negli ultimi tempi in fatto di sicurezza informatica sia proprio quella relativa alla tecnologia blockchain e all’intero universo che ruota intorno ad essa, a tal punto che saggi specialistici e addirittura corsi universitari incentrati su questo argomento non si contano ormai più.Ma alla luce di ciò, si può davvero affermare che gli algoritmi utilizzati riescano ad adempiere perfettamente agli elevatissimi standard richiesti dalla blockchain security?Scopriamolo.
La blockchain in sintesi
Tecnicamente parlando la tecnologia blockchain si configura come una struttura distribuita in grado di assicurare l’archiviazione di dati in un registro digitale. Tale registro analizza tutte le transazioni valide certificandole in blocchi disposti in catene sequenziali.Ogni qual volta vi siano dei nuovi blocchi di transazioni, questi vengono aggiunti alla blockchain mediante il ricorso alle funzioni di hashing crittografiche e da ciò si può quindi dedurre come la crittografia sia uno dei fattori più rilevanti nel garantire la stabilità e la sicurezza della tecnologia blockchain.La Blockchain, infatti, raccoglie e archivia le informazioni in gruppi, detti anche "blocchi" e ogni blocco può contenere una certa quantità di dati. Ogni blocco di dati è “concatenato” al blocco precedente - da qui il nome di Blockchain – creando una catena di dati. Ogni nuovo blocco di informazioni si collega ai precedenti attraverso hash crittografati che devono “combaciare” con gli hash del blocco precedente.Il database può essere letto e modificato da uno o più nodi di una rete, ma per validarne le modifiche è necessario che i vari nodi raggiungano il consenso.Nei sistemi di rete distribuita, Distributed Ledger - le modifiche al registro, cioè le transazioni che vengono effettuate, devono essere validate tramite algoritmi di consenso, cioè si deve raggiungere il consenso tra le varie versioni del registro in tutta la rete, garantendo così che la transazione è autentica e identica in tutti i registri.La sicurezza intrinseca del sistema è, di fatto, il fattore di successo di questa tecnologia.
Quali sono le principali minacce nell’uso di questa tecnologia?
Malgrado la crittografia garantisca determinati principi di sicurezza e, per questo, il registro delle transazioni sia a prova di manomissione, anche la blockchain è suscettibile a minacce informatiche ed ha i suoi punti deboli.Gli attaccanti possono infatti agire su due piani:Attacchi architetturali: volti a sfruttare eventuali vulnerabilità nell'infrastruttura blockchain,Attacchi applicativi: finalizzati a colpire le modalità in cui la tecnologia della blockchain è utilizzata, ad esempio facendo leva sul fattore umano o sulla connessione internet utilizzata dall’utente per accedere alla blockchainEcco alcuni esempi:Attacchi Applicativi - Phishing e furto di chiaviParadossalmente, una tecnologia così innovativa è minacciata dalla metodologia di attacco più tradizionale e diffusa. Il phishing si basa sul tentativo di ottenere credenziali di accesso, con messaggi molto convincenti che sembrano provenire da una fonte sicura. Il phishing è l’attacco più comune e ormai viene usato praticamente ogni canale di comunicazione per adescare la vittima: email, app di messaggistica, social, e persino il telefono.Ad esempio, la vittima riceve una email che richiede urgentemente di cliccare su un collegamento ipertestuale. In genere la mail chiede di confermare le proprie credenziali per accedere ad un servizio; nel caso specifico viene richiesto alla vittima di confermare il proprio ID associato all’account per accedere ad un network di blockchain. Una volta che l’attaccante ha accesso alle credenziali della vittima (ad esempio il suo wallet digitale), può disporre transazioni o appropriarsi del suo contenuto. Esattamente come quando le Password dei nostri vari account (social, email, profili etc) possono venirci sottratte da qualche malintenzionato anche per le blockchain esiste il medesimo pericolo.Infatti per entrare in una rete blockchain ogni utente ha un identificativo univoco detto “chiave privata” la quale può essere scoperta da un attaccante ed utilizzata per accedere alla rete blockchain ad esempio per rubare ingenti quantità di cripto valute agli utenti.Attacchi Applicativi - Attacchi routingIn questo caso, gli attaccanti intercettano i dati durante il loro trasferimento sulla rete (di solito una rete wi-fi). Infatti durante il trasferimento di dati gli attaccanti possono intercettarli sottraendo informazioni riservate e purtroppo in genere gli utenti non riescono ad accorgersi della minaccia non sapendo che i dati che stanno caricando su una blockchain sono potenzialmente compromessi e visibili agli attaccanti.Attacchi Architetturali - Attacchi SybilIn questa tipologia di attacco, che prende il nome dal personaggio di un libro che soffriva di personalità multiple, gli attaccanti creano una massiva quantità false identità per effettuare una enorme numero di accessi al fine di ottenere il controllo di una rete influenzandone le decisioni.Ad esempio nelle reti come Bitcoin molte decisioni vengono prese mettendole ai voti quindi se un attaccante ha creato diversi profili falsi sarà in grado di votare più volte influenzando l’esito del voto.Attacchi Architetturali - Attacchi 51%In questo caso un gruppo di attaccanti raggiunge più del 50% della potenza di mining (estrazione dati) di una rete blockchain prendendone di fatto il controllo e facendo saltare il concetto stesso di rete decentralizzata. Questa tipologia di attacco è usata soprattutto per effettuare la così detta “doppia spesa” che consiste nell’effettuare più transazioni con le stesse cripto valute. Benché questo attacco sia teoricamente possibile, è di fatto in pratica molto complesso da mettere in atto in quanto richiede un investimento molto considerevole di risorse.Come descritto brevemente in questo articolo, anche le reti Blockchain presentano delle vulnerabilità che, se sfruttate dagli attaccanti, possono costituire delle gravi minacce per la sicurezza informativa di aziende e individui.In definitiva possiamo rispondere alla domanda di questo articolo - se gli algoritmi della blockchain siano davvero impenetrabili - in maniera affermativa, ma la sicurezza informatica non risiede solo negli algoritmi. Nessun sistema è invulnerabile, poiché le reti, i software e le vulnerabilità umane sono sempre fattori critici.Francesco Nonni @ F3RM1 Foundation