Blockchain.info Transaction Signing Flaw: Difference between revisions

From Quadriga Initiative Cryptocurrency Hacks, Scams, and Frauds Repository
Jump to navigation Jump to search
(Created page with "{{Imported Case Study|source=https://www.quadrigainitiative.com/casestudy/blockchaininfotransactionsigningflaw.php}} thumb|Blockchain.infoThe 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 use...")
 
(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.)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Imported Case Study|source=https://www.quadrigainitiative.com/casestudy/blockchaininfotransactionsigningflaw.php}}
{{Case Study Under Construction}}{{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.
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 9: 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."
"Another bug has been discovered in a bitcoin wallet, leading to the theft of around 50 bitcoins." "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."
"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.
"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."
"[T]ransaction [had] repeated signature R values."
"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."
"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."
"Patches have now been deployed, Please ensure you upgrade to the latest version of your Blockchain.info client."
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."
"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."
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.
This is a global/international case not involving a specific country.
The background of the exchange platform, service, or individuals involved, as it would have been seen or understood at the time of the events.
Include:
* Known history of when and how the service was started.
* What problems does the company or service claim to solve?
* What marketing materials were used by the firm or business?
* Audits performed, and excerpts that may have been included.
* Business registration documents shown (fake or legitimate).
* How were people recruited to participate?
* Public warnings and announcements prior to the event.
Don't Include:
* Any wording which directly states or implies that the business is/was illegitimate, or that a vulnerability existed.
* Anything that wasn't reasonably knowable at the time of the event.
There could be more than one section here. If the same platform is involved with multiple incidents, then it can be linked to a main article page.


== The Reality ==
== The Reality ==
This sections is included if a case involved deception or information that was unknown at the time. Examples include:
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."
 
* When the service was actually started (if different than the "official story").
* Who actually ran a service and their own personal history.
* How the service was structured behind the scenes. (For example, there was no "trading bot".)
* Details of what audits reported and how vulnerabilities were missed during auditing.


== What Happened ==
== What Happened ==
The specific events of the loss and how it came about. What actually happened to cause the loss and some of the events leading up to it.
"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 2:41:00 PM
|August 19th, 2013 3:15:48 AM MDT
|First Event
|Theft Bitcoin Transaction
|This is an expanded description of what happened and the impact. If multiple lines are necessary, add them here.
|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 is unknown.


How much was lost and how was it calculated? If there are conflicting reports, which are accurate and where does the discrepancy lie?
 
The total amount lost has been estimated at $2,000 USD.


== Immediate Reactions ==
== Immediate Reactions ==
How did the various parties involved (firm, platform, management, and/or affected individual(s)) deal with the events? Were services shut down? Were announcements made? Were groups formed?
"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?


== Total Amount Recovered ==
"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."
It is unknown how much was recovered.


What funds were recovered? What funds were reimbursed for those affected users?
"Patches have now been deployed, Please ensure you upgrade to the latest version of your Blockchain.info client."


== Ongoing Developments ==
"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."
What parts of this case are still remaining to be concluded?


== Prevention Policies ==
"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."


== References ==
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."
[https://www.blockchain.com/wallet/ Blockchain.com Wallet - Store and Invest in Crypto] (Dec 23)


[https://www.bitdegree.org/crypto/blockchain-wallet-review Blockchain Wallet Review: Learn How To Buy Bitcoin On Blockchain] (Dec 23)
== Total Amount Recovered ==
The total amount recovered has been estimated at $2,000 USD.


[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)
== 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 ==
{{Prevention:Individuals:Placeholder}}


[https://bitcointalk.org/index.php?topic=277595.msg2964251 <nowiki>Blockchain.info security [FUNDS STOLEN]</nowiki>] (Mar 19)
{{Prevention:Individuals:End}}


[https://blockchain.info/tx/975412ecc21a0ad949deba3f47c6ac41e42fb7bd3f7eeb36cc071f151003d8c9 Transaction: 975412ecc21a0ad949deba3f47c6ac41e42fb7bd3f7eeb36cc071f151003d8c9 | Blockchain Explorer] (Mar 19)
== Platform Prevention Policies ==
{{Prevention:Platforms:Placeholder}}


[https://bitcointalk.org/index.php?topic=277601.0 my wallets were stolen just now, can any one help me?] (Mar 19)
{{Prevention:Platforms:End}}


[https://en.bitcoin.it/w/images/en/e/e1/TxBinaryMap.png https://en.bitcoin.it/w/images/en/e/e1/TxBinaryMap.png] (Mar 19)
== Regulatory Prevention Policies ==
{{Prevention:Regulators:Placeholder}}


[https://bitcointalk.org/index.php?topic=277595.msg2970668#msg2970668 <nowiki>Blockchain.info security [FUNDS STOLEN]</nowiki>] (Mar 19)
{{Prevention:Regulators:End}}


[https://www.blockchain.com/btc/address/1HKywxiL4JziqXrzLKhmB6a74ma6kxbSDj Address: 1HKywxiL4JziqXrzLKhmB6a74ma6kxbSDj | Blockchain Explorer] (Mar 19)
== References ==
 
<references>
[https://bitcointalk.org/index.php?topic=277595.msg2974140#msg2974140 <nowiki>Blockchain.info security [FUNDS STOLEN]</nowiki>] (Mar 19)
<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="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="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="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="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="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>
</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!

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.[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."

Key Event Timeline - Blockchain.info Transaction Signing Flaw
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