Information Flow Control For Standard OS Abstractions. Max Krohn, Alex Yip, Micah Brodsky, Natan Cliffer, Frans Kaashoek, Eddie Kohler, Robert Morris

Size: px
Start display at page:

Download "Information Flow Control For Standard OS Abstractions. Max Krohn, Alex Yip, Micah Brodsky, Natan Cliffer, Frans Kaashoek, Eddie Kohler, Robert Morris"

Transcription

1 Information Flow Control For Standard OS Abstractions Max Krohn, Alex Yip, Micah Brodsky, Natan Cliffer, Frans Kaashoek, Eddie Kohler, Robert Morris

2 Vulnerabilities in Websites Exploits Web software is buggy Attackers find and exploit these bugs Data is stolen / Corrupted USAJobs.gov hit by Monster.com attack, 146,000 people affected UN Website is Defaced via SQL Injection Payroll Site Closes on Security Worries Hacker Accesses Thousands of Personal Data Files at CSU Chico FTC Investigates PETCO.com Security Hole Major Breach of UCLA s Computer Files Restructured Text Include Directive Does Not Respect ACLs

3 Decentralized Information Flow CEO Control (DIFC) P Declassifier Web App Layoff Plans Free TShirts Intern

4 Decentralized Information Flow CEO Control (DIFC) Web App Layoff Plans Declassifier Helper Process /tmp File Free TShirts Intern

5 Why is DIFC a cult?

6 Who Needs to Understand DIFC? CEO Web App Layoff Plans Declassifier Helper Process /tmp File Free TShirts Intern

7 Why is Today s DIFC DIFfiCult? Label systems are complex Unexpected program behavior Cannot reuse existing code Drivers, SMP support, standard libraries

8 Unexpected Program Behavior (Unreliable Communication) Process p Process q P Fire Alice, Bob, Charlie, Doug, Eddie, Frank, George, Hilda, Ilya I stopped reading I crashed

9 Unexpected Program Behavior (Mysterious Failures) Process q Process p File

10 Solution/Outline 1. Flume: Solves DIFC Problems User-level implementation of DIFC on Linux Simple label system Endpoints: Glue Between Unix API and Labels 2. Application + Evaluation Real Web software secured by Flume

11 Outline 1. Flume: Solves DIFC Problems User-level implementation of DIFC on Linux Simple label system Endpoints: Glue Between Unix API and Labels 2. Application + Evaluation

12 Flume Implementation Goal: User-level implementation apt-get install flume Approach: System Call Delegation [Ostia by Garfinkel et al, 2003] Use Linux 2.6 (or OpenBSD 3.9)

13 System Call Delegation open( /hr/layoffplans, O_RDONLY); Web App glibc Linux Kernel Layoff Plans

14 System Call Delegation open( /hr/layoffplans, O_RDONLY); Web App Flume Libc Flume Reference Monitor Linux Kernel Layoff Plans

15 Three Classes of Processes Flume-Oblivious Flume Reference Monitor Unconfined/ Mediators Flume Reference Monitor Confined Flume Reference Monitor Process p Process p Process p Linux Kernel Linux Kernel Linux Kernel

16 Outline 1. Flume: Solves DIFC Problems User-level implementation of DIFC on Linux Simple label system Endpoints: Glue Between Unix API and Labels 2. Application + Evaluation

17 Information Flow Control (IFC) Goal: track which secrets a process has seen Mechanism: each process gets a secrecy label Label summarizes which categories of data a process is assumed to have seen. Examples: { Financial Reports } { HR Documents } tag label { Financial Reports and HR Documents }

18 Tags + Labels Process p S p S= p { = Finance, { S p = {} HR } } DD p p = = { {} HR } Universe of Tags: change_label({finance}); change_label({}); tag_t HR = create_tag(); change_label({finance,hr}); change_label({finance}); any tag to its label. HR Finance SecretProjects Any process can add DIFC Rule: A process can create a new tag; gets Same ability as to Step declassify 1. it. DIFC: Declassification Legal in action.

19 Communication Rule Process p P Process q S p = { HR } S q = { HR, Finance } p can send to q iff S p S q

20 Outline 1. Flume: Solves DIFC Problems User-level implementation of DIFC on Linux Simple label system Endpoints: Glue Between Unix API and Labels 2. Application + Evaluation

21 Recall: Communication Problem Process p stdout stdin Process q S p = {} D p = { HR } S q = { HR } P Fire Alice, Bob, Charlie, Doug, Eddie, Frank, George, Hilda, Ilya? SLOW DOWN!! I crashed

22 New Abstraction: Endpoints Process p S p = {} D p = { HR } e S e = { HR } f S f = { HR } Process q S q = { HR } If S e S f, Pthen allow e to send to f If S f S e, then allow f to send to e If S f = S e, then Pallow bidirectional flow SLOW DOWN!! I crashed Fire Alice, Bob, Charlie, Doug, Eddie, Frank, George, Hilda, Ilya

23 Endpoints Declassify Data Data enters process p with secrecy { HR } Process p S p = {} D p = { HR } e S e = { HR } But p keeps its label S p = {} Thus p needs HR D p

24 Endpoint Invariant For any tag t S p and t S e Or any tag t S e and t S p It must be that t D p Writing Reading Process p S e = { HR } S p = { Finance } D p = { Finance, HR} e

