Você está na página 1de 4

2010 International Conference on Computer Applications and Industrial Electronics (ICCAIE 2010), December 5-7, 2010, Kuala Lumpur,

Malaysia

Trusted Computing Based Microkernel


MIMOS Berhad sharipah@mimos.my, anuar.isa@mimos.my, nazri@mimos.my, jamalul.lail@mimos.my

Sharipah Setapa, Mohd Anuar Mat Isa, Nazri Abdullah, Jamalul-Lail Ab Manan

AbstractTraditional "monolithic operating systems provide most services by its kernel. Examples of monolithic ones are Linux and Windows. However, a microkernel should be designed to reduce complexity and increase stability of the kernel rather than dump everything in kernel space. Furthermore, the microkernel should be made highly configurable, small, modular, and should be easily expendable without tremendous changes to its source codes. The usage of computer has rapidly grown in recent years which necessitate more secure operating system to fulfil mission critical systems and business transaction. Unfortunately, recent designs of the microkernel are still prone from various attacks. To address this issue, we propose to use trusted computing principles embedded in the existing microkernel design. In this paper we focus our discussions on microkernel architecture to implement trusted computing in the microkernel.

Figure 1. Monolithic kernel and Microkernel [2]

Challenges of Microkernel

I INTRODUCTION A microkernel has a much smaller size kernel than the commonly used monolithic kernel. An example of microkernel is the MINIX 3 which has only 4000 lines of executable code as compared to millions of executable lines of codes for windows, Linux and other operating systems. Normally applications will run in user mode and using only a minimal part of operating system in kernel mode. In the computer, microkernel is the only software that execute at the most privileged level and the other operating system services, such as device drivers, protocol stacks, file systems and user interface codes are contained in user space[1][2]. Monolithic operating systems provide most services by using kernel and they include Linux and Windows. The kernel itself typically has some layered structure, as indicated in Figure 1. A Advantages of microkernel The typical advantages of building small operating systems on a microkernel are: Easily extensible with new kernel modules. Highly configurable. High cohesion because interaction between modules is loose coupling (e.g. a crashed module will not agitate other modules).

The inter-communication and optimization of microkernel module is extremely critical and has great impact on the performance of systems which is done through minimizing the microprocessor execution cycles. In fact, a microkernel-based system has inherently higher service-invocation overheads than a traditional system. The challenge of designing and implementing a good microkernel is to reduce actual (Internal Process Communication) IPC overheads [2]. Furthermore, in order to realize a trusted operating system we need to map existing microkernel architecture to support implementation of the Trusted Computing. II TRUSTED COMPUTING BASE A Trusted Computing Base (TCB) machine will typically have a trusted hardware and its associated software components, and the TCB uses them to create a chain of trust from core root of trust until last nodes. The concept of trusted represents any software or hardware that behaves as expected without the need for further assessment. Hence, the Trusted Computing Group provides a tamper proof security device called Trusted Platform Module (TPM) that is used by the software and its related hardware to do platform integrity checking and verification. These processes are applied to operating system, physical machine, virtual machine, locations, network communication, and prescribed procedures and etc [3] [4]. A Integrity measurement Integrity measurement provides an evidence of platform activities. For example a trusted boot loader, or a trusted operating system or a trusted system agent will collect integrity measurements and compares it with

9055-4/10/$26.00 978-1-4244-9053-0/10/$26.00 2010 Crown

309 10

those values stored in the TPM or in a trusted storage. An attester or a challenger uses platform integrity measurements to verify that a target platform is running as expected or in trusted states. The attester considers these valid integrity measurements significant because the source platform signs the integrity measurements with a TPM identity (e.g., Privacy Certificate Authority generate an AIK credential) to provide assurance that the integrity measurements comes from a valid Trusted Platform. Integrity measurements can also be used to implement secure boot. The trusted system will compare the values in PCR with the current values, i.e. whether they are the same or not. If the values are same then TPM will reveal the secret for both data and key, otherwise an exception happen and the boot process halted [5]. B Problem

