Also nearly all of the thefts that occurred where a result of a compromised email account which eventually led to root level access of the server through a virtual server console. Not as a result of bad programming that led to an exploit.
Also nearly all of the thefts that occurred where a result of a compromised email account which eventually led to root level access of the server through a virtual server console. Not as a result of bad programming that led to an exploit.
That said, I expect we will see some really hardcore Bitcoin security incidents in the future that rival state sponsored hacking.
Stealing Bitcoin requires no additional effort to profit. Since Bitcoin is money and easily made anonymous, stealing Bitcoin == profit. Therefore there exists an arbitrage opportunity between the cost of buying 0-day exploits and the Bitcoins that can be stolen by use of those exploits. I expect as Bitcoin goes up in value so will the cost of a certain class of exploit.
What kind of software stack would you run if you were operating a Bitcoin bank that held a large amount of funds?
Two computers, A is trusted and B is untrusted. B is networked and hooked up with the rest of your system, A is in a vault and completely air-gapped. A has your wallets.
Give both a printer and webcam/scanner to both. B prints a transaction encoded as a QR Code (or something custom, if those don't hold enough data?) as well as key details (transaction amount say) in giant black bold capitalized English.
The human operator checks the english description for sanity, then gives it to computer A. Computer A reads the QR code, does OCR to confirm the key details (or lets the operator confirm them on the screen) and the QR code match, and preforms the transaction.
This could work at a "local bank branch scale" I think, but getting it up to "website scale" would be... improbable.
Not sure if I would trust this with my money, but it would be fun to implement.
(technically A wouldn't be air-gapped, it would just be operating over a QR-code sneakernet.. Should be reasonable though I think.)
IIRC, it's possible to create a one-way TP cable. Might be a little more feasible :)
There's a flaw in your system right there.
Lots of industrial accidents and accidents with computers have been from stupid operators (rather than buggy code per se).
Secondly the client facing stack can not interact with the server holding the wallet file directly. It would have to go through a third server which would run sanity checks on any transaction requests.
It depends if Bitcoin becomes big and popular. If so, then yes, there will be lots of hacking attempts. If these security flaws with bitcoin sites keep appearing, then it will never get beyond 'toy' status.
It should not be possible for there to be a virtual machine console, or for one compromised email account to give you that much power. That's how you do security.
And just because you get root access to a server does not mean that it should be trivial to gain access to the bitcoins. And why are they being hosted on VPS in the first place ?
The point is still valid that a true PROFESSIONAL is desperately needed.
If a burglar has the choice between a car worth $50,000 retail or $10,000 cash, what would he rather take? A stolen car is a lot harder to turn into something usable.