Schematize Trust Overlays & Management In Mobile Computing

Mobility leads to unplanned interactions between computer systems or mobile devices, as people use devices to access services in varied environments. Before two or more systems ready to interact, they must trust that each will satisfy the security and privacy requirements of the other. In this paper we introduce trust overlays, a systematic approach to build such trust in Mobile computing world. Our solution exploits the increasing availability of trusted computing hardware on commodity systems, including portable computers. We report that key pieces of these solutions are coming into a place, as systems that provide distributed mandatory access control. We also point out that tremendous challenges remain, such as how to set compatible security policies across administrative domains.

1.    Introduction: Trust can be defined as reliance between two entities. It says how much an entity believes another entity. In the context of computer systems, we can informally define trust as the expectation that a system will behave in a particular manner for a specific purpose. Mobile computing presents many scenarios that require mutual trust between mobile devices and infrastructure systems.For example, with SoulPad [2], the user carries an auto-configuring operating system (OS) and a suspended virtual machine (VM) on a portable device. Where as the user connects the device to a host PC, the PC boots the OS from the device and resumes the VM. In this scenario, the device must trust that the PC is not running additional software that will compromise the user’s privacy. For an instance, a VM based environment on the PC could fool the OS into thinking it is booting on a bare physical machine, when in reality it is booting on a Virtual Machine (VM) that can snoop on the user’s data. At the same time, the PC must trust that the OS and Virtual Machine (VM) it obtains from the device will not harm the infrastructure, say by launching a Denial of Service attack (DoS) from the PC. Internet Suspend/Resume [9] introduces similar concerns, as it involves a host PC loading a user’s VM from a mobile device or remote server. There are many other commonplace situations, For example we download a software or other digital content to a personal device from a public server; using a personal device to purchase goods or services; using a public PC to check personal mail stored on a remote server and so on. The Trusted Computing Group (TCG) has identified similar scenarios that focus on the need for the infrastructure to establish trust on the mobile devices. We feel that it is equally important for the mobile devices to establish trust with the infrastructure.
Today the prevailing way to establish trust between systems is to exchange and verify cryptographic certificates via the Secure Sockets Layer protocol (SSL).

*Lecturer, Acropolis Institute of Technology & Research, Indore
**Professor, Acropolis Institute of Technology & Research, Indore


Certificates verify the identities of communicating parties by proving the origin of data. However, they do not guarantee any system properties such as software integrity. It is common knowledge that various forms of malware (viruses, worms etc.) tamper with software on large numbers of personal computers and servers on a daily basis. In addition, there are increasingly frequent reports of malware being developed for smart phones and other mobile devices, including a virus that can jump from a  mobile device to infect a PC. A system thus compromised can present a valid SSL certificate and yet behave maliciously.We propose a more comprehensive & secure solution to trust establishment based on trust overlays. As shown in Fig. 1, a trust overlay spans multiple systems connected via untrusted networks. On those systems that are members of an overlay, our solution verifies software integrity, enforces isolation between workloads and secures communication. We build trust bottom-up by starting with trusted hardware and adding layers of trusted software. It is a system-level solution available to all applications running on the member platforms. An important goal is to reduce the security burden on applications in order to simplify application programming. This paper is explaining two points. First it identifies security and privacy required to establish trust across mobile computing scenario. Second, it describes how to manage such properties using a combination of technologies, some of which are established, some of which are emerging, and some of which require further research.
 
 

Fig.1. A trust overlay provides security and privacy properties that span networked systems,
 including mobile devices, proxies, and servers.
2.    Properties and Components of Trust Overlays: Fig. 1 shows an example of a trust overlay spanning four systems: a mobile device and three stationary systems. The stationary systems represent proxies. and servers. Proxies offload computation and communication from resource-limited devices; they often act as intermediaries between devices and servers. All the systems communicate over an untrusted network such as the public Internet. The purpose of a trust overlay is to provide four security and privacy properties:


a.    Attested Software Integrity
b.    Isolated Application Workloads
c.    Authenticated & Encrypted Communication
d.    Compatible Security Policies.
The rest of this section discusses these properties together with the hardware and software components necessary to implement them.

a.    Software integrity: To establish mutual trust, systems must prove their integrit
to each other through a process called attestation. Attestation allows a remote party to verify that the software stack running on a system is the one expected and has not been tampered with. Secure attestation is made possible by cryptographic hardware that is resistant to software attacks. An example of such hardware is the Trusted Platform Module (TPM). The TPM specification is an open standard. TPM chips are widely deployed on laptop and desktop PCs, and are becoming increasingly available on server-class machines. An effort is underway to produce a similar specification tailored to the constraints of small mobile devices. We can expect TPM-like hardware for such devices in the near future. TPM enables secure attestation by providing secure storage as well as cryptographic primitives like hashes and signatures. Attestation typically works bottom-up through the software stack by having each level measure the next higher level and store the result in the TPM.

