Secure Component Composition for Personal Ubiquitous Computing Project Overview and Potential Techniques —————— 16 th May 2003 —————— David Llewellyn-Jones.

Slides:



Advertisements
Similar presentations
1 Verification by Model Checking. 2 Part 1 : Motivation.
Advertisements

Automated Theorem Proving Lecture 1. Program verification is undecidable! Given program P and specification S, does P satisfy S?
Wei Lu 1, Kate Keahey 2, Tim Freeman 2, Frank Siebenlist 2 1 Indiana University, 2 Argonne National Lab
Thomas S. Messerges, Ezzat A. Dabbish Motorola Labs Shin Seung Uk.
Authenticating Users. Objectives Explain why authentication is a critical aspect of network security Explain why firewalls authenticate and how they identify.
Verification and Validation
Presentation by Prabhjot Singh
A mobile single sign-on system Master thesis 2006 Mats Byfuglien.
A Survey of Runtime Verification Jonathan Amir 2004.
Metodi formali dello sviluppo software a.a.2013/2014 Prof.Anna Labella.
M ODEL CHECKING -Vasvi Kakkad University of Sydney.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 1 Critical Systems Validation 2.
Setting Up a Virtual Private Network Chapter 9. Learning Objectives Understand the components and essential operations of virtual private networks (VPNs)
DESIGNING A PUBLIC KEY INFRASTRUCTURE
Secure Component Composition for Personal Ubiquitous Computing Project Summary —————— 21 st April 2006 —————— David Llewellyn-Jones, Madjid Merabti, Qi.
Lab/Sessional -CSE-374. SYSTEM DEVELOPMENT LIFE CYCLE.
Lesson 11-Virtual Private Networks. Overview Define Virtual Private Networks (VPNs). Deploy User VPNs. Deploy Site VPNs. Understand standard VPN techniques.
ISA 3200 NETWORK SECURITY Chapter 10: Authenticating Users.
Overview of the Multos construction process Chad R. Meiners.
FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. 10 Authenticating Users By Whitman, Mattord, & Austin© 2008 Course Technology.
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
Mobile Data Sharing over Cloud Group No. 8 - Akshay Kantak - Swapnil Chavan - Harish Singh.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Secure Systems Research Group - FAU Web Services Standards Presented by Keiko Hashizume.
Networking Components Chad Benedict – LTEC
Public Key Infrastructure Ammar Hasayen ….
Seeing-Is-Believing: using camera phones for human-verifiable authentication Jonathan M. McCune, Adrian Perrig and Michael K. Reiter Int. J. Security and.
Chapter 10: Authentication Guide to Computer Network Security.
Server System. Introduction A server system is a computer, or series of computers, that link other computers or electronic devices together. They often.
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Networks LANS,. FastPoll True Questions Answer A for True and B for False A wireless infrastructure network uses a centralized broadcasting device, such.
Authenticating Users Chapter 6. Learning Objectives Understand why authentication is a critical aspect of network security Describe why firewalls authenticate.
Pushing the Security Boundaries of Ubiquitous Computing ACSF 2006 —————— 13 th July 2006 —————— David Llewellyn-Jones, Madjid Merabti, Qi Shi, Bob Askwith.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
Analysis and Detection of Access Violations in Componentised Systems David Llewellyn-Jones, Madjid Merabti, Qi Shi, Bob Askwith Advances in Computer Security.
Chapter 8 – Software Testing Lecture 1 1Chapter 8 Software testing The bearing of a child takes nine months, no matter how many women are assigned. Many.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
Proof Carrying Code Zhiwei Lin. Outline Proof-Carrying Code The Design and Implementation of a Certifying Compiler A Proof – Carrying Code Architecture.
This chapter is extracted from Sommerville’s slides. Text book chapter
Secure Component Composition for Personal Ubiquitous Computing ProgNet Workshop December 2003 —————— 16 th December 2003 —————— Dr. David Llewellyn-Jones,
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Network Security. 2 SECURITY REQUIREMENTS Privacy (Confidentiality) Data only be accessible by authorized parties Authenticity A host or service be able.
. 1. Computer Security Concepts 2. The OSI Security Architecture 3. Security Attacks 4. Security Services 5. Security Mechanisms 6. A Model for Network.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Csci5233 computer security & integrity 1 Cryptography: an overview.
Mobile Agent Security Presented By Sayuri Yonekawa October 17, 2000.
Lecture 5 1 CSP tools for verification of Sec Prot Overview of the lecture The Casper interface Refinement checking and FDR Model checking Theorem proving.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Network Components By Kagan Strayer. Network Components This presentation will cover various network components and their functions. The components that.
Wireless Networks Standards and Protocols & x Standards and x refers to a family of specifications developed by the IEEE for.
CPT 123 Internet Skills Class Notes Internet Security Session B.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 6 - Essentials of Design an the Design Activities.
IP Security (IPSec) Matt Hermanson. What is IPSec? It is an extension to the Internet Protocol (IP) suite that creates an encrypted and secure conversation.
6/12/20161 a.a.2015/2016 Prof. Anna Labella Formal Methods in software development.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
Virtual Private Networks
Configuring and Troubleshooting Routing and Remote Access
Chapter 8 – Software Testing
System Design.
Globecom 2004 —————— 1st December 2004
A mobile single sign-on system
Verification and Validation Unit Testing
Testing and Test-Driven Development CSC 4700 Software Engineering
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Software Verification and Validation
Software Verification and Validation
Software Verification and Validation
Information system analysis and design
Presentation transcript:

