Formal Foundations for Security Architecture



Similar documents
Compositional Security Evaluation: The MILS approach

COMP3441 Lecture 9: Security Architecture

The MILS Component Integration Approach To Secure Information Sharing

The Software Development Process

Certifying the Security of Android Applications with Cassandra

Cryptography: Authentication, Blind Signatures, and Digital Cash

The SPES Methodology Modeling- and Analysis Techniques

Formal Verification and Linear-time Model Checking

Engineering Process Software Qualities Software Architectural Design

Adversary Modelling 1

An Electronic Voting System Based On Blind Signature Protocol

Multidomain Virtual Security Negotiation over the Session Initiation Protocol (SIP)

Security Issues for the Semantic Web

domain is known as the high side, and the less secure domain is the low side. Depending on the application, the

Static Program Transformations for Efficient Software Model Checking

Electronic Voting Protocol Analysis with the Inductive Method

Inductive Analysis of Security Protocols in Isabelle/HOL with Applications to Electronic Voting

A Model-based Methodology for Developing Secure VoIP Systems

Design by Contract beyond class modelling

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Table of Contents. Preface. Chapter 1 Introduction 1.1 Background. 1.2 Problem description. 1.3 The role of standardization. 1.4 Scope and objectives

Secure Software Architecture Description using UML Jan Jürjens Competence Center for IT Security Software & Systems Engineering TU Munich, Germany

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

CS 393 Network Security. Nasir Memon Polytechnic University Module 11 Secure

Intoduction to SysML

SP A Framework for Designing Cryptographic Key Management Systems. 5/25/2012 Lunch and Learn Scott Shorter

Component visualization methods for large legacy software in C/C++

Today. Important From Last Time. Old Joke. Computer Security. Embedded Security. Trusted Computing Base

ISOLATING UNTRUSTED SOFTWARE ON SECURE SYSTEMS HYPERVISOR CASE STUDY

A methodology for secure software design

Chapter 7 Application Protocol Reference Architecture

Visualizing Information Flow through C Programs

Le vote électronique : un défi pour la vérification formelle

Software Verification/Validation Methods and Tools... or Practical Formal Methods

Data collection architecture for Big Data

Secure Document Circulation Using Web Services Technologies

Internet of Things World Forum Chicago

Clarifying a vision on certification of MDA tools

Incorporating database systems into a secure software development methodology

Lecture 7: Privacy and Security in Mobile Computing. Cristian Borcea Department of Computer Science NJIT

Lecture 2: Complexity Theory Review and Interactive Proofs

FSMD and Gezel. Jan Madsen

Service Identifier Comparison module Service Rule Comparison module Favourite Application Server Reinvocation Management module

The CVS-Server Case Study: A Formalized Security Architecture

Conceptual Model for Enterprise Governance. Walter L Wilson

Patterns for Secure Boot and Secure Storage in Computer Systems

Design Principles for Protection Mechanisms. Security Principles. Economy of Mechanism. Least Privilege. Complete Mediation. Economy of Mechanism (2)

Technical Brief Distributed Trusted Computing

OpenHRE Security Architecture. (DRAFT v0.5)

Computer Security. Evaluation Methodology CIS Value of Independent Analysis. Evaluating Systems Chapter 21

A Guide to EMV. Version 1.0 May Copyright 2011 EMVCo, LLC. All rights reserved.

Do AUTOSAR and functional safety rule each other out?

Non-Black-Box Techniques In Crytpography. Thesis for the Ph.D degree Boaz Barak

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

What s next for openehr. Sam Heard Thomas Beale

2. Analysis, Design and Implementation

SOFTWARE ENGINEERING PROGRAM

BPMN PATTERNS USED IN MANAGEMENT INFORMATION SYSTEMS

Computer Security. Draft Exam with Answers

CS 3251: Computer Networking 1 Security Protocols I

Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao

Building a Global Business Architecture Function Global Life Business Division, Zurich Insurance Services

How To Write A Program Verification And Programming Book

Secure web transactions system

Jairson Vitorino. PhD Thesis, CIn-UFPE February Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations

Formal Methods in Security Protocols Analysis

Zak Khan Director, Advanced Cyber Defence

Presenting Mongoose A New Approach to Traffic Capture (patent pending) presented by Ron McLeod and Ashraf Abu Sharekh January 2013

Software Process for QA

A Security Domain Model for Static Analysis and Verification of Software Programs

Protocol Rollback and Network Security

Secure Cloud Computing with a Virtualized Network Infrastructure

High Assurance Security/Safety for Deeply Embedded, Real-time Systems

Part III. Access Control Fundamentals

Transcription:

Formal Foundations for Security Architecture Ron van der Meyden (University of New South Wales Sydney, Australia) May 5, 2010

Overview Some recent Australian events MILS Security Towards a formal theory of architecture

Military Grade Security, coming to an enterprise near you An Australian example: Australian iron ore exports to China: $22 billion in 2009 Annual price setting negotiations, large increases (2010, 100%) (Australian) Stern Hu, chief negotiator for Rio Tinto, arrested & convicted by China on charges of bribery and stealing state secrets sophisticated hacking attacks on the major mining companies Defence Signals Directorate steps in to assist with network security

