Laserfiche WebLink
detection mechanism must operate outside the operating system, <br />typically on specialized hardware (e.g., a co -processor [18]) or in <br />a virtual -machine monitor [15]. Although there have been recent <br />efforts to deploy virtual machines on smart phones [8], such sup- <br />port is not widely available yet. Even so, existing rootkit detec- <br />tion techniques [10, 18 21], which have primarily been developed <br />for desktop systems, employ heavyweight mechanisms that require <br />periodic scans of kernel memory snapshots. Such techniques will <br />likely place substantial energy demands if used on smart phones. <br />We conclude the paper by discussing the challenges involved in <br />detecting rootkits on smart phones. <br />2. BACKGRO <br />Malware on Smart Phones <br />Smart phones are an attractive target for attackers, both in the kinds <br />of attacks that are possible and in the social implications of these <br />attacks. Smart phones have access to both telephony and the In- <br />ternet. As a consequence, malware that can attack a smart phone <br />has the unique advantage of being able to affect the cell phone in- <br />frastructure as well as other phones on the cellular network. These <br />abilities have driven malware authors to focus on smart phones, <br />with a recent report from MacAfee [3] stating that nearly 14% of <br />mobile users worldwide have been directly infected or have known <br />someone infected by mobile malware Nearly 72% of the users <br />surveyed in the MacAfee study expressed concerns regarding the <br />safety of using emerging mobile services and more than 86% were <br />concerned about receiving inappropriate or unsolicited content, fraud- <br />ulent bill increases, or information loss and theft. <br />The pervasive nature of smart phones and a large, unsophisti- <br />cated user base also make smart phones particularly attractive to <br />attackers Important personal and financial information can likely <br />be compromised by mobile malware because phone usage revolves <br />largely around day-to-day user activities. For example, smart phones <br />are increasingly being used for text messaging, email, storing per- <br />sonal data, including financial data, pictures and videos. Espionage <br />of such voice conversations is likely to have serious social implica- <br />tions. As a second example, users typically tend to carry their smart <br />phones (and keep them powered on) wherever they go; therefore, <br />an attack that compromises the GPS subsystem will compromise <br />privacy of the victim's location. <br />Traditional threats to desktop systems, such as worms and viruses, <br />have already begun infecting mobile platforms. According to F- <br />Secure [1], there are already more than 400 mobile viruses in cir- <br />culation. Several existing mobile malware result m simple annoy- <br />ances. For example, the Skull.D viruslocks the phone and flashes <br />an image of a skull and crossbones on the screen... .However, oth- <br />ers are more dangerous and can cause financial damage to the user <br />by sending text messages to "premium" numbers Malware such as <br />spyware and Trojan horses have also started -affecting smart phones. <br />The threats posed by mobile malware, can readily be countered <br />using many of the same tools available for desktop machines For <br />example, an antivirus tool equipped with an appropriate virus sig- <br />nature database can detect the presence of viruses on a smart phone. <br />As antivirus tools begin to get deployed on mobile platforms, we <br />envisage that attackers will also move toward using stealth tech- <br />niques to maintain long-term control over infected smart phones <br />by maliciously modifying smart phone operating systems. <br />Rootkits on Des i ps <br />The term "rootkit" originally referred to a toolkit of techniques de- <br />veloped by attackers to conceal the presence of malicious software <br />on a compromised system. During infection, rootkits typically re- <br />quire privileged access (e.g., root privileges) to infect the operating <br />system. Even on operating systems that do not run applications <br />Attack <br />LOC 1 Size <br />of kernel <br />module <br />116 <br />428 <br />134 <br />92.8 KB <br />GSM <br />GPS <br />101.7 <br />87.2 <br />KB <br />KB <br />Battery <br />Figure 1• Lines of code and size of the kernel modules that <br />implement each of the three attacks. <br />with root privileges, an attacker may exploit vulnerabilities in ap- <br />plication programs, such as web browsers (e g., drive -by -download <br />attacks) and the operating system, to obtain elevated privileges to <br />install rootkits. <br />Rootkits typically infect the system by installing themselves as <br />kernel modules, which are loaded each time the operating system <br />is booted. However, this approach leaves a disk footprint, i.e., the <br />kernel module containing the rootkit, thereby exposing the rootkit <br />to antivirus tools. Sophisticated rootkits avoid this problem by di- <br />rectly modifying data in kernel memory and do not leave a disk <br />footprint. Although such rootkits only persist until the system is <br />rebooted, they are effective on desktop computers, which are often <br />not rebooted for several days or months at a time. <br />Once infected, a rootkit can serve as the stepping stone for sev- <br />eral future attacks. For example, rootkits are commonly used to <br />conceal keyloggers, which steal sensitive user data, such as pass- <br />words and credit card numbers, by silently logging keystrokes. They <br />might also install backdoor programs on the system, which allow a <br />remote attacker to gain entry into the system in the future. Rootkits <br />can also perform other stealthy activities, such as disabling the fire- <br />wall/antivirus tools or affecting the output quality of the system's <br />pseudo random number generator, thereby causing the generation <br />of weak cryptographic keys [12]. None of these activities are di- <br />rectly visible to the user because the rootkit conceals its presence. <br />Their stealthy nature enables rootkits to stay undetected, and there- <br />fore retain long-term control over infected systems. <br />3. ROOTKITS ON SMART PHONES <br />The, increasing complexity of smart phone operating systems <br />makes them as vulnerable to rootkits as desktop operating sys- <br />tems are. However, these rootkits can potentially exploit inter- <br />faces and services unique to smart phones to compromise security <br />in novel ways In this section, we present three proof -of -concept <br />rootkits that we developed to illustrate the threat that they pose to <br />smart phones. They were implemented by the first two authors, <br />with only a basic undergraduate -level knowledge of operating sys- <br />tems. Our test platform was a Neo Freerunner smart phone running <br />the Openmoko Linux distribution [5]. We chose this platform be- <br />cause (a) Linux source code is freely available, thereby allowing us <br />to study and modify its data structures at will; and (b) the Neo <br />Freerunner allows for easy experimentation, e.g., it allows end - <br />users to re -flash the phone with newer versions of the operating <br />system. <br />All our rootkits were developed as Linux kernel modules (LKM), <br />which we installed into the operating system. However, during a <br />real attack, we expect that these LKMs will be delivered via other <br />mechanisms, e.g., after an attacker has compromised a network - <br />facing application or via a drive -by -download attack. Figure 1 <br />presents the lines of code needed to implement each attack, and <br />the size of the corresponding kernel module. This figure shows the <br />relative ease with which rootkits can be developed. It also shows <br />that the small size of kernel modules allows for easy delivery, even <br />on bandwidth -constrained smart phones. <br />Although our implementation and discussion in this section are <br />restricted to the Neo Freerunner platform, the attacks are broadly <br />applicable to smart phones running different operating systems. For <br />example, Android is a platform derived from Linux and can sup- <br />2 <br />