La malleabilità delle transazioni si riferisce alla capacità di un utente malintenzionato di modificare o alterare l'hash che identifica una transazione all'interno della blockchain. Una situazione che può senza dubbio alterare e generare seri problemi all'interno di un sistema di pagamento come le criptovalute.
Lalla malleabilità delle transazioni Bitcoin, è un tipo di Attacco Denial of Service (DoS), che consente a un utente malintenzionato di modificare o alterare l'hash che identifica una transazione all'interno della blockchain.
A prima vista, questo potrebbe non sembrare un problema in sé, poiché la modifica del file hash di una transazione, non la influenzerebbe affatto e la transazione verrebbe eseguita allo stesso modo. Tuttavia, il problema sorge quando il destinatario della transazione afferma di non vedere la transazione riflessa nel suo account. Pertanto, diffida dell'utente che ha eseguito l'operazione e del sistema in generale.
È per questo motivo che la malleabilità di una transazione è un grave problema per i sistemi di pagamento di criptovalute. Un problema che molte criptovalute affrontano e risolvono in vari modi.
Come avviene questo attacco?
Le transazioni in Bitcoin sono costituiti da uno o più input e uno o più output. Gli input sono costituiti da una serie di riferimenti che si riferiscono agli output di una transazione precedente e sono noti come uscite non spese (UTXO). Da parte loro, gli output contengono l'indirizzo a cui è stata effettuata la transazione e l'importo dei fondi trasferiti.
Ogni transazione effettuata sulla blockchain di Bitcoin contiene il proprio hash. Questo hash è unico e irripetibile e viene utilizzato per identificare o individuare una particolare transazione all'interno della blockchain.
In questo modo, attraverso l'hashing, i miner possono tracciare e verificare che una transazione sia stata aggregata all'interno di un blocco. E quindi, verifica che faccia parte della blockchain.
Allora, fino a quando non viene eseguita la convalida e la conferma di quella transazione, un attaccante ha la possibilità di modificare e alterare l'hash dell'identificatore della transazione, senza alterare la firma digitale. Con questa azione l'aggressore riesce a nascondere la transazione e quindi fa credere all'emittente che l'operazione non sia stata eseguita. Quindi, poche ore dopo, fa richiesta all'emittente di effettuare nuovamente il trasferimento, sostenendo di non aver ricevuto i fondi. Qui è dove viene eseguito l'attacco o la truffa. Poiché l'autore dell'attacco ha ricevuto i fondi trasferiti, solo questi non vengono riportati con l'hash (txid) registrato nel servizio.
Possibilità di eseguire questo attacco
L'obiettivo principale degli attacchi per la malleabilità delle transazioni sono gli scambi di criptovaluta o le case di scambio. A causa dell'elevato volume di operazioni e transazioni che gestiscono quotidianamente, un utente malintenzionato può trarre vantaggio dalla situazione.
Nel caso di un utente che non esegue tante transazioni al giorno, è molto improbabile che sia vittima di questo tipo di attacco. Dal momento che consultando il saldo del tuo account vedrai riflesso l'addebito della transazione. Quindi puoi renderti conto che la transazione è stata effettuata e controllare che l'indirizzo di destinazione abbia i fondi trasferiti.
Mt Gox e il problema della malleabilità delle transazioni
Le numerose perdite subite dai famosi e fallite exchange di criptovalute, Mt Gox, sono stati causati come riportato dal team tecnico e dal suo CEO, Mark Karpelès, a causa di un problema di malleabilità delle transazioni. Ciò ha consentito a vari hacker e aggressori di avanzare pretese per transazioni presumibilmente fallite. Che ha totalizzato circa 850.000 bitcoin rubati. Un evento sfortunato che ha portato al fallimento dell'exchange nel 2014, lasciando migliaia di utenti arrabbiati e sconcertati.
Secondo Karpelès, ciò era dovuto alla malleabilità delle transazioni. Karpeles ha sostenuto che gli utenti erano in grado di effettuare più prelievi dei loro fondi, sostenendo che non erano stati effettuati, quando in realtà lo erano.
Tuttavia, diverse indagini condotte hanno stabilito che il fallimento di questo scambio non era dovuto solo a un atto di pirateria informatica, ma anche alla manipolazione dei dati da parte del team responsabile di Mt Gox. Nel rapporto pubblicato da ArXiv Si stima che la perdita di bitcoin dovuta alla malleabilità delle transazioni non superi le 400 unità.
Quanto sai, Cryptonuta?
La malleabilità delle transazioni è un rischio per la sicurezza?Certo!
In una certa misura, la malleabilità delle transazioni è un rischio per la sicurezza, poiché un attore malintenzionato in uno scambio potrebbe utilizzare tale debolezza per manomettere i record delle transazioni e sequestrare illegalmente denaro che non è il loro.
Soluzioni proposte al problema della malleabilità
Poiché questo problema nelle transazioni è stato rilevato in Bitcoin e altre criptovalute, ci sono stati diversi sforzi da parte di sviluppatori e specialisti per affrontarlo. Pertanto, sono state sviluppate due soluzioni con l'obiettivo di affrontare la malleabilità.
Proposte in Bitcoin
- BIP 0062 è una soluzione presentata nel 2014 dallo sviluppatore Pieter Wuille per affrontare il problema della malleabilità delle transazioni Bitcoin, che faceva perdere al mittente la traccia delle proprie transazioni una volta che gli hash erano stati modificati. Causando che, sotto manipolazioni, ha inviato i fondi ancora e ancora, generando grandi perdite. In questa proposta vengono esposti tutti i possibili modi per trovare malleabilità nelle transazioni, con cui possono essere affrontate e risolte.
- SegWit è un altro strumento progettato per attaccare, tra le altre cose, il problema della malleabilità delle transazioni Bitcoin. Per evitare ciò, SegWit separa i dati della transazione, inclusi nell'albero Merkle, dalle firme. Pertanto, le transazioni che utilizzano e spendono output segwit non sono vulnerabili a problemi di malleabilità.
Proposte in Ethereum
El Forcella dura de Ethereum "Homestead" descritto in EIP-2, ha risolto il problema della malleabilità in Ethereum. Più specificamente, l'aggiornamento rende tutte le firme delle transazioni il cui valore s è maggiore di secp256k1n / 2 sono ora considerate non valide. Questo risolve il problema della malleabilità delle transazioni in Ethereum.
Proposte in Dash
Dash Hai anche apportato modifiche al tuo software per evitare questo problema. A causa della vicinanza del codice Dash e Bitcoin, Dash ha scelto di applicare una correzione seguendo le raccomandazioni di BIP-66. Ciò risolve una parte dei problemi di malleabilità delle transazioni in Dash. Inoltre, ha anche applicato una patch in base alle raccomandazioni fornite in BIP-0147. Ma nonostante ciò, Dash non è ancora completamente protetto contro questi tipi di attacchi e per il suo team di sviluppo questa non è una priorità di primo livello, come fanno vedere nel loro blog.