Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Enabling Control over Adaptive Program Transformation for Dynamically Evolving Mobile Software Validation Mike Jochen, Anteneh Anteneh, Lori Pollock University."— Presentation transcript:

1 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

2 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

3 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

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

5 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

6 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

7 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

8 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

9 Control Framework TConS: Transformation Control Specification Originates @ Trusted Server TReqS: Transformation Request Specification Originates @ 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

10 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 0 - 36 May propagate the value of x to variable z between address 0 - 36 */ COPY_PROP { 0:36, !w{y}, x{z} }; } } General Form: TCONS “class_name” { “method_name” { “transform” { “specific_rules” };}} Example TConS Spec: Example Program Segment:

11 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

12 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?

13 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

14 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


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

Similar presentations


Ads by Google