L4

A typical microkernel is not a tamper proof device and it can be attacked from unauthorized subject at the beginning of system booting. Figure 2 shows existing microkernel architecture without trusted computing foundation to shield the system [6]. Hereby, we propose a new approach of designing a trusted microkernel with the intention that it will be more resistant to malicious attack [7] by adding the Trusted Computing principles. C Review of Existing Microkernels

A review on microkernel on L4 and MINIX were done: MINIX In MINIX, user mode is divided into small modules which are insulated from one another. Most of the time when a driver crashes it will be automatically replaced without requiring any user intervention and rebooting. As a result it will not affect any running program. These features will greatly enhance the system reliability. Although it is highly reliable, flexible and secure it is not tamper proof [8].

This microkernel based on L4 API is a second generation microkernel. This microkernel is very lean, fast, and simple and has some security mechanism. Similar to MINIX this microkernel implements only a minimal set of abstraction which can help developers built flexibility [9]. From the above, both MINIX 3 and L4 only consider for three main factors which are reliable, flexible and secure, i.e. without integrity measurement on the microkernel. The integrity measurement is the most important as aspect of the microkernel design for tamper proof property. An ordinary TCB can be built based on the existing standard measurement on the microkernel which provides integrity measurement. However, by using TPM which is a tamper proof hardware can make the TCB stronger more resilient to attacks. In this proposed trusted microkernel, an integrity measurement together with its associated integrity services will enable the necessary chain of trust to be established between boot loader and the operating system. We assume the system already has a trusted boot loader to measure the kernel before loading the operating system and we also assumed that there is no physical temper to the TPM using a hardwire. In our endeavor, one such attempt was to minimize the length code [10] and some works attempted to reduce the changes in the kernel through adding encrypted trusted integrity measurement as well as measuring agent as a part of core microkernel. [11] [12] [13].

Figure 2. Microkernel architecture (MINIX) without trusted computing [9]

310 1

III ARCHITECTURE OF MICROKERNEL


User Space

Trusted microkernel

Grub

TRUSTED GRUB

Hard ware/ VM

TPM /vTPM

TCG-BIOS

CPU (Intel-VT/AMDV)

VI CONCLUSION Integrity measurement is very useful to protect from intruder, because it will help us to notice anything that have been changed on the system. Usually user will have difficulty to notice any changing to the system, because there is no systematic process to show that the system is attack by intruder. User will assume or take a lot of time to realize that the system finally was compromised. In our analysis, although microkernel is secure but by adding integrity measurement it will add more value to the system. Both TPM hardware and microkernel itself can provide integrity measurement to the system.
Host C Non trusted

Figure 3. Architecture of the trusted microkernel [14]

In Figure 3 [14], using either hardware TPM or a virtual TPM, the measurement process starts from BIOS as Grub (also known as Trusted Grub), extends stage1 in order to measure first sector of stage2, and appends the measurement values into PCRs. Integrity metrics used are as described in the TPM specification [15], in order to ensure system integrity for the platform. These values can then be used by local and remote systems to verify the software configuration running on the TPM-enabled platform [16] [17] [18]. The existing microkernel only consists of system and clock task (see Figure 2). The proposed design microkernel includes kernel space that can be been loaded with integrity measurement values as shown in Figure 3. The integrity measurement inside the kernel space will be used as root of trust to verify measurements of other modules before being loaded. This can prevent the microkernel from being attacked by rootkits at the early stages. The concept of trusted integrity measurement is deployed in microkernel in order to make the system tamper proof from attack. This can be easily be deployed because of the microkernels feature is very flexible. The Linux kernel version 2.6.30 is a monolithic whereby it includes Integrity Measurement Architecture (IMA) in core kernel. Since both IMA engine and its agents are embedded in the kernel, this design will increase the size of kernel space. As compared to our proposed design, the microkernel is small but trusted. In Figure 4 a trusted distributed network can be built by using a group of trusted microkernels. This trusted distributed network will use trusted computing remote attestation to communicate between other hosts. Host A can communicate with Host B, Host E and vice versa, all communicating in a trusted network. Since only trusted microkernels are communicating, other untrusted nodes will not use trusted attestation and communicate as shown in dotted line.