25 Endpoints Labels Are Independent g S g = {} Process p S p = {} D p = { HR } e S e = { HR } f S f = { HR } Process q S q = { HR }

26 Recall: Mysterious Failures Process q Process p File

27 Endpoints Reveal Errors Eagerly D p = {} Process p S p = {} S p = { HR } e S e = {} /tmp/public.dat S public.dat = {}? Violates endpoint Process q invariant! S p S e = { HR } D p S q = { HR } open( /tmp/public.dat, O_WRONLY); change_label({hr})

28 Endpoints Reveal Errors Eagerly D p = {} Process p S p = {} S p = { HR } e S e = {} /tmp/public.dat S public.dat = {} Process q S q = { HR } fd = open( /tmp/public.dat, O_WRONLY); close(fd); change_label({hr})

29 Outline 1. Flume: Solves DIFC Problems 2. Application + Evaluation

30 Questions for Evaluation Does Flume allow adoption of Unix software? Does Flume solve security vulnerabilities? Does Flume perform reasonably?

31 Example App: MoinMoin Wiki

32 How Problems Arise if not self.request.user.may.read(pagename): return self.notallowedfault() MoinMoin Wiki (100 kloc) x43 LayoffPlans FreeTShirts

33 MoinMoin + DIFC LayoffPlans Apache Web Server Declassifier 1 kloc MoinMoin Wiki (100 kloc) Trusted Untrusted FreeTShirts

34 FlumeWiki Web Client Flume- Oblivious unconfined confined reliable IPC GET /LayoffPlans?user=Intern&PW=abcd LayoffPlans Apache Declassifier 1 kloc MoinMoin (100 kloc) S={ HR } FreeTShirts S={} file I/O

35 Future Work Web Client GET /LayoffPlans?user=Intern&PW=abcd LayoffPlans Apache Declassifier 1 kloc Totally Suspect Software S={ HR } FreeTShirts S={}

36 Results Does Flume allow adoption of Unix software? 1,000 LOC launcher/declassifier 1,000 out of 100,000 LOC in MoinMoin changed Python interpreter, Apache, unchanged Does Flume solve security vulnerabilities? Without our knowing, we inherited two ACL bypass bugs from MoinMoin Both are not exploitable in Flume s MoinMoin Does Flume perform reasonably? Performs within a factor of 2 of the original on read and write benchmarks

37 Most Related Work Asbestos, HiStar: New DIFC OSes Jif: DIFC at the language level Ostia, Plash: Implementation techniques Classical MAC literature (Bell-LaPadula, Biba, Orange Book MAC, Lattice Model, etc.)

38 Limitations Bigger TCB than HiStar / Asbestos Linux stack (Kernel + glibc + linker) Reference monitor (~22 kloc) Covert channels via disk quotas Confined processes like MoinMoin don t get full POSIX API. spawn() instead of fork() & exec() flume_pipe() instead of pipe()

39 Summary DIFC is a challenge to Programmers Flume: DIFC in User-Level Preserves legacy software Complements today s programming techniques MoinMoin Wiki: Flume works as promised Invite you to play around:

40 Thanks! To: ITRI, Nokia, NSF and You

41 Reasons to Read the Paper Generalized security properties Including: Novel integrity policies Support for very large labels Support for clusters of Flume Machines

42 Flume s Rule is Fast Recall: p can send to q iff: S p D p S q D q To Compute: for each tag t S p : If t S q and t D p and t D q : output NO output OK Runs in time proportional to size of S p. No need to enumerate D p or D q!!!

43 Flume Communication Rule MoinMoin (p) S p = { Alice } P?? Database (q) S q = S q { = Alice {} } D q = { Alice, Bob } MoinMoin (r) S r = { Bob } S p S q 1. q changes to S q = { Alice } 2. p sends to q 3. q changes back to S q = {}

44 Flume Communication Rule MoinMoin (p) S p = { Alice } P Database (q) S q = {} D q = { Alice, Bob } P MoinMoin (r) S r = { Bob } Senders get extra latitude p can send to q iff: Receivers get extra latitude In IFC: S p S q In Flume: S p D p S q D q

45 Flume Kernel Module open( /alice/inbox.dat, O_RDONLY); Web App Flume Libc mov $0x5, %eax int $0x80 Flume Kernel Module Flume Reference Monitor Linux Kernel open( ) P Alice s Data

46 Reference Monitor Proxies Pipes write(0, some data, 10); Web App Flume Reference Monitor Helper Process Linux Kernel

47 Unconfined Processes e S e = {} Unconfined processes get e endpoint. kill sendmail mmap ed memory P fork ed child D p D= p = { HR {} } S p = {} HR } /tmp/public.dat DIFC S public.dat = {} PProcess q change_label({hr}) S q = { HR }

48 Endpoints Reveal Errors Eagerly D p = {HR} Process p S p = {} S p = { HR } e S e = {} P /tmp/public.dat S public.dat = {} Process q S q = { HR } P open( /tmp/public.dat, O_WRONLY); change_label({hr})

49 Why Do We Need S p? Process p S p = { Finance } D p = { HR } e S e = { Finance, HR }

The Asbestos Operating System

The Asbestos Operating System p. 1/26 The Asbestos Operating System Petros Efstathopoulos, Maxwell Krohn, Steve VanDeBogart, Cliff Frey, Martijn Stevenson, Nickolai Zeldovich, David Ziegler, Eddie Kohler, David Mazières, Frans Kaashoek,

More information