Secure Component Composition for Personal Ubiquitous Computing Project Overview and Potential Techniques —————— 16 th May 2003 —————— David Llewellyn-Jones Bob Askwith Qi Shi Madjid Merabti

Aims of the project Concerning security in a given setting Privacy/confidentiality Integrity and authentication Access control Non-repudiation QoS – not tackled

Aims of the project – the setting Networked Many appliances networked together. Non-uniform Appliances may vary greatly in terms of power, user interface and intended use. Mobile Devices will be mobile. Code may be mobile in the form of mobile agents. Componentised Software services built from multiple smaller components.

Aims of the project – challenges Maintain security Total security will not be achievable, but the framework should provide a reasonable and adaptable level. Maintain usability The security protection should be transparent to the user. Incorporate extendibility The framework must be extensible

Network setting Internet

Current techniques General Certification Secure protocols Cryptography etc.. All well developed techniques with real-world implementations

Current techniques More specific Model checking/verification Component composition Flow control/analysis Wrappers/white-box techniques

Using the techniques – a framework The framework for applying these techniques might involve a process along the following lines: Certificates checked Code analysis Initial properties establishes Composition analysis secure wrapper execution C 1. C 2. C 3 C1C1 C2C2 C3C3 Dynamic re-evaluation Full certificates

Model checking/verification An automated method for checking that a program satisfies its specification. Most often used in safety critical systems. Requires a lot of computing power even when checking relatively small programs: time consuming and expensive. Applies to finite state systems. Has the potential to allow automated verification of security properties without requiring any user intervention.

Model checking – process overview Three stages to model checking: Modelling Specification Verification ModellingSpecificationVerification

Modelling Converts a program in to a form suitable for analysis by a model checker. Program execution viewed as a series of states: memory snapshots. The program design dictates flow from one state to another. Information about states and flow are encoded in to a Kripke diagram. Modelling SpecificationVerification

Kripke diagrams A simple example: inta = 2; a += 5; Modelling SpecificationVerification S1S1 S2S2 S1S1 S2S2 a = 2 a = 7

Kripke diagrams Unravelling loops: inta = 2; boolkey = false; do { a = 7; key = (getchar () == ‘c’); } while !key; a = 0; S1S1 S 2 / S 3 S4S4 a = 7 key = true a = 7 key = false a = 2 key = false a = 0 key = true S2S2 S3S3 S4S4 S1S1 Modelling SpecificationVerification

Kripke diagrams Unravelling loops S2S2 S3S3 S4S4 S1S1 Modelling SpecificationVerification

Kripke diagrams Unravelling loops S2S2 S3S3 S4S4 S1S1 Modelling SpecificationVerification S4S4 S3S3 S4S4 S2S2 S3S3 S4S4 S3S3 S2S2 S3S3 S4S4 S1S1 S2S2

Specification Which properties must be satisfied by the program? In our case security properties Modelling Specification Verification Example CTL* formula “If a file gets set as Private it will not have Send applied to it at a later date” A specification consists of a collection of such formulae

Verification This part involves the ‘serious’ computation. Tests every sequence of potential states (called a trace) against the specification. Because of looping, some traces will be of infinite length, so how can we check these? ModellingSpecification Verification

Checking infinite traces ModellingSpecification Verification Although some traces will have potentially infinite length, there are only finitely many possible states. So an infinite trace must take the form: For example:

Problems with verification ModellingSpecification Verification Only applies to finite state systems For CTL*, time needed for model checking is Although this is linear in the size of the model, this makes it potentially exponential in the number of variables

Component Composition Component composition can be considered in many ways. In our case, it will be the connection of inputs/outputs of one component to the inputs/outputs of further components. Not all properties are preserved across this process of composition.

Component Composition Example of property not preserved by composition: “In a single session the component will access either files, or the network, but not both.” In general properties will be strict technical mathematically formulated

Composition properties BSD – Backward Strict Deletion BSI – Backward Strict Insertion

Resolving timing difficulties When combining components, it is essential to consider the security aspects. However, it can also be beneficial. Model checking an entire program will take time exponential to the number of states. However, when split in to components, this can be improved substantially.

Composition results “Under given circumstances” the following hold There are practical problems with this Composed property is as weak as the weakest component Can only use components satisfying strict security properties

Components with mixed properties Weaker components can have their security properties improved by the strength of the stronger ones. Example: If all data must satisfy some property, such as being signed, then in this configuration only C 2 needs to satisfy the requirement. C1C1 C2C2 OUT IN OUT

Current techniques More specific Model checking/verification Component composition Flow control/analysis Wrappers/white-box techniques