9 ms·
My main fear with something like bitcoin is this: imagine a virus or worm that infects machines and then transfers all bitcoin found on that machine to an anony
by po 15y ago
My main fear with something like bitcoin is this: imagine a virus or worm that infects machines and then transfers all bitcoin found on that machine to an anonymous address. There is absolutely no recourse. Hell, it could be a bitcoin "client" that continues to display the correct amounts to the user without them realizing they're being fleeced.
- thorax 15y agoThis has also concerned me as well (and lots of others), and on Reddit we had some thoughtful discussion here: http://www.reddit.com/r/Bitcoin/comments/hid2r/how_will_you_lose_your_bitcoin_wallet_ill_tell_you/ http://www.reddit.com/r/Bitcoin/comments/hid2r/how_will_you_... One of the best suggestions in there is simply to separate your checking and savings accounts so that a compromise of your spending money doesn't leave you without any coins. There's also a link in there that says the upcoming clients will store the wallet locally encrypted and only decrypt in memory for transactions-- there are weaknesses to this (i.e. the bitcoin client trojan you mention), but it's better than what is done today to secure the file on disk.
- getsat 15y agoI already wrote some proof of concept code that steals a user's balance if they're using the Windows client. You'd just have to distill it down to shellcode and include it as a payload in a 100% silent driveby browser exploit. POC code for Linux/BSD would be trivial, too. I'm not sure about Mac, but there's probably a way to do it via automator or regular message passing. As I've been saying for a while on the BTC forums, the wallets will be the main target, not the crypto.
- coderrr 15y agoCompletely agree. Although your code wouldn't help make a worm. Because even though you could get the Bitcoin client's peer addresses you couldn't remotely exploit them. I'm worried about the bitcoin client being in c++ rather than java because that seems to make a remote code execution vulnerability a lot more likely. And given a single remote code exec vuln it'd be easy to make a worm which destroys the entire network.
- getsat 15y agoIt'd probably be easier to build a BTC-related website, let it grow a bit, then empty the wallets of everyone visiting it. It'd probably also be easier to compromise an existing site and throw your code/exploit up. I wouldn't try building a worm, that's for sure.
- 27182818284 15y agoThere is a BTC client written in Java, though it is very immature still. An employee from Google made it. http://code.google.com/p/bitcoinj/ http://code.google.com/p/bitcoinj/
- endian 15y agoI'm worried about the bitcoin client being in c++ rather than java because that seems to make a remote code execution vulnerability a lot more likely. Later this year there will be an awesome NodeJS version with native wrappers (Mac, ...).
- 3pt14159 15y agoNot a concern. Hackers encrypt their high balance wallet.dat then store it on dropbox/whatever. Spending money is kept in a bitcoin bank (say < 100 usd) which can be easily used and transfered. Once your bank wallet is too big or too small you just decrypt one of your wallet.dat files and transfer a portion of the money back to your bank wallet. Recrypt the now changed wallet.dat and you are good to go. Once/if normal people start using bitcoin I highly doubt that they would even bother with the client ("Encrypt my what? Wallet.dat? I could lose everything?"). They would probably just use a highly reputable bitcoin bank. It could stay anonymous because there could be "cash for bitcoin" like sites around cities and a transfer could be made into the bitcoin bank without anyone ever knowing. As for a virus in the bitcoin client itself, that has been tried a couple times. Each time someone tries a pull request with malicious code the forums/irc light on fire. Also, people are highly wary of new people submitting pull requests.
- tptacek 15y agoYou would have a hard time finding anyone who uses off-the-shelf cryptography so carefully that long-term resident code on their box couldn't capture all the relevant keys. Your comment seems wishful. People do the same segregation, between long-term non-transactional accounts and short term spending accounts, with their bank accounts. But businesses still need to keep non-connected isolated quarantined machines to access the bank. The comment you're responding to didn't argue that wallets couldn't be encrypted. He argued that in the (not unlikely) event that a malware incident on your machine was able to compromise your wallet, you'd have no recourse. And: he's right. You wouldn't.
- po 15y ago…in the (not unlikely) event that a malware incident on your machine… I believe it's even worse than that. The normal instinct as shown by this response is to centralize security into a "super secure" bank. I think that's exactly the wrong thing to do. I would put some on a linux box in my closet, some on my mac, some on my flash drive, some on my windows PC. People would lose money all the time in a system like this but it would be better than having a big fat juicy target in one location. I would be nervous living in a country where we're one data mishap away from not knowing who rightfully owns what, especially given our collective track record there. If people are serious about bitcoin, they need to get serious about adding identity into it.
- noonespecial 15y agoIf bitcoin really took off, I think people would use dedicated devices to store them, not their home computer/phone. That's the beauty of bit bitcoin. It's not just big banking or you matress. Innovation has just begun.
- pavel_lishin 15y agoExcept it's exactly my mattress, which I'll be hiding my dedicated device under.
- deleted 15y ago[deleted]
- adrianwaj 15y agoThe solution here would be a browser plugin (sandboxed) that presents like the bitcoin client in a tab but interacts with a cloud account (that is supposedly very well secured) to derive its information. The plugin could even interact with websites within a framework, or pickup bitcoin hyperlinks like with an emailto:.
- endian 15y agoThat's why you (and more importantly, non-security-savvy users) should use paper keys. https://github.com/bitcoin-labs/paper-keys https://github.com/bitcoin-labs/paper-keys