Enabling Control over Adaptive Program Transformation for Dynamically Evolving Mobile Software Validation Mike Jochen, Anteneh Anteneh, Lori Pollock University.

Slides:



Advertisements
Similar presentations
Security Issues of Peer-to-Peer Systems February 14, 2001 OReilly Peer-to-Peer Conference Nelson Minar, CTO POPULAR POWER.
Advertisements

Security Issues in Mobile Code Systems David M.Chess, High Integrity Computing Lab, IBM T.J. Watson Research Center Hawthorne, NY, USA Mobile code systems.
Chapter 14 – Authentication Applications
Authentication Applications. will consider authentication functions will consider authentication functions developed to support application-level authentication.
Addressing the Trust Asymmetry Problem In Grid Computing with Encrypted Computation Peter A. Dinda Prescience Lab Department of Computer Science Northwestern.
M. Muztaba Fuad Masters in Computer Science Department of Computer Science Adelaide University Supervised By Dr. Michael J. Oudshoorn Associate Professor.
The Mobile Code Paradigm and Its Security Issues Anthony Chan and Michael Lyu September 27, 1999.
Introduction to JAVA Vijayan Sugumaran School of Business Administration Oakland University Rochester, MI
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Gemplus and OSGI Benjamin Maury Gemplus Introduction  World Leader for Smart Card Solutions  Smart Solutions in Telecommunications  Beyond.
Opening Presentation of Notary Reqs 8/5/2004 Tobias Gondrom.
1 Integrating Influence Mechanisms into Impact Analysis for Increased Precision Ben Breech Lori Pollock Mike Tegtmeyer University of Delaware Army Research.
DESIGNING A PUBLIC KEY INFRASTRUCTURE
Hiperspace Lab University of Delaware Antony, Sara, Mike, Ben, Dave, Sreedevi, Emily, and Lori.
Access Control for Networks Problems: –Enforce an access control policy Allow trust relationships among machines –Protect local internet from outsiders.
1 Objectives Wireless Access IPSec Discuss Network Access Protection Install Network Access Protection.
Design of a Framework for Testing Security Mechanisms for Program-Based Attacks Ben “Security” Breech and Lori Pollock University of Delaware.
Remote Method Invocation Chin-Chih Chang. Java Remote Object Invocation In Java, the object is serialized before being passed as a parameter to an RMI.
Introduction to Java Programming
Design, Implementation, and Experimentation on Mobile Agent Security for Electronic Commerce Applications Anthony H. W. Chan, Caris K. M. Wong, T. Y. Wong,
Ritu Varma Roshanak Roshandel Manu Prasanna
1 Clark Wilson Implementation Shilpa Venkataramana.
Introduction to the new mainframe: Large-Scale Commercial Computing © Copyright IBM Corp., All rights reserved. Chapter 8: Autonomic computing.
Vigilante: End-to-End Containment of Internet Worms M. Costa et al. (MSR) SOSP 2005 Shimin Chen LBA Reading Group.
Virtual Machine approach to Security Gautam Prasad and Sudeep Pradhan 10/05/2010 CS 239 UCLA.
Software Engineering Tools and Methods Presented by: Mohammad Enamur Rashid( ) Mohammad Rashim Uddin( ) Masud Ur Rahman( )
BASIC JAVA PROGRAMMING TUTORIAL. History  James Gosling and Sun Microsystems  Oak  Java, May 20, 1995, Sun World  Hot Java –The first Java-enabled.
Networks and Security. Types of Attacks/Security Issues  Malware  Viruses  Worms  Trojan Horse  Rootkit  Phishing  Spyware  Denial of Service.
Previous Next 06/18/2000Shanghai Jiaotong Univ. Computer Science & Engineering Dept. C+J Software Architecture Shanghai Jiaotong University Author: Lu,
Secure Virtual Architecture John Criswell, Arushi Aggarwal, Andrew Lenharth, Dinakar Dhurjati, and Vikram Adve University of Illinois at Urbana-Champaign.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
Active Monitoring in GRID environments using Mobile Agent technology Orazio Tomarchio Andrea Calvagna Dipartimento di Ingegneria Informatica e delle Telecomunicazioni.
Computer Science Open Research Questions Adversary models –Define/Formalize adversary models Need to incorporate characteristics of new technologies and.
3-Protecting Systems Dr. John P. Abraham Professor UTPA.
J-OCM is a system for monitoring distributed Java applications conforming to OMIS specification with J-OMIS extensions. It is used to: gather information.
Support for Debugging Automatically Parallelized Programs Robert Hood Gabriele Jost CSC/MRJ Technology Solutions NASA.
1 Module Objective & Outline Module Objective: After completing this Module, you will be able to, appreciate java as a programming language, write java.
Proof Carrying Code Zhiwei Lin. Outline Proof-Carrying Code The Design and Implementation of a Certifying Compiler A Proof – Carrying Code Architecture.
Identity-Based Secure Distributed Data Storage Schemes.
1 CSC204 – Programming I Lecture 2 Intro to OOP with Java.
Java Security Nathan Moore CS 665. Overview Survey of Java Inherent Security Properties Java Runtime Environment Java Virtual Machine Java Security Model.
Lecture :2 1.  DEFENTION : Java is a programming language expressly designed for use in the distributed environment of the Internet. It was designed.
Java 2 security model Valentina Casola. Components of Java the development environment –development lifecycle –Java language features –class files and.
New Cryptographic Techniques for Active Networks Sandra Murphy Trusted Information Systems March 16, 1999.
Containment and Integrity for Mobile Code End-to-end security, untrusted hosts Andrew Myers Fred Schneider Department of Computer Science Cornell University.
Paul Butterworth Management Technology Architect
Virtual Support for Dynamic Join Points C. Bockisch, M. Haupt, M. Mezini, K. Ostermann Presented by Itai Sharon
Instrumentation in Software Dynamic Translators for Self-Managed Systems Bruce R. Childers Naveen Kumar, Jonathan Misurda and Mary.
Network Programming and Network Security Lane Thames Graduate Research Assistant.
PwC New Technologies New Risks. PricewaterhouseCoopers Technology and Security Evolution Mainframe Technology –Single host –Limited Trusted users Security.
Dec 5, 2007NEA Working Group1 NEA Requirement I-D IETF 70 – Vancouver Mahalingam Mani Avaya Inc.
Module 10: Windows Firewall and Caching Fundamentals.
Introduction Program File Authorization Security Theorem Active Code Authorization Authorization Logic Implementation considerations Conclusion.
CoCo: Sound and Adaptive Replacement of Java Collections Guoqing (Harry) Xu Department of Computer Science University of California, Irvine.
Part V Electronic Commerce Security Online Security Issues Overview Managing Risk Computer Security Classifications. Security.
SASI Enforcement of Security Policies : A Retrospective* PSLab 오민경.
ELib Technical Issues Concertation Day: Mobile Code and VRML Brian Kelly UK Web Focus UKOLN, University of Bath, Bath
Institute for Visualization and Perception Research 1 © Copyright 1999 Haim Levkowitz Java-based mobile agents.
A Binary Agent Technology for COTS Software Integrity Anant Agarwal Richard Schooler InCert Software.
CPT 123 Internet Skills Class Notes Internet Security Session B.
EEL 5937 Mobile agents EEL 5937 Multi Agent Systems Lotzi Bölöni.
11 DEPLOYING AN UPDATE MANAGEMENT INFRASTRUCTURE Chapter 6.
Sung-Dong Kim, Dept. of Computer Engineering, Hansung University Java - Introduction.
University of Maryland College Park
Cryptography and Network Security
State your reasons or how to keep proofs while optimizing code
Providing Secure Storage on the Internet
Object Oriented Programming
Security in SDR & cognitive radio
Presentation transcript:

