Broad New OS Research: Challenges and Opportunities Galen C

Total Page:16

File Type:pdf, Size:1020Kb

Broad New OS Research: Challenges and Opportunities Galen C Broad New OS Research: Challenges and Opportunities Galen C. Hunt1, James R. Larus1, David Tarditi1, and Ted Wobber2 1Microsoft Research Redmond, Redmond, WA 98052, USA 2 Microsoft Research Silicon Valley, Mountain View, CA 94043, USA http://research.microsoft.com/os/singularity and programming language runtimes have tried to sup- Abstract plant inadequate OS security with partially redundant Contemporary software systems are beset by prob- and complex security abstractions using stack walking lems that create challenges and opportunities for broad and code signing [12][24]. Others have attempted to new OS research. To illustrate, we describe five areas solve this problem by go so far as to replicate entire where broad OS research could significantly improve operating systems in virtual machine monitors [11]. the current user experience. These areas are depend- While the engineering is admirable, one wonders if the ability, security, system configuration, system exten- OS could provide a more integrated solution. sion, and multi-processor programming. In each area The remainder of this paper has three parts. Section 2 we explore how contemporary systems fall short. suggests example areas in which OS research could Where we have thought of possible solutions, we offer make operating systems work significantly better for directions for future research. most users. We offer these areas as evidence of oppor- Finally, we describe Singularity, a research project at tunity, not as an exhaustive research agenda. Section 3 Microsoft Research that is building a new operating describes work in the Singularity project to address system to explore four of these challenges. Singularity some of these areas. Finally, Section 4 summarizes the incorporates three specific design decisions in order to challenges and opportunities for broad new OS research increase system dependability and improve system se- and draw conclusions. curity, configuration, and extension. These design de- cisions include the adoption of an abstract instruction 2. Opportunities for OS Research set as part of the system binary interface, a unified ex- To suggest the many opportunities for OS research, tension architecture for both the OS and applications, we list five areas in need of new ideas and abstractions: and a first-class application abstraction. dependability, security, system configuration, system extension, and multiple processor programming. This 1. Introduction list is intended to be illustrative, not exhaustive. The products of forty years of OS research are sitting in everyone’s desktop computer, cell phone, car, etc.— 2.1 Dependability and it is not a pretty picture. Modern software systems A system is dependable if it behaves predictably and are—broadly speaking—complex, insecure, unpredict- reliably; in other words, if its behavior consistently con- able, prone to failure, hard to use, and difficult to main- forms to an understandable and useful model. A sys- tain. Part of the difficult is that good software is hard to tem’s perceived dependability is a function of both user write, but in the past decade, this problem and more expectation and actual system behavior. specific shortcomings in systems have been greatly ex- Unfortunately, the perceived dependability of con- acerbated by increased networking and embedded sys- temporary software systems is low, particularly in the tems, which placed new demands that existing architec- eyes of non-technical users [15].i Partially this results tures struggled to meet. These problems will not have from raw software failures. However, it also results simple solutions, but the changes must be pervasive, from unpredictable system behavior. starting at the bottom of the software stack, in the oper- Broadly speaking, the owner of a modern PC encoun- ating system. ters frequent unexpected behaviors. By contrast, most Unfortunately, as the emergence of the Internet exac- modern cars are considered quite dependable by their erbated problems in conventional systems, the research users; this despite the fact that cars can require as much community turned its attention from broad OS research as one hour of maintenance for every one hundred hours to focus on incremental improvements or new areas of usage.ii We claim that modern cars are considered such as distributed systems [17]. dependable because they have an easily understood Without OS solutions, others stepped into the void by operation model consisting of regular fueling, regular devising partial, application-level solutions to these oil changes, regular maintenance, and basically predict- problems. Consider, for example, the problem of isolat- able, uninterrupted usage the rest of the time. ing code for potentially untrusted sources. Applications No open, general purpose software system can make a Consider, for example, the case of applications collid- similar claim. They all must be patched frequently and ing in their usage of shared spaces such as file systems regularly to fix flaws that open the system to malicious or configuration registries. The installation of one ap- attack. They all can fail in ways that are inexplicable plication may corrupt or irreversibly alter the configura- and unpredictable to ordinary users. Many of these us- tion of another via changes to a file or registry. The ers are afraid to change their system in even the slight- “DLL Hell” problem in Windows systems occurs when est way, for fear of breaking them. one application overwrites a common shared library with a version incompatible with an existing applica- 2.2 Security tion. Similar problems can occur when an application Contemporary OS security systems were designed to overwrites configuration information mapping from protect users of a system against each other and to pro- document extensions to applications. To compensate tect the OS from errant programs. These security archi- for the absence of OS managed applications, users re- tectures were developed in the quaint past when code sort to ad-hoc application isolation techniques, such as came from trusted sources and networks connected us jails [14] or virtual machine monitors, such as VMware with our friends and colleagues. In today’s connected [9] and Xen [3]. world, users and computers are surrounded by unscru- pulous advertisers, petty criminals, and increasingly 2.4 System Extension organized crime. In this world in which executable Since no monolithic system can satisfy all users, most code can and does come from anywhere, the OS needs complex software lets users load code to extend func- to protect user and system resources from potentially tionality. Dynamically loaded extensions are found as hostile code that a user runs either intentionally or unin- widely as device drivers in kernels and spelling check- tentionally. This is a very hard problem given that de- ers in word processors. Whether in the OS or an appli- sired code may do useful work! cation, most extensions are loaded directly into a host To bring code into an OS security model, there must address space with no hard interface, protection bound- be a basic OS abstraction that represents the identity of ary, or clear distinction between host and extension code. The abstraction should also capture the prove- code. Extension through in-process code loading ap- nance of the code as well as provide a means for check- pears flexible and attractive, but due to a lack of isola- ing code integrity. Once code is identifiable, we can tion, extensions are a major source of software reliabil- imagine enforcing security policy pertaining to it. ity and security problems. For example, faulty device Code identity alone, however, is not sufficient. Soft- drivers cause a large fraction of Windows and Linux ware components interact in exceedingly complex ways, failures [22]. and many such interactions are security-relevant. We A number of OS research efforts, including Exokernel can expect the next generation of attacks to exploit un- [13], SPIN [5], VINO [21], and Nooks [22] have sought planned and unprotected interactions between software safer OS extension without addressing the more general components. There is fertile ground for research in un- problem of application extension. Pragmatically, each derstanding how to prevent such attacks by design. of these systems provided domain-specific models for The Java [12] and Common Language Infrastructure OS extensions. Software fault isolation (SFI) [23], one (CLI)iii [24] programming environments have explored of the few research efforts to consider application ex- some of these issues. However, the security models in tension, limits an extension to a subset of an applica- these systems are complex and largely separate from OS tion's address space. However, the overhead for SFI is models. quite high and still exposes published data structures to corruption by the extension. 2.3 System Configuration In Section 3.1.2, we will describe research in the Sin- Contemporary operating systems contain abstractions gularity system to create a unified extension architecture for many components of modern applications, such as for both the operation system and applications. processes, threads, and shared libraries, but applications and their dependencies are only informally character- 2.5 Multi-processor Programming ized. Lacking a strong concept of an application’s Thanks to the physical constraints of semiconductor complete configuration, the OS has no mechanisms to device scaling, it has become easier to replicate proces- guarantee
Recommended publications
  • The Design of the EMPS Multiprocessor Executive for Distributed Computing
    The design of the EMPS multiprocessor executive for distributed computing Citation for published version (APA): van Dijk, G. J. W. (1993). The design of the EMPS multiprocessor executive for distributed computing. Technische Universiteit Eindhoven. https://doi.org/10.6100/IR393185 DOI: 10.6100/IR393185 Document status and date: Published: 01/01/1993 Document Version: Publisher’s PDF, also known as Version of Record (includes final page, issue and volume numbers) Please check the document version of this publication: • A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website. • The final author version and the galley proof are versions of the publication after peer review. • The final published version features the final layout of the paper including the volume, issue and page numbers. Link to publication General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal.
    [Show full text]
  • Amigaos 3.2 FAQ 47.1 (09.04.2021) English
    $VER: AmigaOS 3.2 FAQ 47.1 (09.04.2021) English Please note: This file contains a list of frequently asked questions along with answers, sorted by topics. Before trying to contact support, please read through this FAQ to determine whether or not it answers your question(s). Whilst this FAQ is focused on AmigaOS 3.2, it contains information regarding previous AmigaOS versions. Index of topics covered in this FAQ: 1. Installation 1.1 * What are the minimum hardware requirements for AmigaOS 3.2? 1.2 * Why won't AmigaOS 3.2 boot with 512 KB of RAM? 1.3 * Ok, I get it; 512 KB is not enough anymore, but can I get my way with less than 2 MB of RAM? 1.4 * How can I verify whether I correctly installed AmigaOS 3.2? 1.5 * Do you have any tips that can help me with 3.2 using my current hardware and software combination? 1.6 * The Help subsystem fails, it seems it is not available anymore. What happened? 1.7 * What are GlowIcons? Should I choose to install them? 1.8 * How can I verify the integrity of my AmigaOS 3.2 CD-ROM? 1.9 * My Greek/Russian/Polish/Turkish fonts are not being properly displayed. How can I fix this? 1.10 * When I boot from my AmigaOS 3.2 CD-ROM, I am being welcomed to the "AmigaOS Preinstallation Environment". What does this mean? 1.11 * What is the optimal ADF images/floppy disk ordering for a full AmigaOS 3.2 installation? 1.12 * LoadModule fails for some unknown reason when trying to update my ROM modules.
    [Show full text]
  • Morpho-Syntactic Interactions Between V and C in Romance1
    Dialectologia. Special issue, V (2015), 293-319. ISSN: 2013-2247 Received 7 August 2015. Accepted 26 September 2015. MORPHO-SYNTACTIC INTERACTIONS BETWEEN V AND C IN ROMANCE1 Ángel J. GALLEGO Universitat Autònoma de Barcelona [email protected] Abstract This paper discusses a series of morpho-syntactic (a)symmetries that emerge in the vP and CP levels of different Romance languages. The (a)symmetries considered indicate a P or D oriented nature for specific functional heads placed in the vP and CP domains, an idea that has been at the forefront of micro-parametric studies ever since the 80s (cf. Kayne 1984, 2000; Uriagereka 1995). The consequences of this investigation for the status of parameter theory are further considered (cf. Chomsky 1981; Baker 2001; Biberauer 2008; Kayne 2000; Picallo 2014) and the study of the lexicon, arguably the main locus of linguistic variation (cf. Halle & Marantz 1993; Hale & Keyser 1993; Starke 2014; Uriagereka 2008). Keywords complementizers, lexicon, micro-parameters, Romance languages, variation, verbs INTERACCIONES MORFOSINTÁCTICAS ENTRE V Y C EN ROMANCE Resumen Este trabajo discute una serie de (a)simetrías morfosintácticas que aparecen en los niveles del Sv y el SC de diferentes lenguas románicas. Dichas (a)simetrías indican que núcleos funcionales pertenecientes a los dominios Sv y SC despliegan una naturaleza similar a P o a D, una idea que ha 1 A previous version of this paper was presented at the V Westmost Europe Dialect Syntax (Wedisyn) Meeting, held at the Universidad Autónoma de Madrid (24-25 April 2014), whose audience I thank for questions and suggestions. Special thanks go to Roberta D’Alessandro, Carlota de Benito, Inés Fernández-Ordóñez, and Álvaro Octavio de Toledo for comments and (on-going) discussion.
    [Show full text]
  • Contributors to This Issue
    Contributors to this Issue Stuart I. Feldman received an A.B. from Princeton in Astrophysi- cal Sciences in 1968 and a Ph.D. from MIT in Applied Mathemat- ics in 1973. He was a member of technical staf from 1973-1983 in the Computing Science Research center at Bell Laboratories. He has been at Bellcore in Morristown, New Jersey since 1984; he is now division manager of Computer Systems Research. He is Vice Chair of ACM SIGPLAN and a member of the Technical Policy Board of the Numerical Algorithms Group. Feldman is best known for having written several important UNIX utilities, includ- ing the MAKE program for maintaining computer programs and the first portable Fortran 77 compiler (F77). His main technical interests are programming languages and compilers, software confrguration management, software development environments, and program debugging. He has worked in many computing areas, including aþbraic manipulation (the portable Altran sys- tem), operating systems (the venerable Multics system), and sili- con compilation. W. Morven Gentleman is a Principal Research Oftcer in the Com- puting Technology Section of the National Research Council of Canada, the main research laboratory of the Canadian govern- ment. He has a B.Sc. (Hon. Mathematical Physics) from McGill University (1963) and a Ph.D. (Mathematics) from princeton University (1966). His experience includes 15 years in the Com- puter Science Department at the University of Waterloo, ûve years at Bell Laboratories, and time at the National Physical Laboratories in England. His interests include software engi- neering, embedded systems, computer architecture, numerical analysis, and symbolic algebraic computation. He has had a long term involvement with program portability, going back to the Altran symbolic algebra system, the Bell Laboratories Library One, and earlier.
    [Show full text]
  • QUICK START GUIDE 4G Lite Product Series Table of Contents
    QUICK START GUIDE 4G Lite Product Series Table of Contents STEP ONE: OVERVIEW 1 to 4 STEP TWO: WIRING 5 to 11 STEP THREE: COMMUNICATION 12 to 15 STEP FOUR: ACP OR SDAC 16 to 17 STEP FIVE: SOFTWARE 18 to 21 STEP SIX: ENROLLMENT 22 to 24 STEP SEVEN: TIME & ATTENDANCE OPERATION 25 to 29 ACP OR SDAC (4G V-Station Lite) STEP FOUR: QUICK START GUIDE II Product Packaging Checklist 4G CR-PASS, 4G V-FLEX LITE AND 4G SECURECONTROL 4G V-STATION LITE QTY ITEM QTY ITEM 1 4G CR-Pass Device or 4G V-Flex Lite or 4G V-Station Lite 1 4G SecureControl Device 1 Installation CD 1 Terminal Block, 1x12po, 3.5mm, RA 1 Installation Guide (on Installation CD) 1 Terminal Block, 1x14po, 3.5mm, RA 1 Operator’s Manual (on Installation CD) 1 Quick Start Guide (Hard-copy and on Installation CD) 1 Quick Start Guide (Hard-copy and on Installation CD) 4 Dry Wall Anchor, Nylon, #4-8, 1” Length 1 SST Wall Mount Plate 4 Self-Tapping Screw, Philip Pan Head, SST, #6, 1” Length 1 4G MicroUSB Device Cable 1 Logo Sticker 1 4G MicroUSB PC Cable 1 Clamp-on Ferrite Core (WLAN Only) 1 Clamp-on Ferrite Core 1 Antenna, Omni Plug Connector (WLAN Only) 1 Machine Screw, Pin-in-Hex Security, Pan Head, SST, 6-32, 1/4” Length 1 Security Key, Pin-in-Hex, 2.5” Length NOTE: Electronic documentation is provided in Adobe® 1 Security Screw Retainer, Stainless Steel Acrobat® format (PDF). Adobe® Acrobat® Reader is available 2 Self-Tapping Screw, Philip Pan Head, SST, #6, 1” Length on the Installation CD or at http://www.adobe.com OVERVIEW 2 Dry Wall Anchor, Nylon, #4-8, 1” Length 2 Machine Screw,
    [Show full text]
  • Introduction
    CS307 Operating Systems Introduction Fan Wu Department of Computer Science and Engineering Shanghai Jiao Tong University Spring 2020 Operating Systems Operating Systems 2 Operating Systems UNIX-family: BSD(Berkeley Software Distribution), System-V, GNU/Linux, MINIX, Nachos, OS X, iOS BSD-family: FreeBSD, NetBSD, OpenBSD System-V-family: AIX, HP-UX, IRIX, Solaris Linux-family: Red Hat, Debian, Ubuntu, Fedora, openSUSE, Linux Mint, Google's Android, WebOS, Meego MS-DOS, Microsoft Windows, Windows Mobile, Win-CE, WP8 AmigaOS Symbian, MeeGo Google Chrome OS OS/2 XrossMediaBar(XMB) for PS3, Orbis OS for PS4 Input Output System for Wii Tiny-OS, LynxOS, QNX, VxWorks Operating Systems 3 Four Components of a Computer System People, machines, other computers Application programs define the ways in which theSystem system programs resources are arecomputer used to software solve the computingdesigned to problems operate theof thecomputer users hardware and toControls provide and a platformcoordinates for runninguse of hardware application among programsvarious applications and users provides basic computing resources Operating Systems 4 Computer System Structure Hardware – provides basic computing resources CPU, memory, I/O devices Operating system – Controls and coordinates use of hardware among various applications and users System programs – are computer software designed to operate the computer hardware and to provide a platform for running application programs BIOS and device drivers Application programs – define the ways in
    [Show full text]
  • Porting the QEMU Virtualization Software to MINIX 3
    Porting the QEMU virtualization software to MINIX 3 Master's thesis in Computer Science Erik van der Kouwe Student number 1397273 [email protected] Vrije Universiteit Amsterdam Faculty of Sciences Department of Mathematics and Computer Science Supervised by dr. Andrew S. Tanenbaum Second reader: dr. Herbert Bos 12 August 2009 Abstract The MINIX 3 operating system aims to make computers more reliable and more secure by keeping privileged code small and simple. Unfortunately, at the moment only few major programs have been ported to MINIX. In particular, no virtualization software is available. By isolating software environments from each other, virtualization aids in software development and provides an additional way to achieve reliability and security. It is unclear whether virtualization software can run efficiently within the constraints of MINIX' microkernel design. To determine whether MINIX is capable of running virtualization software, I have ported QEMU to it. QEMU provides full system virtualization, aiming in particular at portability and speed. I find that QEMU can be ported to MINIX, but that this requires a number of changes to be made to both programs. Allowing QEMU to run mainly involves adding standardized POSIX functions that were previously missing in MINIX. These additions do not conflict with MINIX' design principles and their availability makes porting other software easier. A list of recommendations is provided that could further simplify porting software to MINIX. Besides just porting QEMU, I also investigate what performance bottlenecks it experiences on MINIX. Several areas are found where MINIX does not perform as well as Linux. The causes for these differences are investigated.
    [Show full text]
  • Can Microkernels Mitigate Microarchitectural Attacks?⋆
    Can Microkernels Mitigate Microarchitectural Attacks?? Gunnar Grimsdal1, Patrik Lundgren2, Christian Vestlund3, Felipe Boeira1, and Mikael Asplund1[0000−0003−1916−3398] 1 Department of Computer and Information Science, Link¨oping University, Sweden ffelipe.boeira,[email protected] 2 Westermo Network Technologies [email protected] 3 Sectra AB, Link¨oping,Sweden Abstract. Microarchitectural attacks such as Meltdown and Spectre have attracted much attention recently. In this paper we study how effec- tive these attacks are on the Genode microkernel framework using three different kernels, Okl4, Nova, and Linux. We try to answer the question whether the strict process separation provided by Genode combined with security-oriented kernels such as Okl4 and Nova can mitigate microar- chitectural attacks. We evaluate the attack effectiveness by measuring the throughput of data transfer that violates the security properties of the system. Our results show that the underlying side-channel attack Flush+Reload used in both Meltdown and Spectre, is effective on all in- vestigated platforms. We were also able to achieve high throughput using the Spectre attack, but we were not able to show any effective Meltdown attack on Okl4 or Nova. Keywords: Genode, Meltdown, Spectre, Flush+Reload, Okl4, Nova 1 Introduction It used to be the case that general-purpose operating systems were mostly found in desktop computers and servers. However, as IoT devices are becoming in- creasingly more sophisticated, they tend more and more to require a powerful operating system such as Linux, since otherwise all basic services must be im- plemented and maintained by the device developers. At the same time, security has become a prime concern both in IoT and in the cloud domain.
    [Show full text]
  • Flight Software Workshop 2007 ( FSW-07)
    Flight Software Workshop 2007 ( FSW-07) Current and Future Flight Operating Systems Alan Cudmore Flight Software Branch NASAIGSFC November 2007 Page I Outline Types of Real Time Operating Systems - Classic Real Time Operating Systems - Hybrid Real Time Operating Systems - Process Model Real Time Operating Systems - Partitioned Real Time Operating Systems Is the Classic RTOS Showing it's Age? Process Model RTOS for Flight Systems Challenges of Migrating to a Process Model RTOS Which RTOS Solution is Best? Conclusion November 2007 Page 2 GSFC Satellites with COTS Real (waiting for launch) (launched 8/92) (launched 12/98) (launched 3/98) (launched 2/99) (12/04) XTE (launched 12/95) TRMM (launched 11/97) JWST lSlM (201 1) Icesat GLAS f01/03) MAP (launched 06/01) LRO HST 386 4llH -%Y ST-5 (5/06) November 2007 Page 3 Classic Real Time OS What is a "Classic" RTOS? - Developed for easy COTS development on common 16 and 32 bit CPUs. - Designed for systems with single address space, and low resources - Literally Dozens of choices with a wide array of features. November 2007 Page 4 Classic RTOS - VRTX Ready Systems VRTX Size: Small - 8KB RTOS Kernel Provides: Very basic RTOS services Used on: - Small Explorer Missions Used from 1992 to 1999 8086 and 80386 Processors - Medium Explorer Missions XTE (1995) TRMM (1997) 80386 Processors - Hubble Space Telescope 80386 Processors Advantages: - Small, fast - Uses 80386 memory protection -- A feature we have missed since we stopped using it! Current use: - Only being maintained, not used for new development
    [Show full text]
  • The Distributed V Kernel and Its Performance for Diskless Workstations
    July 1983 Report No. STAN-B-83-973 Also twtdered C’SL 246 The Distributed V Kernel and Its Performance for Diskless Workstations bY David R. Cheriton and Wily Zwaenepoel Department of Computer Science Stanford University Stanford, CA 94305 . The Distributed V Kernel and its Performance for Diskless Workstations David R. Cheriton and Willy Zwaenepoel Computer Systems Laboratory Departments of Computer’ Science and Electrical Engineering Stanford University Abstract Ethernet [7]. Network interprocess communication is predominantly used for remote file access since most SUN The distributed V kernel is a message-oriented kernel that workstations at Stanford are configured without a local disk provides uniform local and network interprocess communication. This paper reports our experience with the implementation and It is primarily being used in an environment of diskless use of the V kernel. Of particular interest are the controversial workstations connected by a high-speed local network to a set of aspects of our approach, namely: file servers. We describe a performance evaluation of the kernel, 1. The use of diskless workstations with all secondary storage with particular emphasis on the cost of network file access. Our provided by backend file servers. results show that over a local network: 2. The use of a general purpose network interprocess 1. Diskless workstations can access remote files with minimal communication facility (as opposed to special-purpose file performance penalty. access protocols) and, in particular, the use of a Thoth-like 2. The V message facility can be used to access remote files at inter-process communication mechanism. comparable cost to any well-tuned specialized file access The more conventional approach is to configure workstations protocol.
    [Show full text]
  • Embedded Operating Systems
    7 Embedded Operating Systems Claudio Scordino1, Errico Guidieri1, Bruno Morelli1, Andrea Marongiu2,3, Giuseppe Tagliavini3 and Paolo Gai1 1Evidence SRL, Italy 2Swiss Federal Institute of Technology in Zurich (ETHZ), Switzerland 3University of Bologna, Italy In this chapter, we will provide a description of existing open-source operating systems (OSs) which have been analyzed with the objective of providing a porting for the reference architecture described in Chapter 2. Among the various possibilities, the ERIKA Enterprise RTOS (Real-Time Operating System) and Linux with preemption patches have been selected. A description of the porting effort on the reference architecture has also been provided. 7.1 Introduction In the past, OSs for high-performance computing (HPC) were based on custom-tailored solutions to fully exploit all performance opportunities of supercomputers. Nowadays, instead, HPC systems are being moved away from in-house OSs to more generic OS solutions like Linux. Such a trend can be observed in the TOP500 list [1] that includes the 500 most powerful supercomputers in the world, in which Linux dominates the competition. In fact, in around 20 years, Linux has been capable of conquering all the TOP500 list from scratch (for the first time in November 2017). Each manufacturer, however, still implements specific changes to the Linux OS to better exploit specific computer hardware features. This is especially true in the case of computing nodes in which lightweight kernels are used to speed up the computation. 173 174 Embedded Operating Systems Figure 7.1 Number of Linux-based supercomputers in the TOP500 list. Linux is a full-featured OS, originally designed to be used in server or desktop environments.
    [Show full text]
  • Advanced Development of Certified OS Kernels Prof
    Advanced Development of Certified OS Kernels Zhong Shao (PI) and Bryan Ford (Co-PI) Department of Computer Science Yale University P.O.Box 208285 New Haven, CT 06520-8285, USA {zhong.shao,bryan.ford}yale.edu July 15, 2010 1 Innovative Claims Operating System (OS) kernels form the bedrock of all system software—they can have the greatest impact on the resilience, extensibility, and security of today’s computing hosts. A single kernel bug can easily wreck the entire system’s integrity and protection. We propose to apply new advances in certified software [86] to the development of a novel OS kernel. Our certified kernel will offer safe and application-specific extensibility [8], provable security properties with information flow control, and accountability and recovery from hardware or application failures. Our certified kernel builds on proof-carrying code concepts [74], where a binary executable includes a rigorous machine-checkable proof that the software is free of bugs with respect to spe- cific requirements. Unlike traditional verification systems, our certified software approach uses an expressive general-purpose meta-logic and machine-checkable proofs to support modular reason- ing about sophisticated invariants. The rich meta-logic enables us to verify all kinds of low-level assembly and C code [10,28,31,44,68,77,98] and to establish dependability claims ranging from simple safety properties to advanced security, correctness, and liveness properties. We advocate a modular certification framework for kernel components, which mirrors and enhances the modularity of the kernel itself. Using this framework, we aim to create not just a “one-off” lump of verified kernel code, but a statically and dynamically extensible kernel that can be incrementally built and extended with individual certified modules, each of which will provably preserve the kernel’s overall safety and security properties.
    [Show full text]