MILS Security DOD/NSA Initiative within Crypto Modernization Program Rushby (SRI) proposed Separation Kernel 1981 Initial (vague) view: MILS = use of Rushby Separation Kernel Standardization through Open Group Real Time and Embedded Systems Forum Research track: OG RTES Forum Annual Research Day since 2008, possibly to be integrated with Layered Assurance Workshop Under discussion: what is it really?

Introduction: Rushby view of MILS A two level design process comprised of Policy Level: an architectural design identifying components and their connections/permitted causal relationships. Resource Sharing Level: components implemented so as to share resources (processors, memory, network) with enforcement of architectural causality constraints using a variety of mechanisms (e.g., separation kernels, periods processing, crypto)

Policy Level: Bypass header Red Black body Crypto Resource Sharing Level: Red Bypass Black Separation Kernel Crypto Coprocessor

Further Objectives for MILS isolation of safety/security critical functionality in (small, formally verifiable) trusted components (formal) compositional derivation of global properties from architecture + local properties of the trusted components These global properties preserved by the resource sharing implementation

Questions concerning this vision: What is the formal semantics of architectural designs? Is it really possible to prove interesting security properties in this architecture + trusted component, local to global, pattern? Refinement theory for the extension

Semantics of Architectures Classical answer to What is the formal meaning of architectural diagrams?, by Haigh and Young (1987), Rushby (1992) extending theory of information flow of Goguen and Meseguer (1982). A system satisfies an architecture if whenever you compare a possibly history of the system, with a variant where all events not permitted by the architecture to affect agent A have been removed, the two histories look the same from A s point of view. Cf. relativity theory: an event has no effect on you unless you are in its causal cone.

A problem with the classical theory (van der Meyden ESORICS-07) H D 1 1 L H 2 D 2 There exists a system that is secure with respect to this policy enables L to learn a fact about H 1, H 2 that would not be known to D 1, D 2 even if they were to combine their information

Revised Security definition (van der Meyden ESORICS-07) Build a concrete operational model of the maximal knowledge that each agent is permitted to have, according to the security policy/architecture. A system satisfies the architecture if no agent ever has more than its maximal permitted information. This is more intuitive fixes the problem leads to a more pleasant theory, with stronger connections to access control implementations.

Extensions (current work with Steve Chong) A class of architectural specifications consisting of policies with labelled edges u f v a set of constraints defining possible interpretations of f a function; f (history, action) = maximal information permitted to flow from u to v when u performs action after history

Example: Starlight Interactive Link (Anderson et al. (DSTO) A switch that allows a user to alternate their keyboard between High and Low level windows.) H S sf L Specification: sf (history, action S ) = nothing, if S toggled to H, else action S Theorem: If a system satisfies this architectural specification, then L never knows anything about H, or about S while toggled to H.

Electronic Election v 1 v 2... v n results results results ElecAuth Specification: All voters have the same types of actions available. For all permutations P of {v 1,..., v n } and all sequences of actions α, results(α) = results(p(α)), where P(α) is the result of replacing each action a done by v in α by a done by P(v).

Electronic Election v 1 v 2... v n results results results ElecAuth Specification: All voters have the same types of actions available. For all permutations P of {v 1,..., v n } and all sequences of actions α, results(α) = results(p(α)), where P(α) is the result of replacing each action a done by v in α by a done by P(v). (E.g. results(α) = number of votes for each candidate, or results(α) = the candidate(s) with the most votes. )

Theorem: (Anonymity) If a system satisfies this architectural specification, P is a permutation of voters and v a particular voter such that P(v) = v and φ is a proposition, if v considers φ possible then v considers P(φ) possible. Example: if Alice considers it possible that Bob voted for Obama and Charlie voted for McCain, then Alice considers it possible that Charlie voted for Obama and Bob voted for McCain.

Hinke-Schaeffer as a refinement of HL H H HU LU HD LD HF LF

A Refinement Theory Formal definition of refinement Results stating that if then architecture A is a refinement of architecture B and M implements A abstract(m) implements B if set of components α in A correspond to component β in B and φ is not known to β in abstract(m) then φ is not distributed knowledge to α in M

Example: A downgrader H C H D rel L H P Specification: rel transmits only information that D would have were the architecture restricted to {H P, H, D}. H P : the publicly acknowledged, declassifiable High domain H C : the covert High domain Theorem: L does not know anything about H C

A downgrader - refinement H C D Rel reqrel H L H P Req Specification: reqrel transmits only information that Req has approved for release and that Rel would have were the architecture restricted to {H P, H, D}. Theorem: L does not know anything about H C (This can be proved straighforwardly by showing that this architecture is a refinement of the previous).

Research Agenda The examples demonstrate cases where it is feasible to formally derive global properties from an abstract level of specification of architecture + properties of trusted components Many issues remain: Are there classes of architectural specifications that can be implemented using standard patterns? Connections to concrete mechanisms, e.g., access control. How to implement such specifications in general? (E.g. downgrader requires secure provenance mechanisms within High domain.) Richer semantics of architectures, e.g. for timing, probability Syntax for architectural specifications, efficiently automatable cases of verification.

Related Work Our focus is information flow (noninterference) and knowledge, cf. Garlan, behavioural rather than security properties Moriconi, Qian, Riemenschneider, c. 1995, Bell La Padula Jan Jurjens: UML based, crypto protocol focus Jurgen Hansson: Bell La Padula labels, role based access control in AADL (Architecture Analysis and Design Language)