Host A Trusted Host B Trusted

Host D Non trusted

Host E Trusted

Figure 4. Distributed network using trusted microkernel

REFERENCES
[1] [2] [3] [4] A. S. Tanenbaum and A. S.Woodhull. Operating Systems: Design and Implementation,. Prentice Hall, third edition, 2006. About Microkernels, NICTA, 2009,. [Online]. Available: http://ertos.nicta.com.au/research/l4/microkernels.pml Ross Anderson, Trusted Computing, Frequently Asked Questions, Version 1.1. August, 2003. [Online]. Available: http://www.cl.cam.ac.uk/~rja14/tcpa-faq.html Richard Schapker , Trusted Computing Base, April 2003,. [Online]. Available:http://searchsecurity.techtarget.com/sDefinition/0,,sid14 _gci816161,00.html B Balacheff, L Chen, S Pearson, D Plaquin, G Proudler. Trusted Computing Platforms. TCPA Technology in Context, Prentice Hall, Upper Saddle River, 2003. IMMA, Presentation: Internal Structure Of Minix, 2007.[Online].Available: http://imma.wordpress.com/2007/04/02/presentation-internalstructure-of-minix/ Dan Dodge, Securing Connected Device from the Ground Up, EETimes Design,. 2006. [Online]. Available: http://www.embedded.com/columns/embeddedsoapbox/18950009 2?_requestid=106837

[5] [6]

[7]

311 2

[8] [9]

.[Online]. Available: http://en.wikipedia.org/wiki/Microkernel, [11] Perry W.Wilson, J.Aaron Pendergrass,C.Durward McDonell III, Peter A. Loscocco,David J.Heine, Bessie Y.Lewis, Pendergrass Method and system for program execution integrity measurement, US Patent US20080015808, 2008 [12] Zhengrong Liu, Yusuf Wilajati Purna, Takemura Shinichi, Nicholas Szeto, Establishing a trusted platform in a digital processing system, US Patent 20060015717, 2006 [13] J Shen, S Qing and Q Shen Design of a Micro-kernel based Secure System Architecture, Workshop on Information Assurance, United States Military Academy, West Point, NY, pp 384-385,Proceeding of the 2006 IEEE. [Online]. Available: http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=01652123 [14] M Nakamura, S Munetoh, Designing a trust chain for a thin client on a live CD, Tokya Research Laboratory, IBM Japan, ACM symposium on Applied computing Seoul, Korea. Symposium on Applied Computing, Proceedings of the 2007, [Online]:Available: http://portal.acm.org/citation.cfm?id=1244343, [15] Trusted Computing Group, Trusted Platform Module Main Specification, Part 1: Design Principles TPM Main Specification Level 2, Version 1.2, Revision 103,. [Online].Available: http://www.trustedcomputinggroup.org. [16] Sirrix AG Security Technologies., Trusted Grub, 2010.[Online]: Available: http://www.sirrix.com/content/pages/trustedgrub.htm, [17] Mark Ryan, Introduction to TPM, University of Birmingham. Draft of March 24 2009. [Online]. Available:

Available: http://os.inf.tu-dresden.de/L4/overview.html, [10] Wikipedia, The Free Encyclopedia, Microkernel,

MINIX3, What is MINIX 3, .[Online]. Available: http://www.minix3.org Operating System Group, L4 u-Kernel Family, 2001. [Online]. 2010

ftp://ftp.cs.bham.ac.uk/pub/authors/M.D.Ryan/08-intro-TPM.pdf, [18] Marcel Selhorst, Christian Stuble, Felix Teerkorn,, TSS study, Introduction and Analysis of the Open Source TCG Software Stack TrouSerS and Tools in its Environment, Version 1.0, Sirrix AG security technologies.

312 3

Você também pode gostar