Advanced Systems Security: Retrofitting Commercial Systems



Similar documents
CSE543 - Introduction to Computer and Network Security. Module: Reference Monitor

Mandatory Access Control in Linux

Virtual Machine Security

How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X

Advanced Systems Security

Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023

Secure Virtual Machine Systems

Operating System Security

Example of Standard API

CSE543 - Introduction to Computer and Network Security. Module: Operating System Security

Access Control Fundamentals

The Flask Security Architecture A Flexible Mandatory Access Control Mechanism For Use in Multiple Secure Systems

CMSC 421, Operating Systems. Fall Security. URL: Dr. Kalpakis

Operating System Structures

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

The Flask Security Architecture: System Support for Diverse Security Policies

Operating Systems OS Architecture Models

Security and Integrity of a Distributed File Storage in a Virtual Environment

The Flask Security Architecture: System Support for Diverse Security Policies

Security Enhanced Linux and the Path Forward

Mandatory Access Control

CAPSICUM. Practical capabilities for UNIX. 19 th USENIX Security Symposium 11 August Washington, DC. Robert N. M. Watson

x86 ISA Modifications to support Virtual Machines

Windows Security. CSE497b - Spring 2007 Introduction Computer and Network Security Professor Jaeger.

System Assurance C H A P T E R 12

CAPP-Compliant Security Event Audit System for Mac OS X and FreeBSD

Managing and Maintaining Windows Server 2008 Servers

NSA Security-Enhanced Linux (SELinux)

CIS433/533 - Computer and Network Security Operating System Security

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

VMWARE Introduction ESX Server Architecture and the design of Virtual Machines

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself

CIS 551 / TCOM 401 Computer and Network Security

CPS221 Lecture: Operating System Structure; Virtual Machines

CSE331: Introduction to Networks and Security. Lecture 34 Fall 2006

CIS 551 / TCOM 401 Computer and Network Security. Spring 2005 Lecture 4

CS420: Operating Systems OS Services & System Calls

PIX/ASA: Allow Remote Desktop Protocol Connection through the Security Appliance Configuration Example

TEL2821/IS2150: INTRODUCTION TO SECURITY Lab: Operating Systems and Access Control

Safety measures in Linux

Basic Computer Skills Module 2. Software Concepts

Managing and Maintaining Windows Server 2008 Servers (6430) Course length: 5 days

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

Trusted RUBIX TM. Version 6. Multilevel Security in Trusted RUBIX White Paper. Revision 2 RELATIONAL DATABASE MANAGEMENT SYSTEM TEL

ANNEXURE-1 TO THE TENDER ENQUIRY NO.: DPS/AMPU/MIC/1896. Network Security Software Nessus- Technical Details

Intro to Firewalls. Summary

Centralized Mac Home Directories On Windows Servers: Using Windows To Serve The Mac

Adjusting Prevention Policy Options Based on Prevention Events. Version 1.0 July 2006

OS Concepts and structure

Distributed System Monitoring and Failure Diagnosis using Cooperative Virtual Backdoors

Chapter 2 System Structures

VMware Server 2.0 Essentials. Virtualization Deployment and Management


CEN 559 Selected Topics in Computer Engineering. Dr. Mostafa H. Dahshan KSU CCIS

Host-based Intrusion Prevention on Windows and UNIX. Dr. Rich Murphey White Oak Labs

The Case for SE Android. Stephen Smalley Trust Mechanisms (R2X) National Security Agency

Full and Para Virtualization

Penetration Test Methodology on Information-Security Product Utilizing the Virtualization Technology

Upon completion of this chapter, you will able to answer the following questions:

CloudPassage Halo Technical Overview

CS 356 Lecture 25 and 26 Operating System Security. Spring 2013

Introduction to Endpoint Security

Chapter 3 Operating-System Structures

Outline. Outline. Why virtualization? Why not virtualize? Today s data center. Cloud computing. Virtual resource pool

Secure computing: SELinux

(Advanced Topics in) Operating Systems

LEARNING SOLUTIONS website milner.com/learning phone

Operating System Organization. Purpose of an OS

2. From a control perspective, the PRIMARY objective of classifying information assets is to:

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Digital Rights Management Demonstrator

Copyright

CSE543 - Introduction to Computer and Network Security. Module: Access Control

Linux Firewalls (Ubuntu IPTables) II