Information Flow Control for Secure Web Sites. Maxwell Norman Krohn

Information Flow Control for Secure Web Sites. Maxwell Norman Krohn Information Flow Control for Secure Web Sites by Maxwell Norman Krohn A.B., Harvard University (1999) S.M., Massachusetts Institute of Technology (2005) Submitted to the Department of Electrical Engineering

More information

DAC vs. MAC. Most people familiar with discretionary access control (DAC)

DAC vs. MAC. Most people familiar with discretionary access control (DAC) DAC vs. MAC Most people familiar with discretionary access control (DAC) - Example: Unix user-group-other permission bits - Might set a fileprivate so only groupfriends can read it Discretionary means

More information

Administrivia. - Wednesday March 18, 12:15-3:15pm ingates B-01 - Open book, open notes, just like midterm - Covers material from all 19 lectures

Administrivia. - Wednesday March 18, 12:15-3:15pm ingates B-01 - Open book, open notes, just like midterm - Covers material from all 19 lectures Last project due today Administrivia - Must hand in something by midnight even if you get extension Final Exam - Wednesday March 18, 12:15-3:15pm ingates B-01 - Open book, open notes, just like midterm

More information

Operating System Structure

Operating System Structure Operating System Structure Lecture 3 Disclaimer: some slides are adopted from the book authors slides with permission Recap Computer architecture CPU, memory, disk, I/O devices Memory hierarchy Architectural

More information

CMSC 421, Operating Systems. Fall 2008. Security. URL: http://www.csee.umbc.edu/~kalpakis/courses/421. Dr. Kalpakis

CMSC 421, Operating Systems. Fall 2008. Security. URL: http://www.csee.umbc.edu/~kalpakis/courses/421. Dr. Kalpakis CMSC 421, Operating Systems. Fall 2008 Security Dr. Kalpakis URL: http://www.csee.umbc.edu/~kalpakis/courses/421 Outline The Security Problem Authentication Program Threats System Threats Securing Systems

More information

Networks. Inter-process Communication. Pipes. Inter-process Communication

Networks. Inter-process Communication. Pipes. Inter-process Communication Networks Mechanism by which two processes exchange information and coordinate activities Inter-process Communication process CS 217 process Network 1 2 Inter-process Communication Sockets o Processes can

More information

Advanced Systems Security: Retrofitting Commercial Systems

Advanced Systems Security: Retrofitting Commercial Systems 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:

More information

Exploiting nginx chunked overflow bug, the undisclosed attack vector

Exploiting nginx chunked overflow bug, the undisclosed attack vector Exploiting nginx chunked overflow bug, the undisclosed attack vector Long Le longld@vnsecurity.net About VNSECURITY.NET CLGT CTF team 2 VNSECURITY.NET In this talk Nginx brief introduction Nginx chunked

More information

Thoth: Comprehensive Policy Compliance in Data Retrieval Systems

Thoth: Comprehensive Policy Compliance in Data Retrieval Systems Thoth: Comprehensive Policy Compliance in Data Retrieval Systems Eslam Elnikety, Aastha Mehta, Anjo Vahldiek-Oberwagner, Deepak Garg, and Peter Druschel Max Planck Institute for Software Systems Data retrieval

More information

Building Secure Event Processing Applications

Building Secure Event Processing Applications Department of Computing Building Secure Event Processing Applications Peter Pietzuch prp@doc.ic.ac.uk Large-Scale Distributed Systems Group Peter Department R. of Pietzuch Computing Imperial College London

More information

We have to watch and listen to everything that people are doing so that we can catch terrorists, drug dealers, pedophiles, and organized criminals.

We have to watch and listen to everything that people are doing so that we can catch terrorists, drug dealers, pedophiles, and organized criminals. We have to watch and listen to everything that people are doing so that we can catch terrorists, drug dealers, pedophiles, and organized criminals. Some of this data is sent unencrypted through the Internet,

More information

THE CloudSafetyNet project investigates the potential

THE CloudSafetyNet project investigates the potential 1 Investigating the Potential of Information Flow Control as a Cloud Security Technology Jean Bacon, Fellow, IEEE, Thomas Pasquier, Member, IEEE, Jatinder Singh, Member, IEEE, Olivier Hermant and David

More information

Practical Fine-Grained Information Flow Control Using Laminar 1

Practical Fine-Grained Information Flow Control Using Laminar 1 Practical Fine-Grained Information Flow Control Using Laminar 1 DONALD E. PORTER, Stony Brook University 2 MICHAEL D. BOND, Ohio State University 3 INDRAJIT ROY, Hewlett Packard Labs 4 KATHRYN S. MCKINLEY,

More information

SHIFT+M: Software-Hardware Information Flow Tracking on Multi-core

SHIFT+M: Software-Hardware Information Flow Tracking on Multi-core SHIFT+M: Software-Hardware Information Flow Tracking on Multi-core Colleen Lewis Cynthia Sturton colleenl@berkekey.edu, csturton@eecs.berkeley.edu Abstract We designed, implemented and analyzed three distributed

More information

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

Host-based Intrusion Prevention on Windows and UNIX. Dr. Rich Murphey White Oak Labs Host-based Intrusion Prevention on Windows and UNIX Dr. Rich Murphey White Oak Labs Acknowledgements Niels Provos OpenBSD s systrace DT suggested this thread last year Greg Hoglund insights md5 at da ghettohackers

More information

