Enforcing Security Policies. Rahul Gera



Similar documents
The Halting Problem is Undecidable

24 Uses of Turing Machines

T Reactive Systems: Introduction and Finite State Automata

Computability Classes for Enforcement Mechanisms*

Regular Languages and Finite State Machines

Regular Expressions and Automata using Haskell

A Static Analyzer for Large Safety-Critical Software. Considered Programs and Semantics. Automatic Program Verification by Abstract Interpretation

Omega Automata: Minimization and Learning 1

Automata Theory. Şubat 2006 Tuğrul Yılmaz Ankara Üniversitesi

On strong fairness in UNITY

Automata and Formal Languages

CSC4510 AUTOMATA 2.1 Finite Automata: Examples and D efinitions Definitions

6.080/6.089 GITCS Feb 12, Lecture 3

Informatique Fondamentale IMA S8

6.080 / Great Ideas in Theoretical Computer Science Spring 2008

Fabio Massacci Ida Siahaan

Reading 13 : Finite State Automata and Regular Expressions

Testing LTL Formula Translation into Büchi Automata

I Control Your Code Attack Vectors Through the Eyes of Software-based Fault Isolation. Mathias Payer, ETH Zurich

Introduction to Automata Theory. Reading: Chapter 1

How To Understand The Theory Of Computer Science

Finite Automata. Reading: Chapter 2

Runtime Verification - Monitor-oriented Programming - Monitor-based Runtime Reflection

Handout #1: Mathematical Reasoning

Specification and Analysis of Contracts Lecture 1 Introduction

Monitoring Metric First-order Temporal Properties

FAULT TOLERANCE FOR MULTIPROCESSOR SYSTEMS VIA TIME REDUNDANT TASK SCHEDULING

Regular Languages and Finite Automata

Notes on Complexity Theory Last updated: August, Lecture 1

3. Mathematical Induction

Model Based Testing for Security Checking. Wissam Mallouli and Prof. Ana Cavalli National Institute of Telecommunications, France November 21, 2007

KWIC Implemented with Pipe Filter Architectural Style

Lecture 1. Basic Concepts of Set Theory, Functions and Relations

A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance

Security and privacy for multimedia database management systems

1 Definition of a Turing machine

Cardinality. The set of all finite strings over the alphabet of lowercase letters is countable. The set of real numbers R is an uncountable set.

Týr: a dependent type system for spatial memory safety in LLVM

Modeling and Performance Evaluation of Computer Systems Security Operation 1

Fabio Patrizi DIS Sapienza - University of Rome

CHAPTER 7 GENERAL PROOF SYSTEMS

Efficient Scheduling Of On-line Services in Cloud Computing Based on Task Migration

CS52600: Information Security

Practice with Proofs

Method To Solve Linear, Polynomial, or Absolute Value Inequalities:

Introduction to Turing Machines

Merchant Gateway Services Agreement

2) Write in detail the issues in the design of code generator.

To convert an arbitrary power of 2 into its English equivalent, remember the rules of exponential arithmetic:

x86 ISA Modifications to support Virtual Machines

Notes on Assembly Language

Virtual vs Physical Addresses

Programming A PLC. Standard Instructions

WRITING PROOFS. Christopher Heil Georgia Institute of Technology

Guide to SQL Programming: SQL:1999 and Oracle Rdb V7.1

Lecture 2: Universality

Plain English Guide To Common Criteria Requirements In The. Field Device Protection Profile Version 0.75

Data Structures Fibonacci Heaps, Amortized Analysis

INF5140: Specification and Verification of Parallel Systems

(IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems.

14.1 Rent-or-buy problem

Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services

Worksheet for Teaching Module Probability (Lesson 1)

Scheduling Shop Scheduling. Tim Nieberg

DISCRETE MATH: LECTURE 3

Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

Finite Automata and Regular Languages

Standard for Software Component Testing

1. Prove that the empty set is a subset of every set.

CHAPTER 3. Methods of Proofs. 1. Logical Arguments and Formal Proofs

WHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT?

Deterministic Finite Automata

Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification

Pushdown Automata. place the input head on the leftmost input symbol. while symbol read = b and pile contains discs advance head remove disc from pile

QNAP in vsphere Environment

Introduction. What is an Operating System?

Row Echelon Form and Reduced Row Echelon Form

Evaluating Intrusion Detection Systems without Attacking your Friends: The 1998 DARPA Intrusion Detection Evaluation

10.2 Series and Convergence

Compiler Construction

How Program Monitors Enforce Non-Safety

Continued Fractions and the Euclidean Algorithm

1 Description of The Simpletron

Terms of Service. Your Information and Privacy

Network-Wide Change Management Visibility with Route Analytics

MATH10212 Linear Algebra. Systems of Linear Equations. Definition. An n-dimensional vector is a row or a column of n numbers (or letters): a 1.

Semantics and Verification of Software

Diagnostics and Troubleshooting Using Event Policies and Actions

1 if 1 x 0 1 if 0 x 1

MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.436J/15.085J Fall 2008 Lecture 5 9/17/2008 RANDOM VARIABLES

Transcription:

Enforcing Security Policies Rahul Gera

Brief overview Security policies and Execution Monitoring. Policies that can be enforced using EM. An automata based formalism for specifying those security policies. Mechanisms for enforcing policies defined by the automata. by Fred Schneider 2

Security Policy The paper uses the definition of a security policy as A security policy defines execution that, for one reason or another, has been deemed unacceptable. access control :- restrict what operations principals can perform on objects. information flow :- restrict what principals can infer about objects from observing system behavior. availability:- restrict principals from denying others the use of a resource. by Fred Schneider 3

More application Specific Security policies The paper also tries to address more specific applications like ecommerce in which a policy could say that if a customer pays for a service then in no execution does the seller not provide the service. by Fred Schneider 4

Execution Monitoring. The paper talks about an enforcement mechanisms that work by monitoring execution steps of some system, called the target, and terminating the target s execution if it is about to violate the security policy being enforced. by Fred Schneider 5

What are bounds on EM Targets may be objects, modules, processes, subsystems, or entire systems. The execution steps monitored may range from fine-grained actions (such as memory accesses) to higher-level operations (such as method calls) to operations that change the security-configuration and thus restrict subsequent execution. by Fred Schneider 6

Non EM mechanisms Mechanisms that use more information than would be available only from observing the steps of a target s execution are, by definition, excluded from EM. Information provided to an EM mechanism is thus insufficient to predict future steps the target might take, alternative possible executions, or all possible target executions. Compilers and theorem-provers, which analyze a static representation of a target to deduce information about all of its possible executions, are not EM mechanisms. Mechanisms that modify a target before executing it. Although, these can be studied further IF The modified target is equivalent to the original, except for aborting executions that violate the security policy of interest. A definition for equivalent is thus required to analyze this class of mechanisms. by Fred Schneider 7

CHARACTERIZING EM ENFORCEMENT MECHANISMS ψ denotes a universe of all possible finite and infinite execution sequences. A target S defines a subset S of corresponding to the executions of S. ψ by Fred Schneider 8

Definition is terms of ψ Definition of Security Policy: A security policy is specified by giving a predicate on sets of executions. A target S satisfies security policy P if and only if P( S ) equals true. by Fred Schneider 9

But given a security policy P and two sets of executions A and B. if P(A) is true and B is a subset of A does not imply P(B) is true. E.g. information flow. by Fred Schneider 10

Safety Property A set of executions is called a property if set membership is determined by each element alone and not by other members of the set. As a result we cant categories information flow as a it cant be defined in the isolation of a single execution. Also, its not possible to enforce a policy in which P^ (A) is true But P^(A ) is false A is the prefix to A which is some finite or infinite execution. by Fred Schneider 11

Safety Property by Fred Schneider 12

Non EM-: If the set of executions for a security policy P is not a safety property, then an enforcement mechanism from EM does not exist for P. This enables us to say that if EM enforces P and P -> P then EM enforces P. And an aggregate of policies can be taken as a conjunction of individual policies. by Fred Schneider 13

Policies we started with Access control defines safety properties. The set of proscribed partial executions contains those partial executions ending with an unacceptable operation being attempted. Information flow does not define sets that are properties, so it does not define sets that are safety properties. Not being safety properties, there are no EM enforcement mechanisms for exactly this policy. Availability:- if taken to mean that no principal is forever denied use of some given resource, is not a safety property as any partial execution can be extended in a way that allows a principal to access the resource, so the defining set of proscribed partial executions that every safety property must have is absent. If availability is defined to rule out all denials in excess of MWT seconds (for some predefined Maximum Waiting Time parameter MWT). This is a safety property; the defining set of partial executions contains prefixes ending in intervals that exceed MWT seconds during which a principal is denied use of a resource. by Fred Schneider 14

Security Automata by Fred Schneider 15

The guard and the Command. by Fred Schneider 16

Example 2 :- Access control Principals p Rights r Objects o Oper(p,o,r) AddRight(p,p,o,r ) RmvRight(p,p,o,r ) AddP(p,p ) RmvP(p,p ) AddO(p,o ) RmvO(p,o ) by Fred Schneider 17

by Fred Schneider 18

Example 3:- Fair commerce transaction This however does not have the power to specify guaranteed service after payment. by Fred Schneider 19

Mechanisms for enforcing policies defined by the automata. The target is executed in tandem with a simulation of the security automaton. The initialization of the target causes an initialized instance of the security automaton simulation to be created. Each step that the target is about to take generates an input symbol, which is sent to that simulation: by Fred Schneider 20

1. If the automaton can make a transition on that input symbol, then the target is allowed to perform that step and the automaton state is changed according to its transition function. 2. If the automaton cannot make a transition on that input symbol, then the target is terminated (for having attempted to violate the security policy). by Fred Schneider 21

Implicit Assumptions Bounded memory. Target Control. This is not always possible like in the case of Real Time Availability if MWT is in seconds. Enforcement Mechanism Integrity (isolation). by Fred Schneider 22

Automaton Simulation Pramatics. Automaton Input Read: A mechanism to determine that an input symbol has been produced by the target and then to forward that symbol to the security automaton simulation. If the program counter is taken to be an input symbol a symbol would be created each time a machine languare instruction is executed and this will be quite costly. Hardware traps can be very useful. Automaton Transition: A mechanism to determine whether the security automaton can make a transition on a given input and then to perform that transition. by Fred Schneider 23

Optimization on Input read :-Input symbols are not forwarded to the security automaton if the state of the automaton just after the transition would be the same as it was before the transition. This mechanism can also be enforced in a virtual machine setting. The virtual machine instructionprocessing cycle is augmented so that it produces input symbols and makes automaton transitions according to either an internal or an externally specified security automaton. by Fred Schneider 24

Beyond EM Response to Violations. Instead of Terminating a target that is about to violate a security policy simply notify the target that an erroneous execution step has been attempted. The target could then substitute another step and its execution might then continue. Program Modification. The overhead of enforcement can be reduced by merging the enforcement mechanism into the target. One such scheme is software-based fault isolation (SFI), also known as sandboxing [Wahbe et al. 1993; Small 1997]. In the case of memory protection, a program is edited before it is executed, and only such edited programs are executed by the target. The edits insert instructions to check and/or modify the values of operands, so that illegal memory references are never attempted. SFI is not in EM because SFI involves modifying the target, and such modifications are not permitted of enforcement mechanisms in EM. by Fred Schneider 25

Program Analysis. Proof carrying code (PCC) [Necula 1997]. With PCC, a proof is supplied along with a program, and this proof comes in a form that can be checked mechanically before running that program. The security policy will not be violated if, before the program is executed, the accompanying proof is checked and found to be correct. To extend PCC for security policies that are specified by arbitrary security automata, a method is needed to extract proof obligations for establishing that a program satisfies the property given by such an automaton. Such a method does exist it is described in Alpern and Schneider [1989]. by Fred Schneider 26

QUESTIONS??? by Fred Schneider 27