GET IN TOUCH

A USB Keylogger for Recording Keystrokes Typed on Any PC

Consumer electronics Embedded hardware development CPLD Custom software development Firmware development

In order not to scare anybody, the hardware keylogger we'll talk about in this case study isn't something hackers use to steal personal information. On the contrary, these devices are used by corporations to protect their data. Managers install keyloggers to monitor employee activity and provide a backup of data entered. Keyloggers are especially important for organizations that work with sensitive data and take measures to prevent private information from getting into the wrong hands.

Request

Integra Sources was hired to build a USB keylogger for our client from Poland who wanted to implement this solution for two target markets. One of these markets is business owners who want to protect their corporate data. And the other one is parents who want to monitor their children.

When our client contacted us, they already had a hardware keylogger for PS/2 keyboards and they needed to develop a new device that could capture keystrokes from a USB keyboard.

Solution

The services we provided included custom schematics, printed circuit board (PCB) design, firmware development, and software development for the PC configuration utility.

The keylogger is operating system-independent and can be hidden inside a keyboard. It captures every key pressed by a user and stores this information in the text file on the internal NAND-flash. Users can access the text file after pressing a special combination of keys that switch the device into the flash drive mode.

Inside the keylogger, there is a text file (log), a configuration file for setting up the device parameters, and a file for keyboard layouts for controlling the language that the keyboard is set up for. There is also a small internal battery inside, so the time of the keystrokes is kept accurate even when the host PC is turned off.

After launching the first version, we continued working on the keylogger for about a year and released several new and different versions of the device. The latest version offers 16MB of internal memory, a timestamp saving feature, a real-time clock, and text encryption.


Scope of work

Hardware development for the keylogger

Firmware development

Configuration utility development

Preparing the device for certification


Technologies Used


Challenges Solved

The USB keylogger was a challenging project. We needed to meet the following requirements:

1. Gather the data without influencing the keyboard’s efficiency.

The keylogger needed to be completely invisible and couldn't affect the computer operations. We basically needed to enable the recording of data without any delays for the user. To solve this challenge we implemented a special hardware solution inside the keylogger.

2. Meet very strict requirements for the device size.

The keylogger is only 57x20x13mm in size. It's very small. We needed to make it possible to fit the required amount of memory into this device. Our first version offered only 2MB of data storage. But as we continued working on subsequent versions, we increased the capacity up to 16MB of internal storage.

3. Enable correct operation when the keyboard is connected via HUB.

The keylogger needed to be able to connect to the keyboard via a USB HUB. The HUB in some cases changes the mode of operation for USB, so our solution needed to handle this scenario as well.

4. Enable future enhancements to the device’s functionality.

After launching the first version of the keylogger, our client intended to enhance it with new features. This meant that the first version of the device needed to be scalable. We enhanced the later versions of the keylogger with the following features:


Result

The USB keylogger that we built gave a competitive advantage to our client and allowed them to meet their customers’ expectations. They successfully sold the desired number of keyloggers and then sold the idea and the prototype itself to another company.

To use the keylogger, a user needs to plug it between the keyboard and the PC. It works just like a flash drive. The main purpose of the keylogger is to record the data being transmitted by the keyboard. Every single keystroke is stored in the keylogger in a time-stamped text file.

When a user presses a specific key combination on the keyboard, the device switches into a flash drive mode. Users can conveniently browse through the logs and find the information they are looking for.

The prototype of the USB keylogger
The prototype of the USB keylogger

Internal memory

16 MB

Device size

57 x 20 x13 mm

Make some noise

Make some noise

You might also like...

We use cookies to improve your experience on our website. Our Cookies Policy explains what cookies are, how we use cookies and how third-parties we may partner with may use cookies. Please find more information here.