Module I-7410 Advanced Linux FS-11 Part1: Virtualization with KVM

Design and Implementation Guide. Apple iphone Compatibility

Virtualization for Cloud Computing

Operating System Structure

How To Migrate To Redhat Enterprise Linux 4

Host Hardening. Presented by. Douglas Couch & Nathan Heck Security Analysts for ITaP 1

Red Hat Linux Internals


Planning and Administering Windows Server 2008 Servers

Access Control Lists in Linux & Windows

Open Directory. Apple s standards-based directory and network authentication services architecture. Features

Systems Software. Introduction to Information System Components. Chapter 1 Part 2 of 4 CA M S Mehta, FCA

Cloud Security with Stackato

Operating Systems Design 16. Networking: Sockets

Transcription:

Systems and Internet Infrastructure Security Network and Security Research Center Department of Computer Science and Engineering Pennsylvania State University, University Park PA Advanced Systems Security: Retrofitting Commercial Systems Trent Jaeger Systems and Internet Infrastructure Security (SIIS) Lab Computer Science and Engineering Department Pennsylvania State University Page 1

Commercial Systems Focus on Performance, Flexibility, and Protection Do not satisfy the reference monitor concept But, lots of folks use them, so big potential benefit to making a commercial system secure Not so easy so, lots of lessons learned and new ideas Page 2

Retrofitting Security Make legacy code satisfy the reference monitor concept Did the rules that we set depend on whether we built the reference validation mechanism from scratch or from legacy code? Which are hardest? Is it worth trying? Why? Page 3

Commercial Reference Monitors 1970s-80s: take an existing OS and add a reference validation mechanism KSOS, VAX/VMS, Secure Xenix 1980s-90s: Use microkernel architectures to deploy secure UNIX systems (like security kernel) DTMach, DTOS, Fluke/Flask 1990s: UNIX systems for secrecy and integrity IX, DTE, LOMAC Page 4

Early MLS Systems Data Secure UNIX and KSOS Compatible with the UNIX API Emulation: UNIX calls implemented by KSOS kernel Emulation with MLS had a significant performance impact Scomp did not do emulation Insecure features of the UNIX interface presents problems too Fork/exec: when a new process is created, can share file descriptors Why might this be a problem? Page 5

Early MLS Systems VAX/VMS DEC and Sandia Labs retrofit VAX/VMS for MLS Retrofit identified several vulnerabilities Prototype system Page 6

Early MLS Systems Secure Xenix (later Trusted Xenix) Xenix: PC version of UNIX from Microsoft Goal: run Xenix apps without modification Two Problems How do two instances of the same program running at different secrecy levels access the file system securely? Consider /tmp: should a less secret version use a temp file created by the more secret version? How does a user know that she is communicating with the trusted computing base? Page 7

Hidden Directories Now called Polyinstantiated File Systems Idea: There is a version of a directory for each secrecy level When a process opens a file, it opens the version based on its secrecy level How does this ensure MLS information flows? Page 8

Trusted Path Mechanism that enables a user to communicate with the system s trusted computing base E.g., Key attention sequence ctrl-alt-del Communication from user to TCB and from TCB to user Tough for windowing systems as we ll see Page 9

Microkernels and Security Kernels Microkernel systems emerged at this time, and they were gaining mindshare quickly as the way future OS s would be constructed Mach microkernel Security kernel requirements: Verifiable design Map to implementation Should be easier for a microkernel than for a conventional kernel Page 10

Microkernel Architecture Operating system consists of a core kernel component (microkernel) and a set of servers that implement traditional OS function Microkernels provide base function needed by all processing Scheduling, IPC, Basic Device Access (IRQs), and others are discretionary OS Servers implement system specific function Memory managers, file systems, networking, processes, naming, device drivers, advanced scheduling, Idea: customize system on microkernel for function and performance oh yeah, and security too Page 11

TMach, DTMach, DTOS MLS Mach systems Similar goals, but built by competing companies: Trusted Information Systems and Secure Computing Corp Approach: built MLS-aware servers on microkernel Applications would run at a single level Some also considered integrity A variety of innovations resulted (we ll take about some in DTE also) Page 12

Mach Security Server Problem: Enable multiple, independent servers to enforce a coherent policy How do server work together on security? Consider file opening When a process requests opening of a file Kernel authorizes process to access file server The file server asks the security server if this access is authorized The security server examines the policy and determines the answer Page 13