Format string exploitation on windows Using Immunity Debugger / Python. By Abysssec Inc WwW.Abysssec.Com

Format string exploitation on windows Using Immunity Debugger / Python. By Abysssec Inc WwW.Abysssec.Com Format string exploitation on windows Using Immunity Debugger / Python By Abysssec Inc WwW.Abysssec.Com For real beneficiary this post you should have few assembly knowledge and you should know about classic

More information

Example of Standard API

Example of Standard API 16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface

More information

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

CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure CSE 120 Principles of Operating Systems Fall 2000 Lecture 3: Operating System Modules, Interfaces, and Structure Geoffrey M. Voelker Modules, Interfaces, Structure We roughly defined an OS as the layer

More information

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

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts

More information

Operating Systems and Networks

Operating Systems and Networks recap Operating Systems and Networks How OS manages multiple tasks Virtual memory Brief Linux demo Lecture 04: Introduction to OS-part 3 Behzad Bordbar 47 48 Contents Dual mode API to wrap system calls

More information

Decentralized Information Flow Control for Databases by

Decentralized Information Flow Control for Databases by Decentralized Information Flow Control for Databases by David Andrew Schultz MS, Electrical Engineering and Computer Science Massachusetts Institute of Technology, 2007 BA, Computer Science University

More information

Hardware, Languages, and Architectures for Defense Against Hostile Operating Systems (DHOSA)

Hardware, Languages, and Architectures for Defense Against Hostile Operating Systems (DHOSA) Hardware, Languages, and Architectures for Defense Against Hostile Operating Systems (DHOSA) Vikram Adve, Krste Asanović, David Evans, Sam King, Greg Morrisett, R. Sekar, Dawn Song, David Wagner (PI) http://www.dhosa.org/

More information

Improving Application Security with Data Flow Assertions

Improving Application Security with Data Flow Assertions Improving Application Security with Data Flow Assertions Alexander Yip, Xi Wang, Nickolai Zeldovich, and M. Frans Kaashoek Massachusetts Institute of Technology Computer Science and Artificial Intelligence

More information

Splitting Interfaces: Making Trust Between Applications and Operating Systems Configurable

Splitting Interfaces: Making Trust Between Applications and Operating Systems Configurable Splitting Interfaces: Making Trust Between Applications and Operating Systems Configurable Richard Ta-Min Lionel Litty David Lie Department of Electrical and Computer Engineering University of Toronto

More information

Unix Security Technologies. Pete Markowsky <peterm[at] ccs.neu.edu>

Unix Security Technologies. Pete Markowsky <peterm[at] ccs.neu.edu> Unix Security Technologies Pete Markowsky What is this about? The goal of this CPU/SWS are: Introduce you to classic vulnerabilities Get you to understand security advisories Make

More information

Access Control Fundamentals

