Product Code Database
Example Keywords: hat -wii $74
   » » Wiki: Rootkit
Tag Wiki 'Rootkit'.
Tag

A rootkit is a collection of , typically malicious, designed to enable access to a or an area of its that is not otherwise allowed (for example, to an unauthorized user) and often masks its existence or the existence of other software. The term rootkit is a compound of "" (the traditional name of the on operating systems) and the word "kit" (which refers to the software components that implement the tool).

(2016). 9783319321257, Springer.
The term "rootkit" has negative connotations through its association with .

Rootkit installation can be automated, or an can install it after having obtained root or administrator access. Obtaining this access is a result of direct attack on a system, i.e., exploiting a vulnerability (such as privilege escalation) or a (obtained by cracking or social engineering tactics like ""). Once installed, it becomes possible to hide the intrusion as well as to maintain privileged access. Full control over a system means that existing software can be modified, including software that might otherwise be used to detect or circumvent it.

Rootkit detection is difficult because a rootkit may be able to subvert the software that is intended to find it. Detection methods include using an alternative and trusted , behavior-based methods, signature scanning, difference scanning, and analysis. Removal can be complicated or practically impossible, especially in cases where the rootkit resides in the kernel; reinstallation of the operating system may be the only available solution to the problem. When dealing with rootkits, removal may require hardware replacement, or specialized equipment.


History
The term rootkit, rkit, or root kit originally referred to a maliciously modified set of administrative tools for a that granted "" access. If an intruder could replace the standard administrative tools on a system with a rootkit, the intruder could obtain root access over the system whilst simultaneously concealing these activities from the legitimate system administrator. These first-generation rootkits were trivial to detect by using tools such as Tripwire that had not been compromised to access the same information. Lane Davis and Steven Dake wrote the earliest known rootkit in 1990 for ' UNIX operating system.
(2025). 9781597492409, Syngress. .
In the lecture he gave upon receiving the in 1983, of , one of the creators of , theorized about subverting the in a Unix distribution and discussed the exploit. The modified compiler would detect attempts to compile the Unix login command and generate altered code that would accept not only the user's correct password, but an additional "backdoor" password known to the attacker. Additionally, the compiler would detect attempts to compile a new version of the compiler, and would insert the same exploits into the new compiler. A review of the source code for the login command or the updated compiler would not reveal any malicious code. This exploit was equivalent to a rootkit.

The first documented to target the personal computer, discovered in 1986, used techniques to hide itself: the Brain virus intercepted attempts to read the , and redirected these to elsewhere on the disk, where a copy of the original boot sector was kept. Over time, -virus cloaking methods became more sophisticated. Advanced techniques included low-level disk INT 13H BIOS calls to hide unauthorized modifications to files.

The first malicious rootkit for the operating system appeared in 1999: a trojan called NTRootkit created by . It was followed by HackerDefender in 2003. The first rootkit targeting , WeaponX/Weapox, appeared in 2004 while the worm was the first to target programmable logic controllers (PLC).


Sony BMG copy protection rootkit scandal
In 2005, published with and digital rights management software called Extended Copy Protection, created by software company First 4 Internet. The software included a music player but silently installed a rootkit which limited the user's ability to access the CD. Software engineer , who created the rootkit detection tool , discovered the rootkit on one of his computers. The ensuing scandal raised the public's awareness of rootkits. To cloak itself, the rootkit hid any file starting with "$sys$" from the user. Soon after Russinovich's report, malware appeared which took advantage of the existing rootkit on affected systems. One analyst called it a " nightmare." Sony BMG released patches to the rootkit, but it exposed users to an even more serious vulnerability. The company eventually recalled the CDs. In the United States, a was brought against Sony BMG.


