New Results in Fluke/Flask Jay Lepreau Flux Group University of Utah July 13, 1998.

Slides:



Advertisements
Similar presentations
Towards Remote Policy Enforcement for Runtime Protection of Mobile Code Using Trusted Computing Xinwen Zhang Francesco Parisi-Presicce Ravi Sandhu
Advertisements

On the Design of a Web Browser: Lessons learned from Operating Systems Kapil Singh and Wenke Lee Georgia Institute of Technology Web 2.0 Security and Privacy.
Slide 19-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 19.
CS 443 Advanced OS Fabián E. Bustamante, Spring 2005 Resource Containers: A new Facility for Resource Management in Server Systems G. Banga, P. Druschel,
EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM B. Bershad, S. Savage, P. Pardyak, E. G. Sirer, D. Becker, M. Fiuczynski, C. Chambers,
Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
Janos A Java-oriented Active Network Operating System Jay Lepreau, Patrick Tullmann, Kristin Wright Wilson Hsieh, Godmar Back, many more... University.
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
Extensibility, Safety and Performance in the SPIN Operating System Department of Computer Science and Engineering, University of Washington Brian N. Bershad,
The Alta Operating System Patrick Tullmann Masters Thesis Defense University of Utah.
Extensibility, Safety and Performance in the SPIN Operating System Brian Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
Department of Computer ScienceJanos Project Janos A Java-oriented Active Network Operating System Jay Lepreau, Patrick Tullmann, Kristin Wright Wilson.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Edward Tsai – CS 239 – Spring 2003 Strong Security for Active Networks CS 239 – Network Security Edward Tsai Tuesday, May 13, 2003.
Confidential - Property of infiNET Solutions. Architecting and Designing Scalable, Multitier Systems in J2EE infiNET Solutions David R. King – Chief Technology.
CMSC 414 Computer and Network Security Lecture 9 Jonathan Katz.
Ch1: File Systems and Databases Hachim Haddouti
Figure 1.1 Interaction between applications and the operating system.
For more Lectures and Notes Visit
1 Janos Patrick Tullmann Flux Research Group University of Utah.
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.
KaffeOS: Controlling Resources In A Multi-Process Java Virtual Machine Godmar Back.
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?
Module 12: Designing an AD LDS Implementation. AD LDS Usage AD LDS is most commonly used as a solution to the following requirements: Providing an LDAP-based.
CS533 Concepts of Operating Systems Jonathan Walpole.
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
Information Assurance Research Group 1 NSA Security-Enhanced Linux (SELinux) Grant M. Wagner Information Assurance.
1 Liquid Software Larry Peterson Princeton University John Hartman University of Arizona
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
February 24, 1998Salt Lake Java SIG Processes In Java Patrick Tullmann Flux Research Group University of Utah.
Windows NT Operating System. Windows NT Models Layered Model Client/Server Model Object Model Symmetric Multiprocessing.
Advanced Design and System Patterns The Microkernel Pattern.
Nested Java Processes: OS Structure for Mobile Code Patrick Tullmann & Jay Lepreau September 10, 1998 Flux Project University of Utah
Chapter 7 Securing Commercial Operating Systems. Chapter Overview Retrofitting Security into a Commercial OS History of Retrofitting Commercial OS's Commercial.
C C Implementation  Prototype based on Firefox 3.0b2 codebase/ Spidermonkey VM  Uses SM contexts to manage multiple JavaScript execution contexts simultaneously.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
OSes: 3. OS Structs 1 Operating Systems v Objectives –summarise OSes from several perspectives Certificate Program in Software Development CSE-TC and CSIM,
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Processes Introduction to Operating Systems: Module 3.
Operating Systems Structure what is the organizational principle?
1 Choices “Our object-oriented system architecture embodies the notion of customizing operating systems to tailor them to support particular hardware configuration.
EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
1.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Lecture 2: OS Structures (Chapter 2.7)
Mark Stanovich Operating Systems COP Primitives to Build Distributed Applications send and receive Used to synchronize cooperating processes running.
Problem On a regular basis we use: –Java applets –JavaScript –ActiveX –Shockwave Notion of ubiquitous computing.
Security-Enhanced Linux Stephanie Stelling Center for Information Security Department of Computer Science University of Tulsa, Tulsa, OK
EMI is partially funded by the European Commission under Grant Agreement RI Common Authentication Library Daniel Kouril, for the CaNL PT EGI CF.
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.
Operating System Structures
Java security (in a nutshell)
CS490 Windows Internals Quiz 2 09/27/2013.
KERNEL ARCHITECTURE.
Seraphim : A Security Architecture for Active Networks
Operating Systems and Systems Programming
Chapter 2: System Structures
An Overview Rick Anderson Pat Demko
CS 5204 Operating Systems Lecture 12
A Component-based Architecture for Mobile Information Access
Presented by Neha Agrawal
Outline Chapter 2 (cont) OS Design OS structure
Introducing Java.
System calls….. C-program->POSIX call
NSA Security-Enhanced Linux (SELinux)
Operating Systems Structure
Presentation transcript:

