Re: Defeating keyloggers with encrypted one time passwords (a patent spoiler?)
- From: "Ichinin" <gurgel@xxxxxxxxxxxxxxxx>
- Date: 25 Dec 2005 15:35:43 -0800
(Sorry for dragging up this thread but..)
First; those one-time passwords are in use at many Swedish banks that
have customers logging in from the internet to pay their bills. You get
a small harware box for 2-factor auth when you get your internet bank
account. I also read somewhere about a 2 factor solution that did
challenge/response over the mobile phone network (which is rather cool)
There ARE programs that effectively can block keyloggers based upon API
functions say SetWindowsHookEx(), see:
Antihook http://www.infoprocess.com.au/
Processguard: http://www.diamondcs.com.au/processguard/
The question is: Can that kind of program be told to "do not disturb
the user" and block untrusted software from creating global hooks... we
will see.
Then we have signature keylogger detection - which is useless; using 2
lines in VB you can make a selfmodifying executable that makes a new
file hash every time it terminates..
A while ago i introduced a new type of keylogger
(GetKeyState/GetAsynchKeyState) which has taken off, but since the
latter are harder to code, i guess that not many keyloggers use those
API calls since you loose out keystrokes if you do it wrong.
(*** On the other side of keyloggers: One of my progs use such an API
call to detect if there is a user there, and use that activity to reset
a 5 minute counter; If that counter go over 5 minutes, it throws out
the cached session keys, passwords and usernames - then asks the user
to reauthenticate - so those API calls can sometimes be used to PROTECT
the security of the application as well.. ***)
Cutting/Pasting passwords into clipboard is also attacked by some
keyloggers, so using OSK.EXE or Charmap.exe is not safe either..
Simulating manual user input through other channels trying to avoid the
API functions, i.e. Sendkeys(Visual Basic) or SendInput() - are not
100% safe either.
IMO, The BEST thing would be to intercept API calls and (while running)
introduce false positives to potential keylogger applications since
YOUR application will be able to tell the difference between what is
desired input and what is crap.
Other processes do not (..or should not) have have any active windows
so sending random keystrokes to the system would be harmless.
Ichinin
.
- Follow-Ups:
- Re: Defeating keyloggers with encrypted one time passwords (a patent spoiler?)
- From: Sebastian Gottschalk
- Re: Defeating keyloggers with encrypted one time passwords (a patent spoiler?)
- References:
- Defeating keyloggers with encrypted one time passwords (a patent spoiler?)
- From: Juuso Hukkanen
- Defeating keyloggers with encrypted one time passwords (a patent spoiler?)
- Prev by Date: Re: Safe password?
- Next by Date: Re: Safe password?
- Previous by thread: Re: Defeating keyloggers with encrypted one time passwords (a patent spoiler?)
- Next by thread: Re: Defeating keyloggers with encrypted one time passwords (a patent spoiler?)
- Index(es):
Relevant Pages
|