Greek wiretapping case 2004–05
The Greek wiretapping case 2004–05, also referred to as Greek Watergate, involved the illegal telephone tapping of more than 100  on the network belonging mostly to members of the government and top-ranking civil servants. The taps began sometime near the beginning of August 2004 and were removed in March 2005 without discovering the identity of the perpetrators. The intruders installed a rootkit targeting Ericsson's AXE telephone exchange. According to , this was "the first time a rootkit has been observed on a special-purpose system, in this case an Ericsson telephone switch." The rootkit was designed to patch the memory of the exchange while it was running, enable while disabling audit logs, patch the commands that list active processes and active data blocks, and modify the data block verification command. A "backdoor" allowed an operator with status to deactivate the exchange's transaction log, alarms and access commands related to the surveillance capability. The rootkit was discovered after the intruders installed a faulty update, which caused texts to be undelivered, leading to an automated failure report being generated. Ericsson engineers were called in to investigate the fault and discovered the hidden data blocks containing the list of phone numbers being monitored, along with the rootkit and illicit monitoring software.


Uses
Modern rootkits do not elevate access, but rather are used to make another software payload undetectable by adding stealth capabilities.
(2025). 9780321294319, Addison-Wesley. .
Most rootkits are classified as , because the payloads they are bundled with are malicious. For example, a payload might covertly steal user , information, computing resources, or conduct other unauthorized activities. A small number of rootkits may be considered utility applications by their users: for example, a rootkit might cloak a -emulation driver, allowing users to defeat anti-piracy measures that require insertion of the original installation media into a physical optical drive to verify that the software was legitimately purchased.

