Measures to Improve Security in a Microkernel Operating System Wasim Al-Hamdani Durga Vemuri Kentucky State University Kentucky State University

Slides:



Advertisements
Similar presentations
The Role of Trust Management in Distributed Systems Authors Matt Blaze, John Feigenbaum, John Ioannidis, Angelos D. Keromytis Presented By Akshay Gupte.
Advertisements

Operating System Security
Ensuring Operating System Kernel Integrity with OSck By Owen S. Hofmann Alan M. Dunn Sangman Kim Indrajit Roy Emmett Witchel Kent State University College.
Chapter 6 Security Kernels.
Secure Operating Systems Lesson 10: SCOMP. Where are we?  Multics is busy being explored, which is kind of cool…  But Multics wasn’t the end of custom.
Microkernels How to build a dependable, modular and secure operating system?
Environmental Council of States Network Authentication and Authorization Services The Shared Security Component February 28, 2005.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
FIT3105 Smart card based authentication and identity management Lecture 4.
CSE331: Introduction to Networks and Security Lecture 28 Fall 2002.
DISTRIBUTED CONSISTENCY MANAGEMENT IN A SINGLE ADDRESS SPACE DISTRIBUTED OPERATING SYSTEM Sombrero.
CS533 Concepts of Operating Systems Class 14 Virtualization.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Chapter 1 Introduction. Chapter Overview Overview of Operating Systems Secure Operating Systems Basic Concepts in Information Security Design of a Secure.
1 Building with Assurance CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute May 10, 2004.
Figure 1.1 Interaction between applications and the operating system.
MicrokernelsCS-502 (EMC) Fall Microkernels CS-502, Operating Systems Fall 2009 (EMC) (Slides include materials from Modern Operating Systems, 3 rd.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
ADVANCED LINUX SECURITY. Abstract : Using mandatory access control greatly increases the security of an operating system. SELinux, which is an implementation.
Stack Management Each process/thread has two stacks  Kernel stack  User stack Stack pointer changes when exiting/entering the kernel Q: Why is this necessary?
EECS 262a Advanced Topics in Computer Systems Lecture 26 seL4 Kernel verification December 3rd, 2014 John Kubiatowicz Electrical Engineering and Computer.
Computer Science and Engineering Computer System Security CSE 5339/7339 Session 20 October 28, 2004.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
Systems Security & Audit Operating Systems security.
Version 4.0. Objectives Describe how networks impact our daily lives. Describe the role of data networking in the human network. Identify the key components.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Fall 2000M.B. Ibáñez Lecture 01 Introduction What is an Operating System? The Evolution of Operating Systems Course Outline.
Java Security Pingping Ma Nov 2 nd, Overview Platform Security Cryptography Authentication and Access Control Public Key Infrastructure (PKI)
Providing Policy Control Over Object Operations in a Mach Based System By Abhilash Chouksey
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
Operating System What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. An operating.
G53SEC 1 Reference Monitors Enforcement of Access Control.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
Distributed System Concepts and Architectures 2.3 Services Fall 2011 Student: Fan Bai
UNIX System Protection. Unix History Developed by Dennis Ritchie and Ken Thompson at AT&T Bell Labs Adapted some ideas from the Multics project in 1969.
Chapter 2 Introduction to Systems Architecture. Chapter goals Discuss the development of automated computing Describe the general capabilities of a computer.
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming.  To allocate scarce memory.
Operating Systems Structure what is the organizational principle?
Lecture 18 Page 1 CS 111 Online OS Use of Access Control Operating systems often use both ACLs and capabilities – Sometimes for the same resource E.g.,
Operating Systems Security
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young MACH: A New Kernel Foundation for UNIX Development Presenter: Wei-Lwun.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
CENG334 Introduction to Operating Systems 1 Erol Sahin Dept of Computer Eng. Middle East Technical University Ankara, TURKEY URL:
Background Computer System Architectures Computer System Software.
LINUX Presented By Parvathy Subramanian. April 23, 2008LINUX, By Parvathy Subramanian2 Agenda ► Introduction ► Standard design for security systems ►
Security-Enhanced Linux Stephanie Stelling Center for Information Security Department of Computer Science University of Tulsa, Tulsa, OK
Lecture 4 Page 1 CS 111 Online Modularity and Memory Clearly, programs must have access to memory We need abstractions that give them the required access.
Securing a Host Computer BY STEPHEN GOSNER. Definition of a Host  Host  In networking, a host is any device that has an IP address.  Hosts include.
1 Security Architecture and Designs  Security Architecture Description and benefits  Definition of Trusted Computing Base (TCB)  System level and Enterprise.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
1.3 Operating system services An operating system provide services to programs and to the users of the program. It provides an environment for the execution.
Introduction to Operating Systems Concepts
Computer System Structures
Operating System Structures
The Development Process of Web Applications
Operating System Structure
CS490 Windows Internals Quiz 2 09/27/2013.
Modularity and Memory Clearly, programs must have access to memory
Objective Understand the concepts of modern operating systems by investigating the most popular operating system in the current and future market Provide.
Chapter 2: System Structures
UNIX System Protection
Outline Chapter 2 (cont) OS Design OS structure
Operating Systems: A Modern Perspective, Chapter 3
PLANNING A SECURE BASELINE INSTALLATION
Objective Understand the concepts of modern operating systems by investigating the most popular operating system in the current and future market Provide.
Presentation transcript:

Measures to Improve Security in a Microkernel Operating System Wasim Al-Hamdani Durga Vemuri Kentucky State University Kentucky State University Presented by: Fatema Nafa.

WASIM AL-HAMDANI WASIM AL-HAMDANI A Professor of Computer and Technical Sciences at Kentucky State University (KSU). playing a leading role at KSU in developing the Information Security program. He has published six textbooks in Arabic dealing with computer science and Cryptography. His interest is designing cryptographic algorithms. Operating System Security class

outline  The main goal for this paper.  Introduction.  Achieving security  Kernel’s security.  Kernel security architecture.  Secure microkernel.  The Vfiasco project.  Conclusion.  References. Operating System Security class

What is the main goal? Explain the concepts and mechanisms used to improve security in Microkernel Operating system. Describe two real-world microkernel operating systems, that try to achieve security as a goal. Operating System Security class

Introduction. Secure Operating System “Secure Operating System” is a fuzzy term. all general purpose computers are controlled by general purpose operating systems like Windows, MacOS and Unix variants. Does that mean they are insecure? If a computer is exposed to an environment that carries risks and the software does not have sufficient countermeasures, then the situation is not secure. Operating System Security class

We have different kinds of networks so effective steps need to be taken to increase security. If many systems are running the same operating systems they share the same deficiencies, they are “bug compatible”. There are more than enough examples of quite primitive pieces of malware causing billions of dollars of damage all over the world in no time. (Firewalls, virus scanners,) Operating System Security class

What is the problem with software today? A major limitation of these tools is the signature. It used to recognize viruses and attacks that are already known only. We May simply be caught by any new attack that enters undetected. This necessitates costly subscriptions to update the signatures provided by the manufacturers on a regular basis. Operating System Security class

Achieving security Trusted or secure operating system Hardened Os or trusted Os provide a secure operating environment, by using a different approach Operating System Security class

The security level being implemented is a tradeoff between a number of factors. necessary level of security, regulatory rules, convenience, usability, acceptance, productivity, administrational complexity, scalability. Security was, and still is a technical problem to be solved. Operating System Security class

Microkernel paradigm. a microkernel is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system These mechanisms include low-level address space management, thread management, and inter-process communication (IPC). Operating System Security class

In microkernel designs, most operating system components, such as process management and device management, execute outside the kernel with a lower level of system access. Operating System Security class

How to improve security in kernel‘s operating system. What is a security kernel? A Security Kernel is a small module in the Operating System where all security features are located. works as a part of an operating system to prevent unauthorized access to the system. contains criteria that must be met before specified programs can be accessed Operating System Security class

Improve security by  Interaction with other objects.  Reference Monitors  Non- Interference.  Access control. Operating System Security class

Interaction with other objects. We have some of the questions that motivated the improvement of many software mechanisms to control interaction between users, machines and data. a lot of measures attempt to map real world security concepts to computer systems, These work well in a structured organization. But the smallest error can open huge security holes. Operating System Security class

Some common mechanisms are: Multi level security. Strong authentication. Restricted views on file systems, databases. Access control lists (ACL). Role based access control (RBAC). Capabilities. Certificates. Most people in this area concentrate on making applications user friendly but not on making them secure. Operating System Security class

Reference Monitors modern security experts equate “Reference Monitor” with the core security enforcement mechanisms within the kernel. Good development practices and security are more synonymous than most people believe. The role of this fundamental security- enforcement mechanism is : Validating all access attempts made to resources (data, programs, etc.) by any given process. Operating System Security class

Non- Interference. This problem for files has been enabled by file system permissions, but the operating systems needs to track which programs should adhere to these and more general behaviors. Some advanced mechanisms are: Separation of kernel and process address spaces, Sandboxes. Safer kernel extensions like loadable drivers and modules. Consistency checks, checkpoints/snapshots, persistence Operating System Security class

Access control One goal of the kernel will be to restrict access to shared resources such as memory, devices and CPUs. There are a lot of different access control models that kernels can be implemented and used as a top-level specification. access to a resource is an authorized capability to that resource. Operating System Security class

Secure microkernel. L4 is a family of second generation microkernel‘s. Formal Verification of an OS Kernel. seL4 microkernel provides a minimal and efficient lowest software level, and is the only part of the software for this paper that executes in the privileged mode of the hardware. It is a third-generation microkernel Operating System Security class

Why Microkernel? The kernel manages the hardware at the lowest level, and it is not subject to protection or fault isolation mechanisms provided by the hardware. Small kernel providing core functionality only code running in privileged mode Most OS services provided by user-level servers the kernel is always part of the trusted computing base (TCB). Operating System Security class

designs based on simple models with a high degree of abstraction from hardware. They use a functional programming language (Haskell) to provide a programming language for the OS. The next slide shows their approach in more detail Operating System Security class Kernel Design process

The Vfiasco project Fiasco is a real time kernel. It is written in about lines of C++. The goal is a bottom-up verification of the kernel. Operating System Security class

Vfiasco case study The kernel class implemented in about 400 lines of code. The methods for implementing the insertion and deletion of virtual address space mappings and for making a page directory the CPU's current directory were then selected for proving. The translation of the code took 4 weeks and resulted in about 400 lines. Operating System Security class

Several bugs in the Fiasco code were discovered and fixed. All in all it took 3 months. It was shown that it is possible to prove correctness of regular real life C++ code that was not written with verification in mind. Operating System Security class

Enabling Large Scale Verification in Vfiasco It is easy to see that verification is possible, but it is still too expensive to do it in the way of the case study. There is a big number of software characteristics that may be subjected to proofing. Operating System Security class

The Nizaa Architecture The Nizza security aims at reducing the size of a system's Trusted Computing Base (TCB) by an order of magnitude in comparison to systems It builds on the Vfiasco microkernel that has been formally verified to a high degree. It is accompanied by a small set of essential services that are not part of a microkernel. Operating System Security class

Conclusion. Older microkernel’s did not achieve sufficient flexibility and performance. a new generation of microkernel architectures shows good results in performance and flexibility. The microkernel operating systems have strategic advantages like small APIs, small code size. They are separated into independent units suitable for step by-step verification. Operating System Security class

Conclusion The chance to become a success in a world with rising security requirements. The developers need to offer a very comfortable migration path if they want to replace the current operating systems they all are forced to depend on so much Operating System Security class

References 1. P.Derrin, K. Elphinstone, G. Klein, D. Cock, and M. T Chakravarty. Running the manual: An a pproach to high-assurance microkernel development. 2. B. Kauer and M. V¨olp. L4.sec: Preliminary Microkernel Reference manual Dresden University of Technology dresden.de/L4/L4.Sec/. 3. TCG 2005: TCG: What is the Trusted Computing Group 4. Wikipedia Various, Security, Wikipedia 5. Anderson: Ross Andersen: Trusted Computing FAQ.University of Cambridge 6. Shapiro: Jonathan Shapiro, Understanding the Windows EAL4 Evaluation, Johns Hopkins University Information Security Institute, Operating System Security class