Il Web 3.0 per alcuni esperti è solo una moda mentre per altri si tratta di una rivoluzione già in corso. Indipendentemente dalle varie opinioni, ci siamo chiesti cosa significa questo termine e soprattutto se potrà rivoluzionare Internet.
Con il Web che celebra il suo 33° anniversario, Internet è diventato essenziale per molte attività quotidiane. Per quale motivo creare la versione 3.0? Nell’attuale società moderna, il Web si è rivelato lo strumento più evoluto e pratico per comunicare.
In così poco tempo, il Web 2.0 e ora il Web 3.0 hanno creato un accentuato fermento nel settore IT. Il Web 3.0 consiste nella costruzione di un nuovo Web intelligente e adattivo, una rete universale di persone, luoghi e cose interconnesse in cui possiamo interagire in modo sicuro, effettuare transazioni e condividere le proprie idee, informazioni e immaginazioni. Un’evoluzione dei principi guida delle precedenti versioni di Web.
Questo articolo offre una panoramica del Web 3.0 e delle sue principali vulnerabilità; inoltre, fornisce al lettore una panoramica trasparente della tecnologia ed esplora diversi attacchi Web 3.0 ben noti, come i bug degli smart contract, il cryptojacking, il rug pulling e l’ice phishing.
Il nuovo Web3: cos’è, come funziona e le implicazioni di cyber security
Indice degli argomenti
Il Web non è Internet
Internet ha fatto molta strada, così come il Web durante la sua evoluzione, a partire dalla rivoluzione del Web del 1989. Gli utenti di Internet sono saliti a 4,9 miliardi nel 2021, il 62,02% della popolazione mondiale (7,9 miliardi), rispetto ai 16 milioni del 1995 o allo 0,4% della popolazione mondiale[1].
La figura sottostante mostra come Internet sia diventato fondamentale per la popolazione mondiale nel corso degli anni. Quando Sir Tim Berners-Lee inventò il World Wide Web nel 1989, non avrebbe mai immaginato di avere creato la fonte di conoscenza e comunicazione più accessibile e onnipresente al mondo (ricordiamo, ad esempio, che i social network sono una delle attività online più diffuse e Facebook è il network online più popolare in base all’utilizzo attivo).
Numero di utenti che utilizzano internet nel mondo dal 2005 al 2021.
Contrariamente a quanto molti credano, il Web non è Internet. Sebbene la percezione di queste due entità possa essere confusa, il Web e Internet sono diversi l’uno dall’altro.
Internet è una rete di computer interconnessi che consente agli utenti di cercare contenuti informativi e servizi, comunicando tra loro a livello globale.
Internet ospita diversi linguaggi che permettono alle informazioni di viaggiare tra i computer. Questi linguaggi sono chiamati protocolli: all’interno di Internet ne esistono diversi e il loro utilizzo varia a seconda del tipo di servizio richiesto.
Ad esempio, la posta elettronica quotidiana utilizza i protocolli IMAP, POP3 e SMTP per lo scambio di informazioni.
Il World Wide Web utilizza principalmente tre protocolli:
- HTML (Hypertext Markup Language): il linguaggio di markup con cui vengono scritte le pagine web;
- HTTP (Hypertext Transfer Protocol): il protocollo di rete che consente la trasmissione di informazioni;
- URL (Uniform Resource Locator): schema per l’identificazione di contenuti e servizi web. In pratica è l’indirizzo che identifica ogni risorsa sulla rete e può essere definito come <protocollo>://<nodo>/<località>.
Quali problemi cerca di risolvere il Web 3.0
La prima era del Web è stata caratterizzata principalmente da informazioni veicolate da siti web statici senza alcuna possibilità di interazione. I portali d’informazione si basavano principalmente su dati grezzi in cui gli utenti potevano solo leggere e non potevano aggiungere commenti, recensioni o feedback.
Il passaggio dal Web 1.0 al 2.0 è avvenuto nel tempo, con l’aggiornamento dei server, l’aumento della velocità media di connessione e l’apprendimento di nuove competenze e tecniche da parte degli sviluppatori.
Il Web 2.0, termine introdotto da Tim O’Reilly, è stato la seconda fase dell’evoluzione del Web che ha spinto sviluppatori e utenti a creare e utilizzare tutto ciò che desideravano[2].
Sebbene il Web 2.0 sia stato fondamentale per la crescita economica e tecnologica globale, negli ultimi anni i suoi limiti si sono accentuati. In particolare, sono stati identificati quattro problemi principali[3]:
- Perdita della democrazia: Con l’aumento dei big data, l’utente finale ha sempre meno controllo sui propri dati sul Web. I big data vengono venduti anche alle società di marketing, che li analizzano per scoprire come fornire pubblicità agli utenti e quali annunci sono più redditizi.
- Censura: La Grande Muraglia Cinese (Great Firewall of China) è una frase ben nota che riguarda la censura e la Cina potrebbe essere il principale Paese a cui si riferisce per quanto riguarda la censura. In effetti, la censura di Internet si applica specificamente all’azione del governo per controllare e censurare Internet.
- Larghezza di banda: è costoso centralizzare i dati in server farm. Se venti persone richiedono lo stesso file, ognuna di esse richiederà la stessa quantità di banda per ottenerlo, causando così rallentamenti.
- Sicurezza: il Web è nato decentralizzato, per cui ogni persona crea il proprio server e ha la proprietà dei propri dati. Tuttavia, questo non è durato a lungo. Internet è passato da un Web distribuito ad uno centralizzato ove grandi quantità di dati sono conservate in server e data center.
La grande idea alla base del Web 3.0 è quella di utilizzare la blockchain, per creare applicazioni decentralizzate impermeabili ai problemi di rappresentazione dei dati. Ciò consente un’integrazione automatizzata e flessibile tra fonti di dati pubbliche e private.
Grazie ai metadati semantici, il Web funziona come un enorme database connesso. Le query di ricerca sfruttano questa leggibilità automatica per fornire risultati di ricerca molto più accurati e consapevoli del contesto.
La figura sottostante mostra un’illustrazione in cui sono rappresentate ad alto livello le differenze sostanziali tra le varie architetture Web.
Confronto dell’architettura del Web negli anni. Nota: gli intervalli di date sono approssimativi e sono intesi solo a scopo indicativo[4].
Le vulnerabilità del Web 3.0
Il Web 3.0 è in continua evoluzione ed espansione e perciò è impossibile elencare in questo articolo tutti i possibili attacchi; dobbiamo infatti considerare che molti di essi non sono ancora stati neppure scoperti.
Ci limiteremo, dunque, ad analizzare quattro tra i più importanti attacchi che hanno generato enormi danni alla comunità.
Smart Contract bugs
La maggior parte delle moderne tecnologie blockchain si basa sugli smart contract perché consentono l’esecuzione di programmi decentralizzati che codificano la logica aziendale all’interno della blockchain.
Quando vengono utilizzati all’interno di criptovalute esistenti come Solana, gli smart contract spesso trattengono grandi quantità di criptovalute (solitamente del valore di milioni di dollari). Purtroppo le modalità di supporto a questi ultimi strumenti sono ancora agli albori.
In particolare, diverse importanti funzioni di sicurezza prevalenti nei moderni cicli di sviluppo del software non sono integrate o non sono sufficientemente utilizzabili. In genere vengono sviluppati con linguaggi di programmazione di alto livello e poi compilati in bytecode e distribuiti sulla blockchain attraverso le transazioni.
Si consideri che il bytecode distribuito non può essere modificato per correggere i bug. Purtroppo, come per i programmi informatici tradizionali, è difficile evitare i bug negli smart contract. Infatti, il linguaggio di programmazione più utilizzato è Solidity che si caratterizza come Turing-completo[5] di alto livello e in grado di esprimere logiche arbitrariamente complesse.
Prima della distribuzione, gli smart contract scritti con Solidity vengono compilati in bytecode della Ethereum Virtual Machine (EVM).
La ricerca di Zhang et al.[6] ha rilevato 323 anomalie negli smart contract, raggruppate in vulnerabilità che coinvolgono i dati (es. Integer Overflow), la descrizione (es. Right-To-Left-Override Control Character), l’ambiente (es. Delete Dynamic Array Elements), l’interazione (es. Locked Ether), l’interfaccia (es. Collisione di hash con più argomenti di lunghezza variabile), la logica (Denial of Service), le prestazioni (Invariants in Loop) e infine la sicurezza (es. Suicide Contracts).
Cryptojacking
Il cryptojacking è stato anche definito crypto mining maligno. Si tratta di una minaccia che si inserisce all’interno di un computer o di un dispositivo mobile e poi ne utilizza le risorse per estrarre criptovalute, inviate successivamente al cyber criminale.
In un attacco di cryptojacking, l’aggressore utilizza malware o pagine JavaScript dannose per sfruttare i computer di altre persone per effettuare il mining delle criptovalute.
Il cryptojacking potrebbe sembrare un crimine innocuo visto che l’unica cosa “rubata” è la potenza del computer della vittima. Invece, l’uso della potenza di calcolo per questo scopo criminale avviene all’insaputa o senza il consenso della vittima e unicamente a vantaggio del criminale che sta creando illecitamente valuta. Poiché molti dispositivi infetti generano una quantità massiccia di criptovaluta, i criminali informatici considerano questo crimine “lucrativo”.
Ad esempio, nel 2018 Tesla aveva centinaia di console di amministrazione Kubernetes accessibili via Internet senza alcuna protezione tramite password. Quando i cybercriminali scoprirono questa vulnerabilità, il loro scopo principale non fu quello di rubare informazioni, ma piuttosto di iniettare script di cryptojacking[7].
Rug pulls
I furti di liquidità sono una truffa redditizia. Uno sviluppatore di criptovalute promuove un nuovo progetto agli investitori e poi scompare con decine di milioni o centinaia di milioni di dollari (Liquidity Stealing).
Secondo Chainalysis[8], una società di analisi della blockchain, questo particolare tipo di frode ha rappresentato 2,8 miliardi di dollari di denaro perso per le vittime, ovvero il 37% di tutte le entrate da truffe di criptovalute nel 2021. La Figura 3 mostra graficamente i tre tipi di attacchi rug pull disponibili.
Vari tipi di rug pulls[9].
In particolare, “limiting sell orders” è un modo raffinato per uno sviluppatore malintenzionato di frodare gli investitori. In questa situazione, lo sviluppatore codifica i token in modo da essere l’unica parte a poterli vendere.
Gli sviluppatori attendono quindi che gli investitori acquistino la loro unica criptovaluta utilizzando le valute abbinate[10] (paired currencies). Una volta che l’azione dei prezzi è sufficientemente positiva, gli investitori rilasciano (dump) le loro posizioni, lasciando un token senza valore.
Infine, il Dumping si verifica quando gli sviluppatori vendono rapidamente la loro ampia scorta di token. Ciò spinge al ribasso il prezzo della moneta e lascia gli investitori in possesso di monete prive di valore.
Ice Phishing
L’attacco Ice Phishing consiste nell’ingannare un utente affinché firmi una transazione che addebita l’approvazione dei token dell’utente all’aggressore. Si tratta di una tipica transazione che consente di interagire con gli smart contract della DeFi[11], che vengono utilizzati per interagire con i token dell’utente.
Pertanto, l’aggressore deve modificare l’indirizzo del mittente in quello dell’aggressore. Questa operazione può essere piuttosto efficace in quanto l’interfaccia utente non mostra tutte le informazioni rilevanti che possono rivelare che la transazione è stata manomessa.
Nella figura sottostante, un utente non può sapere se l’account da autorizzare 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45 è l’Uniswap V3: Router 2 o un indirizzo di proprietà dell’attaccante.
Richiesta di firma della transazione di approvazione[12].
Il compratore può accedere ai fondi una volta che la transazione di autorizzazione è stata firmata, inviata e minata. In questo scenario di attacco, l’aggressore può raccogliere le autorizzazioni per un certo periodo e prosciugare rapidamente i portafogli di tutte le vittime.
Questo è esattamente ciò che è accaduto con l’attacco Badger DAO che ha permesso all’aggressore di sottrarre 120 milioni di dollari USA nel novembre 2021[13] [11].
Conclusioni
Il Web 3.0 può essere uno strumento prezioso nella vita di tutti solo se adeguatamente implementato. Poiché la tecnologia non è ancora del tutto consolidata, gli sviluppatori hanno un’eccessiva libertà di scelta che spesso riduce la sicurezza dei loro protocolli e prodotti.
Per tale motivo abbiamo cercato di descrivere dettagliatamente alcuni degli attacchi più dannosi del Web 3.0 così da fornire al lettore una panoramica completa delle potenziali vulnerabilità.
Nonostante tutte queste sfide, le tecnologie semantiche hanno accelerato l’evoluzione del Web.
C’è però ancora molto lavoro da fare prima di raggiungere uno stato ottimale di decentralizzazione.
Con lo sviluppo di queste tecnologie semantiche, abbiamo finalmente protocolli che forniscono valore ai loro sviluppatori e protocolli con un livello di dati altamente condiviso. Sono chiaramente necessari ulteriori sviluppi e la comunità sta lavorando instancabilmente per migliorare lo stato del web e renderlo completamente decentralizzato.
La buona notizia finale che vorremmo trasmettere consiste nel fatto che poiché il Web 3.0 è in continua crescita, ci saranno molte applicazioni che il lettore potrà studiare e analizzare per contribuire eventualmente alla loro implementazione.
NOTE
Miniwatts Marketing Group. (2022). Internet growth statistics 1995 to 2022, qui. ↑
Yakovlev, I. V. (2007). Web 2.0: Is it evolutionary or revolutionary? IT Professional, 9(6), 43–45, qui. ↑
Alabdulwahhab, F. A. (2018). Web 3.0: The decentralized web. 2018 1st International Conference on Computer Applications & Information Security (ICCAIS), 1–4, qui. ↑
Deloitte Insight. (2020). The Spatial Web and Web 3.0. Deloitte, qui. ↑
Macchina che, se dotata di tempo e memoria sufficienti e delle informazioni necessarie, è in grado di risolvere qualsiasi problema di calcolo, per quanto complesso. ↑
Zhang, P., Xiao, F., & Luo, X. (2020). A Framework and DataSet for Bugs in Ethereum Smart Contracts. 2020 IEEE International Conference on Software Maintenance and Evolution (ICSME), qui. ↑
RedLock CSI Team. (2018, February 20). Lessons from the cryptojacking attack at tesla. RedLock, qui. ↑
Chainalysis. (2022). The 2022 Crypto Crime Report [Report], qui. ↑
Cointelegraph. (2022). What are the various types of rug pulls?, qui. ↑
Le valute accoppiate sono due valute che sono state accoppiate per il trading. ↑
La finanza decentralizzata, nota anche come DeFi, utilizza le criptovalute e la tecnologia blockchain per gestire le transazioni finanziarie. ↑
Seifert, C. (2022, February 16). ‘ice phishing’ on the blockchain. Microsoft Security Blog, qui. ↑
Be’ery, T. (2021, December 14). The badgerdao hack: What really happened and why it matters – zengo. ZenGo, qui. ↑