Implications of Rootkit To User Privacy: Term Paper
Implications of Rootkit To User Privacy: Term Paper
Term Paper
By
Srikanth Padakanti
Fall 2010
Course Instructor
Dr. Mario Garcia
______________________________
ABSTRACT:
Methods and techniques currently exist to detect whether a rootkit has exploited a
system or not. But, these methods and techniques gives us result that, whether the system
has been exploited by rootkit or not. This paper deals with detection of the rootkits using
the behavioral analysis. Rootkit is a type of malware (software) which is operated in a
stealth mode. My research is divided into two stages where in first stage; i studied a wide
variety of rootkits and their characteristics and enter those characteristics into database
with unique ids and names. In second stage, i used some methodology and proposed a
tool which is used to detect the rootkit present on the host system, is an existing rootkit or
new rootkit.
2
TABLE OF CONTENTS
Abstract….........................................................................................................................2
Table of Contents..............................................................................................................3
List of Figures…...............................................................................................................4
1. Introduction…..............................................................................................................5
3. Methodology ………....................................................................................................7
5. References ……………………………………………………………………………13
3
LIST OF FIGURES
4
1. Introduction:
Rootkits are software which is used to hide its presence and activity on the host
system. Rootkits are the procedures that have attracted attention recently. There is a
huge increase in the count and complexity of rootkits in recent years. Rootkits are sets of
tools used by an intruder to maintain root level access for a system in a covert way [1].
To know whether an attacker has installed any rootkit and up to what extent the system
is compromised, the administrators need to trust the host based techniques. Before
rootkits, system tools could be trusted to provide an administrator with accurate
information. Modern cookies have developed some methods to conceal their activities.
The rootkits are considered as serious threat to security of a networked system.
The major malware attacks focuses on the commercial markets and enterprises
with an intention of producing huge profits for the malware authors, but the visibility of
these types of threats is in gradually sinking because of the stealth techniques such as
rootkits are installed on the host system to hide the malicious activities. Detection and
classification of these rootkits, i believe, will help us to reduce the future attacks on
business, commercial markets and even we can detect them before it harms our system
completely [2].
Some rootkits attacks on windows operating system and some attack on
LINUX/UNIX operating systems. Installation of the rootkits is the first and major step of
an intruder after gaining access to the system, as it ensures that attack is not detected.
Rootkits also open a backdoor by which an attacker can eavesdrop on the activities of
the system. Once the rootkit gets installed then the attacker can capture any kind of
information from the system like credit card numbers, bank account details, passwords
etc.
Rootkits are considered as Trojans introduced into our machines. Generally
rootkits are of two types, user mode rootkits and kernel mode rootkits. User level
rootkits are also known as application level rootkits because they usually replace the
system services with the modified versions which hide the intruder’s files, network
connections and processes. But, it is very simple to detect these rootkits because these
rootkits are not capable to modify the operating system kernel. Kernel level rootkits are
5
considered as dangerous and most powerful rootkits. These rootkits uses a custom kernel
module which modifies the system call of a kernel to hide the processes and files.
Besides this, it also provides the back door for intruder to visit the root level
permissions. The custom kernel module mainly uses hooking techniques such as inline
hooking, Process Control Block (PCB) hooking etc. In this paper we mainly deal with
inline hooking. It overwrites the first five bytes of an application function with first byte
as JUMP instruction (E9) and remaining four bytes with a 32-bit address of some
malicious code [3].
6
1.2 Motivation:
Rootkits are very hard to detect and its presence in our machines is very
dangerous. For example, the information collected by intruder through rootkits is sold to
some companies for huge profits. We have some tools to say whether a rootkit exists are
not but it wouldn’t assure completely about the removal of the rootkit. So, detection and
removal of rootkits from the computers which are connected in the network decreases a
big task in security. The important reason to be considered is, rootkit is invisible when it
is executing. These are very small software but, causes very major threats to the
confidentiality of data. The best example is Sony BMG stealth Digital Right
Management (DRM) rootkit. This is software with Extended Copy Protection (XCP)
installed in the machines. This is done in attempt to stop the music copy right violations.
This rootkit creates vulnerabilities for other malware to exploit.
In this paper, i mainly concentrated on the rootkits that affects the operating
system processes and resources which mainly uses the inline function hooking. There
are valid reasons why it is important to do research in the area of rootkits:
It is known from a survey that 85 percent of malicious software is being
developed with an intention to generate profits for malware developers.
There is a huge increase in the number and complexity of rootkits in recent
years [6].
2. Proposed research:
By using behavioral detection the subset and extended version of the existing
rootkits are found. This is achieved by observing and analyzing the characteristics of the
rootkits. It is also extended to other types of rootkits.
3. Methodology:
The research work is divided into two stages where in first stage, reviewed
almost eleven famous rootkits which are freely available online. Among eleven, two are
adware, remaining are rootkits. Clearly, their characteristics and behavior is analyzed
and i maintained a table in the database with unique ids and names for this rootkits. This
7
is used in future for querying. In second stage, using set theory, i tried to found the
affected target system has a rootkit which is either new or exactly the same or extended
or subset of the existing rootkit.
3.1 Stage 1:
I observed some rootkits characteristics which are open source tools. Some of
them are:
I. Hacker Defender: It installs a backdoor technique and downloads a malware on
to the target system and the initialization part starts when the Hxdef100.ini starts
executed. Immediately after execution it deletes the kernel mode driver called
hxdef100rv.sys. It mainly sniffs the data to a highly trafficked path to get the
commands from the remote machine [7].
II. Shadow Walker: The name itself conveys its characteristic feature. It behaves
like shadow means almost invisible. It works by hooking the Virtual Memory
Manager (VMM) and editing the page-fault handler. Page-fault is considered as a
virtual memory interrupt. When the next instruction or item of data is not in
physical memory and must be swapped back in from the disk. If the required page
on disk cannot be found, then a page fault error occurs, which means that either the
operating system or an application has corrupted the virtual memory. If such an
error occurs, the user has to reload the application. The execution of the shadow
walker is invisible to signature-based scanners because it exists in the memory and
it never leaves any of its contents on the hard drive [8].
III. Futo: It uses a method to hide the process. The method is Direct Kernel Object
Manipulation (DKOM) of PspCidTable. It is a memory resident kernel data
structure which contains information of both active and inactive processes. There is
a tool Known as Rootkit Analysis Identification Elimination (RAIDE), which is
under beta testing [9].
IV. Apropos Rootkit: This is famous and dangerous rootkit. It installs a kernel
mode driver into the operating system and hooks the user mode and kernel mode
8
data structures. Besides that, it installs a spyware which is started before the
operating system gets started. It doesn’t have a standard name for their files, it
keeps on renaming them which is difficult for an administrator to detect them and
uninstall them [10].
V. Pe386: The processes of pe386 run in background and are hidden. Apart from
that the files are located in the Alternate Data Stream (ADS) of system32 folder.
ADS are a special storage area where the infrequently accessed files are stored and
they are not normally viewable without using a special program [11].
In this way, i studied the characteristics of eleven rootkits and inserted a table
into the database with unique ids. The table name is RootChartable which is shown in
Table 1.
Table 1. Rootkits characteristic Table.
3.2 Stage 2:
In my research identification of rootkit is done by using set theory. So, before
entering into the proposed model we will see some basics of set theory. If we have two
sets say A and B, then
It is said to be A U B, if we have both the features of A and B combinable.
It is said to be A ∩ B, if we have the common features of A and B, but not
9
everything. It is shown in Figure 2.
If {U} is the universal set, then A’ is computed by deleting A from the
universal set i.e., A’= {U}-{A}. We can explain the concepts using Venn diagrams.
10
{F} = (f1 ∩ f2’) U (f2 ∩ f2’) U (f3 ∩ f2’) U………. U (fn ∩ f2’) ……. (Eqn 1)
If we have NOT NULL value in {F} i.e., {F} ≠ {Φ} and (fi ∩ f2) ≠ {Φ} where
i= 1, 2, 3, 4,….., n. Then that rootkit is said to be a modified or extended or subset of the
existing rootkit. So, to decide whether it is modified or subset or extended we follow the
following rules.
If Δ (f1, f2) = 0 then, the new rootkit f2 is exactly same as the new rootkit.
If (f1∩ f2) = f1 and (f1U f2) = f2 then, the new rootkit is the extension of
the existing rootkit which is shown in Figure 4.
If (f1∩ f2) = f2 and (f1U f2) = f1 then, the new rootkit is the subset of the
existing rootkit which is shown in Figure 5.
11
Shaded part indicates (f1 ∩ f2)
The proposed tool only works for inline hooking because it just manipulates the
address in the instruction. But, other hooking techniques don’t affect the address part.
But, they hold the control of the kernel processes by hooking their kernel environment.
12
4. Conclusion and Future work:
The proposed tool detects the rootkit and tells us that it is a new rootkit or the
existing type. The proposed tool is successful to determine whether the new rootkit is
subset or extension of an existing rootkit theoretically. The future work for this research
work is to implement the rules and start designing the tool and apply the rules to check
the real world simulation. Another enhancement can be made to this tool, which can be
extended to detect the modified versions of the rootkits.
5. References:
[1] A. Emigh, “The Crimeware Landscape: Malware, Phishing, Identity Theft and
Beyond”, Journal of Digital Forensic Practice, 2006, pp. 245-260.
[2] ] D. Dettrich, "Root Kits" and hiding files directories/processes after a break-in.
[Online]. Available: http://staff.washington.edu/dittrich/misc/faqs/rootkits.faq, 2002.
[3] M. Russinovich, D. Solomon, Windows Internals, Microsoft Press, U.S, 2004.
[4] J. Hao, Y. Hao, Z. Ding, L. Tao, “A Methodology to Detect Kernel Level Rootkits
Based on Detecting Hidden Processes”, in proceedings with International Conference on
Apperceiving Computing and Intelligent Analysis, 2008, pp. 359-361.
[5] J. Grizzard, J. Levine, J. Owen, : Detecting and categorizing kernel-level rootkits to
aid future detection”, Security & Privacy, IEEE, 2006, pp. 24-32.
13
[11] www.f-secure.com, http://www.f-secure.com/v-descs/mailbot_az.shtml, last visited
12/09/2010.
14