Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: dscotese on March 20, 2013, 07:34:36 PM



Title: Hacking Bitcoin
Post by: dscotese on March 20, 2013, 07:34:36 PM
It seems foolish to believe that no one is trying to find a way to damage the bitcoin economy.  Governments, central banks, payment processors, credit card companies, ... the list goes on and on of entities whose bottom line is threatened by bitcoin.

So I wonder if it would be a good idea to start having open discussions about the same things that they are likely discussing in private.  For example, is there a way to exploit the vulnerability of the pre-0.8 clients to fork the chain?  Of course this seems dangerous.  Anyone who read the Hunger Games books remembers Gale's concern about a new kind of attack that was later exploited.

When I was in college I played chess and I always enjoyed discussing my moves and plans openly.  Part of the reason for this is that my ability to handle complexity was a bit stronger than that of others, so I got to help them see the fixes I was planning to put them in.  I imagine that everyone I played, along with myself, got much better at chess because of this openness.

Part of the reason I am comfortable openly discussing possible avenues for hacking our economy is that I have faith in humans.  For the most part, people are good.  The more we learn, the better we get along, generally.  The bitcoin community can win converts from those threatened by it at a rate much higher than they can win converts from us, simply because bitcoin respects individuals, places responsibility for their dealings squarely in their own hands, and does not rely on coercion of any kind.

Before those of us who have answers for the following question make them public, perhaps it would be a good idea to discuss whether or not publicizing them is wise.  I think it is, but that is based on a faith in human beings that I admit may be misplaced.  (If it is, my world will change, but it will be difficult to convince me.)

If you're comfortable letting the world know about Bitcoin's vulnerabilities, what are they and how should we expect those threatened by it to leverage them?  (And how will we therefore protect ourselves from them?)


Title: Re: Hacking Bitcoin
Post by: RodeoX on March 20, 2013, 07:40:10 PM
I also think this should be openly talked about. If bitcoin needed to keep a secret that would hurt, it then it would be doomed to fail.


Title: Re: Hacking Bitcoin
Post by: dscotese on March 20, 2013, 08:06:31 PM
The best attack I can come up with right now is this:
  • Create two wallets (or two addresses)
  • Buy some bitcoin into one wallet
  • Transfer bitcoin back and forth as fast as possible to flood the network.
Set up as many machines as possible doing this.

I don't know if there's a throttling mechanism in the client but shouldn't the transaction fee make it relax?  So if there is, the attacker will still have to pay miners in order to make this attack.

