Bhargavi Konduru`s presentation on Constructing Secure Operating

Download Report

Transcript Bhargavi Konduru`s presentation on Constructing Secure Operating

Presented By,
Bhargavi Konduru
 Nowadays,
most electronic appliances have
computing capabilities that run on embedded
operating system (OS) kernels, which provide
basic execution primitives that can be commonly
used by many appliances.
 The recent emergence of digital appliances
requires more advancde features, such as
networking and GUI, which dramatically
complicates the appliances’ software systems and
increases their code size.
 Networked systems need to be prepared for attacks
through the internet.
 Users
software systems must be more robust than
ordinary personal computer systems.
 Building such large, complex, and robust software
systems on embedded kernels with the absence of
a protection domain is very difficult as software
bugs can cause system malfunction, data
corruption, security breaches, or even system
destruction.
 To reduce the problem of the attacks a new system
architecture is proposed in this paper.
 A system
architecture that co-locates multiple
embedded operating systems on a microkernel is
proposed.
 It employs a microkernel to provide protected
execution environment for the existing embedded
kernels that have no protection mechanism.
 No need to run the existing software on different
operating systems as the same protection domain is
shared.
 As the micro kernel supports multiple protected
execution environments, we can run multiple
instances along with the applications.
 System
reinforces reliability and security, as the
applications and servers can be decoupled to
different protection domains.
 The microkernel performs the scheduling of
embedded kernel instances.
 Here a system is developed that consists of a TL4
microkernel and a μITRON kernel.
 It
enables the provision of protected domains
without affecting the compatibility of the kernel
APIs by employing a microkernel.
 It can achieve maximum reusability of the existing
software resources including embedded OS kernels
and their applications.
 It enables the schedulability analysis of real-time
tasks on an embedded OS kernel.
 These features can protect the existing software
resources, maintain the software quality, and save
costs.
 To
accommodate large and complex software
systems, new kernels that support protection
domains have been created.
 But this is considered as a drawback as there will
be compatibility issues.
 The architecture proposed in this paper enables the
reuse of the current kernel, by co-locating
multiple kernels on a micro kernel.
 The proposed architecture incorporates the
hierarchical CPU scheduling to handle the multiple
independent instances of a real time kernel.
 It
consists of TL4 microkernel, the multiple
instances of a μITRON kernel.
 Multiple applications can run within a single
instance of a μITRON kernel.
 Applications can access services provided by
servers through server proxies.
 Only TL4 microkernel executes in the privileged
mode directly on top of hardware. It provides
protection domains, threads, and IPC.
 The misbehaviors of applications do not cause data
destruction in servers protection domains as
different protection domains are allocated for
applications and servers.
 It
can effectively utilize multiple protection
domains.
 Mainly a protection domain should be dedicated to
personal data file services in order to isolate
personal data files from any illegal access.
 Network services are isolated in another protection
domain since a network subsystem is the most
likely an entry point for a system to be
compromised.
 Local device servers implement the drivers of
devices shared by applications and the other
services
 We
can make system consume less resources by
using protection domain.
 It is desirable to dedicate a protection domain to an
application program when it is not trusted or it
needs to be installed from the internet.
 Another use of protection domain is for
debugging, as it is usually difficult to find bugs
that share the same domain.
 Out of range memory references can be easily
detected.
microkernel is based on L4 μ-kernel and is
enhanced to enable the execution of multiple
μITRON kernel instances.
 TL4 microkernel inherits L4 μ-kernel’s simple
abstractions, that include threads, protection
domains, memory pages, and IPC.
 Here TL4 microkernel’s execution entities are
referred as threads and μITRON kernel’s execution
entities are referred to as tasks or applications.
 TL4
A
μITRON kernel is a simple embedded real-time
kernel that provides real-time tasks,
synchronization and communication mechanisms
and device drivers.
 It is divided in to 3 parts
• Machine Independent Part
• Machine dependent part
• Processor Emulator
 To
maximize the reusability and minimize the
modifications, a layer called processor emulator
is introduced that emulates the hardware and
encapsulates the differences from the hardware.
 The processor emulator deals with interrupts, time
management, scheduling events, and the idle state.
 Controlling Interrupts: Interrupts are disabled by
setting a flag and enabled by a message
notification.
 Time Management: Here we need to consider the
scheduling of the timer interrupt emulation threads
for those kernel instances.
 Dealing
with external scheduling events: It
happens when an interrupt occurs and a higher
priority task wakes up.
 Dealing with Idle State: When all tasks are
blocked and there is no task to run in a ITRON
kernel, the kernel falls into the idle state. Here the
main execution thread needs to block in order to
avoid disturbing the other instances execution.
 Enhancements:
 Scheduler:
Here the scheduler determines which
thread to run as each instance has a thread queue
that maintains runnable threads of the instance.
 Scheduling of Interrupt Emulation Threads: It
has three States.
• The instance is running
• The instance is runnable but not running
• The instance is not runnable
 As
the implementation of the system is finished
and described let us see the evaluation of the
system.
 Memory Footprints: It shows the memory sizes
consumed to run a single instance of μITRON
kernel on TL4 microkernel.
 The memory footprint of a μITRON kernel
instance on TL4 microkernel is 63KB, which is
slightly smaller than the original μITRON kernel.
 Invocation
Latencies: Latencies from the
software entry point of interrupt are measured.
 They are measured by considering two tasks
Application task 1 and Application task 2.
 Latency values are measured for both cases of
μITRON kernel on TL4kernel and μITRONkernel
on hardware.
 The results show that the μITRONkernel on TL4
kernel outperforms the μITRONkernel on the
hardware.
 Here
the authors proposed an alternative approach
to introduce protected domains to the existing
embedded systems.
 This approach employs a microkernel to provide
protected execution environments for the existing
embedded kernels.
 It can achieve the maximum reusability of the
existing software resources including embedded
OS kernels and their applications.
 Future work includes creating more realistic and
practical setup, and more accurate system and its
evaluation.

G. Bollella and K. Jeffay. Support for Real-Time Computing within General Purpose Operating Systems Supporting Co-Resident Operating Systems. In Proceedings of the 1st IEEE Real-Time Technology and
Applications Symposium, May 1995.

R. J. Creasy. The Origin of the VM/370 Time-Sharing System. IBM Journal of Research and Development, 25
(5), 1981.

R. P. Goldberg. Survey of Virtual Machine Research. IEEE Computer Magazine, pages 34–45, June 1974.

G. W. Dunlap, S. T. King, S. Cinar, M. Basrai, P. M. Chen. ReVirt: EnablingIntrusion Analysis through
Virtual-Machine Logging and Replay.In Proceedings of the 2002 Symposium on Operating Systems Design
and Implementation, December 2002.

T. Garfinkel and M. Rosenblum. A Virtual Machine Introspection BasedArchitecture for Intrusion Detection.
In Proceedings of the Internet Society’s 2003 Symposium on Network and Distributed System Security,
February 2003.

S. T. King, G. W. Dunlap, and P. M. Chen. Operating System Support for Virtual Machines. In Proceedings of
the 2003 Annual USENIX Technical Conference, June 2003.

J. Sugerman, G. Venkitachalam, and B. H. Lim. Virtualizing I/O Devices on VMware Workstation’s Hosted
Virtual Machine Monitor. In Proceedings of 2001 USENIX Annual Technical Conference, 2001.

H. Takada ed. μITRON4.0 Specification. TRON Association, 1999. (In Japanese)

H. Takada ed. μITRON4.0/PX Specification: Protection MechanismExtension to μITRON4.0 Specification.
TRON Association Version Up WG, 2002. (In Japanese)