Enabling Control over Adaptive Program Transformation for Dynamically Evolving Mobile Software Validation Mike Jochen, Anteneh Anteneh, Lori Pollock University of Delaware Lisa Marvel U.S. Army Research Lab

Adaptive Software Transformation Systems Examples: Dynamic Compilers Dynamic Optimizers Binary Translation/Rewriting Systems Adaptive Instrumentation Systems Interactive Debuggers Executing Program Analysis Input gather info transform code program state + environment Results Adaptive System

Executing in a Networked Environment (Voss and Eigemann01) Evolving Mobile Code : An evolving program not compiled by the local host + Greater performance through distribution Server Clients Network Adaptive Optimizer Running Program Running Program Running Program Adaptive Optimizer

But, security concerns... Risks: – Viruses – Worms – Code tampering attacks Server How can we validate the integrity of evolving mobile code?

Can existing techniques for mobile code security be applied? Checksum: only checks if change in code Digital Signature: computationally intensive if new signature upon each change Digital Certificate: now a third party, so likely “communicationally” intensive Dynamic techniques: involve execution of code Program Encryption: limits usage, computationally intensive

Objective of this Research Enable Tamper Detection for evolving mobile code restricted change non-evolving: no change permitted evolving: change permitted functionally EQ change location restricted semantically EQ change

