KeePass is a program in which you can store your password and copy and paste them into websites. Does anyone know if it is safe against key logging software? Does key logging software pick up what you copy/paste?
The point of keepass is not to prevent keyloggers. (Granted incidentally it will almost prevent hardware keyloggers; someone inserting a keylogging device between your keyboard and computer will not be able to observe a password you used once via cutting and pasting. It doesn't really succeed in this task though, as an attacker could trivially record your login details as well as the passphrase used to unlock your keepass file and then access all of your passwords).
It's main benefits are:
- Never reuse a password (every site has a unique password), so if a password at example.com is leaked your other passwords are not compromised. Never accidentally enter the wrong password at the wrong site if you can't remember which one you used.
- Easy to generate strong random passwords at each site; e.g., 20 random upper/lower/numbers/symbols for each site, without difficulty of copying, or difficult to remember to clear your history.
- Easy to protect with one global strong passphrase and keep in a strong encrypted file that you can back up and sync among your computers. (And it doesn't lock you into one web browser or OS).
The major downside is that you shouldn't have any applications that record your clipboard history while using keepass.
From the offical website:
The Auto-Type feature of KeePass is very powerful: it sends simulated keypresses to other applications. This works with all Windows applications and for the target applications it's not possible to distinguish between real keypresses and the ones simulated by Auto-Type. This at the same time is the main disadvantage of Auto-Type, because keyloggers can eavesdrop the simulated keys. That's where Two-Channel Auto-Type Obfuscation (TCATO) comes into play.
TCATO makes standard keyloggers useless. It uses the Windows clipboard to transfer parts of the auto-typed text into the target application. Keyloggers can see the Ctrl-V presses, but do not log the actual contents pasted from the clipboard.
Clipboard spies don't work either, because only parts of the sensitive information is transferred on this way.
Anyway, it's not perfectly secure (and unfortunately cannot be made by theory). None of the currently available keyloggers or clipboard spies can eavesdrop an obfuscated auto-type process, but it is theoretically possible to write a dedicated spy application that specializes on logging obfuscated auto-type.
No, it is not a defense against key loggers. While it may protect against the most basic of key loggers, a smart key logger will hook in to the actual mechanism that enters characters (whether coming from the keyboard, an on-screen keyboard, or the paste buffer).
The only strong defense against key-loggers is some type of one-time method, such as a one time password. This also has to be coupled with a trusted connection to the server so that an attacker can't intercept the one time password or hijack the user's session. Good user education is also needed to ensure that users report if they attempt to connect and fail when their credentials were correct. (An attacker could present a valid challenge, get the response and then prevent it from going to the server if they have local control. They can then use the code to connect from their own system, but they would have to make it appear to the user that the connection failed.)
A smart malware which got on your computer can even benefit from a password manager like KeePass to steal all your passwords at once. On a PC it is simply not possible to completely protect processes against each other. A malware could intercept your KeePass master password and keyfile when you log into your password manager and use it to decode your password database in the same way your password manager does.
But this should still not prevent you from using one. The benefit of having unique, very long and completely random passwords for everything greatly outweights the risks.
The clipboard on Windows is shared by all applications. A keylogger can not log whats being copy and pasted, however the keylogger can detect if your copy and pasting something. Since the clipboard is shared among all programs, you could write a program to view and dump the data in the clipboard. So while it is not actually possible to log copy and pasted data, it is still possible to view and dump it.