|
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 />
|