A common measurement is to compute a hash of a software component just before it is loaded for execution. For example, on a standard PC, the BIOS would measure the boot loader, which would measure the operating system kernel, which would measure applications. At any point the TPM chip can be requested to produce a signed message containing the measurement results so far. A number of TPM-based attestation schemes have been developed. Trusted Platform on Demand (TPOD) implements a trusted boot sequence by attesting to BIOS and GRUB boot loader integrity [10]. The Integrity Measurement Architecture (IMA) extends the trust chain established by TPOD by attesting to the load-time integrity of the Linux OS and its applications [13].
Fig. 2 shows a general representation of the layers used for attestation. Concrete examples for each layer are:

    Root of Trust: TPM or a secure coprocessor like the IBM 4758 and 4764 [3].
    Supervisor: Linux operating system or Xen virtual machine monitors [4].
    Container: Java virtual machine or Xen virtual machine.

Fig. 2 also depicts a trust overlay containing a mobile device and a server that have attested their integrity to each other. In deference to the resource limitations of mobile devices, the device is shown to run a simpler software stack, perhaps a Symbian OS supporting one Java VM and application workload at a time. In contrast, the server is shown to run a more complex stack, perhaps a Xen hyper visor supporting multiple Xen VMs, each running a different OS and workload.

 
Fig 2. Layers of trusted hardware and software combine to enforce software integrity,
workload isolation, and secure communication.
b.    Workload Isolation: Attested software integrity is necessary but not sufficient for establishing distributed trust. Many usage scenarios also place restrictions on information flow that cannot be left to applications to enforce. A comprehensive solution to the distributed trust problem must provide system-level guarantees on isolation of application workloads. Mandatory access control (MAC) has proven to be an effective mechanism for making such guarantees. MAC policies ensure that system security goals are achieved regardless of user action, in contrast with discretionary policies that let users grant rights to the objects they own. Security-Enhanced Linux (SELinux) adds MAC to the Linux kernel in order to control resource access by application processes. The sHype security architecture adds MAC to hyper visors like Xen in order to control resource access by virtual machines [14]. We believe that virtual-machine environments augmented with mandatory access control are an ideal platform for providing the workload isolation we seek for trust overlays. VM monitors have naturally good isolation properties because they mediate VM access to all physical resources. The addition of MAC further allows us to reason formally about the correctness of information flow within the system. To continue with the example in Fig. 2, the server could offer strong isolation guarantees by using the following software stack:
    Supervisor: Xen hyper visor with sHype security.
    Container: Xen virtual machine running SELinux.
The mobile device could offer more moderate guarantees by using this stack:
    Supervisor: Linux, Palm OS, Symbian, or Windows Mobile.
    Container: Java virtual machine with Java 2 Platform Security.
Isolation guarantees on mobile devices would be strengthened by the adoption of operating systems with mandatory access control. Possibilities include a stripped-down version of SELinux or a new operating system designed with this requirement in mind.

c.    Secure Communication: Another piece of the trust overlay picture is secure communication between the overlay members. Authentication and encryption are necessary to work over un trusted networks like the Internet.



Establishing such communication is a solved problem with two well-known solutions:
    Internet Protocol Security (IPSec).
    Secure Sockets Layer (SSL).
Either of these solutions can be used to implement the Secure Tunnel between the mobile device and server shown in Fig. 2. The operation of these secure tunnels needs to be integrated with the other aspects of trust overlays. For example, a tunnel must not be established if either attestation fails or communication between the endpoints is forbidden by the isolation requirements.

d.    Compatible policies: The final aspect of trust overlays involves setting compatible security policies across all the systems in an overlay. The world at large is heterogeneous, with many different and sometimes competing administrative domains, particularly in the mobile computing context. It is not enough to set a common security policy, such as may be in force within a single administrative domain. What is needed is a way to negotiate and enforce different but compatible policies across administrative domains. This is a difficult open problem. However, there is a great deal of activity around policy management throughout the security and privacy research community. We have started work in this area and plan to contribute to a solution.
3.    Current and Future Work: We have found a distributed mandatory access control system [11] that verifies software integrity, provides workload isolation, and establishes secure communication. The prototype uses the Trusted Platform Module as a root of trust, the Xen hyper visor with sHype security as a supervisor, and Xen virtual machines as containers. We have used this system to establish trust between the distributed components of a Berkeley Open Infrastructure for Network Computing (BOINC) [1] application. Work remains to extend this distributed MAC system to mobile computing environments. However, we do not see any fundamental obstacles to apply our trust overlay concepts & its management policies in such environments. For example, the TCG Mobile Phone Working Group needs to finalize its standards before TPM-like functions are widely available on mobile devices. In addition, IMA like functions would need to be implemented in mobile computing platforms such as Palm OS, Windows Mobile and Symbian, as has been done with Linux on stationary computers. Mandatory access controls would also need to be added to these mobile platforms, as has been done with SELinux on stationary computers.

Work also remains in the policy area. Our prototype attests to the integrity of the security policies in use by the member systems of a trust overlay. However, the current system deals only with the syntax of these policies; it has no automated support for verifying their semantics. We need to work out procedures for translating human-level security requirements to machine-level security policies in order to improve our ability to reason about the security properties provided by the members of a trust overlay. As mentioned earlier, we also need to develop a way to negotiate and enforce compatible, not necessarily identical, policies across administrative domains.

