Blockchain.info Transaction Signing Flaw: Difference between revisions
No edit summary |
(COMPLETE 30 minutes. Reviewed the article. Spread information from the about section into other relevant sections throughout. Reviewed forum information to fill in the timeline of the exploit and discussion with further details of when key events happened. Added another source with information on duplicated R values.) |
||
| Line 1: | Line 1: | ||
{{ | {{Case Study Under Construction}}{{Unattributed Sources}} | ||
{{Unattributed Sources}} | |||
[[File:Blockchaininfo.jpg|thumb|Blockchain.info]]The Blockchain.info web wallet had an issue where R-values were being reused, which allowed an attacker to generate transactions which could steal funds from wallet users. Between this and another attack affecting key generation on the Android platform, a total of over 59 bitcoins were taken from wallet users. It appears that this exploit only affected 3.5 BTC in two transactions. Blockchain.info provided refunds to affected users. | [[File:Blockchaininfo.jpg|thumb|Blockchain.info Logo/Homepage]]The Blockchain.info web wallet had an issue where R-values were being reused, which allowed an attacker to generate transactions which could steal funds from wallet users. Between this and another attack affecting key generation on the Android platform, a total of over 59 bitcoins were taken from wallet users. It appears that this exploit only affected 3.5 BTC in two transactions. Blockchain.info provided refunds to affected users. | ||
This is a global/international case not involving a specific country.<ref name="blockchaindotcom-4728" /><ref name="bitdegree-4729" /><ref name="coindesk-7305" /><ref name="bitcointalk-7306" /><ref name="blockchain-7307" /><ref name="bitcointalk-7308" /><ref name="bitcoin-7309" /><ref name="bitcointalk-7310" /><ref name="blockchaindotcom-7370" /><ref name="bitcointalk-7312" /> | This is a global/international case not involving a specific country.<ref name="blockchaindotcom-4728" /><ref name="bitdegree-4729" /><ref name="coindesk-7305" /><ref name="bitcointalk-7306" /><ref name="blockchain-7307" /><ref name="bitcointalk-7308" /><ref name="bitcoin-7309" /><ref name="bitcointalk-7310" /><ref name="blockchaindotcom-7370" /><ref name="bitcointalk-7312" /><ref>https://bitcoin.stackexchange.com/questions/88076/why-did-repeated-r-values-occur-in-bitcoin-transactions-before (Accessed Oct 16, 2024)</ref> | ||
== About Blockchain.info == | == About Blockchain.info == | ||
| Line 10: | Line 9: | ||
"The popular Blockchain website primarily offers market data and serves as the main block chain explorer for the bitcoin currency. However, users can also create web-based wallets to send and receive bitcoins." | "The popular Blockchain website primarily offers market data and serves as the main block chain explorer for the bitcoin currency. However, users can also create web-based wallets to send and receive bitcoins." | ||
== The Reality == | == The Reality == | ||
The Blockchain.info web wallet contained a bug. "The bug lies in the random number generator that the web wallet uses to sign bitcoin transactions. The random numbers are generated in web browsers using the JavaScript programming language. It was discovered on Monday, when a bitcoin user reported that he had 1.8 BTC (around $223) stolen." | |||
== What Happened == | == What Happened == | ||
"Another bug has been discovered in a bitcoin wallet, leading to the theft of around 50 bitcoins." | |||
{| class="wikitable" | {| class="wikitable" | ||
|+Key Event Timeline - Blockchain.info Transaction Signing Flaw | |+Key Event Timeline - Blockchain.info Transaction Signing Flaw | ||
| Line 72: | Line 21: | ||
!Description | !Description | ||
|- | |- | ||
|August 19th, 2013 | |August 19th, 2013 3:15:48 AM MDT | ||
| | |Theft Bitcoin Transaction | ||
| | |A theft transaction which takes 1.81591714 bitcoin from giantdragon's wallet<ref name="blockchain-7307" />. | ||
|- | |||
|August 19th, 2013 9:27:16 AM MDT | |||
|giantdragon BitcoinTalk Post | |||
|BitcoinTalk user giantdragon posts to report the incident where their funds appear to have gone missing, but just from one of their UTXOs and not others<ref name="bitcointalk-7306" />. | |||
|- | |||
|August 19th, 2013 5:14:12 PM MDT | |||
|Determination Of Duplicate R Values | |||
|Jesse James determines and provides giantdragon with the specific transaction that had repeated R Values, and inquires about where this transaction was generated<ref name=":0">[https://bitcointalk.org/index.php?topic=277595.msg2967524#msg2967524 Jesse James - "Your transaction with the repeated signature R values is this one" - BitcoinTalk] (Accessed Oct 16, 2024)</ref>. | |||
|- | |- | ||
| | |August 20th, 2013 1:10:24 PM MDT | ||
| | |Jesse James Collision Analysis | ||
| | |Jesse James responds with an analysis of all bitcoin addresses which had private keys exposed due to a "signature nonce collision" mechanism<ref name="bitcointalk-7312" />. | ||
|} | |} | ||
== Technical Details == | |||
"[T]ransaction [had] repeated signature R values." | |||
"Unlike [a similar] Android bug, this flaw only affected the signing of transactions, rather than the creation of private keys, confirmed Blockchain's Ben Reeves (aka Piuk) on the Bitcointalk forum. Firefox was particularly vulnerable to a poor seeding of its random number generator, he added." "[T]his latest flaw affected Blockchain.info's browser client, its Chrome and Firefox extensions, and its Mac OSX app." | |||
Transaction With Repeated R Values<ref name=":0" />: https://blockchain.info/tx/e05d98ee17d4610eb4e63cf27dd4e63f7128dc28187ae73588ca5562d9391bb8 | |||
== Total Amount Lost == | == Total Amount Lost == | ||
The total amount lost has been estimated at $2,000 USD. | The total amount lost has been estimated at $2,000 USD. | ||
== Immediate Reactions == | |||
"Funds from other addresses in this wallet were not affected. This leads me on thoughts that Blockchain.info or Firefox may have some weakness in random number generator like the vulnerability was recently found in the Android, [sic]" he said. | |||
"Jesse James has informed me of a problem with the rng used by blockchain.info javascript clients being poorly seeded when initialised in a background webworker task. In some browsers this could lead to duplicate R values being used when signing transactions (Firefox is likely to be particularly vulnerable). This issue effects the transaction signing code only, not the generation of private keys." | |||
A Blockchain.info representative said that Reeves had issued the (aforementioned) patches within hours of the flaw being detected, and added: "This is a truly amazing turnaround time." | |||
== Ultimate Outcome == | == Ultimate Outcome == | ||
What was the end result? Was any investigation done? Were any individuals prosecuted? Was there a lawsuit? Was any tracing done? | What was the end result? Was any investigation done? Were any individuals prosecuted? Was there a lawsuit? Was any tracing done? | ||
"Blockchain.info has now patched the bug. Users must make sure they are using client version numbers [newer than] Chrome extension - v2.85. Firefox extension - v1.97. Mac client - v0.11. Also, those who just use the web wallet (without a plugin) should clear their browser cache before using the Blockchain website." | |||
"Patches have now been deployed, Please ensure you upgrade to the latest version of your Blockchain.info client." | |||
"When asked about the identity of the attacker(s), Reeves confirmed that the attacker is an individual and that all stolen funds have been sent to [one bitcoin address]." "Significantly, funds transferred to that account also include funds taken from Android users earlier this month, suggesting that the same person could be behind the theft of bitcoins using both bugs." | |||
"A list of the addresses affected by the random number generator bugs on both Blockchain and Android were published on the Bitcoin forum, and has also been updated with new finds." | |||
"[T]he company is now offering refunds to users who lost bitcoins due to the flaw." | |||
For those looking to recover lost funds, Reeves told us: "If someone thinks they have had funds stolen, if it is due to this bug it is very likely the coins will have been sent to the above address. If in doubt they can contact help@blockchain.info and I will investigate further. Only a couple of BTC have been refunded so far." | |||
== Total Amount Recovered == | == Total Amount Recovered == | ||
The total amount recovered has been estimated at $2,000 USD. | The total amount recovered has been estimated at $2,000 USD. | ||
== Ongoing Developments == | == Ongoing Developments == | ||
Reeves hinted at a glimmer of hope for lost funds: "It depends on [the attacker's] intentions, but there is still a possibility they might return the funds." But the prevailing message is: don't bank on it. | |||
== Individual Prevention Policies == | == Individual Prevention Policies == | ||
{{Prevention:Individuals:Placeholder}} | {{Prevention:Individuals:Placeholder}} | ||
| Line 115: | Line 93: | ||
== References == | == References == | ||
<references><ref name="blockchaindotcom-4728">[https://www.blockchain.com/wallet/ Blockchain.com Wallet - Store and Invest in Crypto] (Dec 24, 2021)</ref> | <references> | ||
<ref name="blockchaindotcom-4728">[https://www.blockchain.com/wallet/ Blockchain.com Wallet - Store and Invest in Crypto] (Dec 24, 2021)</ref> | |||
<ref name="bitdegree-4729">[https://www.bitdegree.org/crypto/blockchain-wallet-review Blockchain Wallet Review: Learn How To Buy Bitcoin On Blockchain] (Dec 24, 2021)</ref> | <ref name="bitdegree-4729">[https://www.bitdegree.org/crypto/blockchain-wallet-review Blockchain Wallet Review: Learn How To Buy Bitcoin On Blockchain] (Dec 24, 2021)</ref> | ||
<ref name="coindesk-7305">[https://www.coindesk.com/markets/2013/08/21/blockchaininfo-issues-refunds-to-bitcoin-theft-victims/ Blockchain.info issues refunds to bitcoin theft victims - CoinDesk] (Mar 19, 2022)</ref> | <ref name="coindesk-7305">[https://www.coindesk.com/markets/2013/08/21/blockchaininfo-issues-refunds-to-bitcoin-theft-victims/ Blockchain.info issues refunds to bitcoin theft victims - CoinDesk] (Mar 19, 2022)</ref> | ||
<ref name="bitcointalk-7306">[https://bitcointalk.org/index.php?topic=277595.msg2964251 <nowiki>giantdragon - Blockchain.info security [FUNDS STOLEN] - BitcoinTalk</nowiki>] (Mar 19, 2022)</ref> | |||
<ref name="bitcointalk-7306">[https://bitcointalk.org/index.php?topic=277595.msg2964251 <nowiki>Blockchain.info security [FUNDS STOLEN]</nowiki>] (Mar 19, 2022)</ref> | <ref name="blockchain-7307">[https://blockchain.info/tx/975412ecc21a0ad949deba3f47c6ac41e42fb7bd3f7eeb36cc071f151003d8c9 Transaction Transferring 1.81591714 BTC from giantdragon To The Attacker - Blockchain.info Explorer] (Accessed Mar 19, 2022)</ref> | ||
<ref name="blockchain-7307">[https://blockchain.info/tx/975412ecc21a0ad949deba3f47c6ac41e42fb7bd3f7eeb36cc071f151003d8c9 Transaction | |||
<ref name="bitcointalk-7308">[https://bitcointalk.org/index.php?topic=277601.0 my wallets were stolen just now, can any one help me?] (Mar 19, 2022)</ref> | <ref name="bitcointalk-7308">[https://bitcointalk.org/index.php?topic=277601.0 my wallets were stolen just now, can any one help me?] (Mar 19, 2022)</ref> | ||
<ref name="bitcoin-7309">https://en.bitcoin.it/w/images/en/e/e1/TxBinaryMap.png (Mar 19, 2022)</ref> | |||
<ref name="bitcoin-7309"> | |||
<ref name="bitcointalk-7310">[https://bitcointalk.org/index.php?topic=277595.msg2970668#msg2970668 <nowiki>Blockchain.info security [FUNDS STOLEN]</nowiki>] (Mar 19, 2022)</ref> | <ref name="bitcointalk-7310">[https://bitcointalk.org/index.php?topic=277595.msg2970668#msg2970668 <nowiki>Blockchain.info security [FUNDS STOLEN]</nowiki>] (Mar 19, 2022)</ref> | ||
<ref name="blockchaindotcom-7370">[https://www.blockchain.com/btc/address/1HKywxiL4JziqXrzLKhmB6a74ma6kxbSDj Address: 1HKywxiL4JziqXrzLKhmB6a74ma6kxbSDj | Blockchain Explorer] (Mar 19, 2022)</ref> | <ref name="blockchaindotcom-7370">[https://www.blockchain.com/btc/address/1HKywxiL4JziqXrzLKhmB6a74ma6kxbSDj Address: 1HKywxiL4JziqXrzLKhmB6a74ma6kxbSDj | Blockchain Explorer] (Mar 19, 2022)</ref> | ||
<ref name="bitcointalk-7312">[https://bitcointalk.org/index.php?topic=277595.msg2974140#msg2974140 Jesse James - "Your friend's private key was never exposed due to a signature nonce collision." - BitcoinTalk] (Accessed Mar 19, 2022)</ref> | |||
<ref name="bitcointalk-7312">[https://bitcointalk.org/index.php?topic=277595.msg2974140#msg2974140 | </references> | ||
Latest revision as of 18:45, 16 October 2024
Notice: This page is a new case study and some aspects have not been fully researched. Some sections may be incomplete or reflect inaccuracies present in initial sources. Please check the References at the bottom for further information and perform your own additional assessment. Please feel free to contribute by adding any missing information or sources you come across. If you are new here, please read General Tutorial on Wikis or Anatomy of a Case Study for help getting started.
Notice: This page contains sources which are not attributed to any text. The unattributed sources follow the initial description. Please assist by visiting each source, reviewing the content, and placing that reference next to any text it can be used to support. Feel free to add any information that you come across which isn't present already. Sources which don't contain any relevant information can be removed. Broken links can be replaced with versions from the Internet Archive. See General Tutorial on Wikis, Anatomy of a Case Study, and/or Citing Your Sources Guide for additional information. Thanks for your help!
The Blockchain.info web wallet had an issue where R-values were being reused, which allowed an attacker to generate transactions which could steal funds from wallet users. Between this and another attack affecting key generation on the Android platform, a total of over 59 bitcoins were taken from wallet users. It appears that this exploit only affected 3.5 BTC in two transactions. Blockchain.info provided refunds to affected users.
This is a global/international case not involving a specific country.[1][2][3][4][5][6][7][8][9][10][11]
About Blockchain.info
"The world’s most popular crypto wallet. Over 80 million wallets created to buy, sell, and earn crypto." "As they say, not your keys, not your crypto. Blockchain.com Private Key Wallets are the most widely-used wallets for self-custody of your crypto. We make it easy for people who are ready to control their private keys to hold them with a Secret Private Key Recovery Phrase." "When it comes to ensuring that your crypto is secure, we think about every last detail so you don’t have to."
"The popular Blockchain website primarily offers market data and serves as the main block chain explorer for the bitcoin currency. However, users can also create web-based wallets to send and receive bitcoins."
The Reality
The Blockchain.info web wallet contained a bug. "The bug lies in the random number generator that the web wallet uses to sign bitcoin transactions. The random numbers are generated in web browsers using the JavaScript programming language. It was discovered on Monday, when a bitcoin user reported that he had 1.8 BTC (around $223) stolen."
What Happened
"Another bug has been discovered in a bitcoin wallet, leading to the theft of around 50 bitcoins."
| Date | Event | Description |
|---|---|---|
| August 19th, 2013 3:15:48 AM MDT | Theft Bitcoin Transaction | A theft transaction which takes 1.81591714 bitcoin from giantdragon's wallet[5]. |
| August 19th, 2013 9:27:16 AM MDT | giantdragon BitcoinTalk Post | BitcoinTalk user giantdragon posts to report the incident where their funds appear to have gone missing, but just from one of their UTXOs and not others[4]. |
| August 19th, 2013 5:14:12 PM MDT | Determination Of Duplicate R Values | Jesse James determines and provides giantdragon with the specific transaction that had repeated R Values, and inquires about where this transaction was generated[12]. |
| August 20th, 2013 1:10:24 PM MDT | Jesse James Collision Analysis | Jesse James responds with an analysis of all bitcoin addresses which had private keys exposed due to a "signature nonce collision" mechanism[10]. |
Technical Details
"[T]ransaction [had] repeated signature R values."
"Unlike [a similar] Android bug, this flaw only affected the signing of transactions, rather than the creation of private keys, confirmed Blockchain's Ben Reeves (aka Piuk) on the Bitcointalk forum. Firefox was particularly vulnerable to a poor seeding of its random number generator, he added." "[T]his latest flaw affected Blockchain.info's browser client, its Chrome and Firefox extensions, and its Mac OSX app."
Transaction With Repeated R Values[12]: https://blockchain.info/tx/e05d98ee17d4610eb4e63cf27dd4e63f7128dc28187ae73588ca5562d9391bb8
Total Amount Lost
The total amount lost has been estimated at $2,000 USD.
Immediate Reactions
"Funds from other addresses in this wallet were not affected. This leads me on thoughts that Blockchain.info or Firefox may have some weakness in random number generator like the vulnerability was recently found in the Android, [sic]" he said.
"Jesse James has informed me of a problem with the rng used by blockchain.info javascript clients being poorly seeded when initialised in a background webworker task. In some browsers this could lead to duplicate R values being used when signing transactions (Firefox is likely to be particularly vulnerable). This issue effects the transaction signing code only, not the generation of private keys."
A Blockchain.info representative said that Reeves had issued the (aforementioned) patches within hours of the flaw being detected, and added: "This is a truly amazing turnaround time."
Ultimate Outcome
What was the end result? Was any investigation done? Were any individuals prosecuted? Was there a lawsuit? Was any tracing done?
"Blockchain.info has now patched the bug. Users must make sure they are using client version numbers [newer than] Chrome extension - v2.85. Firefox extension - v1.97. Mac client - v0.11. Also, those who just use the web wallet (without a plugin) should clear their browser cache before using the Blockchain website."
"Patches have now been deployed, Please ensure you upgrade to the latest version of your Blockchain.info client."
"When asked about the identity of the attacker(s), Reeves confirmed that the attacker is an individual and that all stolen funds have been sent to [one bitcoin address]." "Significantly, funds transferred to that account also include funds taken from Android users earlier this month, suggesting that the same person could be behind the theft of bitcoins using both bugs."
"A list of the addresses affected by the random number generator bugs on both Blockchain and Android were published on the Bitcoin forum, and has also been updated with new finds."
"[T]he company is now offering refunds to users who lost bitcoins due to the flaw."
For those looking to recover lost funds, Reeves told us: "If someone thinks they have had funds stolen, if it is due to this bug it is very likely the coins will have been sent to the above address. If in doubt they can contact help@blockchain.info and I will investigate further. Only a couple of BTC have been refunded so far."
Total Amount Recovered
The total amount recovered has been estimated at $2,000 USD.
Ongoing Developments
Reeves hinted at a glimmer of hope for lost funds: "It depends on [the attacker's] intentions, but there is still a possibility they might return the funds." But the prevailing message is: don't bank on it.
Individual Prevention Policies
No specific policies for individual prevention have yet been identified in this case.
For the full list of how to protect your funds as an individual, check our Prevention Policies for Individuals guide.
Platform Prevention Policies
Policies for platforms to take to prevent this situation have not yet been selected in this case.
For the full list of how to protect your funds as a financial service, check our Prevention Policies for Platforms guide.
Regulatory Prevention Policies
No specific regulatory policies have yet been identified in this case.
For the full list of regulatory policies that can prevent loss, check our Prevention Policies for Regulators guide.
References
- ↑ Blockchain.com Wallet - Store and Invest in Crypto (Dec 24, 2021)
- ↑ Blockchain Wallet Review: Learn How To Buy Bitcoin On Blockchain (Dec 24, 2021)
- ↑ Blockchain.info issues refunds to bitcoin theft victims - CoinDesk (Mar 19, 2022)
- ↑ 4.0 4.1 giantdragon - Blockchain.info security [FUNDS STOLEN] - BitcoinTalk (Mar 19, 2022)
- ↑ 5.0 5.1 Transaction Transferring 1.81591714 BTC from giantdragon To The Attacker - Blockchain.info Explorer (Accessed Mar 19, 2022)
- ↑ my wallets were stolen just now, can any one help me? (Mar 19, 2022)
- ↑ https://en.bitcoin.it/w/images/en/e/e1/TxBinaryMap.png (Mar 19, 2022)
- ↑ Blockchain.info security [FUNDS STOLEN] (Mar 19, 2022)
- ↑ Address: 1HKywxiL4JziqXrzLKhmB6a74ma6kxbSDj | Blockchain Explorer (Mar 19, 2022)
- ↑ 10.0 10.1 Jesse James - "Your friend's private key was never exposed due to a signature nonce collision." - BitcoinTalk (Accessed Mar 19, 2022)
- ↑ https://bitcoin.stackexchange.com/questions/88076/why-did-repeated-r-values-occur-in-bitcoin-transactions-before (Accessed Oct 16, 2024)
- ↑ 12.0 12.1 Jesse James - "Your transaction with the repeated signature R values is this one" - BitcoinTalk (Accessed Oct 16, 2024)