Secure Component Composition for Personal Ubiquitous Computing Project Summary —————— 21 st April 2006 —————— David Llewellyn-Jones, Madjid Merabti, Qi.

Slides:



Advertisements
Similar presentations
The Mobile Code Paradigm and Its Security Issues Anthony Chan and Michael Lyu September 27, 1999.
Advertisements

Microprocessor Dr. Rabie A. Ramadan Al-Azhar University Lecture 1.
Mobile Code Security Aviel D. Rubin, Daniel E. Geer, Jr. MOBILE CODE SECURITY, IEEE Internet Computing, 1998 Minkyu Lee
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development.
Information Security 1 Information Security: Security Tools Jeffy Mwakalinga.
Java Security: From HotJava to Netscape & Beyond Drew Dean, Edward W. Felten, Dan S. Wallach Department of Computer Science, Princeton University May,
Extensible Networking Platform IWAN 2005 Extensible Network Configuration and Communication Framework Todd Sproull and John Lockwood
1 Improving the Performance of Distributed Applications Using Active Networks Mohamed M. Hefeeda 4/28/1999.
Information Security 1 Information Security: Demo of Some Security Tools Jeffy Mwakalinga.
Security Awareness: Applying Practical Security in Your World
Information Networking Security and Assurance Lab National Chung Cheng University 1 Top Vulnerabilities in Web Applications (I) Unvalidated Input:  Information.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Interpret Application Specifications
Multimodal Interfaces in a Ubiquitous Computing Environment 3 rd UK-Ubinet Workshop —————— 9 th – 11 th February 2005 —————— Fausto. J. Sainz Salces, Dr.
Summary of Lecture 1 Security attack types: either by function or by the property being compromised Security mechanism – prevention, detection and reaction.
1 Security and Software Engineering Steven M. Bellovin AT&T Labs – Research
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Frequently asked questions about software engineering
Lecture 1.
Chapter 6: Hostile Code Guide to Computer Network Security.
Software Dependability CIS 376 Bruce R. Maxim UM-Dearborn.
Computer System Lifecycle Chapter 1. Introduction Computer System users, administrators, and designers are all interested in performance evaluation. Whether.
Chapter 1- Introduction
Security Exploiting Overflows. Introduction r See the following link for more info: operating-systems-and-applications-in-
Funded by EC contract FP Workshop on Software and Service Development, Security & Dependability July 2007, Maribor Run-time Dynamic Security.
Pushing the Security Boundaries of Ubiquitous Computing ACSF 2006 —————— 13 th July 2006 —————— David Llewellyn-Jones, Madjid Merabti, Qi Shi, Bob Askwith.
Analysis and Detection of Access Violations in Componentised Systems David Llewellyn-Jones, Madjid Merabti, Qi Shi, Bob Askwith Advances in Computer Security.
Vampire Attacks: Draining Life from Wireless Ad Hoc Sensor Networks.
CS 1308 Computer Literacy and the Internet. Introduction  Von Neumann computer  “Naked machine”  Hardware without any helpful user-oriented features.
3-Protecting Systems Dr. John P. Abraham Professor UTPA.
1 Vulnerability Analysis and Patches Management Using Secure Mobile Agents Presented by: Muhammad Awais Shibli.
Virtual Machine Security Systems Presented by Long Song 08/01/2013 Xin Zhao, Kevin Borders, Atul Prakash.
Distributed Systems: Concepts and Design Chapter 1 Pages
OPERATING SYSTEMS Goals of the course Definitions of operating systems Operating system goals What is not an operating system Computer architecture O/S.
Hardware Assisted Control Flow Obfuscation for Embedded Processors Xiaoton Zhuang, Tao Zhang, Hsien-Hsin S. Lee, Santosh Pande HIDE: An Infrastructure.
Secure Component Composition for Personal Ubiquitous Computing ProgNet Workshop December 2003 —————— 16 th December 2003 —————— Dr. David Llewellyn-Jones,
The roots of innovation Future and Emerging Technologies (FET) Future and Emerging Technologies (FET) The roots of innovation Proactive initiative on:
Trust Propagation using Cellular Automata for UbiComp 28 th May 2004 —————— Dr. David Llewellyn-Jones, Prof. Madjid Merabti, Dr. Qi Shi, Dr. Bob Askwith.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
FOREWORD By: Howard Shrobe MIT CS & AI Laboratory
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development 3.
Information Security What is Information Security?
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Secure Component Composition for Personal Ubiquitous Computing Project Overview and Potential Techniques —————— 16 th May 2003 —————— David Llewellyn-Jones.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
Buffer Overflow Attack Proofing of Code Binary Gopal Gupta, Parag Doshi, R. Reghuramalingam, Doug Harris The University of Texas at Dallas.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Introduction Program File Authorization Security Theorem Active Code Authorization Authorization Logic Implementation considerations Conclusion.
Internet of Things. IoT Novel paradigm – Rapidly gaining ground in the wireless scenario Basic idea – Pervasive presence around us a variety of things.
The Digital Crime Scene: A Software Perspective Written By: David Aucsmith Presented By: Maria Baron.
Java – in context Main Features From Sun Microsystems ‘White Paper’
I NTRUSION P REVENTION S YSTEM (IPS). O UTLINE Introduction Objectives IPS’s Detection methods Classifications IPS vs. IDS IPS vs. Firewall.
©Ian Sommerville 2000Dependability Slide 1 Chapter 16 Dependability.
Fundamental of Java Programming (630002) Unit – 1 Introduction to Java.
Chapter 40 Internet Security.
Secure Programming Dr. X
Design Patterns-1 7 Hours.
CMSC 345 Defensive Programming Practices from Software Engineering 6th Edition by Ian Sommerville.
Chapter 1- Introduction
Secure Programming Dr. X
NETWORK SECURITY Cryptography By: Abdulmalik Kohaji.
Chapter 1- Introduction
Software Design and Architecture
Frequently asked questions about software engineering
Globecom 2004 —————— 1st December 2004
Software testing.
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
Presentation transcript:

