La sicurezza è sempre stata uno degli aspetti più importanti dell’informatica e oggi molte organizzazioni e i loro sviluppatori adottano una mentalità orientata alla sicurezza nella realizzazione delle applicazioni. Questi principi e azioni sono spesso descritti collettivamente come “DevSecOps”, che comprende l’intera cultura e l’approccio alla sicurezza delle applicazioni. DevSecOps sta per sviluppo, sicurezza e operations. L’obiettivo è incorporare una mentalità orientata alla sicurezza in tutti gli aspetti della tecnologia e dell’infrastruttura informatica.
Uno dei mercati più nuovi ed entusiasmanti dell’information technology è quello della blockchain, che si presenta come un gigantesco ecosistema di protocolli e applicazioni decentralizzate, che mirano a portarci in una versione aggiornata del web, quella che molti definiscono web3.
Il termine web3 comprende vari concetti che si concentrano sugli aspetti dell’architettura delle applicazioni e dell’esperienza utente:
Questi concetti fondamentali mirano a restituire agli utenti il controllo della propria identità utilizzando la crittografia a chiave pubblica e a far crescere l’adozione dell’economia peer-to-peer attraverso varie meccaniche e protocolli blockchain. Molte blockchain e i protocolli che le circondano possono elaborare transazioni avanzate e gestire lo stato utilizzando contratti intelligenti che vengono eseguiti all’interno di ambienti virtualizzati isolati.
Questi vengono poi sincronizzati tra tutti i nodi della rete attraverso un meccanismo chiamato algoritmo di consenso. Si tratta di un meccanismo che consente agli utenti o ai nodi di coordinarsi in un ambiente distribuito, per garantire che tutti i nodi del sistema possano concordare su un’unica source of truth, anche se alcuni agenti falliscono. Inoltre, molte blockchain operano in modo censorship-resistant, mantenendo i loro protocolli aperti e senza restrizioni.
L’architettura basata su DevSecOps presenta un rischio intrinseco, in quanto la colonna portante della rete è tipicamente alimentata da una criptovaluta digitale basata su token e solitamente ha un valore economico. Questi token sono conservati in indirizzi, generalmente memorizzati in conti di proprietà esterna o all’interno di smart contract. Inoltre, poiché la sicurezza è gestita anche grazie all’uso della crittografia a codice pubblico, ogni indirizzo della rete è soggetto ad attacchi.
Il bilancio di ciascun account è condiviso in rete su un registro, conosciuto come libro contabile pubblico, visibile a chiunque, il che lascia una finestra aperta agli hacker per colpire utenti o contatti specifici. Ciò rende la privacy e l’anonimato un aspetto particolarmente importante per la blockchain. Spesso gli individui, che gestiscono questi conti, sono bersaglio di attacchi o ricevono troppa credibilità e possono agire in modo illecito:
Inoltre, la portata tecnologica di queste varie tipologie di blockchain, protocolli e applicazioni decentralizzate è già ampia e in rapida crescita. È quindi importante riflettere sulle implicazioni per la sicurezza di questo ecosistema in veloce espansione. Tutto ciò che è costruito con un concetto essenziale di decentralizzazione si riferisce a uno scenario più ampio e quindi a numero maggiore di possibilità di attacchi che devono essere attentamente analizzati e messi in sicurezza.
Ecco alcuni punti che vale la pena considerare quando si verifica la sicurezza delle applicazioni decentralizzate e dell’infrastruttura tecnologica:
Quando si parla di DevSecOps nel ciclo di vita dello sviluppo di un’applicazione, in genere ci si riferisce allo sviluppo guidato dalla sicurezza. Questo è anche comunemente noto come l’atto di “spostare la sicurezza a sinistra” (shifting security left). È uno degli aspetti più importanti della cultura DevSecOps, perché inizia con gli sviluppatori che pensano alla sicurezza come codice. Poiché gli smart contract basati su blockchain possono immagazzinare valore e agire come una banca, ciò rende il codice al loro interno estremamente vulnerabile agli attacchi e deve essere scritto tenendo conto di una sicurezza rigorosa.
Abbiamo assistito a diversi hack che hanno preso di mira gli smart contract e le vulnerabilità sono solitamente incentrate sullo sfruttamento del codice. Una delle più grandi violazioni della storia ha avuto luogo l’anno scorso, quando Poly Network, un protocollo cross-chain, ha riferito che un aggressore ha violato uno smart contract, trasferendo l’equivalente di 610 milioni di dollari USA spostando vari beni ad indirizzi di portafogli esterni controllati dall’hacker.
Le vulnerabilità dello sviluppo di smart contract sono numerose, ma alcuni degli attacchi più frequenti sono:
Blockchain, applicazioni decentralizzate e i vari protocolli che le circondano stanno crescendo rapidamente. Questi nuovi ed entusiasmanti modi di distribuire le applicazioni hanno il potenziale per sconvolgere molti settori diversi fra loro. Tuttavia, è fondamentale concentrarsi su una mentalità orientata alla sicurezza e implementare una cultura DevSecOps ove possibile.
Il primo passo nella blockchain dovrebbe essere leggere il whitepaper associato al protocollo che si sta costruendo.
Studiate gli hack e le vulnerabilità, arrivando persino a provare a riprodurre l’hack nel vostro ambiente di sviluppo.
Per imparare la sicurezza su Ethereum, consiglio i programmi CTF, in cui le fragilità sono nascoste in programmi o siti web volutamente vulnerabili per insegnare i fondamenti della sicurezza.
A cura di Kevin Jones, Senior Product Manager per NGINX, F5
Nel panorama odierno della sicurezza informatica, la protezione degli endpoint rappresenta un obiettivo imprescindibile per…
I numeri dell’evento Oltre 1000 ospiti, 42 relatori, 20 interventi tematici e 5 Tavole Rotonde:…
Group-IB è un fornitore, con sede a Singapore, di sistemi ad elevata attendibilità per il…
Le interazioni di natura digitale, su rete pubblica o all’interno di reti private, hanno assunto…
La Commissione Europea ha di recente ricordato come “Artificial intelligence (AI) is not science fiction;…
Di seguito il programma della Cyber Crime Conference 2024, che avrà luogo a Roma nei…