Fabian Mihailowitsch (IT Security Consultant, cirosec GmbH)

Presentation Title Detecting Hardware Keyloggers
Presentation Abstract

Hardware keyloggers are tiny devices that are plugged between a computer keyboard and a computer. They are available for PS/2 as well as USB keyboards. Once plugged, they are able to record all key strokes and store them using an internal memory. Current models have various megabytes of memory, store the recorded data encrypted, support timestamping of the keyboard events and some even can transfer the key strokes wireless. However the main focus of hardware keyloggers is to stay undetected. Most manufacturers promote their models cannot be detected by software and thus have an advantage over software based keyloggers. But not just the manufacturers’ claim hardware keyloggers to be undetectable, even the common belief is they cannot be detected.

However that’s not correct. Hardware keyloggers make slight changes to the interaction between the keyboard and the computer. These changes can be detected by software and used to determine whether a hardware keylogger is present or not. For example some USB keyloggers change the USB signaling rate or act as USB hub. These changes are quite obvious and can be detected easily. When trying to detect PS/2 keyloggers, things gets more difficult. Nevertheless it is possible. For example whenever PS/2 keyloggers tap the wire actively (this means the data is redirected via the microcontroller of the keylogger), this influences the transfer rate between the keyboard controller (KBC) on the motherboard and the microprocessor of the keyboard. Measuring this time delay, PS/2 hardware keyloggers can be detected too.

During the talk an introduction to hardware keyloggers will be given. This introduction covers their features, how they work and gives a short market overview. Afterwards various techniques will be described to detect hardware keyloggers. Some of them are theoretical as they didn’t work for the tested models. However others are practical and can be used in real case scenarios. For each technique a detailed presentation will be given, explaining the basic idea, the necessary technical background and the results in practice. Finally a proof of concept tool will be released, that implements some of the techniques to detect PS/2 and USB hardware keyloggers.

About Fabian Mihailowitsch

Fabian Mihailowitsch studied information technology with course specialization in software engineering and worked as a Java software developer for three years. However in 2008 he decided to make his hobby to his profession. He joined cirosec GmbH and works as IT security consultant since then. In his job he performs code review’s and does penetration tests of different kinds of applications and networks. In his free time (spent on IT-security) he likes to develop and play around with linux rootkits. Recently his private research led him to hardware based keyloggers…