4.    Related Work: This section presents a brief survey of related work that is already mentioned in this paper. In the area of attestation, the Terra project [5] uses trusted third-party certificates to establish a remote basis for believing the authenticity of a virtual operating environment, and to demonstrate that both the environment and the applications running therein are unmodified. Smith explores an approach for attesting to all software layers running inside a cryptographic coprocessor [3]. Haldar and colleagues [7] build upon a trusted Java environment to implement language-based VMs that enable remote attestation of complex, dynamic, and high-level application properties in a platform independent way. Work by Sadeghi and Stüble [12] aims to enable evaluating which security properties a remote system upholds, while abstracting the details of which hardware and software components are used in the system.

In the area of enforcing security policies in a distributed system, Ioannidis and colleagues [8] introduce the concept of a Virtual Private Service (VPS). A VPS captures, in a single policy specification, the complete access-control requirements of a service to produce a consistent environment across multiple independent enforcement points. Finally, Trusted Virtual Domains [6] offer an abstraction of security properties so that computing services can be dependably offloaded into execution environments that demonstrably meet a desired set of security requirements. The work described in this paper complements this related work with a schematized Trust Overlay & its management in Mobile Computing.

5.    Conclusion: We hope that this paper has conveyed the desirability and viability of trusted mobile computing. Our concept of trust overlays applies not only to mobile computing environments but to distributed systems in general. However, the dynamic nature of interactions between mobile devices and their surroundings makes the need for trusted computing particularly acute in the mobile context. We advise the mobile computing research community to address trust issues in their systems sooner rather than later.
6.    References:
1.  D.P. Anderson,(2004) “BOINC: A System for Public-Resource Computing and Storage,” Proc. of Workshop on Grid Computing.
2. R. Cáceres, C. Carter, C. Narayanaswami and M. Raghunath, (2005)“Reincarnating PCs with Portable SoulPads,” Proc. of 3rd ACM/USENIX International Conference on Mobile Systems, Applications and Services (MobiSys).
3.  J.G. Dyer, M. Lindemann, R. Perez, R. Sailer, S.W. Smith, L. van Doorn and S. Weingart, (2001) “The IBM Secure Coprocessor: Overview and Retrospective,” IEEE Computer.
4.  B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, I. Pratt, A. Warfield, P. Barham and R. Neugebauer, “Xen and the Art of Virtualization,(2003)” Proc. of the ACM Symposium on Operating Systems Principles.
5.  T. Garfinkel, B. Pfaff, J. Chow, M. Rosenblum and D. Boneh, (2003) “Terra: A Virtual Machine-Based Platform for Trusted Computing,” Proc. of 9th ACM Symposium on Operating Systems Principles (SOSP).
6.  J. L. Griffin, T. Jaeger, R. Perez, R. Sailer, L. van Doorn. And R. Cáceres, (2005) “Trusted Virtual Domains: Toward Secure Distributed Services,” Proc. of 1st IEEE Workshop on Hot Topics in System Dependability (HotDep).
7.  V. Haldar, D. Chandra, and M. Franz, (2004) “Semantic Remote Attestation: A Virtual Machine Directed Approach to Trusted Computing,” Proc. of USENIX Virtual Machine Research and Technology Symposium.
8.  S. Ioannidis, S. M. Bellovin, J. Ioannidis, A. D. Keromytis, and J. M. Smith, (2004) “Design and Implementation of Virtual Private Services,” IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises.
9.  M. Kozuch and M. Satyanarayanan, (2002) “Internet Suspend/Resume,” Proc. of IEEE Workshop on Mobile Computing Systems and Applications (WMCSA).
10.  H. Maruyama, F. Seliger, N. Nagaratnam, T. Ebringer, S. Munetoh, S. Yoshihama and T. Nakamura, (2004) “Trusted Platform on Demand,” Research Report RT0564, IBM Corporation.
11.  J. M. McCune, S. Berger, R. Cáceres, T. Jaeger, R. Sailer, (2006) “DeuTeRiuM-A System for Distributed Mandatory Access Control”, Research Report RC23865, IBM Corporation.
12.  A.-R. Sadeghi and C. Stüble, (2004) “Property-based Attestation for Computing Platforms: Caring about Properties, Not Mechanisms,” Proc. of New Security Paradigm Workshop (NSPW).
13.  R. Sailer, X. Zhang, T. Jaeger and L. van Doorn, (2004) “Design and Implementation of a TCG-based Integrity Measurement Architecture,” Proc. of 13th USENIX Security Symposium.
14.  R. Sailer, T. Jaeger, E. Valdez, R. Cáceres, R. Perez, S. Berger, J. L. Griffin and L. van Doorn, (2005) “Building a MAC-Based Security Architecture for the Xen Open-Source Hypervisor,” Proc. of 22nd Annual Computer Security Applications Conference (ACSAC).


For details see attachment