News for hackers. Stuff that matters.
Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by abstractbeliefs on Tuesday August 02, 2016 @07:09PM (#12214147)
As much as the joke about bitcoins "take the money and run" exchange business model is bandied about, how do people actually suggest securing exchange wallets?

I'm sure it's talked about, but I've never really found a straightforward explanation of how it should be done - is there even an agreed upon set of best practices? If so, why are these supposedly sophisticated exchanges not able to successfully apply them?

Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by STRML on Tuesday August 02, 2016 @08:03PM (#12214415)
Hey, Sam here, CTO of BitMEX - we're a crypto derivatives exchange that's been open since 2014. When we founded BitMEX, we went through a long period of discussion among the partners on this topic. We were just coming off the low of watching the MTGox heist and it it was obvious that wallets were becoming the #1 point of failure on any exchange.

Ikeboy(sibling comment)'s explanation is as good as you'll get, in my opinion. And you can even skip steps 2 and 3, as we have done for two years on BitMEX.

It's our opinion that customer funds are simply too important to expose to this kind of risk, so we process withdrawals only once a day from airgapped multisig wallets. It's a bear, and it's slow - we developed a few internal tools to make the review process easier and separate signal from noise - but aside from some manual work we've never had a problem.

The #1 surprise, to me, was that customers don't mind the inconvenience. Sure, a few wonder why they can't simply get their funds immediately. But it's explained to them, they seem to appreciate the sensibility of managing this risk seriously. Compared to alternatives like ACH, at least it only takes one day and runs on weekends.

I can't imagine a nightmare worse than losing millions of dollars of other people's money. I hope for Bitfinex's sake that they are able to recover a portion and continue operating. We've spoken personally with much of the team and enjoy the relationship. They - and their customers - don't deserve this loss.

Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by martinald on Tuesday August 02, 2016 @08:47PM (#12214662)
I know in the US you are used to ACH which is dreadful, but in the UK everyone is used to faster payments which allows you to send £100k to anywhere in the UK, often fee free, within 2 hours. Usually it's actually within a few seconds.

Waiting a day for a transfer now seems hilariously outdated now to me.

I understand there are other benefits to bitcoin but something seems inherently wrong if transfers have to be intentionally delayed so long to make the system more secure.

Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by 300bps on Tuesday August 02, 2016 @08:58PM (#12214716)
I know in the US you are used to ACH which is dreadful, but in the UK everyone is used to faster payments which allows you to send £100k to anywhere in the UK, often fee free, within 2 hours.

My understanding is that the inconvenience of ACH is by design - they are security delays. If you need to send money from one account to another instantly, you use a wire. If you have the amount of money in your account that is typical of people that need to send wires, they are often freely included with your higher-end checking account. Wires send the money instantly.

Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by seanp2k2 on Tuesday August 02, 2016 @10:57PM (#12215267)
They send instantly after you sign the document and fax it back, after the bank manager approves the large amount, etc. It still takes a few hours to do the paperwork in my experience.
Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by adanto6840 on Wednesday August 03, 2016 @09:18AM (#12217694)
A good bank will allow you to do wires directly from their internet banking suite (commonly requiring 2-factor auth before using their wire-related tools).

I commonly see wires hit within ~30 seconds of hitting the "confirm" button, and almost always within <=5 minutes, and that's between separate US banks.

Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by pjc50 on Wednesday August 03, 2016 @05:08AM (#12216670)
'Faster payments' for me has a sort of 2FA: first payment to a given recipient causes the bank to call me (automated, not human), and I have to enter the code read out over the phone in order to process the transfer.
Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by mtkd on Wednesday August 03, 2016 @02:23AM (#12215992)
Just putting some kind of velocity protection on the BitGo side could have had the same effect - if transactions from a client are running a few deviations above normal then start to quarantine until confirmation from client they are valid
Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by softawre on Wednesday August 03, 2016 @10:50AM (#12218294)
They did that, but it was "bypassed" somehow.
Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by ikeboy on Tuesday August 02, 2016 @07:51PM (#12214359)
1. Have a cold wallet on an airgapped computer with 99% of your funds.

2. Have a warm wallet on a computer with a firewall that only connects to 3, with 1% of your funds

3. Have a web-facing server that sends back commands to 2 when it needs to send money.

2 alerts someone when it needs more money, who then goes to the cold wallet and transfers some, creating the transaction offline and using a new USB key to transfer it to a computer with internet.

The last step can also require multiple people if desired.

Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by robryk on Wednesday August 03, 2016 @01:33AM (#12215817)
When that person goes to the cold storage wallet, the only trustworthy information they have (assuming compomise of the online system) is how much money they are transferring. This means that this arrangement succeeds at making a trustworthy rate limit and nothing more.

If I wanted to make a trustworthy rate limit, I'd have the machine from (1) not airgapped, but connected by a serial (unidirectional) line to the machine from (2) along which it would periodically send signed transactions sending some of the money from "lukewarm" storage to hot storage, and sending change back to the very same "lukewarm" storage address. The machine from (1) can then implement a rate limit.

Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by ikeboy on Wednesday August 03, 2016 @07:05AM (#12217094)
But then a compromise of 2 and a zero day remote attack can exploit 1. 1 is offline so no attack not involving insiders can affect it.

Edit: actually nvm, didn't get the part about unidirectional. I don't deal with networking but I assume that's possible physically and there's no way to reverse the flow?

Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by ch on Wednesday August 03, 2016 @08:36AM (#12217458)
Thats correct: https://en.wikipedia.org/wiki/Unidirectional_network

Sometimes known as a Data Diode.

Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by berberous on Tuesday August 02, 2016 @08:02PM (#12214410)
"We don't use cold storage for bitcoin, since our implementation with bitgo we've used segregated customer wallets so that each user has their own bitcoin wallet." [0] This was hubris / stupidity.

[0] https://www.reddit.com/r/Bitcoin/comments/4vtuxo/bitfinex_se...

Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by makomk on Wednesday August 03, 2016 @06:16AM (#12216911)
No, it was US futures trading regulations (though arguably that's the same thing). For regulatory reasons they had to provide "actual delivery" of the bitcoins in question, and the CTFC held that cold storage didn't count as "actual delivery". See http://www.cftc.gov/idc/groups/public/@lrenforcementactions/...
Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by vamur on Wednesday August 03, 2016 @07:07AM (#12217104)
In that case they should have required users to also login to bitgo and approve any withdrawals. Otherwise, what's the point of Bitgo?
Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by bachback on Wednesday August 03, 2016 @06:43AM (#12217027)
The exchanges are not sophisticated at all. No single exchanges have opensourced their wallet technology. Kraken, Bitstamp and Bitfinex are using BitGo, a private source solution. The first would be to opensource a enterprise grade wallet which can be used for exchanges. And that's exactly what I'm working on. Then develop the procedures to secure funds with operational professionalism. Use of multi-sig is standard, but its not enough. Cold-wallet and transaction monitoring, deposit insurance, in combination with on-chain will develop over the next 1-2 years to keep deposits safe.
Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by elevensies on Tuesday August 02, 2016 @08:16PM (#12214474)
I've just run across this the other day, it is a set of guidelines for securing cryptocurrencies: https://cryptoconsortium.org/standards/CCSS . It is about the core crypto asset concerns, not about how to protect a web server.

Here is a report which uses the guideline to assess a company's posture after a hack: https://www.scribd.com/doc/309591980/ShapeShift-Postmortem (sorry about the scribd link, haven't been able to find pdf.)

Here is a narrative description of the hack that the above report is about: http://moneyandstate.com/looting-of-the-fox/

Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by xorcist on Tuesday August 02, 2016 @07:53PM (#12214364)
To start with, store most funds offline. A bank run (or hack) should be subject to intervention by a human. Contact customer if there is any doubt. Implement checks and limits for the remaining balance. Regularly audit and publish cryptographic proof you are in control of funds.
Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by Scirra_Tom on Tuesday August 02, 2016 @08:01PM (#12214400)
> Regularly audit and publish cryptographic proof you are in control of funds.

What good is that proof of control? Literally the next second it could be drained and no one would know until the next scheduled proof of control. I've never been sure what publishing proof of control is meant to protect against exactly.

Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by elevensies on Tuesday August 02, 2016 @08:31PM (#12214567)
It would protect against what happened with MtGox -- if, after losing some but not all customer funds, they tried to keep running the site to make back the money. It would protect you from putting money into a site that is already bankrupt.
Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by Scirra_Tom on Wednesday August 03, 2016 @09:03AM (#12217613)
Ah good point. But then how do you verify their figure on total customer deposits?
Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by elevensies on Wednesday August 03, 2016 @11:26AM (#12218620)
If privacy is not a concern, you can just publish a list of your liabilities at a given time. Each account holder can then verify the their own listing, calculate the total, and compare to the proven reserves.

There are more sophisticated schemes that allow you to check the amount in your account, and verify that your account was included in the total, without seeing the size of other accounts: https://iwilcox.me.uk/2014/proving-bitcoin-reserves .

Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by vamur on Wednesday August 03, 2016 @12:29AM (#12215588)
Maybe create a new address type on protocol level, where transactions from that address can be reversed within 36 hours with backup key(s)? Normal users wouldn't accept from these addresses but should be good enough for most exchanges for purposes of cold storage.

Though in this case it looks like it was a hack on a third party provider, which is why relying on third parties for core functions is not a good idea. Why would Bitfinex use that provider instead of a multi-sig cold storage is anybody's idea.

Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by robryk on Wednesday August 03, 2016 @05:17AM (#12216706)
See http://hackingdistributed.com/2016/02/26/how-to-implement-se... for a write-up on (I think) the exact thing you propose.
Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by vamur on Wednesday August 03, 2016 @02:48AM (#12216103)
Also, looking at reddit, they moved to a new datacenter recently. So could be that a datacenter employee stole code and database and then submitted the withdrawal requests from the stolen code to Bitgo. Not even sure how to protect against that.
Re:BitFinex down due to Bitcoin security breach - 120k BTC s... by Ironchefpython on Tuesday August 02, 2016 @11:38PM (#12215403)
> how do people actually suggest securing exchange wallets?

Why bother? It's much more profitable to pretend to secure the wallet, and then take the money and run.