Bitcoin può essere hackerato?
Pagina principale Analisi, Bitcoin, Criptovalute
Hot topic
08 settembre 2018

Una piccola digressione nel mondo dell’open source, degli smart contract… e delle vulnerabilità.

Bitcoin può essere hackerato? Qualsiasi software può essere violato, ma non si tratta necessariamente di una brutta cosa. Gli attacchi informatici rendono le criptovalute più sicure. Dopotutto, ciò che non uccide rende più forti, non è così?

La sicurezza di Bitcoin: Il Bubble boy e il sewer rat

Andreas Antonopoulos ha tenuto una conferenza dal titolo “Bitcoin Security: Bubble Boy and the Sewer Rat”. In questa lezione, Antonopoulos ha esplorato i sistemi centralizzati come il “bubble boy”, un sistema creato per essere sicuro isolandolo da forze esterne. Alla fine, la bolla scoppia, esponendo il sistema: l’avere vissuto in isolamento gli ha impedito di sviluppare un’immunità agli attacchi.

D’altro canto, Andreas sostiene che le blockchain aperte come quella di Bitcoin siano “sewer rat” (topi di fogna). Vivono nella natura selvaggia, soggetti a innumerevoli forze ostili. Di conseguenza, sviluppano dei sistemi immunitari per necessità. Le violazioni avvengono, ma le soluzioni servono per rafforzare il sistema contro attacchi futuri.

Come ha dichiarato Andreas alla fine della sua conferenza:

“Tutte le forme di crittografia possono venire violate. Tutte, alla fine, vengono violate. È una verità lapalissiana… e lo stesso vale per Bitcoin, sì. La questione, ancora una volta, è la scala temporale… ci aspettiamo che la crittografia venga violata. Ci aspettiamo che ogni sistema e sottosistema all’interno di Bitcoin venga prima o poi indebolito. Ciò che dobbiamo fare è: 1) assicurarci che tali debolezze non siano sistemiche e complete. Poi [2)], identificarle in tempo per iniziare a risolverle, in modo da non farle diventare sistemiche. Il miglior modo per fare ciò è quello di trovarsi in un ambiente aperto e collaborativo in cui è possibile conoscere queste debolezze”.

Apri il tuo codice

Come molti progetti di criptovalute, Bitcoin rappresenta un progetto open source. E nei progetti open source, chiunque può vederne il codice.

Scaricate il codice e studiatelo per scoprire che Bitcoin può essere hackerato! Con una moltitudine di occhi che osservano il codice, i problemi si rilevano più prontamente e i programmatori li risolvono non appena le persone li identificano.

Infatti, solo l’intento differenzia una vulnerabilità di sicurezza da un bug. Un utente schiaccia una serie di tasti che fa andare in crash un’applicazione. Un hacker schiaccia la stessa sequenza di tasti per far andare in crash un’applicazione. L’utente ha accidentalmente incontrato un bug. L’hacker ha sfruttato il bug per mandare il sistema in tilt. Bitcoin funziona come un software, tutti i software contengono bug e gli hacker sfruttano proprio quest’ultimi.

Rivelazione di una vulnerabilità

Recentemente uno sviluppatore al lavoro sul Bitcoin per la Digital Currency Initiative presso il MIT Media Lab, ha scoperto una vulnerabilità nel Bitcoin Cash. Le comunità di Bitcoin e di Bitcoin Cash generalmente vanno d’accordo allo stesso modo di Wile E. Coyote e Beep Beep e più o meno con gli stessi risultati.

Breve storia della faida tra Bitcoin e Bitcoin Cash

Se sfruttata, questa vulnerabilità avrebbe potuto potenzialmente distruggere Bitcoin Cash in qualità di sistema di pagamento. Il programmatore si è comportato in maniera onorevole e ha informato privatamente i responsabili del progetto di Bitcoin Cash in merito alla debolezza. Quest’ultimi hanno risolto il bug prima che chiunque potesse sfruttarlo e hanno rivelato pubblicamente la risoluzione giorno 7 maggio 2018.

Smart contract (o non così smart)

Da un punto di vista di sicurezza, gli smart contract presentano una delle più grandi sfide della blockchain. Gli smart contract sono parti di codice eseguibile per gestire le transazioni e vivono sulla blockchain. Dato che vivono sulla blockchain, vivono per sempre. E dato che vivono per sempre, anche i bug o le vulnerabilità di sicurezza che contengono vivono con loro.

