How about a piece of software that hooks into the filesystem and monitors wallet.dat for unauthorized access. That is, if any other program but the ones from the whitelist tries to access the wallet.dat, it should be able to prevent this and warn the user.

It is thus possible to have your own bitcoin anti-malware, and detect future threats before they affect everyone.

even worse - in order to get accepted by the community, some Wallet-Protection would have to be open-source. However, the moment some wallet protection open source software comes out, at least a dozen of forks of that software with a wallet-stealing function added will be mailed around the mtgox database leak!

However, for windows users there's already a secure option to that:a) work as user.b) create a second user accountc) run bitcoin as that second user(right click: run as)d) after running for the first time, set file permissions on that wallet file to "allow access for that user only!"e) unless you encounter some malware that can do a privilege escalation you'll be sufficiently safe.

If you use linux, either you won't get you wallet stolen, or you should consider thinking before entering sudo - a good approach here would be to create a second user, take yourself out of sudoers list, add that second user to sudoers, and if you have to be root to be doing something, simply use su <seconduser> -c "sudo whatever i want to run"

however, with "user-friendly" disstributions like Ubuntu supposing you to run sudo every second command, security for those users is pretty much a blast. Most important for linux users is to know what they are doing - they are usually safe then!

Working as limited user and creating seperate limited user account for Bitcoin is nice idea. Will help if running as limited user and executing wallet stealing program, if the stealer does not contain keylogger to get creditentials for the second Bitcoin account. Not even necessary to mess with NTFS permissions, because by default it is set properly on %APPDATA% folder where Bitcoin data resides. But it all comes down to this: Most Windows software must be installed or upgraded from administrative account. From time to time you also must run cracks for the software you install. If some crackpot binded crack with malware, and you run it as admin, your coins are gone.

well, i'm sorry I did not consider this, as I do no longer use windows, however as a last resort you could use a virtual machine to run bitcoin. CoLinux for example offers the lowest overhead while being completely transparent. And the best is that I don't know any malware being able to tamper with processes in a virtual machine.

The malware might no be able to interact with processes within virtual machine, but the malware can give the attacker full control over your computer, including mouse and keyboard. The hacker can interactwith your computer just like you do, and transfer your coins using mouse and keyboard. And it's only matter of wasted time and lines of code before targeted malware appears that is able to tamper with virtual machines directly, if the need ever comes.

Antivirus is no protection. It will not detect properly crafted malware for weeks, sometimes even months. I know what i say.

If we're aiming for Bitcoin to be used by the average person, shouldn't wallet encryption be (an optional) part of the actual official Bitcoin client itself? The average user isn't going to know how to, or want to, go changing file permissions. A combination of security and ease of use is going to be the key.

Maybe there could be something where the Bitcoin client requests a password each time you want to perform a transaction?

Built-in password protection of wallet.dat file can help in situations when you only have wallet.dat file and no keylogger on the target system. Using computationally expensive decryption like in KeePass will delay the dictionary attack. But it will fail if the system is infected and attacker waits until you enter password for wallet.dat and then steal your wallet and coins.

If Bitcoin really becames widespread, the users will start to really care about security of their computers and be carefull what they do. The times when users was afraid from running setup.exe and asked more experienced users to assist in installing software will return.

And how about software targeting and disabling the anti-malware or using remote desktop to send all your coins to me?

Only real security is:1. Don't run malware on your computer. Ever.2. Keep computer free from 0-day exploits and configure it properly.3. Encrypt the harddrive with diskCryptor or TrueCrypt.

And how are you going to protect yourself against a 0-day exploit?

Easy, your BitcoinWalletProtect[tm] will warn you that a new unknown process is accessing your (hopefully smaller and secondary) wallet file and ask you to allow access!

Sure, you can have your Explorer, your Kaspersky or NOD32 scanners access it, but they are on the whitelist. As soon a new unknown (and unlisted) process tries to access your wallet, not only should you know, but you should be protected (not likely that someone can code a kernel driver that won't crash your system and prevent file access at the same time with a regular antivirus running, but hey, there is hope). Nobody can steal your wallet unless they read the file. Encrypted or not, this happens first.

From time to time you also must run cracks for the software you install.

LOL really? Either buy the software or install a free software alternative. Running an untrusted binary is something that you must not do if you want your computer to be secure.

Probably americans can buy all the software they want and it costs to them less than they spend on dinner in restourant. But for some people not so lucky to born in developed country and rich parents, the software costs are too high. For example MS Office Enterprise will cost me about 2 years of income. And none want to use inferior alternatives. Yes, I can use Open Office and I like OOo, but I also like to have both MS Office 2007 Enterprise and OOo on my computer. If OOo will have problems with some docs, I will use the MS Office with the sucky ribbon.

About untrusted binaries you got it right. But we sometimes need to use them. Not only cracks, some technical tools also. Good if they can be run in virtual enviroment like VMWare.

Quote

Easy, your BitcoinWalletProtect[tm] will warn you that a new unknown process is accessing your (hopefully smaller and secondary) wallet file and ask you to allow access!

The next wallet stealer version will either kill the wallet protector process or patch/bypass it. The Bitcoin running as server is another option. This is arms race, and smart people will always be few steps in lead.

Easy, your BitcoinWalletProtect[tm] will warn you that a new unknown process is accessing your (hopefully smaller and secondary) wallet file and ask you to allow access!

The next wallet stealer version will either kill the wallet protector process or patch/bypass it. The Bitcoin running as server is another option. This is arms race, and smart people will always be few steps in lead.

True. So we don't try at all? I should turn my firewall and antivirus off. It's not like the next malware or attack won't disable them anyway?

Easy, your BitcoinWalletProtect[tm] will warn you that a new unknown process is accessing your (hopefully smaller and secondary) wallet file and ask you to allow access!

The next wallet stealer version will either kill the wallet protector process or patch/bypass it. The Bitcoin running as server is another option. This is arms race, and smart people will always be few steps in lead.

True. So we don't try at all? I should turn my firewall and antivirus off. It's not like the next malware or attack won't disable them anyway?

There is difference between writing next to useless application and intentionally sabotaging security measures.

And how about remote access tools like Radmin? You still can use software like that to interact with target computer and make transaction on your behalf.

Probably americans can buy all the software they want and it costs to them less than they spend on dinner in restourant. But for some people not so lucky to born in developed country and rich parents, the software costs are too high. For example MS Office Enterprise will cost me about 2 years of income. And none want to use inferior alternatives. Yes, I can use Open Office and I like OOo, but I also like to have both MS Office 2007 Enterprise and OOo on my computer. If OOo will have problems with some docs, I will use the MS Office with the sucky ribbon.

You might want to consider looking for a technet subscription, in 'non-developed' countries MS usually throws it in free if you ask them nicely and say that you are a starting developer on 'their' platform. With that subscription you can pretty much download every piece of mainstream software that MS has ever produced and get 10 official full commercial usable product keys, per product version. Though after three years or so they probably going to require payments, for renewed subscriptions (your keys will continue to work).