Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Keystroke logging
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Software-based keyloggers === [[File:Keylogger-screen-capture-example.png|thumb|upright=1.8|A keylogger example of a screen capture, which holds potentially confidential and private information. The image below holds the corresponding keylogger text result.]] [[File:Keylogger-software-logfile-example.jpg|thumb|right|upright=1.8|A [[logfile]] from a software-based keylogger, based on the screen capture above]] A software-based keylogger is a computer program designed to record any input from the keyboard.<ref>{{cite web|title=What is a Keylogger?|url=http://www.pctools.com/security-news/what-is-a-keylogger/|publisher=PC Tools}}</ref> Keyloggers are used in [[Information technology|IT]] organizations to troubleshoot technical problems with computers and business networks. Families and businesspeople use keyloggers legally to monitor network usage without their users' direct knowledge. [[Microsoft]] publicly stated that [[Windows 10]] has a built-in keylogger in its final version "to improve typing and writing services".<ref>{{cite web|url=https://www.privateinternetaccess.com/blog/2017/03/microsoft-windows-10-keylogger-enabled-default-heres-disable/|author=Caleb Chen|title=Microsoft Windows 10 has a keylogger enabled by default β here's how to disable it|date=2017-03-20}}</ref> However, malicious individuals can use keyloggers on public computers to steal passwords or credit card information. Most keyloggers are not stopped by [[HTTP Secure|HTTPS]] encryption because that only protects [[data in transit]] between computers; software-based keyloggers run on the affected user's computer, reading keyboard inputs directly as the user types. From a technical perspective, there are several categories: * '''Hypervisor-based''': The keylogger can theoretically reside in a [[malware]] [[hypervisor]] running underneath the operating system, which thus remains untouched. It effectively becomes a [[virtual machine]]. [[Blue Pill (software)|Blue Pill]] is a conceptual example. * '''[[Kernel (operating system)|Kernel]]-based''': A program on the machine obtains [[Superuser|root access]] to hide in the OS and intercepts keystrokes that pass through the kernel. This method is difficult both to write and to combat. Such keyloggers reside at the [[Ring (computer security)|kernel level]], which makes them difficult to detect, especially for user-mode applications that do not have root access. They are frequently implemented as [[rootkit]]s that subvert the operating system kernel to gain unauthorized access to the hardware. This makes them very powerful. A keylogger using this method can act as a keyboard [[device driver]], for example, and thus gain access to any information typed on the keyboard as it goes to the operating system. * '''API-based''': These keyloggers [[Hooking|hook]] keyboard [[Application programming interface|APIs]] inside a running application. The keylogger registers keystroke events as if it was a normal piece of the application instead of malware. The keylogger receives an [[event (computing)|event]] each time the user presses or releases a key. The keylogger simply records it. ** Windows APIs such as <code>GetAsyncKeyState()</code>, <code>GetForegroundWindow()</code>, etc. are used to poll the state of the keyboard or to subscribe to keyboard events.<ref>{{cite web|url=http://www.symantec.com/avcenter/reference/the.evolution.of.malicious.irc.bots.pdf|archive-url=https://web.archive.org/web/20060315074124/http://www.symantec.com/avcenter/reference/the.evolution.of.malicious.irc.bots.pdf|url-status=dead|archive-date=March 15, 2006|publisher=[[NortonLifeLock|Symantec]]|date=2005-11-26|title=The Evolution of Malicious IRC Bots|access-date=2011-03-25|pages=23β24}}</ref> A more recent{{When|date=January 2021}} example simply polls the [[BIOS]] for pre-boot authentication [[Personal identification number|PIN]]s that have not been cleared from memory.<ref>{{cite web|url=http://www.ivizsecurity.com/research/preboot/preboot_whitepaper.pdf|title=Bypassing pre-boot authentication passwords by instrumenting the BIOS keyboard buffer (practical low level attacks against x86 pre-boot authentication software)|date=2008-09-03|access-date=2008-09-23|author=Jonathan Brossard|website=[[iViz Security]]|url-status=dead|archive-url=https://web.archive.org/web/20080913072014/http://www.ivizsecurity.com/research/preboot/preboot_whitepaper.pdf|archive-date=2008-09-13}}</ref> * '''Form grabbing based''': [[Form grabbing]]-based keyloggers log [[Form (web)|Web form]] submissions by recording the form data on submit events. This happens when the user completes a form and submits it, usually by clicking a button or pressing enter. This type of keylogger records form data before it is passed over the Internet. * '''[[JavaScript]]-based:''' A malicious script tag is injected into a targeted web page, and listens for key events such as <code>onKeyUp()</code>. Scripts can be injected via a variety of methods, including [[cross-site scripting]], [[man-in-the-browser]], [[Man-in-the-middle attack|man-in-the-middle]], or a compromise of the remote website.<ref>{{Cite news|url=https://threatpost.com/web-based-keylogger-used-to-steal-credit-card-data-from-popular-sites/121141/|title=Web-Based Keylogger Used to Steal Credit Card Data from Popular Sites|date=2016-10-06|newspaper=Threatpost {{!}} The first stop for security news|language=en-US|access-date=2017-01-24}}</ref> * '''Memory-injection-based''': Memory Injection ([[Man-in-the-browser|MitB]])-based keyloggers perform their logging function by altering the memory tables associated with the browser and other system functions. By patching the memory tables or injecting directly into memory, this technique can be used by malware authors to bypass Windows UAC (User Account Control). The [[Zeus (malware)|Zeus]] and [[SpyEye trojan|SpyEye]] trojans use this method exclusively.<ref>{{cite news|title=SpyEye Targets Opera, Google Chrome Users|url=https://krebsonsecurity.com/2011/04/spyeye-targets-opera-google-chrome-users/|access-date=26 April 2011|newspaper=Krebs on Security}}</ref> Non-Windows systems have protection mechanisms that allow access to locally recorded data from a remote location.<ref>{{Cite web |date=2024-08-16 |title=Securing Linux with Mandatory Access Controls |url=https://www.geeksforgeeks.org/securing-linux-with-mandatory-access-controls/ |access-date=2025-02-25 |website=GeeksforGeeks |language=en-US}}</ref> Remote communication may be achieved when one of these methods is used: ** Data is uploaded to a website, database or an [[File Transfer Protocol|FTP]] server. ** Data is periodically emailed to a pre-defined [[email address]]. ** Data is [[wireless]]ly transmitted employing an attached hardware system. ** The software enables a remote login to the local machine from the Internet or the local network, for data logs stored on the target machine. ==== Keystroke logging in writing process research ==== Since 2006, keystroke logging has been an established research method for the study of writing processes.<ref>K.P.H. Sullivan & E. Lindgren (Eds., 2006), Studies in Writing: Vol. 18. Computer Key-Stroke Logging and Writing: Methods and Applications. Oxford: Elsevier.</ref><ref>V. W. Berninger (Ed., 2012), Past, present, and future contributions of cognitive writing research to cognitive psychology. New York/Sussex: Taylor & Francis. {{ISBN|9781848729636}}</ref> Different programs have been developed to collect online process data of writing activities,<ref name=AAA>{{cite news|url=http://www.spywareloop.com/news/keystroke-logging |title=Keystroke Logging in SpyWareLoop.com |author=Vincentas |newspaper=Spyware Loop |date=11 July 2013 |access-date=27 July 2013 |url-status=dead |archive-url=https://web.archive.org/web/20131207133350/http://www.spywareloop.com/news/keystroke-logging |archive-date= 7 December 2013 }}</ref> including [[Inputlog]], Scriptlog, Translog and GGXLog. Keystroke logging is used legitimately as a suitable research instrument in several writing contexts. These include studies on cognitive writing processes, which include * descriptions of writing strategies; the writing development of children (with and without writing difficulties), * spelling, * first and second language writing, and * specialist skill areas such as translation and subtitling. Keystroke logging can be used to research writing, specifically. It can also be integrated into educational domains for second language learning, programming skills, and typing skills. ==== Related features ==== Software keyloggers may be augmented with features that capture user information without relying on keyboard key presses as the sole input. Some of these features include: * Clipboard logging. Anything that has been copied to the [[Clipboard (software)|clipboard]] can be captured by the program. * Screen logging. [[Screenshot]]s are taken to capture graphics-based information. Applications with screen logging abilities may take screenshots of the whole screen, of just one application, or even just around the mouse cursor. They may take these screenshots periodically or in response to user behaviors (for example, when a user clicks the mouse). Screen logging can be used to capture data inputted with an on-screen keyboard. * Programmatically capturing the text in a [[GUI widget|control]]. The [[Microsoft Windows]] [[Application programming interface|API]] allows programs to request the text 'value' in some controls. This means that some passwords may be captured, even if they are hidden behind password masks (usually asterisks).<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/bb761584(VS.85).aspx|author=Microsoft|title=EM_GETLINE Message()|access-date=2009-07-15|publisher=[[Microsoft]]}}</ref> * The recording of every program/folder/window opened including a screenshot of every website visited. * The recording of [[Web search query|search engines queries]], [[instant messenger]] conversations, FTP downloads and other Internet-based activities (including the bandwidth used).
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)