The Proposed Approach Develop an efficient transformation control system for evolving mobile programs: – Develop a framework to enable program transformation control and test effectiveness. – Define a language to specify program transformation control policies and requests. Process: 1. Identify critical behaviors that may not change (e.g., particular value, operation, or computation) 2. Write specs of desired control on transformation 3. Integrate control into adaptive transformation systems

v Trusted Server Subnet_1 Subnet_N Subnet_2 Client Server Pool Client Server Pool Server Pool Client Server Pool Server Pool Server Pool Server Pool Server Pool Server Pool Targeted Networked Environment Distribute original P with policy Execute P Request Transform Assist Transform Server Pool – marginally trusted by Clients – group signature

Control Framework TConS: Transformation Control Specification Trusted Server TReqS: Transformation Request Specification Client Node or Server Pool TReqS Client Node New Program Transform Permitted? Alert Server Transform NoYes Modified Dynamic Transformer Trusted Server Program TConS Server Pool Program TConS Program TConS

TConS Specification public class foo { public static void 0 main(String args[]) { 4 int w; 8 int x; 12 int y; 16 int z; 20 w = 5; 24 x = 10; 28 y = w; 32 z = x; 36 System.out.println(“Answer : " + subtract(y, z)); } public static int 0 subtract(int a, int b) { 4 int c; 8 int d; 12 c = a; 16 d = b; 20 return c - d; } } TCONS CLASS Foo { METHOD main { /* No propagation of the value w to variable y between address May propagate the value of x to variable z between address */ COPY_PROP { 0:36, !w{y}, x{z} }; } } General Form: TCONS “class_name” { “method_name” { “transform” { “specific_rules” };}} Example TConS Spec: Example Program Segment:

Current Prototype Jikes Research Virtual Machine (IBM) dynamic, adaptive optimization of Java programs Currently controlling transformations: Copy Propagation Constant Propagation Method Inlining TReqS Program New Program Transform Permitted? Alert Server Optimize NoYes Modified Jikes TConS Client Node

Evaluation Plan Effectiveness – What kinds of security control can be obtained? – What level of abstraction can be supported? Cost – Time – Space – Communication Flexibility/Adaptability – Which operating configurations provide best performance for a given network environment?

Summary – Generalize adaptive software transformation systems to untrusted network environments – Provide control over transformation as specified by policy – Integrate into existing systems Executing Program Analysis Input gather info transform code program state + environment Results Adaptive System

Future Work – Extend prototype system to include more program transformations – More extensive experimental study – Extend/refine TConS and TReqS languages – Raise level of abstraction of control specs