Laserfiche WebLink
tended period of time. <br />Delivery. Rootkits can be delivered to smart phones using many of <br />the same techniques as used for malware delivery on desktop ma- <br />chines. A study by FA -Secure showed that nearly 79.8% of mobile <br />phones infections in 2007 were as a result of content downloaded <br />from malicious websites Bluetooth connections and text messages <br />were among the other major contributors to malware delivery on <br />smart phones. Rootkits can also be delivered via email attachments, <br />spam, illegal content obtained from peer -to -peer applications, or by <br />exploitmg vulnerabilities in existing applications. <br />The Neo Freerunner phone used in our experiments ran the Open- <br />moko Linux distribution which directly executes applications with <br />root privileges. Therefore, unsafe content downloaded on this phone <br />automatically obtains root privileges Smart phone operating sys- <br />tems that do not run applications with root privileges can also have <br />vulnerabilities (just as in desktop machines). Such vulnerabilities <br />are not uncommon even in carefully engineered systems. For ex- <br />ample a recent vulnerability in Google's Android platform allowed <br />command -line instructions to execute with root privileges [2]. Rootk- <br />its can exploit these vulnerabilities and infect the operating system <br />kernel, e.g., by installing malicious kernel modules. <br />Persistence. To be effective, rootkits must retain long-term control <br />over infected machines Rootkits typically achieve this goal by re- <br />placing critical operating system modules, such as device drivers, <br />with infected versions. While this approach ensures that the rootkit <br />will get control even if the operating system is rebooted, it also has <br />the disadvantage of leaving a disk footprint, which can be detected <br />by malware scanners. <br />Rootkits can avoid detection by directly modifying the contents <br />of kernel memory, thereby avoiding a disk footprint. Although such <br />rootkits are disabled when the operating system is rebooted, they <br />can still retain long-term control over server -class machines, which <br />are rarely rebooted. However, this technique is not as effective on <br />smart phones because phones are powered off more often (or may <br />die because the battery runs out of charge). Consequently, footle - <br />its that directly modify kernel memory can only persist on smart <br />phones for a few days In such cases, an attacker can re -infect the <br />phone. For example, a rootkit that spreads via Bluetooth can re - <br />infect victims in the vicinity of an infected phone. <br />However, the social consequences of smart phone rootkits mean <br />that they can seriously affect end -user security even if they are ef- <br />fective only for short periods of time. <br />4. DETECTING PHONE ROOTKITS <br />Rootkits vary in the sophistication of the attack techniques that <br />they use. Rootkits that modify system utilities and some kernel <br />modules often leave a disk footprint, and cat possibly be detected <br />using user -space malware detection tools ' However, these tools <br />rely on the operating system to provide critical services, such as <br />access to files, and rootkits can easily bypass them using more so- <br />phisticated techniques The rootkits in Section 3.1 and Section 3.2, <br />for instance, modify function pointers in memory, and can there- <br />fore evade detection tools that check the integrity of system util- <br />ities. More sophisticated rootkits operate by modifying arbitrary <br />data structures on the kernel's heap [10, 12] It is therefore well - <br />accepted that rootkit detection mechanisms must reside outside the <br />control of the operating systems that they monitor. <br />Rootkit detection tools typically operate by directly accessing <br />and scanning kernel memory (i.e., without the intervention of the <br />operating system being monitored) for rootkits. Prior work has <br />developed two mechanisms to access kernel memory: hardware <br />support and virtual machine monitors (VMM). While these mech- <br />anisms suffice to detect rootkits on server -class machines, several <br />challenges must be overcome to adapt them to smart phones, as <br />discussed below. <br />Hardware -supported Rootkit e c 'o <br />Hardware -assisted rootkit detectors operate by using special pur- <br />pose hardware to directly access kernel memory via bMA. For ex- <br />ample, such rootkit detectors can use secure co -processors [18, 26] <br />or PCI cards [10] to access kernel memory, and ensure the integrity <br />of kernel data structures. In this approach, the machine being mon- <br />itored is equipped with the above hardware, and is physically con- <br />nected to another machine, which fetches and scans its memory. <br />While this approach may be practical for server -class machines, <br />it is not applicable to smart phones First, commodity smart phones <br />are not currently equipped with special-purpose hardware, such as <br />co -processors and PCI cards with access to kernel memory. Sec- <br />ond, because the approach requires the smart phone to be physi- <br />cally connected to a momtor machine, it is not practical for use <br />with mobile devices, such as smart phones. One option would be <br />to trigger rootkit detection when a smart phone is physically con- <br />nected to a desktop machine, e.g., for charging, via an interface <br />such as USB. However, the USB interface does not allow direct <br />memory access to attached devices, and therefore cannot be used <br />to externally monitor the memory contents of the smart phone. To <br />our knowledge, only the FireWire (IEEE 1394) interface allows ac- <br />cess to the contents of memory [19], but commodity smart phones <br />are not commonly equipped with this interface. <br />An alternative approach is to use trusted hardware on the smart <br />phone to attest the software stack running on the phone. In this ap- <br />proach, a trusted platform module (TPM) chip on the phone takes <br />integrity measurements (e g., SHA-1 hashes) of the software loaded <br />on the phone, and stores these measurements in tamper -resistant <br />hardware A remote verification authority (e g , the service provider) <br />could then engage in a challenge -response protocol (e g., IMA [23]) <br />with the phone, and receive a digitally -signed copy of the integrity <br />measurements from the phone. The verification authority would <br />certify the software stack by verifying the hash values of the soft- <br />ware loaded on the phone. <br />Prior. work has explored the use of the TPM in combination <br />with an integrity verification protocol to detect rootkits [23] It <br />may be practical to adapt this approach to detect rootkits on smart <br />phones, because an increasing number vendors are beginning to <br />deploy TPMs on their products (this chip is called the mobile trust <br />module, or MTM) [24]. Now that the MTM is beginning to be de- <br />ployed on commercial smart phones, using the TPM detection ap- <br />proach is a possibility. However, three key challenges must be over- <br />come in order to implement integrity verification for smart phones; <br />the first two challenges discussed below also apply to integrity ver- <br />ification on desktop computers. <br />(1) Reasoning about dynamic data structures Current integrity <br />measurement protocols can only measure the integrity of the code <br />and static data (e g, configuration files) [23]. In particular, these <br />protocols cannot attest the integrity of dynamic data structures in <br />kernel memory. Consequently, they cannot detect rootkits that mod- <br />ify the system call table and other critical kernel data structures To <br />be effective against the kind of rootkits demonstrated in this paper, <br />integrity measurement protocols must be adapted to additionally <br />attest the integrity of dynamic data structures in kernel memory. <br />(2) Continuous integrity measurement. Integrity measurement pro- <br />tocols are vulnerable to time -of -check to time -of -measurement ex- <br />ploits, in which the rootkit installs itself after integrity measure- <br />ments are taken and the software stack has been attested. To be ef- <br />fective against such rootkits, integrity measurement protocols must <br />be adapted to provide continuous guarantees [25]. <br />(3) Resource efficiency. Finally, integrity measurement and attes- <br />tation involves a challenge/response protocol between the smart <br />phone and remote attestation authority. Each execution of the pro- <br />tocol requires the smart phone to transfer integrity measurements <br />to the attestation authority Although the size of the integrity mea- <br />5 <br />