© DEEDS – OS Systems & Software Dependability. © DEEDS – OS Outline for today Peek at OS2 topics Some DEEDS research introduction 1.Efficient Model Checking.

Slides:



Advertisements
Similar presentations
Introduction of ZTE Handset Online Upgrade tool V1.1 version
Advertisements

Self-Stabilized Operating System Shlomi Dolev, BGU Reuven Yagel, BGU-Rafael.
Windows vs.. Linux Security A comparison A comparison.
CMPTR1 CHAPTER 3 COMPUTER SOFTWARE Application Software – The programs/software/apps that we run to do things like word processing, web browsing, and games.
© 2004, D. J. Foreman 1 CS350 Operating Systems. © 2004, D. J. Foreman 2 Administrivia  Assignments ■ Homework on most chapters ■ Approximately 8 lab.
Introduction to windows operating system i
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Operating systems design philosophy ESMAIL ASYABI- FEBRUARY 2015.
© 2012 The McGraw-Hill Companies, Inc. All rights reserved. 1 Third Edition Chapter 3 Desktop Virtualization McGraw-Hill.
UFCFX5-15-3Mobile Device Development UFCFX Mobile Device Development An Introduction to the Module.
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?
1 OS II: Dependability & Trust Testing Drivers Dependable Embedded Systems & SW Group Prof. Neeraj Suri Constantin.
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
Component 4: Introduction to Information and Computer Science Unit 4: Application and System Software 1 Health IT Workforce Curriculum Version 1.0/Fall.
1. Topics to be discussed Introduction Objectives Testing Life Cycle Verification Vs Validation Testing Methodology Testing Levels 2.
Operating Systems. Operating systems provide a software interface that allows the user to control hardware components of a computer and its peripheral.
The Basics  Operating systems (OS) can help computer users do many things, like managing and manipulating files and folders.  Operating systems also.
ITE 1 Chapter 5. Chapter 5 is a Large Chapter It has a great deal of useful information about operating systems. You will find this VERY helpful when.
Elastic Applications in the Cloud Dinesh Rajan University of Notre Dame CCL Workshop, June 2012.
University of Coimbra, DEI-CISUC
SOFTWARE ENGINEERING1 Introduction. Software Software (IEEE): collection of programs, procedures, rules, and associated documentation and data SOFTWARE.
Introduction to Embedded Software Development School of software Engineering Introduction to Windows CE.
WEEK 1 COURSE INTRODUCTION INTRODUCTION TO OPERATING SYSTEMS OPERATING SYSTEM STRUCTURES Operating Systems CS3013 / CS502.
A Survey of Dynamic Techniques for Detecting Device Driver Errors Olatunji Ruwase LBA Reading Group 18 th May 2010.
Detection and Prevention of Buffer Overflow Exploit Cai Jun Anti-Virus Section Manager R&D Department Beijing Rising Tech. Corp. LTD.
Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker.
Mr C Johnston ICT Teacher
Chapter 5: Defining the Role of the Operating System
Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Vikram Reddy Enukonda.
Can We Make Operating Systems Reliable and Secure? Andrew S. Tanenbaum, Jorrit N. Herder, and Herbert Bos Vrije Universiteit, Amsterdam May 2006 Group.
Security flaws in Windows XP due to Kernel Complexity Presented by: Zubin Lalani Daniel Beech Professor : Mike Burmester.
CS4710 Why Progam?. Why learn to program? Utility of programming skills: understand tools modify tools create your own automate repetitive tasks automate.
SOFTWARE ENGINEERING1 Introduction. SOFTWARE ENGINEERING2 Software Q : If you have to write a 10,000 line program in C to solve a problem, how long will.
Linux Kernel Management. Module 9 – Kernel Administration ♦ Overview The innermost layer of Linux operating system is the kernel, which is a thin layer.
Software Metrics Cmpe 550 Fall Software Metrics.
CS 346 – Chapter 2 OS services –OS user interface –System calls –System programs How to make an OS –Implementation –Structure –Virtual machines Commitment.
Davydenko Vladimir, Mc Girr Stephen, Purcell Sean.
Topic 5a Operating System Fundamentals. What is an operating system? a computer is comprised of various types of software device drivers (storage, I/O,
Highly Scalable Distributed Dataflow Analysis Joseph L. Greathouse Advanced Computer Architecture Laboratory University of Michigan Chelsea LeBlancTodd.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Examples of Operating Systems.
Virtualization Technology and Microsoft Virtual PC 2007 YOU ARE WELCOME By : Osama Tamimi.
Full and Para Virtualization
Software Testing. System/Software Testing Error detection and removal determine level of reliability well-planned procedure - Test Cases done by independent.
Backup Exec System Recovery. 2 Outline Introduction Challenges Solution Implementation Results Recommendations Q & A.
CENG334 Introduction to Operating Systems 1 Erol Sahin Dept of Computer Eng. Middle East Technical University Ankara, TURKEY URL:
VMM Based Rootkit Detection on Android
Improving the Reliability of Commodity Operating Systems Michael M. Swift, Brian N. Bershad, Henry M. Levy Presented by Ya-Yun Lo EECS 582 – W161.
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
System Programming Basics Cha#2 H.M.Bilal. Operating Systems An operating system is the software on a computer that manages the way different programs.
Black Box Unit Testing What is black-box testing? Unit (code, module) seen as a black box No access to the internal or logical structure Determine.
The L4 Microkernel Presented by: Martin Roehricht Nirav Mehta Matthew Garland Chris Schulze.
Active-HDL Server Farm Course 11. All materials updated on: September 30, 2004 Outline 1.Introduction 2.Advantages 3.Requirements 4.Installation 5.Architecture.
Improve Embedded System Stability and Performance through Memory Analysis Tools Bill Graham, Product Line Manager Development Tools November 14, 2006.
ANOOP GANGWAR 5 TH SEM SOFTWARE TESTING MASTER OF COMPUTER APPLICATION-V Sem.
PCs ENVIRONMENT and PERIPHERALS Lecture 5. Computer Maintenance software: Operating System: Define: - An operating system (OS) is a collection of software.
Introduction to threads
Virtualization.
Introduction to Operating Systems
Bash on Ubuntu on Windows
LINUX WINDOWS Vs..
CompTIA Server+ Certification (Exam SK0-004)
Introduction SOFTWARE ENGINEERING.
Effective Data-Race Detection for the Kernel
Secure Software Development: Theory and Practice

LINUX WINDOWS Vs..
Personal computer basics
CSE 542: Operating Systems
O.S. Security.
Presentation transcript:

© DEEDS – OS Systems & Software Dependability

© DEEDS – OS Outline for today Peek at OS2 topics Some DEEDS research introduction 1.Efficient Model Checking of Fault-tolerant Distributed Algorithms 2.OS testing & hardening 3.Dissecting AUTOSAR - Inside future automotive software

© DEEDS – OS OS testing & hardening

© DEEDS – OS OSs are large & complex beasts! Windows versionSLOC NT Million NT Million NT Million NT Million Win2k Million WinXP Million Server Million

© DEEDS – OS OSs are large & complex beasts! Linux kernelSLOC Million Million Million Million Million Million >15 Million And that‘s just the kernel... Debian Lenny „code base“: 54 Million SLOC Debian Lenny total: 324 Million SLOC

© DEEDS – OS Where are the bugs (2001)?

© DEEDS – OS Where are the bugs (10 years later)?

© DEEDS – OS Why are the bugs where they are? Sources of outage in Windows XP Sources of outage in Windows 2k Device drivers –Numerous: 250 installed (100 active) drivers in XP/Vista –Large & complex: 70% of Linux code base –Immature: every day 25 new / 100 revised versions Vista drivers –Access Rights: kernel mode operation in monolithic OSs Device drivers are the dominant cause of OS failures despite sustained testing efforts

© DEEDS – OS What can we do about the bugs? Detect upfront (static analyses, testing: white vs black box) Detect & recover at runtime (Sandboxing, e.g. Nooks, BGI) Nothing?  make kernels robust!

© DEEDS – OS Two sample approaches Problem statement: Driver failures lead to OS API failures Mitigation approaches 1.Improve driver reliability 2.Harden OS robustness

© DEEDS – OS Some terminology

© DEEDS – OS A different view The problem in terms of error propagation The effect of testing in terms of error propagation The effect of robustness hardening in terms of error propagation

© DEEDS – OS Issues with the testing approach What if the driver is not the root cause? What if we cannot remove defects (e.g. commercial OSs)?

© DEEDS – OS Issues with the hardening approach What if we cannot remove robustness vulnerabilities?

© DEEDS – OS DEEDS: Driver testing Total State Space Operational State Space Testing

© DEEDS – OS DEEDS: Kernel hardening Test App OS Drivers Target Driver Manager Interceptor Drivers Host