Ultimately, the network communications required by Bitcoin can suffer from a Tragedy of the Commons.  Perhaps the answer to this (whether it's an attack or not) is the addition of a feature in the client that allows the user to set a bandwidth threshold.  So if a user sets the threshold, then any peer that wants to exceed it will be rejected unless the user added that peer to a whitelist.

Or is Bitcoin network flooding already impossible (even for entities that are legally permitted to print money)?


Title: Re: Hacking Bitcoin
Post by: Gavin Andresen on March 20, 2013, 08:17:11 PM
Suggestion: instead of talking endlessly about possible attacks, try them out on the -testnet test network.

That is what it is for.

Oh:  except Sybil attacks, which just aren't very interesting on a network like testnet that has only a couple dozen peers on it.


Title: Re: Hacking Bitcoin
Post by: r.willis on March 20, 2013, 08:21:36 PM
If it costs you money, it's not very feasible. It's one of the reasons why there are fees.
I think there is no way to tell legitimate transaction from flood (as long both follows the rules). Which rules it's whole other question.
Limiting bandwidth will hurt network in the long run. Propagation times will be high.
People can start to put dedicated bitcoin servers on VPS hostings (some of which are dirt-cheap now) to help network.


Title: Re: Hacking Bitcoin
Post by: dooglus on March 20, 2013, 09:03:19 PM
The best attack I can come up with right now is this:
  • Create two wallets (or two addresses)
  • Buy some bitcoin into one wallet
  • Transfer bitcoin back and forth as fast as possible to flood the network.
Set up as many machines as possible doing this.

Somebody already tried this (http://www.satoshidice.com/).


Title: Re: Hacking Bitcoin
Post by: dscotese on March 20, 2013, 09:46:38 PM
The best attack I can come up with right now is this:
  • Create two wallets (or two addresses)
  • Buy some bitcoin into one wallet
  • Transfer bitcoin back and forth as fast as possible to flood the network.
Set up as many machines as possible doing this.

Somebody already tried this (http://www.satoshidice.com/).
Yeah - I was going to point out that such an attack will work as much to strengthen the bitcoin economy as it will to weaken it, and that site is a good example.


Title: Re: Hacking Bitcoin
Post by: Humanxlemming on March 20, 2013, 10:37:40 PM
On the wiki I think it is they tell you that for someone to hack into a block they would have to rebuild all blocks upto that block and then they will be able to hack into it but the fork has probably increased them security.


Title: Re: Hacking Bitcoin
Post by: Luke-Jr on March 21, 2013, 01:33:00 AM
The best attack I can come up with right now is this:
  • Create two wallets (or two addresses)
  • Buy some bitcoin into one wallet
  • Transfer bitcoin back and forth as fast as possible to flood the network.
Set up as many machines as possible doing this.

Somebody already tried this (http://www.satoshidice.com/).
Yeah - I was going to point out that such an attack will work as much to strengthen the bitcoin economy as it will to weaken it, and that site is a good example.
... except it doesn't strengthen Bicoin at all.


Title: Re: Hacking Bitcoin
Post by: hardcore-fs on March 21, 2013, 01:41:47 AM
A rather  sad example of damaging bit-coin.(or indeed most crypto currency networks)

As many are aware we have satosi-dice using the system as a messaging conduit.

One of the hardest problems   a bot writer  has to accomplish, is a messaging conduit that cannot be taken down.
Potentially bit-coin (or indeed any crypto currency) could provide a completely solid messaging conduit for a bot network, in effect a system integrated into the block-chain of any crypto currency that would allow untraceable command structures to be established with a bot-net.

There are a number of issues to overcome, but with a little work it may even be possible to issue code updates via the bit-coin network to such clients.



Title: Re: Hacking Bitcoin
Post by: dooglus on March 21, 2013, 01:49:39 AM
One of the hardest problems   a bot writer  has to accomplish, is a messaging conduit that cannot be taken down.
Potentially bit-coin (or indeed any crypto currency) could provide a completely solid messaging conduit for a bot network, in effect a system integrated into the block-chain of any crypto currency that would allow untraceable command structures to be established with a bot-net.

Interesting idea.  You could even use transactions that are unlikely to confirm.  They'll be passed around the p2p network, and will work as a robust messaging mechanism.


Title: Re: Hacking Bitcoin
Post by: jgarzik on March 21, 2013, 02:12:23 AM
The wiki has a long list: https://en.bitcoin.it/wiki/Weaknesses



Title: Re: Hacking Bitcoin
Post by: hardcore-fs on March 21, 2013, 02:17:09 AM
Yep....
I had worked on the research with someone else, initially we had envisaged it as a way of forcing transaction payments up, basically since the implementors of bitcoin would not want the network to be used as such a system (Microsoft/norton recently spent millions taking a bot-net down)
Hopefully such usage would force a change in the code base to make such usage of the network 'cost prohibitive' and in doing so cause a situation where 'forced payment' would be implemented for transactions.(thereby increasing the block reward!!!)

With a simple modification of the 'bot-net' it might be able to use a metadata system to set a minimum fee-per transaction......
purely as a side effect of an attempt to shut down the usage of the network for such abuse.......
The community on the whole would accept such a 'fix' as a way to keep the network up, far more easily than any attempt to directly influence a change in transaction cost. (you can lead a horse to water but cannot force it to drink..)

Yep I know about the 'cost of transactions' and this statement

" An attacker will eventually run out of money. Even if an attacker wants to waste money, transactions are further prioritized by the time since the coins were last spent, so attacks spending the same coins repeatedly are less effective."

But we had a solution...


Title: Re: Hacking Bitcoin
Post by: RodeoX on March 21, 2013, 02:17:24 AM
Suggestion: instead of talking endlessly about possible attacks, try them out on the -testnet test network.

That is what it is for.

Oh:  except Sybil attacks, which just aren't very interesting on a network like testnet that has only a couple dozen peers on it.

I am confident that any attack I could launch would fail. I think that because the stakes are as high as the value of a bitcoin.  Yet thieves and vandals have failed to successfully attack the bitcoin network thus far. But yeah, point taken.


Title: Re: Hacking Bitcoin
Post by: dooglus on March 21, 2013, 03:10:18 AM
and in doing so cause a situation where 'forced payment' would be implemented for transactions.(thereby increasing the block reward!!!)

... and drive away users, and make the value of Bitcoin nosedive.  Enjoy your increased-but-worth-less block reward?


Title: Re: Hacking Bitcoin
Post by: Sergio_Demian_Lerner on March 21, 2013, 04:23:23 PM
Yet thieves and vandals have failed to successfully attack the Bitcoin network thus far. But yeah, point taken.

The fact that thieves have failed only mean they didn't tried enough. Think about the vulnerability https://en.bitcoin.it/wiki/CVE-2012-4684 (https://en.bitcoin.it/wiki/CVE-2012-4684). There was a time window where an attacker could have taken the whole network down for days.
Did this happened? No. Why? Because we found the vulnerability before the attackers did.

We've spent so much time thinking about Bitcoin security than we think we're a step ahead of the attackers. This is a game we can generally win, but eventually loose.


Best regards, Sergio.



Title: Re: Hacking Bitcoin
Post by: RodeoX on March 21, 2013, 04:44:42 PM
Yet thieves and vandals have failed to successfully attack the Bitcoin network thus far. But yeah, point taken.

The fact that thieves have failed only mean they didn't tried enough. Think about the vulnerability https://en.bitcoin.it/wiki/CVE-2012-4684 (https://en.bitcoin.it/wiki/CVE-2012-4684). There was a time window where an attacker could have taken the whole network down for days.
Did this happened? No. Why? Because we found the vulnerability before the attackers did.

We've spent so much time thinking about Bitcoin security than we think we're a step ahead of the attackers. This is a game we can generally win, but eventually loose.


Best regards, Sergio.


Those are good points. Still it would take a lot of effort, timing and luck to take advantage of a fork. It is also not clear that one could get away with it. I'm not saying we should take our eye off the ball, but there is reason to believe in the security of bitcoin.


Title: Re: Hacking Bitcoin
Post by: 2112 on March 21, 2013, 05:15:33 PM
... and drive away users, and make the value of Bitcoin nosedive.  Enjoy your increased-but-worth-less block reward?
Do you really think that making something more pricey will drive away users? There is a delicate balance between being too cheap and too expensive.

On this board you can probably review the marketing and pricing of the NEFT vodka.

The good, well documented case of marketing to upscale users is how Vulcan database became really popular after rebranding it to dBase II and rising the price several times.


Title: Re: Hacking Bitcoin
Post by: dscotese on March 21, 2013, 11:40:41 PM
Yet thieves and vandals have failed to successfully attack the Bitcoin network thus far. But yeah, point taken.

The fact that thieves have failed only mean they didn't tried enough. Think about the vulnerability https://en.bitcoin.it/wiki/CVE-2012-4684 (https://en.bitcoin.it/wiki/CVE-2012-4684). There was a time window where an attacker could have taken the whole network down for days.
Did this happened? No. Why? Because we found the vulnerability before the attackers did.

We've spent so much time thinking about Bitcoin security than we think we're a step ahead of the attackers. This is a game we can generally win, but eventually loose.

Best regards, Sergio.
I just remembered that my desire here was to join a group of hackers, levy attacks until we are successful, and then stop in the middle of it in order to help fix the damage and code up prophylactics.  Part of the safety net I imagine we'd use is to have a strong IRL web of trust - I know some coders personally who are interested in bitcoin and I would trust them with (some) of my passwords.  That group would sign some kind of publish-in-case-of-treason document that would identify us all so that a witch hunt could begin if our hacking efforts proved "too" successful.

It would be nice to know that there are already groups doing this, but also I wouldn't expect to find out about them except from people I know in real life.

It will suck to eventually lose unless the winning "criminals" are either such a group with good intentions or else include some individuals smart enough to maintain a kill-switch in the attack.


Title: Re: Hacking Bitcoin
Post by: Sergio_Demian_Lerner on March 22, 2013, 01:10:16 PM

It would be nice to know that there are already groups doing this, but also I wouldn't expect to find out about them except from people I know in real life.


I think there is a group of people actively monitoring Bitcoin security: Gavin, Mike, Pieter, Gregory, Luke-jr, and me (Sergio). This list is not exhaustive, of course, as there may be a hundred other people doing it with less involvement. Although I don't work with the core devs, we collaborate. When I found something, I talked with the core devs and then we worked together to diagnose the problem. If you have an idea of a vulnerability, first do some research yourself, better if you write code to exploit it, and then if you still think it is worth investigating further, talk with Gavin. He's will listen to you.



Title: Re: Hacking Bitcoin
Post by: Dabs on March 22, 2013, 02:28:45 PM
Humanity is good. But humanity is also bad. There are good people, but the bad people exist. Reality makes us realize that we do not live in a paradise, that strong men will attempt to take advantage of weaker men.

There is a saying, Criminals prefer unarmed victims.

But open discussion about bitcoin security (and about any other security) is good. Cryptography is an example field where obscurity is generally frowned upon except secrets that must remain secrets (like private keys and passwords.)

The good thing is that we are civilized. Civilization is the restraint of power.

As a parent, if you come near my child or get too close, I will kill you. But most of the time, I have no reason to so I won't. This is evident in the animal kingdom. Don't get too close to baby bear, or mama bear will kill you. Kill first, talk later. But animals are neither good nor bad (at least they are not evil in the same sense that humans can be evil or bad.) They just are. That's their nature.

Anyway, the topic was about hacking bitcoin. So ... one way I have seen is to force another fork by creating bad blocks on purpose. I don't know if that will work, but the fork happened "naturally". What if some group keeps doing it on purpose repeatedly.


Title: Re: Hacking Bitcoin
Post by: r.willis on March 22, 2013, 03:06:01 PM
Bitcoin has two major parts: cryptocurrency and p2p network. I think we will see attacks against p2p part (DoS, identity leak, censorship etc) in near future.


Title: Re: Hacking Bitcoin
Post by: madmadmax on March 24, 2013, 09:16:30 PM
It seems foolish to believe that no one is trying to find a way to damage the bitcoin economy.  Governments, central banks, payment processors, credit card companies, ... the list goes on and on of entities whose bottom line is threatened by bitcoin.

So I wonder if it would be a good idea to start having open discussions about the same things that they are likely discussing in private.  For example, is there a way to exploit the vulnerability of the pre-0.8 clients to fork the chain?  Of course this seems dangerous.  Anyone who read the Hunger Games books remembers Gale's concern about a new kind of attack that was later exploited.

When I was in college I played chess and I always enjoyed discussing my moves and plans openly.  Part of the reason for this is that my ability to handle complexity was a bit stronger than that of others, so I got to help them see the fixes I was planning to put them in.  I imagine that everyone I played, along with myself, got much better at chess because of this openness.

Part of the reason I am comfortable openly discussing possible avenues for hacking our economy is that I have faith in humans.  For the most part, people are good.  The more we learn, the better we get along, generally.  The bitcoin community can win converts from those threatened by it at a rate much higher than they can win converts from us, simply because bitcoin respects individuals, places responsibility for their dealings squarely in their own hands, and does not rely on coercion of any kind.

Before those of us who have answers for the following question make them public, perhaps it would be a good idea to discuss whether or not publicizing them is wise.  I think it is, but that is based on a faith in human beings that I admit may be misplaced.  (If it is, my world will change, but it will be difficult to convince me.)

If you're comfortable letting the world know about Bitcoin's vulnerabilities, what are they and how should we expect those threatened by it to leverage them?  (And how will we therefore protect ourselves from them?)

I don't see a reason to discuss bitcoin security.

Bitcoin is a lot more secure than computers in general, in short if a cybercriminal wanted to steal bitcoins he would most likely rewrite your homephone firmware, phish your information, install a trojan or malware than sabotaging the network itself.


Title: Re: Hacking Bitcoin
Post by: dscotese on March 24, 2013, 09:27:04 PM
I don't see a reason to discuss bitcoin security.

Bitcoin is a lot more secure than computers in general, in short if a cybercriminal wanted to steal bitcoins he would most likely rewrite your homephone firmware, phish your information, install a trojan or malware than sabotaging the network itself.
I wasn't really worried about individual theft.  What concerns me is the system as a whole.  The transaction fees that protect against spam are a good example of a solution to a foreseen problem, but transaction spam doesn't hurt individuals on their own, it just makes the whole system less useful, which is what the threatened industries would want.


Title: Re: Hacking Bitcoin
Post by: whitenight639 on March 25, 2013, 07:32:26 AM
I read an article just the other day about a hacker that used a botnet of nearly 500,000 compromised machines, he used them to run ping requests to build up the most detailed map of the internet,


If a hacker can have that many bots under his command then bitcoin is not safe yet, if an attacker could flood nodes with block download requests of fake / malformed transaction relays i'm sure it could be a sucessfull DDOS, I don't know what steps there are in the code to protect from this, because bitcoin is distributed devs may think its less vulnerable to DOS attacks but is it really? Anyway it's probably been thought about and isn't really a priority atm.