A very valuable vulnerability
daemonology.net
daemonology.net
"Isaac Asimov's remark that in science 'Eureka!' is less exciting than 'That's funny...' applies equally to security vulnerabilities."
That should be on a poster in every security engineer's view. I cannot count the number of times a really big problem was uncovered by a very small, yet unexpected, anomaly. It was also the core of Cliff Stoll's quest to find the hacker who hit UC Berkeley. Bottom line, never let that sort of observation go until you fully understand why it happened.
To reduce binary size and/or discourage reverse engineering, the names can be stripped out.
Stripping binaries generally refers to removing debugging information of all sorts.
There's a word for incidences where you hear something once, and then see it everywhere. I just looked him up[1] the other day because someone linked to this article[2] elsewhere, and I happened to decide to look up the author of the article.
[1] https://en.wikipedia.org/wiki/Clifford_Stoll
[2] http://www.newsweek.com/clifford-stoll-why-web-wont-be-nirva...
Ever since I learned about selection bias, I see it everywhere.
If they're smart and ran the exploit via Tor -> VPN (as to not get caught by automatic Tor filters) and then took the coins through a few mixers and onto a russian exchange, they could then sweep them back into a wallet in near-complete safety.
Laundering bitcoins is challenging and risky due to the nature of the ledger - all transactions since mining must be known for all time - if you were to look at something like Monero or ZCash, things get a lot easier and you get cryptographically unbreakable anonymity rather than socially and legally difficult-to-break complexity.
The $0 case is the case where hostage taking starts to become mainstream. I'm actually shocked it isn't happening more in places like Brazil. Perhaps cyber criminals aren't smart to begin with and are (rightfully) wary of things like computers, but I expect that this will change over time. Once MPs in Canada start getting kidnapped and ransomed there will be public outrage to do something. The problem is that due to the decentralized nature the best you can hope for is to block it / make it illegal within the country. If every country does this it's value will go to 0 or just above.
The other case is where Bitcoin solves the financial problem of our time: other Governments / financial institutions can't be trusted this provides (among other things) a way of transferring $100m securely for 0 cost. It also allows individuals to avoid exponential inflation. Just an unbelievably useful service that if you make illegal before other countries and it takes off leaves your economy in much worse shape since the appreciation of the coins has gone largely to other individuals.
My pet conspiracy theory that I don't really believe, but I like to entertain, is that Bitcoin was an American intelligence operation to ensure currency dominance in an era of weakening US influence. Satoshi himself has quite a bit of Bitcoin (around 1M BTC / $100m USD) and it would be fairly easy for an NSA staffer to raise his hand in a meeting and say "Hey guys, we should mine this stuff because it will be useful for buying zero days from cyber criminals one day."
But maybe I'm giving the NSA more credit than they deserve.
Taking Bitcoin isn't the part that gets you caught, it's the spending it somewhere that does. This is often the same with real money.
Like I said, the best you can do is mixing and similar, but you know what criminals actually primarily use? Cash. Cash is fungible and untraceable. If you're going to do some hostage taking, you may as well do it for cash rather than bitcoin, the only potential benefit of bitcoin would be verification might be easier than cash.
1. Even if all states prohibit BTC (a bigg if) there will still be demand from entities not under state control (black market), especially so in ineffective countries (socialist or wartorn or with just big slums). Consequently price won't go to zero because of this.
2. The biggest threat is BTC competitors because there can be infinitely many.
As for #2, I agree that that was a bigger risk early on, but the problem with taking on a second or third currency is it leads to the question of "what stops a fourth or fifth?" it's sort of a recursive proof that could lead you to conclude that either all crypto-currencies will be worthless or one will win. Since crypto-currencies are so inherently useful they probably aren't going to 0, so now the task is finding the winner. And despite ETH being more useful in some regards, and despite Burstcoin or Peercoin having better fundamentals it seems to be that the market has centralized around Bitcoin so out of the CC that exist today, for now I'd put BTC as a 99% chance to own the market 10 years from now if there is one.
It happens; gotta look out for those edge cases.
It's like the tax code. Leaving your profits in a foreign country to avoid paying higher taxes at home is not malicious, it's just the best way for you to comply with the law.
You'd also need to be shorting bitcoin at the same time and covering the short at the same time as sending the transaction, but that's not hard. (Or already have the money in an account and buy it on demand, but that will add a delay)
So you make money or don't do anything, stripe/coinbase is never paid for their risk.
The Black-Scholes price of an at-the-money option is very approximately 1/sqrt(2pi) * vol to maturity, so the option is worth somewhere around 0.3% of the notional price on a high-volatility Bitcoin day, somewhat less than the 0.8% transaction charge.
However, the charge is only paid if you go through with the transaction, so really this is an option that's 0.8% out of the money. With that assumption, the value of the option is just 0.08%.
Stripe guarantees a $101 quote to the merchant. That is, as long as the consumer pays 1 BTC within 10 minutes, the merchant will get $101 -- essentially Stripe buys BTC at $101. But Stripe is not selling BTC at $101! So even if the bitcoin price goes down 5 minutes later so that Stripe promises to buy at $100 (for new orders), it's not necessarily true that the consumer can buy at $100.
Any idea what proportion of merchants using Stripe's bitcoin handling actually do this automatic refunding?
It's a very interesting vulnerability and I enjoyed reading the write-up and thought process, but I'm not sure how practical it is if it requires interaction from the merchant to perform the refund. I think an overpayment and refund request weeks after the initial payment (when coincidentally the BTC value has reduced) would definitely ring some alarm bells - hopefully with both the merchant and the team at Stripe.
I guess you could spread out your overpayments amongst different merchants and try and limit the time between the initial purchase and the refund requests but the entire thing seems a bit convoluted to pull off.
In any case, kudos to the author for the responsible disclosure and for Stripe for handling this professionally.
You only need to find one. Or sign up as a Stripe customer yourself -- they'd have a hard time proving that it was you who made the overpayment rather than one of your customers.
I think an overpayment and refund request weeks after the initial payment (when coincidentally the BTC value has reduced) would definitely ring some alarm bells
Maybe... but "oops I sent the coins to the wrong address" is a pretty plausible story. If there's one thing I've learned from accepting bitcoin payments at Tarsnap, it's that poor bitcoin client UIs seem to be responsible for a very large number of mistakes. (The most common one I see is failing to adjust for the miner fee.)