Secure Component Composition for Personal Ubiquitous Computing Project Summary —————— 21 st April 2006 —————— David Llewellyn-Jones, Madjid Merabti, Qi Shi, Bob Askwith —————— School of Computing and Mathematical Statistics Liverpool John Moores University James Parsons Building Byrom Street, Liverpool, L3 3AF, UK {D.Llewellyn-Jones, M.Merabti, Q.Shi,

A Ubiquitous Computing World Ubiquitous Computing presents a vision of computing environments in which –Networking is wireless and pervasive –Devices are mobile and plentiful –Data flows unimpeded giving users access to their content from anywhere

Disappearing Hardware There is a misconception that this means ‘embedded’ devices, or devices that can’t be seen Devices that blend into the background –The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it”. –“Consider writing...Today this technology is ubiquitous in industrialized countries...The constant background presence of these products of "literacy technology" does not require active attention, but the information to be conveyed is ready for use at a glance. It is difficult to imagine modern life otherwise”.

Working Seamlessly When users become so familiar with devices that they do not realise they are using them Ubiquitous Computing –Pick up any device anywhere and have access to information Requires device use to be seamless

Security Environment Characteristics that affect security –Wirelessly networked environment –Fluid data flow, fluid code movement –Heterogeneous environment –Low power and low resource devices –General users – not computer experts –Restricted user interfaces –Frequently changing environment The consequences for security –No physical security for networks –Malicious code can move around the network –Cannot make assumptions about consistent device interactions –Heavy duty security techniques may not be possible –Cannot expect users to administer devices effectively, if at all –Configuring security may be difficult or impossible –Security properties are constantly changing

Existing Security Issues Malicious code moving around the network –Viruses/worms –Mobile code consuming resources –Can cause denial of service even for protected/immune machines Hackers exploiting vulnerabilities –Accessing private information –Buffer overrun vulnerabilities –Taking control of devices Badly written code/protocols –WMF vulnerability –WEP security –TCP/IP –Cleartext authentication (e.g. POP3, rlogin, telnet)

Proposed Security Solutions Security in individual devices –Firewalls that use battery levels to detect intrusion –Mobile agent firewalls/IDSs Distributed security –Distributed firewalls –Distributed Operating Systems Secure execution of code –Virtual machines: Java applets –Proof Carrying Code etc.

Component Interactions The way components are composed affects properties

Component Interactions Changing the order changes the effect

Security Composition Examples Adding a component to improve security

Security Composition Examples Adding a component to reduce security

Security Composition Examples Ordering of components is also important

The Challenge Can we use secure component composition techniques to overcome the lack of boundaries in a Ubiquitous Computing world? The plan –Analyse a group of interacting components –Could be devices, services, software components etc. –Test against known security properties

Secure Component Composition Results Existing results tend to be very theoretical Non-interference –Focardi and Gorrieri, 1997 –Relates to information flow through a system –Three systems or components C 1, C 2 and C 3. Want to ensure no data sent from C 1 to C 2 can be established by C 3. Non-interference says this is satisfied if C 3 ’s view of C 2 is not affected in any way by C 1 ’s behaviour. Non-deducibility on outputs –Mantel, 2002 –Each possible low observation must be compatible with each possible high input sequence Composable Assurance –Shi and Zhang, 1998 –A component C i is said to be composably assured iff for any pair (LD i, HD i ) є DP i, HD i ≠ ø Generalised non-interference, forward correctability, separability, non-inference, etc.

Composable Assurance Shi and Zhang recognised that connectivity was important –“...separability of these composable properties is usually achieved by assuming the worst scenarios of interaction between components...this problem can be avoided by appropriate consideration of connectivity between components.” To test for security composition results we therefore need –Properties of individual components –Connectivity between components

Making This Practical Using an extensible engine Plug-in scripts that can –test for problems –find resolutions A general framework needs to –consider properties of individual components –consider the component interaction

Script Example 1. Read access control check 2. Level component is authorised to

Buffer Overruns Buffer overrun vulnerabilities occur when –When too much data is placed in a buffer too small to accommodate it –No bounds checking is done Whatever’s beyond the buffer becomes corrupted Especially dangerous if it’s code beyond the buffer

Buffer Overruns A number solutions to buffer overrun problem exist –Use a memory-safe language with bounds checking (Java) –Compile using a safe library (strsafe.lib) –Code analysis –Controlled attack (S-tool) –Source code analysis (STOBO, LCLint extensions) –Dynamic run-time checking (StackGuard) Largely a result of the use of C/C++ Remains a considerable problem –At least 25% of CERT advisories

Buffer Overruns How can we improve the situation? Input and output correlation A sends data to B Suppose B is vulnerable, has buffer size n bytes and A sends m bytes to B –If (m > n) then a buffer overrun may occur –If (m ≤ n) then there’s no problem Want a method for showing that max bytes A will ever send is less than buffer size of B –The vulnerability ‘disappears in the wash’ during composition

Timing Results 600 MHz Intel X-Scale Processor

Access Control Consider services S 1,…, S 6 with dependencies reading files Conclude –S 6 must have rights to access file A –S 5 must have rights to access file B –S 3 and S 4 must have rights to access both A and B –The read access rights of S 1 and S 2 do not matter

Timing Results 600 MHz Intel X-Scale Processor A nice consequence –Turning exponential time checks into linear time

Future Work Using sensors to determine interactions dynamically Combining into a Networked Appliance scenario Finding solutions as well as just detecting problem –E.g. Introduction of throughput limiter in buffer overrun case –Adding access gateway in access control case In the future, expect your computer to come up with a list of problems when you start accessing a particular network Better yet, let it just resolve the issue without you even realising it

The End Thank you for listening More info at