Hardware keylogger: Difference between revisions

This link took control of browser and required a Force Quit to clear browser tabs. Otherwise, every restart of the browser the same pop-up appeared.
Cleanup: remove deletion notice and missing templates
 
(42 intermediate revisions by 36 users not shown)
Line 1: Line 1:
{{Refimprove|date=April 2009}}
{{Refimprove|date=November 2019}}
[[File:USB Hardware Keylogger.jpg|thumb|A Hardware keylogger for USB-Keyboards]]
'''Hardware keyloggers''' are used for [[keystroke logging]], a method of capturing and recording computer users' keystrokes, including sensitive passwords.<ref>{{cite web|title=Keyloggers, pros and cons|url=http://www.bcs.org/content/conWebDoc/11115|publisher=BCS}}</ref> They can be implemented via [[BIOS]]-level [[firmware]], or alternatively, via a device plugged inline between a [[computer keyboard]] and a computer.  They log all keyboard activity to their internal memory.
'''Hardware keyloggers''' are used for [[keystroke logging]], a method of capturing and recording computer users' keystrokes, including sensitive passwords.<ref>{{cite web|title=Keyloggers, pros and cons|url=http://www.bcs.org/content/conWebDoc/11115|publisher=BCS}}</ref> They can be implemented via [[BIOS]]-level [[firmware]], or alternatively, via a device plugged inline between a [[computer keyboard]] and a computer.  They log all keyboard activity to their internal memory.


Line 8: Line 9:


* A [[microcontroller]] - this interprets the datastream between the keyboard and computer, processes it, and passes it to the non-volatile memory
* A [[microcontroller]] - this interprets the datastream between the keyboard and computer, processes it, and passes it to the non-volatile memory
* A non-volatile memory device, such as flash memory - this stores the recorded data, retaining it even when power is lost
* A non-volatile memory device, such as [[flash memory]] - this stores the recorded data, retaining it even when power is lost


Generally, recorded data is retrieved by typing a special password into a computer text editor. The hardware keylogger plugged in between the keyboard and computer detects that the password has been typed and then presents the computer with "typed" data to produce a menu. Beyond text menu some keyloggers offer a high-speed download to speed up retrieval of stored data; this can be via USB mass-storage enumeration or with a USB or serial download adapter.
Generally, recorded data is retrieved by typing a special password into a computer text editor. The hardware keylogger plugged in between the keyboard and computer detects that the password has been typed and then presents the computer with "typed" data to produce a menu. Beyond text menu some keyloggers offer a high-speed download to speed up retrieval of stored data; this can be via USB mass-storage enumeration or with a USB or serial download adapter.
Line 15: Line 16:


== Types of hardware keyloggers ==
== Types of hardware keyloggers ==
[[File:Keylogger-hardware-PS2.jpg|thumb|175px|right|Close-up of an inline [[PS/2 connector|PS/2]] keylogger.]]
[[File:Usb-logger.jpg|alt=|thumb|A connected hardware-based keylogger.]]
[[File:Keylogger-hardware-PS2-example-connected.jpg|thumb|175px|right|A connected hardware-based keylogger.]]


#''' A Regular Hardware Keylogger''' is used for keystroke logging by means of a hardware circuit that is attached somewhere in between the computer [[Keyboard (computing)|keyboard]] and the computer. It logs all keyboard activity to its internal memory which can be accessed by typing in a series of pre-defined characters. A hardware keylogger has an advantage over a software solution; because it is not dependent on the computer's operating system it will not interfere with any program running on the target machine and hence cannot be detected by any software.  They are typically designed to have an innocuous appearance that blends in with the rest of the cabling or hardware, such as appearing to be an [[Electromagnetic compatibility|EMC]] [[Balun]].  They can also be installed inside a keyboard itself (as a circuit attachment or modification), or the keyboard could be manufactured with this "feature".  They are designed to work with legacy [[PS/2 connector|PS/2]] keyboards, or more recently, with [[USB]] keyboards.  Some variants, known as wireless hardware keyloggers, have the ability to be controlled and monitored remotely by means of a wireless communication standard.{{Citation needed|date=April 2009}}
#'''A regular hardware keylogger''' is used for keystroke logging by means of a hardware circuit that is attached somewhere in between the computer [[Keyboard (computing)|keyboard]] and the computer. It logs all keyboard activity to its internal memory which can be accessed by typing in a series of pre-defined characters. A hardware keylogger has an advantage over a software solution; because it is not dependent on the computer's operating system it will not interfere with any program running on the target machine and hence cannot be detected by any software.  They are typically designed to have an innocuous appearance that blends in with the rest of the cabling or hardware, such as appearing to be an [[Electromagnetic compatibility|EMC]] [[Balun]].  They can also be installed inside a keyboard itself (as a circuit attachment or modification), or the keyboard could be manufactured with this "feature".  They are designed to work with legacy [[PS/2 connector|PS/2]] keyboards, or more recently, with [[USB]] keyboards.  Some variants, known as wireless hardware keyloggers, have the ability to be controlled and monitored remotely by means of a wireless communication standard.{{Citation needed|date=April 2009}}
#'''Wireless Keylogger sniffers''' -  Collect packets of data being transferred from a wireless keyboard and its receiver and then attempt to crack the encryption key being used to secure wireless communications between the two devices.
#'''Wireless keylogger sniffers''' -  Collect packets of data being transferred from a wireless keyboard and its receiver and then attempt to crack the encryption key being used to secure wireless communications between the two devices.
#'''Firmware''' - A computer's [[BIOS]], which is typically responsible for handling keyboard events, can be reprogrammed so that it records keystrokes as it processes them.
#'''Firmware''' - A computer's [[BIOS]], which is typically responsible for handling keyboard events, can be reprogrammed so that it records keystrokes as it processes them.
#'''Keyboard overlays''' - a bogus keypad is placed over the real one so that any keys pressed are registered by both the eavesdropping device as well as the legitimate one that the customer is using.<ref>{{cite news|url=http://www.pcworld.com/article/155525/.html?tk=rss_news|title=Tampered Credit Card Terminals|author=Jeremy Kirk|publisher=[[International Data Group|IDG]] News Service|date=2008-12-16|accessdate=2009-04-19}}</ref>
#'''Keyboard overlays''' - a fake keypad is placed over the real one so that any keys pressed are registered by both the eavesdropping device as well as the legitimate one that the customer is using.<ref>{{cite news|url=http://www.pcworld.com/article/155525/.html?tk=rss_news|title=Tampered Credit Card Terminals|author=Jeremy Kirk|publisher=[[International Data Group|IDG]] News Service|date=2008-12-16|accessdate=2009-04-19}}</ref>
#'''Key commands''' - exist in much legitimate software. These programs require keyloggers to know when you’re using a specific command.<ref>{{Cite web|url=https://www.safetydetective.com/blog/what-are-keyloggers-and-how-to-protect-against-them/|title=What Are Keyloggers and How to Protect Against Them |website=Safety Detective|language=en-US|access-date=2018-11-22|date=2018-09-02 }}</ref>