Un codice mal concepito e attuato in uno smart contract può portare ad enormi perdite finanziarie. Il famoso attacco informatico alla DAO è stato determinato da uno smart contract mal programmato. Gli hacker amano i codici complessi, perché è lì che risiedono i bug. Viceversa, la sicurezza ama la semplicità.

La comunità di Bitcoin ha progettato il suo linguaggio script affinché fosse semplice e limitato di proposito, come misura di sicurezza. Al contrario, Ethereum cerca di offrire una piattaforma di programmazione decentralizzata, ed è per questo che il linguaggio di programmazione Solidity è Turing Complete, ovvero capace di tutte le complessità che un computer può offrire.

Le avventure Capture The Flag (CTF) trasformano la ricerca in materia di sicurezza in un gioco e Security Innovation ne fornisce uno gratuitamente sugli smart contract della blockchain chiamato Blockchain CTF.

L’obiettivo dei giochi consiste nel trovare tutte le falle a livello di sicurezza nel codice dato. La programmazione di smart contract Solidity di Ethereum richiede buone procedure focalizzate sulla sicurezza. Ethereum può essere hackerato? Sì, e così anche Bitcoin.

Il 27 luglio 2018, la ICO per il progetto di Ethereum nota come KICKICO ha perso 7,7 milioni di dollari a causa di un attacco informatico. Gli hacker avevano ottenuto le chiavi private del progetto e sfruttato uno smart contract. Ad essere sinceri, sembra che qui l’errore sia stato nella mancata protezione della chiave privata piuttosto che nello smart contract stesso.

Mano al portafoglio

I portafogli (wallet) hanno la responsabilità della gestione delle chiavi private, dato che forniscono un deposito per quest’ultime. Utilizzate un wallet online e i vostri dati privati vivranno sul server di qualcun altro, soggetti alle sue vulnerabilità. Tuttavia, se usate un wallet sul vostro disco fisso, quest’ultimo potrebbe guastarsi. Sono i wallet hardware offline ad offrire la sicurezza migliore.

Against the Wall(et)

Conservare criptovalute in portafogli online attira gli attacchi informatici.

Per attuarli, gli hacker ottengono dapprima l’indirizzo e numero di telefono della vittima, informazioni prontamente disponibili per la maggior parte delle persone. In seguito, avviano un reset della password dell’account. Poi sfruttano le vulnerabilità del protocollo telefonico Signaling System 7 (SS7).

Le principali compagnie telefoniche come AT&T e Verizon usano questo protocollo. Utilizzandolo, gli hacker intercettano il token di autorizzazione che la società invia all’account della vittima. Una volta ottenuto, gli hacker accedono ai codici di autenticazione a due fattore inviati al telefono del malcapitato. Con questi, riescono ad entrare nell’account dell’utente su un sistema come Coinbase e ad accedere ai fondi della vittima.

Privacy violata

Chi la fa l’aspetti. Ironicamente, alcune cripto-vulnerabilità si ritorcono contro gli stessi hacker. I ricercatori di una serie di università come Princeton, Carnegie Mellon, Boston University e il MIT hanno scoperto un problema di privacy su Monero. Contrariamente allo scopo di Monero, questa vulnerabilità consentiva a qualcun altro di vedere i dettagli delle transazioni e di identificare chi le aveva effettuate. Poiché i dati sulla blockchain sono permanenti, utilizzare una vulnerabilità come questa consente a chi investiga di scoprire tutte le informazioni delle transazioni passate. Immaginate un ladro che vi deruba pensando che le sue azioni restino celate, e di vederlo invece esposto da un bug del software!

Quindi Bitcoin può essere hackerato?

I software non finiscono mai, i bug infestano i software e le vulnerabilità di sicurezza definiscono una certa classe di bug. Alcuni attacchi informatici derivano da un’attenta manipolazione del codice. Tuttavia, altri fanno a meno della tecnologia.

Nel dicembre 2017, NiceHash sospese le sue operazioni per via di un attacco che è costato 64 milioni di dollari. NiceHash dichiarò che l’attacco era “altamente professionale” e che comprendeva “una sofisticata ingegneria sociale”.

Ingegneria sociale non significa altro che una bravata in vecchio stile da artisti della truffa. Gli hacker utilizzano l’ingegneria sociale per convincere le persone a rivelare le proprie password, fornire accesso o cedere altre informazioni utili.

Bitcoin può essere hackerato? Sì, e ogni vulnerabilità scoperta e risolta rafforza il sistema.

Fonte: Coincentral

Leggi anche:
Perfavore descrivi l'errore
Chiudere