Kernel v. Server Enforcement Choice between enforcement layers and complexity Kernel enforcement Smaller TCB if kernel enforces all But, kernel must understand the semantics of all server messages, if allows IPCs between Server enforcement Larger TCB But, server understands messages and could invoke policy server Does it do that correctly? Page 14

Integrity The designers of these systems also considered protecting the integrity of computations For example, they envisioned a Clark-Wilson-like model where high integrity data would be modified by a sequence of high integrity operations How would they ensure that only these operations in that sequence would modify high integrity data? Page 15

Assured Pipelines A sequence of high integrity processes that take input (high integrity) data to output Use an MPS Input data is given a label Each process is given a unique label Each process s output is given a unique label Connect processes into a sequence based on data labels they input Use Type Enforcement for this Page 16

What Happened to Microkernels? Second-generation microkernels emerged that made Mach obsolete Fluke, L4, Exokernel, VINO, Eros, But, no consensus (or market share for these microkernels), so these projects were not successful Replaced by Linux Is the microkernel approach fundamental different? How can we take advantage of that difference? Might this approach become popular? Xen, L4, Minix 3, Proxos, -- Windows is a microkernel Page 17

UNIX Systems Concurrent with microkernel exploration people continued the exploration of how to make a commercial OS MLS-secure? These were focused on UNIX Later, we ll talk about Trusted Solaris and Linux Security Modules, but first we talk about 2 systems Page 18

IX AT&T Research UNIX prototype from the early 1990 s McIlroy and Reeds Goal: MLS secrecy and integrity protection over file access Main focus is policy, although care was also taken in the construction of the trusted computing base Page 19

IX Model Dynamic information flow model with limits Protection state: Each object and subject has a secrecy and an integrity label in each lattice that determines access (a la Denning) Labeling state Traditional labeling based on creator Transition state High water mark for secrecy limited by ceiling Low water mark for integrity limited by floor Also, has support for assured pipelines as well Page 20

LOMAC Problem More mediation is required for dynamic policy enforcement than for static policy enforcement E.g., consider the case where a high integrity process accesses a high integrity file That s OK But, then the process reads in a low integrity (malicious) executable file We should lower the process s integrity, so now it cannot write to the high integrity file hooray! Or oh no! But, what if the process mmapped the file? Page 21

Domain and Type Enforcement A UNIX prototype that controls setuid privilege escalation How does setuid normally work in UNIX? Why can that be a problem? Page 22

Domain and Type Enforcement Model distinguish subject and object types Subjects are domain types They have access rights to objects and other domains (as before conceptually) And they are associated with entry point programs, which trigger the domain when run This defines a transition state for the system a refined setuid Consider passwd Page 23

Domain and Type Enforcement Subject type: user Object type: passwd_exec Protection state: user can execute passwd_exec Transition state: process exec d from passwd_exec by user runs with passwd subject type This enables control of how a user runs a setuid program, and the permissions of the setuid process that results See this later in SELinux Page 24

Domain and Type Enforcement Another innovation that appeared here is Labeled networking Consider a firewall It tells you which ports can communicate with which IP addresses (and more) But, they do not tell you which domains can access which ports why is that important? IP Security Options (IPSO) adds fields for MLS labels in packet headers, which can be conveyed remotely Is that enough? Page 25

Retrofit Evaluation Complete Mediation: Semi-formal op mediation? This is certainly a goal Complete Mediation: Semi-formal for all classes? Starting to see all classes with the addition of labeled networking to files in DTE Complete Mediation: Formal op mediation for all classes? Not a particularly formal approach; difficult when retrofitting code Page 26

Retrofit Evaluation Tamperproof: Reference Monitor? No methodological focus, although they took a look Tamperproof: TCB? Harder yet Verify: Code? This is not practical for retrofitted systems Even Mach is too large Verify: Policy? MLS and Integrity; TE enforces least privilege, but introduction of Assured Pipelines and LOMAC to UNIX systems improves matters Page 27

Take Away Hey, we have these systems with lots of marketshare if only we had a secure version Motivated lots of efforts for retrofitting But, getting a system that does not satisfy the reference monitor concept to do that is not easy Unsafe interfaces Obtaining complete mediation Verifiability is out the window at this stage However, many concepts were discovered, such as Polymorphic FS, Assured Pipelines, Controlled Setuid Page 28