==Countermeasures==
==Countermeasures==
Denial of [[physical access]] to sensitive computers, e.g. by locking the [[server room]], is the most effective means of preventing hardware keylogger installation. Visual inspection is the easiest way of detecting hardware keyloggers. But there are also some techniques that can be used for most hardware keyloggers on the market, to detect them via software. In cases in which the computer case is hidden from view (e.g. at some public access kiosks where the case is in a locked box and only a monitor, keyboard, and mouse are exposed to view) and the user has no possibility to run software checks, a user might thwart a keylogger by typing part of a password, using the mouse to move to a text editor or other window, typing some garbage text, mousing back to the password window, typing the next part of the password, etc. so that the keylogger will record an unintelligible mix of garbage and password text<ref>[http://spycop.com/keyloggerremoval.htm Hardware Keylogger Detection], SpyCop.</ref> See also ''[[Keystroke_logging#Countermeasures|Keystroke logging countermeasures]]''.
Denial or monitoring of [[physical access]] to sensitive computers, e.g. by closed-circuit video surveillance and access control, is the most effective means of preventing hardware keylogger installation. Visual inspection is the easiest way of detecting hardware keyloggers. But there are also some techniques that can be used for most hardware keyloggers on the market, to detect them via software. In cases in which the computer case is hidden from view (e.g. at some public access kiosks where the case is in a locked box and only a monitor, keyboard, and mouse are exposed to view) and the user has no possibility to run software checks, a user might thwart a keylogger by typing part of a password, using the mouse to move to a text editor or other window, typing some garbage text, mousing back to the password window, typing the next part of the password, etc. so that the keylogger will record an unintelligible mix of garbage and password text.<ref>[http://spycop.com/keyloggerremoval.htm Hardware Keylogger Detection] {{Webarchive|url=https://web.archive.org/web/20120209130338/http://spycop.com/keyloggerremoval.htm |date=2012-02-09 }}, SpyCop.</ref> General ''[[Keystroke logging#Countermeasures|keystroke logging countermeasures]]'' are also options against hardware keyloggers.


The main risk associated with keylogger use is that physical access is needed twice: initially to install the keylogger, and secondly to retrieve it. Thus, if the victim discovers the keylogger, they can then set up a [[sting operation]] to catch the person in the act of retrieving it. This could include camera surveillance or the review of access card swipe records to determine who gained physical access to the area during the time period that the keylogger was removed.
The main risk associated with keylogger use is that physical access is needed twice: initially to install the keylogger, and secondly to retrieve it. Thus, if the victim discovers the keylogger, they can then set up a [[sting operation]] to catch the person in the act of retrieving it. This could include camera surveillance or the review of access card swipe records to determine who gained physical access to the area during the time period that the keylogger was removed.
Line 32: Line 33:


==External links==
==External links==
* [http://derek.chezmarcotte.ca/?page_id=24 Open Source PS/2 Hardware Keylogger]
* [http://conference.hackinthebox.org/hitbsecconf2010kul/materials/D1T1%20-%20Fabian%20Mihailowitsch%20-%20Detecting%20Hardware%20Keyloggers.pdf Presentation about detection of hardware keyloggers] {{Webarchive|url=https://web.archive.org/web/20150223230430/http://conference.hackinthebox.org/hitbsecconf2010kul/materials/D1T1%20-%20Fabian%20Mihailowitsch%20-%20Detecting%20Hardware%20Keyloggers.pdf |date=2015-02-23 }}
* [http://conference.hackinthebox.org/hitbsecconf2010kul/materials/D1T1%20-%20Fabian%20Mihailowitsch%20-%20Detecting%20Hardware%20Keyloggers.pdf Presentation about detection of hardware keyloggers]


[[Category:Cryptographic attacks]]
[[Category:Cryptographic attacks]]
[[Category:Surveillance]]
[[Category:Surveillance]]