Rootkits and their payloads have many uses:

  • Provide an attacker with full access via a backdoor, permitting unauthorized access to, for example, steal or falsify documents. One of the ways to carry this out is to subvert the login mechanism, such as the /bin/login program on systems or GINA on Windows. The replacement appears to function normally, but also accepts a secret login combination that allows an attacker direct access to the system with administrative privileges, bypassing standard and mechanisms.
  • Conceal other , notably password-stealing key loggers and .
  • Appropriate the compromised machine as a zombie computer for attacks on other computers. (The attack originates from the compromised system or network, instead of the attacker's system.) "Zombie" computers are typically members of large that can–amongst other things–launch denial-of-service attacks, distribute , and conduct .

In some instances, rootkits provide desired functionality, and may be installed intentionally on behalf of the computer user:

  • Detect attacks, for example, in a honeypot.
  • Enhance emulation software and security software. Alcohol 120% and are commercial examples of non-hostile rootkits used to defeat copy-protection mechanisms such as and . Kaspersky antivirus software also uses techniques resembling rootkits to protect itself from malicious actions. It loads its own to intercept system activity, and then prevents other processes from doing harm to itself. Its processes are not hidden, but cannot be terminated by standard methods.
  • Anti-theft protection: Laptops may have BIOS-based rootkit software that will periodically report to a central authority, allowing the laptop to be monitored, disabled or wiped of information in the event that it is stolen.
  • Bypassing Microsoft Product Activation


Types
There are at least five types of rootkit, ranging from those at the lowest level in firmware (with the highest privileges), through to the least privileged user-based variants that operate in . Hybrid combinations of these may occur spanning, for example, user mode and kernel mode.


User mode
User-mode rootkits run in , along with other applications as user, rather than low-level system processes. They have a number of possible installation vectors to intercept and modify the standard behavior of application programming interfaces (APIs). Some inject a library (such as a .DLL file on Windows, or a .dylib file on ) into other processes, and are thereby able to execute inside any target process to spoof it; others with sufficient privileges simply overwrite the memory of a target application. Injection mechanisms include:
  • Use of vendor-supplied application extensions. For example, has public interfaces that allow third parties to extend its functionality.
  • Interception of .
  • .
  • Exploitation of security vulnerabilities.
  • Function or patching of commonly used APIs, for example, to hide a running process or file that resides on a filesystem.


Kernel mode
Kernel-mode rootkits run with the highest operating system privileges () by adding code or replacing portions of the core operating system, including both the kernel and associated . Most operating systems support kernel-mode device drivers, which execute with the same privileges as the operating system itself. As such, many kernel-mode rootkits are developed as device drivers or loadable modules, such as loadable kernel modules in or in Microsoft Windows. This class of rootkit has unrestricted security access, but is more difficult to write. The complexity makes bugs common, and any bugs in code operating at the kernel level may seriously impact system stability, leading to discovery of the rootkit. One of the first widely known kernel rootkits was developed for Windows NT 4.0 and released in magazine in 1999 by . Kernel rootkits can be especially difficult to detect and remove because they operate at the same as the operating system itself, and are thus able to intercept or subvert the most trusted operating system operations. Any software, such as antivirus software, running on the compromised system is equally vulnerable. In this situation, no part of the system can be trusted.

A rootkit can modify data structures in the Windows kernel using a method known as direct kernel object manipulation (DKOM). This method can be used to hide processes. A kernel mode rootkit can also hook the System Service Descriptor Table (SSDT), or modify the gates between user mode and kernel mode, in order to cloak itself. Similarly for the operating system, a rootkit can modify the system call table to subvert kernel functionality. It is common that a rootkit creates a hidden, encrypted filesystem in which it can hide other malware or original copies of files it has infected. Operating systems are evolving to counter the threat of kernel-mode rootkits. For example, 64-bit editions of Microsoft Windows now implement mandatory signing of all kernel-level drivers in order to make it more difficult for untrusted code to execute with the highest privileges in a system.


Bootkits
A kernel-mode rootkit variant called a bootkit can infect startup code like the Master Boot Record (MBR), Volume Boot Record (VBR), or , and in this way can be used to attack full disk encryption systems. An example of such an attack on disk encryption is the "evil maid attack", in which an attacker installs a bootkit on an unattended computer. The envisioned scenario is a maid sneaking into the hotel room where the victims left their hardware. The bootkit replaces the legitimate with one under their control. Typically the malware loader persists through the transition to when the kernel has loaded, and is thus able to subvert the kernel. For example, the "Stoned Bootkit" subverts the system by using a compromised to intercept encryption keys and passwords. In 2010, the Alureon rootkit has successfully subverted the requirement for 64-bit kernel-mode driver signing in Windows 7, by modifying the master boot record. Although not malware in the sense of doing something the user doesn't want, certain "Vista Loader" or "Windows Loader" software work in a similar way by injecting an SLIC (System Licensed Internal Code) table in the RAM-cached version of the BIOS during boot, in order to defeat the Windows Vista and Windows 7 activation process. This vector of attack was rendered useless in the (non-server) versions of Windows 8, which use a unique, machine-specific key for each system, that can only be used by that one machine. Many antivirus companies provide free utilities and programs to remove bootkits.


Hypervisor level
Rootkits have been created as Type II in academia as proofs of concept. By exploiting hardware virtualization features such as or , this type of rootkit runs in Ring -1 and hosts the target operating system as a , thereby enabling the rootkit to intercept hardware calls made by the original operating system. Unlike normal hypervisors, they do not have to load before the operating system, but can load into an operating system before promoting it into a virtual machine. A hypervisor rootkit does not have to make any modifications to the kernel of the target to subvert it; however, that does not mean that it cannot be detected by the guest operating system. For example, timing differences may be detectable in CPU instructions. The "SubVirt" laboratory rootkit, developed jointly by and University of Michigan researchers, is an academic example of a virtual-machine–based rootkit (VMBR),
(2006). 9780769525747, Institute of Electrical and Electronics Engineers.
while Blue Pill software is another. In 2009, researchers from Microsoft and North Carolina State University demonstrated a hypervisor-layer anti-rootkit called , which provides generic protection against kernel-mode rootkits. Windows 10 introduced a new feature called "Device Guard", that takes advantage of virtualization to provide independent external protection of an operating system against rootkit-type malware.


Firmware and hardware
A rootkit uses device or platform firmware to create a persistent malware image in hardware, such as a router, network card, hard drive, or the system . The rootkit hides in firmware, because firmware is not usually inspected for . John Heasman demonstrated the viability of firmware rootkits in both firmware routines and in a expansion card . In October 2008, criminals tampered with European -reading machines before they were installed. The devices intercepted and transmitted credit card details via a mobile phone network. In March 2009, researchers Alfredo Ortega and published details of a -level Windows rootkit that was able to survive disk replacement and operating system re-installation. A few months later they learned that some laptops are sold with a legitimate rootkit, known as Absolute or Absolute LoJack for Laptops, preinstalled in many BIOS images. This is an anti- technology system that researchers showed can be turned to malicious purposes.

Intel Active Management Technology, part of Intel vPro, implements out-of-band management, giving administrators remote administration, remote management, and remote control of PCs with no involvement of the host processor or BIOS, even when the system is powered off. Remote administration includes remote power-up and power-down, remote reset, redirected boot, console redirection, pre-boot access to BIOS settings, programmable filtering for inbound and outbound network traffic, agent presence checking, out-of-band policy-based alerting, access to system information, such as hardware asset information, persistent event logs, and other information that is stored in dedicated memory (not on the hard drive) where it is accessible even if the OS is down or the PC is powered off. Some of these functions require the deepest level of rootkit, a second non-removable spy computer built around the main computer. Sandy Bridge and future chipsets have "the ability to remotely kill and restore a lost or stolen PC via 3G". Hardware rootkits built into the can help recover stolen computers, remove data, or render them useless, but they also present privacy and security concerns of undetectable spying and redirection by management or hackers who might gain control.


Installation and cloaking
Rootkits employ a variety of techniques to gain control of a system; the type of rootkit influences the choice of attack vector. The most common technique leverages security vulnerabilities to achieve surreptitious privilege escalation. Another approach is to use a Trojan horse, deceiving a computer user into trusting the rootkit's installation program as benign—in this case, social engineering convinces a user that the rootkit is beneficial. The installation task is made easier if the principle of least privilege is not applied, since the rootkit then does not have to explicitly request elevated (administrator-level) privileges. Other classes of rootkits can be installed only by someone with physical access to the target system. Some rootkits may also be installed intentionally by the owner of the system or somebody authorized by the owner, e.g. for the purpose of employee monitoring, rendering such subversive techniques unnecessary.
(2025). 9780470149546, John Wiley & Sons.
Some malicious rootkit installations are commercially driven, with a pay-per-install (PPI) compensation method typical for distribution.

Once installed, a rootkit takes active measures to obscure its presence within the host system through subversion or evasion of standard operating system security tools and application programming interface (APIs) used for diagnosis, scanning, and monitoring. Rootkits achieve this by modifying the behavior of through loading code into other processes, the installation or modification of , or kernel modules. Obfuscation techniques include concealing running processes from system-monitoring mechanisms and hiding system files and other configuration data. It is not uncommon for a rootkit to disable the capacity of an operating system, in an attempt to hide evidence of an attack. Rootkits can, in theory, subvert any operating system activities. The "perfect rootkit" can be thought of as similar to a "": one that nobody realizes has taken place. Rootkits also take a number of measures to ensure their survival against detection and "cleaning" by antivirus software in addition to commonly installing into Ring 0 (kernel-mode), where they have complete access to a system. These include (changing so their "signature" is hard to detect), stealth techniques, regeneration, disabling or turning off anti-malware software, and not installing on where it may be easier for researchers to discover and analyze them.


Detection
The fundamental problem with rootkit detection is that if the operating system has been subverted, particularly by a kernel-level rootkit, it cannot be trusted to find unauthorized modifications to itself or its components.
(2009). 9780071591188, McGraw Hill Professional.
Actions such as requesting a list of running processes, or a list of files in a directory, cannot be trusted to behave as expected. In other words, rootkit detectors that work while running on infected systems are only effective against rootkits that have some defect in their camouflage, or that run with lower user-mode privileges than the detection software in the kernel. As with , the detection and elimination of rootkits is an ongoing struggle between both sides of this conflict. Detection can take a number of different approaches, including looking for virus "signatures" (e.g., antivirus software), integrity checking (e.g., digital signatures), difference-based detection (comparison of expected vs. actual results), and behavioral detection (e.g., monitoring CPU usage or network traffic).

For kernel-mode rootkits, detection is considerably more complex, requiring careful scrutiny of the System Call Table to look for where the malware may be subverting system behavior, as well as scanning of memory for patterns that indicate hidden processes. Unix rootkit detection offerings include Zeppoo, , and . For Windows, detection tools include Microsoft Sysinternals , , Anti-Rootkit, , Radix, , and . Any rootkit detectors that prove effective ultimately contribute to their own ineffectiveness, as malware authors adapt and test their code to escape detection by well-used tools.The process name of Sysinternals RootkitRevealer was targeted by malware; in an attempt to counter this countermeasure, the tool now uses a randomly generated process name. Detection by examining storage while the suspect operating system is not operational can miss rootkits not recognised by the checking software, as the rootkit is not active and suspicious behavior is suppressed; conventional anti-malware software running with the rootkit operational may fail if the rootkit hides itself effectively.


Alternative trusted medium
The best and most reliable method for operating-system-level rootkit detection is to shut down the computer suspected of infection, and then to check its storage by from an alternative trusted medium (e.g., a "rescue" or USB flash drive). The technique is effective because a rootkit cannot actively hide its presence if it is not running.


Behavioral-based
The behavioral-based approach to detecting rootkits attempts to infer the presence of a rootkit by looking for rootkit-like behavior. For example, by profiling a system, differences in the timing and frequency of API calls or in overall CPU utilization can be attributed to a rootkit. The method is complex and is hampered by a high incidence of false positives. Defective rootkits can sometimes introduce very obvious changes to a system: the rootkit crashed Windows systems after a security update exposed a design flaw in its code. Logs from a , firewall, or intrusion prevention system may present evidence of rootkit behaviour in a networked environment.


Signature-based
Antivirus products rarely catch all viruses in public tests (depending on what is used and to what extent), even though security software vendors incorporate rootkit detection into their products. Should a rootkit attempt to hide during an antivirus scan, a stealth detector may notice; if the rootkit attempts to temporarily unload itself from the system, signature detection (or "fingerprinting") can still find it. This combined approach forces attackers to implement counterattack mechanisms, or "retro" routines, that attempt to terminate antivirus programs. Signature-based detection methods can be effective against well-published rootkits, but less so against specially crafted, custom-root rootkits.


Difference-based
Another method that can detect rootkits compares "trusted" raw data with "tainted" content returned by an . For example, present on disk can be compared with their copies within (in some operating systems, the in-memory image should be identical to the on-disk image), or the results returned from or APIs can be checked against raw structures on the underlying physical disks—however, in the case of the former, some valid differences can be introduced by operating system mechanisms like memory relocation or shimming. A rootkit may detect the presence of such a difference-based scanner or (the latter being commonly used to perform forensic analysis), and adjust its behaviour so that no differences can be detected. Difference-based detection was used by 's RootkitRevealer tool to find the Sony DRM rootkit.


Integrity checking
uses public-key infrastructure to check if a file has been modified since being digitally signed by its publisher. Alternatively, a system owner or administrator can use a cryptographic hash function to compute a "fingerprint" at installation time that can help to detect subsequent unauthorized changes to on-disk code libraries. However, unsophisticated schemes check only whether the code has been modified since installation time; subversion prior to that time is not detectable. The fingerprint must be re-established each time changes are made to the system: for example, after installing security updates or a . The hash function creates a message digest, a relatively short code calculated from each bit in the file using an algorithm that creates large changes in the message digest with even smaller changes to the original file. By recalculating and comparing the message digest of the installed files at regular intervals against a trusted list of message digests, changes in the system can be detected and monitored—as long as the original baseline was created before the malware was added.

More-sophisticated rootkits are able to subvert the verification process by presenting an unmodified copy of the file for inspection, or by making code modifications only in memory, reconfiguration registers, which are later compared to a white list of expected values. The code that performs hash, compare, or extend operations must also be protected—in this context, the notion of an immutable root-of-trust holds that the very first code to measure security properties of a system must itself be trusted to ensure that a rootkit or bootkit does not compromise the system at its most fundamental level.


Memory dumps
Forcing a complete dump of will capture an active rootkit (or a in the case of a kernel-mode rootkit), allowing offline forensic analysis to be performed with a against the resulting , without the rootkit being able to take any measures to cloak itself. This technique is highly specialized, and may require access to non-public or . Memory dumps initiated by the operating system cannot always be used to detect a hypervisor-based rootkit, which is able to intercept and subvert the lowest-level attempts to read memory—a hardware device, such as one that implements a non-maskable interrupt, may be required to dump memory in this scenario.
(2025). 9781595930798, Carnegie Mellon University.
also make it easier to analyze the memory of a compromised machine from the underlying hypervisor, so some rootkits will avoid infecting virtual machines for this reason.


Removal
Manual removal of a rootkit is often extremely difficult for a typical computer user, but a number of security-software vendors offer tools to automatically detect and remove some rootkits, typically as part of an antivirus suite. , Microsoft's monthly Windows Malicious Software Removal Tool is able to detect and remove some classes of rootkits. Also, Windows Defender Offline can remove rootkits, as it runs from a trusted environment before the operating system starts.
(2025). 9781484226070, Apress. .
Some antivirus scanners can bypass APIs, which are vulnerable to manipulation by a rootkit. Instead, they access raw file system structures directly, and use this information to validate the results from the system APIs to identify any differences that may be caused by a rootkit.In theory, a sufficiently sophisticated kernel-level rootkit could subvert read operations against raw file system data structures as well, so that they match the results returned by APIs. There are experts who believe that the only reliable way to remove them is to re-install the operating system from trusted media. This is because antivirus and malware removal tools running on an untrusted system may be ineffective against well-written kernel-mode rootkits. Booting an alternative operating system from trusted media can allow an infected system volume to be mounted and potentially safely cleaned and critical data to be copied off—or, alternatively, a forensic examination performed.
(2025). 9780470097625, John Wiley and Sons. .
Lightweight operating systems such as , , Windows Recovery Environment, , or can be used for this purpose, allowing the system to be "cleaned". Even if the type and nature of a rootkit is known, manual repair may be impractical, while re-installing the operating system and applications is safer, simpler and quicker.


Defenses
System hardening represents one of the first layers of defence against a rootkit, to prevent it from being able to be installed in the first place.
(2025). 9780131014053, Prentice Hall PTR. .
Applying , implementing the principle of least privilege, reducing the and installing antivirus software are some standard security best practices that are effective against all classes of malware. New secure boot specifications like have been designed to address the threat of bootkits, but even these are vulnerable if the security features they offer are not utilized. For server systems, remote server attestation using technologies such as Intel Trusted Execution Technology (TXT) provide a way of verifying that servers remain in a known good state. For example, 's encryption of data-at-rest verifies that servers are in a known "good state" on bootup. vCage is a software offering that secures data-in-use (memory) to avoid bootkits and rootkits by verifying servers are in a known "good" state on bootup. The PrivateCore implementation works in concert with Intel TXT and locks down server system interfaces to avoid potential bootkits and rootkits.

Another defense mechanism called the Virtual Wall (VTW) approach, serves as a lightweight hypervisor with rootkit detection and event tracing capabilities. In normal operation (guest mode), Linux runs, and when a loaded LKM violates security policies, the system switches to host mode. The VTW in host mode detects, traces, and classifies rootkit events based on memory access control and event injection mechanisms. Experimental results demonstrate the VTW's effectiveness in timely detection and defense against kernel rootkits with minimal CPU overhead (less than 2%). The VTW is compared favorably to other defense schemes, emphasizing its simplicity in implementation and potential performance gains on Linux servers.


See also
  • Computer security conference
  • Host-based intrusion detection system
  • Man-in-the-middle attack


Notes

Further reading


External links

Page 1 of 1
1
Page 1 of 1
1

Account

Social:
Pages:  ..   .. 
Items:  .. 

Navigation

General: Atom Feed Atom Feed  .. 
Help:  ..   .. 
Category:  ..   .. 
Media:  ..   .. 
Posts:  ..   ..   .. 

Statistics

Page:  .. 
Summary:  .. 
1 Tags
10/10 Page Rank
5 Page Refs
2s Time