Access Control Fundamentals C H A P T E R 2 Access Control Fundamentals An access enforcement mechanism authorizes requests (e.g., system calls) from multiple subjects (e.g., users, processes, etc.) to perform operations (e.g., read,,

More information

System Calls and Standard I/O

System Calls and Standard I/O System Calls and Standard I/O Professor Jennifer Rexford http://www.cs.princeton.edu/~jrex 1 Goals of Today s Class System calls o How a user process contacts the Operating System o For advanced services

More information

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

CSE543 - Introduction to Computer and Network Security. Module: Reference Monitor CSE543 - Introduction to Computer and Network Security Module: Reference Monitor Professor Trent Jaeger 1 Living with Vulnerabilities So, software is potentially vulnerable In a variety of ways So, how

More information

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

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts

More information

Improving Application Security with Data Flow Assertions

Improving Application Security with Data Flow Assertions Improving Application Security with Data Flow Assertions Alexander Yip, Xi Wang, Nickolai Zeldovich, and M. Frans Kaashoek Massachusetts Institute of Technology Computer Science and Artificial Intelligence

More information

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what

More information

GCCSI. Ihr Dienstleister in:

GCCSI. Ihr Dienstleister in: GCCSI Ihr Dienstleister in: Gürbüz Computer Consulting & Service International 1984-2007 l Önder Gürbüz l Aar Strasse 70 l 65232 Taunusstein info@gccsi.com l +49 (6128) 757583 l +49 (6128) 757584 l +49

More information

CEN 559 Selected Topics in Computer Engineering. Dr. Mostafa H. Dahshan KSU CCIS mdahshan@ccis.ksu.edu.sa

CEN 559 Selected Topics in Computer Engineering. Dr. Mostafa H. Dahshan KSU CCIS mdahshan@ccis.ksu.edu.sa CEN 559 Selected Topics in Computer Engineering Dr. Mostafa H. Dahshan KSU CCIS mdahshan@ccis.ksu.edu.sa Access Control Access Control Which principals have access to which resources files they can read

More information

Software security. Buffer overflow attacks SQL injections. Lecture 11 EIT060 Computer Security

Software security. Buffer overflow attacks SQL injections. Lecture 11 EIT060 Computer Security Software security Buffer overflow attacks SQL injections Lecture 11 EIT060 Computer Security Buffer overflow attacks Buffer overrun is another common term Definition A condition at an interface under which

More information

Securing Commercial Operating Systems

Securing Commercial Operating Systems C H A P T E R 7 Securing Commercial Operating Systems Since the discovery of the reference monitor concept during the development of Multics, there have been many projects to retrofit existing commercial

More information

CS161: Operating Systems

CS161: Operating Systems CS161: Operating Systems Matt Welsh mdw@eecs.harvard.edu Lecture 2: OS Structure and System Calls February 6, 2007 1 Lecture Overview Protection Boundaries and Privilege Levels What makes the kernel different

More information

The Plan Today... System Calls and API's Basics of OS design Virtual Machines

The Plan Today... System Calls and API's Basics of OS design Virtual Machines System Calls + The Plan Today... System Calls and API's Basics of OS design Virtual Machines System Calls System programs interact with the OS (and ultimately hardware) through system calls. Called when

More information

Lecture 25 Symbian OS

Lecture 25 Symbian OS CS 423 Operating Systems Design Lecture 25 Symbian OS Klara Nahrstedt Fall 2011 Based on slides from Andrew S. Tanenbaum textbook and other web-material (see acknowledgements) cs423 Fall 2011 1 Overview

More information

Mandatory Access Control in Linux

Mandatory Access Control in Linux Mandatory Access Control in Linux CMPSC 443 - Spring 2012 Introduction Computer and Network Security Professor Jaeger www.cse.psu.edu/~tjaeger/cse443-s12/ In the early 2000s Root and administrator Many

More information

High Assurance Security For Embedded, Distributed Systems

High Assurance Security For Embedded, Distributed Systems High Assurance Security For Embedded, Distributed Systems Bill Beckwith Objective Interface Systems, Inc. +1 703 295 6500 bill.beckwith@ois.com http://www.ois.com OMG Real-time and Embedded Workshop July

More information

1 Organization of Operating Systems

1 Organization of Operating Systems COMP 730 (242) Class Notes Section 10: Organization of Operating Systems 1 Organization of Operating Systems We have studied in detail the organization of Xinu. Naturally, this organization is far from

More information

Linux Kernel Architecture

Linux Kernel Architecture Linux Kernel Architecture Amir Hossein Payberah payberah@yahoo.com Contents What is Kernel? Kernel Architecture Overview User Space Kernel Space Kernel Functional Overview File System Process Management

More information

Review and Exploit Neglected Attack Surface in ios 8. Tielei Wang, Hao Xu, Xiaobo Chen of TEAM PANGU

Review and Exploit Neglected Attack Surface in ios 8. Tielei Wang, Hao Xu, Xiaobo Chen of TEAM PANGU Review and Exploit Neglected Attack Surface in ios 8 Tielei Wang, Hao Xu, Xiaobo Chen of TEAM PANGU BlackHat 2015 Agenda ios Security Background Review of Attack Surfaces Fuzz More IOKit and MIG System

More information

Google Apps Engine. G-Jacking AppEngine-based applications. Presented 20/11/2014. For NoSuchCon 2014 By Nicolas Collignon

Google Apps Engine. G-Jacking AppEngine-based applications. Presented 20/11/2014. For NoSuchCon 2014 By Nicolas Collignon Google Apps Engine G-Jacking AppEngine-based applications Presented 20/11/2014 For NoSuchCon 2014 By Nicolas Collignon Introduction to GAE G-Jacking The code The infrastructure The sandbox Conclusion Introduction

More information

Google Apps Engine. G-Jacking AppEngine-based applications. Presented 30/05/2014. For HITB 2014 By Nicolas Collignon and Samir Megueddem

Google Apps Engine. G-Jacking AppEngine-based applications. Presented 30/05/2014. For HITB 2014 By Nicolas Collignon and Samir Megueddem Google Apps Engine G-Jacking AppEngine-based applications Presented 30/05/2014 For HITB 2014 By Nicolas Collignon and Samir Megueddem Introduction to GAE G-Jacking The code The infrastructure The sandbox

More information

The Sandbox Roulette: are you ready to gamble? Rafal Wojtczuk rafal@bromium.com Rahul Kashyap rahul@bromium.com

The Sandbox Roulette: are you ready to gamble? Rafal Wojtczuk rafal@bromium.com Rahul Kashyap rahul@bromium.com The Sandbox Roulette: are you ready to gamble? Rafal Wojtczuk rafal@bromium.com Rahul Kashyap rahul@bromium.com What is a sandbox? Environment designed to run untrusted (or exploitable) code, in a manner

More information

1 Copyright 2012, Oracle and/or its affiliates. All rights reserved. Public Information

1 Copyright 2012, Oracle and/or its affiliates. All rights reserved. Public Information 1 Copyright 2012, Oracle and/or its affiliates. All rights reserved. Public Information Proteggere i dati direttamente nel database Una proposta tecnologica Angelo Maria Bosis Sales Consulting Senior Manager

More information

Mandatory Access Control

Mandatory Access Control CIS/CSE 643: Computer Security (Syracuse University) MAC: 1 1 Why need MAC DAC: Discretionary Access Control Mandatory Access Control Definition: An individual user can set an access control mechanism

More information

Hardware Enforcement of Application Security Policies Using Tagged Memory

Hardware Enforcement of Application Security Policies Using Tagged Memory Hardware Enforcement of Application Security Policies Using Tagged Memory Nickolai Zeldovich, Hari Kannan, Michael Dalton, and Christos Kozyrakis MIT Stanford University ABSTRACT Computers are notoriously

More information

Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY. 6.828 Operating System Engineering: Fall 2005

Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY. 6.828 Operating System Engineering: Fall 2005 Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.828 Operating System Engineering: Fall 2005 Quiz II Solutions Average 84, median 83, standard deviation

More information

Transparent Monitoring of a Process Self in a Virtual Environment

Transparent Monitoring of a Process Self in a Virtual Environment Transparent Monitoring of a Process Self in a Virtual Environment PhD Lunchtime Seminar Università di Pisa 24 Giugno 2008 Outline Background Process Self Attacks Against the Self Dynamic and Static Analysis

More information

Design of a secure system. Example: trusted OS. Bell-La Pdula Model. Evaluation: the orange book. Buffer Overflow Attacks

Design of a secure system. Example: trusted OS. Bell-La Pdula Model. Evaluation: the orange book. Buffer Overflow Attacks Stware Security Holes and Defenses Design a secure system Follows a ring design. Every object has an associated security attribute. Every subject has a security clearance. Least secure Highest security

More information

Introduction to Virtual Machines

Introduction to Virtual Machines Introduction to Virtual Machines Introduction Abstraction and interfaces Virtualization Computer system architecture Process virtual machines System virtual machines 1 Abstraction Mechanism to manage complexity

More information

Why Open Source Software Only Seems More Secure

Why Open Source Software Only Seems More Secure Purdue University Center for Education and Research in Information Assurance and Security Why Open Source Software Only Seems More Secure Eugene H. Spafford Professor and

More information

Syscall Proxying - Simulating remote execution Maximiliano Caceres <maximiliano.caceres@corest.com> Copyright 2002 CORE SECURITY TECHNOLOGIES

Syscall Proxying - Simulating remote execution Maximiliano Caceres <maximiliano.caceres@corest.com> Copyright 2002 CORE SECURITY TECHNOLOGIES Syscall Proxying - Simulating remote execution Maximiliano Caceres Copyright 2002 CORE SECURITY TECHNOLOGIES Table of Contents Abstract.........................................................................................

More information

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson CS 3530 Operating Systems L02 OS Intro Part 1 Dr. Ken Hoganson Chapter 1 Basic Concepts of Operating Systems Computer Systems A computer system consists of two basic types of components: Hardware components,

More information

The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors

The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors Austin T. Clements M. Frans Kaashoek Nickolai Zeldovich Robert Morris Eddie Kohler MIT CSAIL and Harvard Current approach

More information

Common Criteria Evaluation Challenges for SELinux. Doc Shankar IBM Linux Technology Center dshankar@us.ibm.com

Common Criteria Evaluation Challenges for SELinux. Doc Shankar IBM Linux Technology Center dshankar@us.ibm.com Common Criteria Evaluation Challenges for SELinux Doc Shankar IBM Linux Technology Center dshankar@us.ibm.com Agenda Common Criteria Roadmap/Achievements CAPP/LSPP Overview EAL4 Overview Open Sourcing

More information

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

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture Review from last time CS 537 Lecture 3 OS Structure What HW structures are used by the OS? What is a system call? Michael Swift Remzi Arpaci-Dussea, Michael Swift 1 Remzi Arpaci-Dussea, Michael Swift 2

More information

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition Chapter 2: Operating-System Structures Silberschatz, Galvin and Gagne 2013 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System

More information

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

How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X (Advanced Topics in) Operating Systems Winter Term 2009 / 2010 Jun.-Prof. Dr.-Ing. André Brinkmann brinkman@upb.de Universität Paderborn PC 1 Overview Overview of chapter 3: Case Studies 3.1 Windows Architecture.....3

More information

Lecture 17: Mobile Computing Platforms: Android. Mythili Vutukuru CS 653 Spring 2014 March 24, Monday

Lecture 17: Mobile Computing Platforms: Android. Mythili Vutukuru CS 653 Spring 2014 March 24, Monday Lecture 17: Mobile Computing Platforms: Android Mythili Vutukuru CS 653 Spring 2014 March 24, Monday Mobile applications vs. traditional applications Traditional model of computing: an OS (Linux / Windows),

More information

Contents III: Contents II: Contents: Rule Set Based Access Control (RSBAC) 4.2 Model Specifics 5.2 AUTH

Contents III: Contents II: Contents: Rule Set Based Access Control (RSBAC) 4.2 Model Specifics 5.2 AUTH Rule Set Based Access Control (RSBAC) Linux Kernel Security Extension Tutorial Amon Ott Contents: 1 Motivation: Why We Need Better Security in the Linux Kernel 2 Overview of RSBAC 3 How

More information

Week Overview. Installing Linux Linux on your Desktop Virtualization Basic Linux system administration

Week Overview. Installing Linux Linux on your Desktop Virtualization Basic Linux system administration ULI101 Week 06b Week Overview Installing Linux Linux on your Desktop Virtualization Basic Linux system administration Installing Linux Standalone installation Linux is the only OS on the computer Any existing

More information

Confinement Problem. The confinement problem Isolating entities. Example Problem. Server balances bank accounts for clients Server security issues:

Confinement Problem. The confinement problem Isolating entities. Example Problem. Server balances bank accounts for clients Server security issues: Confinement Problem The confinement problem Isolating entities Virtual machines Sandboxes Covert channels Mitigation 1 Example Problem Server balances bank accounts for clients Server security issues:

More information

Host/Platform Security. Module 11

Host/Platform Security. Module 11 Host/Platform Security Module 11 Why is Host/Platform Security Necessary? Firewalls are not enough All access paths to host may not be firewall protected Permitted traffic may be malicious Outbound traffic

More information

A Look through the Android Stack

A Look through the Android Stack A Look through the Android Stack A Look through the Android Stack Free Electrons Maxime Ripard Free Electrons Embedded Linux Developers c Copyright 2004-2012, Free Electrons. Creative Commons BY-SA 3.0

More information

Advanced Systems Security

Advanced Systems Security 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

More information

Applications of Formal Methods in Building High-Assurance Secure Systems

Applications of Formal Methods in Building High-Assurance Secure Systems Applications of Formal Methods in Building High-Assurance Secure Systems Rance J. DeLong Computer Engineering Department Information Assurance Santa Clara University 1 Credits The work described is being

More information

What is going on in Operating Systems Research: The OSDI & SOSP Perspective. Dilma M. da Silva IBM TJ Watson Research Center, NY dilmasilva@us.ibm.

What is going on in Operating Systems Research: The OSDI & SOSP Perspective. Dilma M. da Silva IBM TJ Watson Research Center, NY dilmasilva@us.ibm. What is going on in Operating Systems Research: The OSDI & SOSP Perspective Dilma M. da Silva IBM TJ Watson Research Center, NY dilmasilva@us.ibm.com 16 July 2006 Slide 2 Main OS conferences OSDI Operating

More information

Operating Systems Introduction

Operating Systems Introduction Operating Systems Introduction Chester Rebeiro IIT Madras Webpage : http://www.cse.iitm.ac.in/~chester/courses/15o_os/index.html The Layers in Systems Applications Operating Systems Computer Organization

More information

Uses for Virtual Machines. Virtual Machines. There are several uses for virtual machines:

Uses for Virtual Machines. Virtual Machines. There are several uses for virtual machines: Virtual Machines Uses for Virtual Machines Virtual machine technology, often just called virtualization, makes one computer behave as several computers by sharing the resources of a single computer between

More information

SecurityTracker Monday Morning Vulnerability Summary Oct 28, 2013

SecurityTracker Monday Morning Vulnerability Summary Oct 28, 2013 In This Week's SecurityTracker Vulnerability Summary SecurityTracker Alerts: 27 Vendors: Alstom - Apple Computer - CA - Cisco - EMC - F5 Networks - GNU [multiple authors] - Gnupg.org - Google - Joyent,

More information

Secure Virtual Machine Systems

Secure Virtual Machine Systems C H A P T E R 11 Secure Virtual Machine Systems A problem in building a new, secure operating system is that existing applications may not run on the new system. Operating systems define an application

More information

CS420: Operating Systems OS Services & System Calls

CS420: Operating Systems OS Services & System Calls NK YORK COLLEGE OF PENNSYLVANIA HG OK 2 YORK COLLEGE OF PENNSYLVAN OS Services & System Calls James Moscola Department of Physical Sciences York College of Pennsylvania Based on Operating System Concepts,

More information

Penetration Testing LAB Setup Guide

Penetration Testing LAB Setup Guide Penetration Testing LAB Setup Guide (Internal Attacker - Beginner version) By: magikh0e - magikh0e@ihtb.org Last Edit: July 07 2012 This guide assumes a few things... 1. You have installed Backtrack before

More information

Information Flows and Covert Channels

Information Flows and Covert Channels Information Flows and Covert Channels Attila Özgit METU, Dept. of Computer Engineering ozgit@metu.edu.tr Based on: Mike McNett s presentation slides CENG-599 Data Security and Protection Objectives Understand

More information

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

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself How do Users and Processes interact with the Operating System? Users interact indirectly through a collection of system programs that make up the operating system interface. The interface could be: A GUI,

More information

Sample Report. Security Test Plan. Prepared by Security Innovation

Sample Report. Security Test Plan. Prepared by Security Innovation Sample Report Security Test Plan Prepared by Security Innovation Table of Contents 1.0 Executive Summary... 3 2.0 Introduction... 3 3.0 Strategy... 4 4.0 Deliverables... 4 5.0 Test Cases... 5 Automation...

More information

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

Systems Software. Introduction to Information System Components. Chapter 1 Part 2 of 4 CA M S Mehta, FCA Systems Software Introduction to Information System Components Chapter 1 Part 2 of 4 CA M S Mehta, FCA 1 Systems Software Learning Objects Task Statements 1.1 Identify deployment of different components

More information

N-Variant Systems. Slides extracted from talk by David Evans. (provenance in footer) http://www.cs.virginia.edu/evans/sdwest

N-Variant Systems. Slides extracted from talk by David Evans. (provenance in footer) http://www.cs.virginia.edu/evans/sdwest 1 N-Variant Systems Slides extracted from talk by David Evans (provenance in footer) 2 Inevitability of Failure Despite all the best efforts to build secure software, we will still fail (or have to run

More information

IQware's Approach to Software and IT security Issues

IQware's Approach to Software and IT security Issues IQware's Approach to Software and IT security Issues The Need for Security Security is essential in business intelligence (BI) systems since they have access to critical and proprietary enterprise information.

More information

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

CSE543 - Introduction to Computer and Network Security. Module: Access Control CSE543 - Introduction to Computer and Network Security Module: Access Control Professor Trent Jaeger 1 Policy A policy specifies the rules of security Some statement of secure procedure or configuration

More information

The Benefits of Using VSwap

The Benefits of Using VSwap Best Practices for Parallels Containers for Linux: Q1 2013 Using Virtual Swap to Maximize Container Performance www.parallels.com Table of Contents Introduction... 3 How VSwap Works... 3 Using VSwap with

More information

Cyber Security In High-Performance Computing Environment Prakashan Korambath Institute for Digital Research and Education, UCLA July 17, 2014

Cyber Security In High-Performance Computing Environment Prakashan Korambath Institute for Digital Research and Education, UCLA July 17, 2014 Cyber Security In High-Performance Computing Environment Prakashan Korambath Institute for Digital Research and Education, UCLA July 17, 2014 Introduction: Cyber attack is an unauthorized access to a computer

More information

Secure Web Application Coding Team Introductory Meeting December 1, 2005 1:00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda

Secure Web Application Coding Team Introductory Meeting December 1, 2005 1:00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda Secure Web Application Coding Team Introductory Meeting December 1, 2005 1:00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda 1. Introductions for new members (5 minutes) 2. Name of group 3. Current

More information

Creating a More Secure Device with Windows Embedded Compact 7. Douglas Boling Boling Consulting Inc.

Creating a More Secure Device with Windows Embedded Compact 7. Douglas Boling Boling Consulting Inc. Creating a More Secure Device with Windows Embedded Compact 7 Douglas Boling Boling Consulting Inc. About Douglas Boling Independent consultant specializing in Windows Mobile and Windows Embedded Compact

More information

Security Certification of Third- Parties Applications

Security Certification of Third- Parties Applications Security Certification of Third- Parties Applications Stanislav Dashevskyi dashevskyi@fbk.eu Advisors: Fabio Massacci, Antonino Sabetta Agenda Introduction Third-party code in web applications Third-party

More information

Operating Systems. Design and Implementation. Andrew S. Tanenbaum Melanie Rieback Arno Bakker. Vrije Universiteit Amsterdam

Operating Systems. Design and Implementation. Andrew S. Tanenbaum Melanie Rieback Arno Bakker. Vrije Universiteit Amsterdam Operating Systems Design and Implementation Andrew S. Tanenbaum Melanie Rieback Arno Bakker Vrije Universiteit Amsterdam Operating Systems - Winter 2012 Outline Introduction What is an OS? Concepts Processes

More information

Outline. Operating Systems Design and Implementation. Chap 1 - Overview. What is an OS? 28/10/2014. Introduction

Outline. Operating Systems Design and Implementation. Chap 1 - Overview. What is an OS? 28/10/2014. Introduction Operating Systems Design and Implementation Andrew S. Tanenbaum Melanie Rieback Arno Bakker Outline Introduction What is an OS? Concepts Processes and Threads Memory Management File Systems Vrije Universiteit

More information

Networks and Operating Systems (252-0062-00) Chapter 1: Introduction to Operating Systems

Networks and Operating Systems (252-0062-00) Chapter 1: Introduction to Operating Systems spcl.inf.ethz.ch ADRIAN PERRIG & TORSTEN HOEFLER Networks and Operating Systems (252-0062-00) Chapter 1: Introduction to Operating Systems If Operating Systems were Airways (~year 2000) UNIX Airways Everyone

More information

How To Install Linux Titan

How To Install Linux Titan Linux Titan Distribution Presented By: Adham Helal Amgad Madkour Ayman El Sayed Emad Zakaria What Is a Linux Distribution? What is a Linux Distribution? The distribution contains groups of packages and

More information

Providing a Shared File System in the Hare POSIX Multikernel. Charles Gruenwald III

Providing a Shared File System in the Hare POSIX Multikernel. Charles Gruenwald III Providing a Shared File System in the Hare POSIX Multikernel by Charles Gruenwald III Submitted to the Department of Electrical Engineering and Computer Science in partial fulfillment of the requirements

More information

OPERATING SYSTEM SERVICES

OPERATING SYSTEM SERVICES OPERATING SYSTEM SERVICES USER INTERFACE Command line interface(cli):uses text commands and a method for entering them Batch interface(bi):commands and directives to control those commands are entered

More information

Perl In Secure Web Development

Perl In Secure Web Development Perl In Secure Web Development Jonathan Worthington (jonathan@jwcs.net) August 31, 2005 Perl is used extensively today to build server side web applications. Using the vast array of modules on CPAN, one

More information

Red Hat Linux Internals

Red Hat Linux Internals Red Hat Linux Internals Learn how the Linux kernel functions and start developing modules. Red Hat Linux internals teaches you all the fundamental requirements necessary to understand and start developing

More information

Operating System Security

Operating System Security Operating System Security Synthesis Lectures on Information Security, Privacy and Trust Editor Ravi Sandhu, University of Texas, San Antonio Operating System Security Trent Jaeger 2008 Copyright 2008

More information

Kernel comparison of OpenSolaris, Windows Vista and. Linux 2.6

Kernel comparison of OpenSolaris, Windows Vista and. Linux 2.6 Kernel comparison of OpenSolaris, Windows Vista and Linux 2.6 The idea of writing this paper is evoked by Max Bruning's view on Solaris, BSD and Linux. The comparison of advantages and disadvantages among

More information

Datacenter Operating Systems

Datacenter Operating Systems Datacenter Operating Systems CSE451 Simon Peter With thanks to Timothy Roscoe (ETH Zurich) Autumn 2015 This Lecture What s a datacenter Why datacenters Types of datacenters Hyperscale datacenters Major

More information