New Results in Fluke/Flask Jay Lepreau Flux Group University of Utah July 13, 1998

Refresher: The Nested Process Model Child process is encapsulated in its parent. Parent has complete control over the child. Traditional Process ModelNested Process Model Parent Process State Child State Child State Child State Child State Parent Process State

Some New Work (Results?) and Yet More Obscure Names Resource mgmt in several code/architecture bases ÜFluke (microkernel) ÜOSKit (COM components) ÜAlta: Fluke in a JVM Flask: high-security version of Fluke Alta: Fluke architecture implemented in a JVM, using type-safety for memory protection

1. Resource Management CPU Ücpu inheritance scheduling in the OSKit, partly in Fluke, will be in JVM »policy-free (nearly) Üstride scheduling (WFQ) in Fluke Physical memory: min-funding revocation in Fluke Both are: ÜProvided by arbitrary user process (mem) or thread (cpu) ÜHierarchical, extensible… Network bandwidth and buffers Üincoming buffer space Üoutgoing links Üin JVM-based systems (partially impl)

CPU - Stride Scheduling % CPU 60 % CPU

2. Flask: High-security version of Fluke Joint with NSA R23, SCC Augments Fluke with fine grained security mechanisms ÜExplicit security bindings ÜMandatory controls ÜMutual authentication User-mode security policy server makes all policy decisions

Flask new things… FSPM (SCC, Utah, NSA) and resulting architectural changes Secure servers Ümemory mgrs, filesystem, network, process manager Üprocess mgr has interesting issues: »low integrity parent can exec hi integrity child »read-without-execute »inherited process state across exec »... Support for atomic revocation and flexible policy (demo)

Demo - a) Static Role Relationships Payroll Office Chief Division Chief Branch Chief Branch Employee Branch Chief Only branch, division, and office chiefs may approve timesheets and send them to payroll. (Employees may not.)

Demo - b) Delegation Payroll Office Chief Branch Employee Branch Chief Branch Employee The office chief will designate Pete, an employee, as a temporary branch chief. Steve will submit a timesheet to Pete.

3. “Alta” Same Fluke architecture, new mechanism

Nested Process Model and Protection Provides a new way to use protection domains Can use various protection mechanisms: ÜHardware (working) ÜType-safe language (Java: mostly working) ÜProof-carrying code (planned)

Motivation and Goals Our group’s focus is local system security, including resource management Java-based systems need this! Info security… AND flexible resource control and failure isolation Java-based systems will be everywhere; opportunity to influence while in a formative stage

Thesis Ad hoc language-oriented approaches are not enough Requirements are similar to multi-user OS requirements … so apply a coherent OS model! …we happen to have one ÜHave a model with specific properties ÜHave structure: design, interfaces, implementation ÜDocumented: model, properties, interfaces

Processes In Java What is a Java Process? ÜNamespace ÜMemory allocation limit ÜCPU allocation limit ÜMore than an applet, ClassLoader or ThreadGroup

Example: Web “servlets” WWW server allow clients to upload Java applications (servlets) Each servlet would be a separate process: Üseparate, controlled namespace Üseparate memory limit Üseparate CPU limit Ücontrolled access to server’s system Java provides memory safety and namespace integrity Processes provide accounting and control

Configurations Naked hardware - OSKit On traditional OS’s Run on top of Flask/Fluke for additional assurance and defense Add fine-grain access control a la Flask

“Fluke V3” Components are good OSKit++

“Lessons Learned” Too much “multi” is bad for research prototypes Ümultiprocessor support Ümultithreading Strict layering creates problems (34 layers in Fluke microkernel impl.) COM vs. MOM Collaboration is good Keep models, evolve mechanisms