As a malware analyst , I can tell you it is entirely possible to get in, get out and leave no signs. Take a keylogger for example. Anti-virus applications are based primarily on signatures & heuristics.
For the signature , executable packers known as "crypters" are available which basically use a form of encryption RC4, XOR, etc. and attach those to a "Stub" . The stub loads the encrypted "payload" into memory , which is able to sneak past the antivirus as it can't decrypt the payload and an attempt would cost too many CPU cycles, rendering their product slow, etc. etc. Once the encrypted data is in memory , the stub decrypts it , and resumes the "frozen" process. This effectively bypasses AV.
For defeating heuristics simple time puzzles or pointless API calls or any process that eats CPU can effectively "time out" the AV engine causing it to abort analyzing the file.
If the payload is created correctly, it is possible to steal wallet.dat , or ONLY start the "server" process when bitcoind.exe is running. After either recording your passphrase or uploading your wallet.dat file, the file "melts" and leaves no evidence behind
thats really interesting, thanks for your insight.
it just goes to show how important it is to practice safe browsing and really be aware of what the threats are out there.
Seeing as how dealing with malware is your profession can you offer any tips that may benefit newbies and the rest of us? Maybe make a new thread if its indepth.
I believe knowing what exactly the threats are and how they work make them seem more real and make newcomers to bitcoin take security more seriously
Analyzing malware is a hobby of mine, my day-to-day job is as a software engineer. A great tip would be to download Sandboxie and do all your browsing and run all downloaded applications (if you must download them from not-well-known sites ) inside a sandboxed environment. This way if you do happen to download malware it will have little chance at actually infecting your system.
The fact is , 0-day exploits exist as well . Take a look at MS08-067 :
http://technet.microsoft.com/en-us/security/bulletin/ms08-067This was a well-known exploit that went unprotected for quite a while and even today in "lab" test one can find machines still vulnerable. It allowed for hackers to upload their infected payloads without any user interaction. Things you hear over and over again like "install the latest updates " are repeated for a reason.
A second tip would be to "Know Thy Enemy" . Do research on commonly used malware such as "DarkComet RAT", "CyberGate RAT", and "BlackShades". Fact is, there are plenty of custom-made backdoor programs that can go undetected for years.
Using a firewall one can set a Deny All rule for all incoming & outgoing connections and allow on a case-by-case basis.
MD5 and SHA-1 hashes are extremely helpful in verifying the validity of downloaded software. If you are an extremely paranoid person like myself , I'd suggest downloading a Live CD of Ubuntu or your preferred Linux distro, verifying the MD5 signature, and booting from that CD . Create a new wallet and transfer all your funds to that wallet. Encrypt it, and then copy to USB which has been formatted (even better , zeroed out w/ Eraser or equivalent. Your USB device could have been previously infected to where it autoruns malware from a hidden area. )
Lastly, make sure your wireless network is using WPA/WPA2 with a unique password of at least 12+ alphanumeric characters with a few special symbols as well.
Tools like Ettercap, Arpspoof , and SSLStrip can be run on a cracked WEP network and regardless of how safe you are with your local machine, everything transmitted over your wireless can be intercepted. Use wired connections where possible.
To simplify and be more practical: don't download software from unknown sources, stay up-to-date on patches and antivirus definitions, and use a different password or 2-factor authentication for sites which hold sensitive information.