Dynamic Self-Checking Techniques for Improved Tamper Resistance Bill Horne, Lesley Matheson, Casey Sheehan, Robert E. Tarjan STAR Lab, InterTrust Technologies.

Slides:



Advertisements
Similar presentations
A proposed Trusted-Flow system architecture with aspect-oriented implementation Paolo Falcarin, Mario Baldi Riccardo Scandariato, Maurizio Morisio (Politecnico.
Advertisements

Automating Software Module Testing for FAA Certification Usha Santhanam The Boeing Company.
Protecting Software Code By Guards - by Hoi Chang and Mikhail J. Atallah “Many software-based mechanisms for protecting program code are too weak[…] or.
VTS INNOVATOR SERIES Real Problems, Real solutions.
Testing and Quality Assurance
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Tamper-Tolerant Software: Modeling and Implementation International Workshop on Security (IWSEC 2009) October 28-30, 2009 – Toyama, Japan Mariusz H. Jakubowski.
Tamper Resistant Software An Implementation By David Aucsmith, IAL “This paper describes a technology for the construction of tamper resistant software.”
Abstract HyFS: A Highly Available Distributed File System Jianqiang Luo, Mochan Shrestha, Lihao Xu Department of Computer Science, Wayne State University.
Wmobf.1 1/5/00 Clark Thomborson Watermarking, Tamper-Proofing and Obfuscation – Tools for Software Protection Christian Collberg & Clark Thomborson Computer.
Software Construction
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
Ensuring Non-Functional Properties. What Is an NFP?  A software system’s non-functional property (NFP) is a constraint on the manner in which the system.
1 SWE Introduction to Software Engineering Lecture 5.
7. Fault Tolerance Through Dynamic or Standby Redundancy 7.5 Forward Recovery Systems Upon the detection of a failure, the system discards the current.
Summary of Lecture 1 Security attack types: either by function or by the property being compromised Security mechanism – prevention, detection and reaction.
Software Uniqueness: How and Why? Puneet Mishra Dr. Mark Stamp Department of Computer Science San José State University, San José, California.
University of Southern California Center for Software Engineering CSE USC ©USC-CSE 3/11/2002 Empirical Methods for Benchmarking High Dependability The.
20 February Detailed Design Implementation. Software Engineering Elaborated Steps Concept Requirements Architecture Design Implementation Unit test Integration.
Configuration Management
Data Structures and Programming.  John Edgar2.
Tomcat Celsina Bignoli History of Tomcat Tomcat is the result of the integration of two groups of developers. – JServ, an open source.
CSCI ClearQuest 1 Rational ClearQuest Michel Izygon - Jim Helm.
Windows Vista: Volume Activation 2.0
Secure Embedded Processing through Hardware-assisted Run-time Monitoring Zubin Kumar.
TESTING.
Detecting Software Theft via System Call Based Birthmarks Xinran Wang, Yoon-Chan Jhi, Sencun Zhu, Peng Liu ACSAC 2009.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Michael Ernst, page 1 Collaborative Learning for Security and Repair in Application Communities Performers: MIT and Determina Michael Ernst MIT Computer.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
The Program Development Cycle
Version 02U-1 Computer Security: Art and Science1 Penetration Testing by Brad Arkin Scott Stender and Gary McGraw.
11 MANAGING AND DISTRIBUTING SOFTWARE BY USING GROUP POLICY Chapter 5.
CHAPTER TEN AUTHORING.
 Chapter 13 – Dependability Engineering 1 Chapter 12 Dependability and Security Specification 1.
DBPD: A Dynamic Birthmark-based Software Plagiarism Detection Tool
Chapter 14 Part II: Architectural Adaptation BY: AARON MCKAY.
CSE 219 Computer Science III Program Design Principles.
G53SEC 1 Reference Monitors Enforcement of Access Control.
Protecting Software Code By Guards The George Washington University Cs297 YU-HAO HU.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. NFP Design Techniques Software Architecture Lecture 20.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. NFP Design Techniques Software Architecture Lecture 20.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
Understanding the Behavior of Java Programs Tarja Systa Software Systems Lab. Tampere Univ. Sookmyung Women’s Univ. PSLAB Choi, yoon jeong.
1 COMPUTER SCIENCE DEPARTMENT COLORADO STATE UNIVERSITY 1/9/2008 SAXS Software.
Dynamic Self-checking Techniques for Improved Tamper Resistance Bill Horne Lesley Matheson Casey Sheehan Robert E.Tarjan Presented by YAN MIN (Jasmine)
Fingerprinting Text in Logical Markup Languages Christian D. Jensen G.I. Davida and Y. Frankel (Eds.): Proc. Information Security Conference 2001, Lecture.
Test Plan: Introduction o Primary focus: developer testing –Implementation phase –Release testing –Maintenance and enhancement o Secondary focus: formal.
Features Of SQL Server 2000: 1. Internet Integration: SQL Server 2000 works with other products to form a stable and secure data store for internet and.
Chapter - Software Engineering Fail safe design problems Component jams Operator detected failure Erroneous input Unsafe modes Programming errors Sabotage.
Tamper Resistant Software: An Implementation By David Aucsmith, IAL In Information Hiding Workshop, RJ Anderson (ed), LNCS, 1174, pp , “Integrity.
1 Xen and the Art of Binary Modification Lies, Damn Lies, and Page Frame Addresses Greg Cooksey and Nate Rosenblum, March 2007.
Database Laboratory Regular Seminar TaeHoon Kim Article.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Just-In-Time Compilation. Introduction Just-in-time compilation (JIT), also known as dynamic translation, is a method to improve the runtime performance.
Week#3 Software Quality Engineering.
INTRODUCTION CHARLES MUIRURI
Tool Support for Testing
Current Generation Hypervisor Type 1 Type 2.
Compiler Construction (CS-636)
CompSci 725 Presentation by Siu Cho Jun, William.
Storage Virtualization
Real-time Software Design
Software Processes.
Software testing strategies 2
Playing in the Devil's Playground
Verification and Validation Unit Testing
Software Architecture Lecture 20
Re- engineeniering.
Presentation transcript:

Dynamic Self-Checking Techniques for Improved Tamper Resistance Bill Horne, Lesley Matheson, Casey Sheehan, Robert E. Tarjan STAR Lab, InterTrust Technologies

2/10 Introduction Self-checking (Self-validation or integrity checking) –While running, checks itself –Static Check its integrity only once, during start-up –Dynamic Repeatedly verifies its integrity as it is running Another protection techniques –Thwart reverse engineering Customization, obfuscation –Thwart debuggers and emulators Watermarking, fingerprinting

3/10 Related Work Obfuscation –To thwart reverse engineering Customization –Create many very different versions Software watermarking –Allow tracking of misused program copies Self-checking –Tamper-proofing, integrity checking, and anti-tampering technology

4/10 Design Objectives Goal –Eliminate single points of failure Functionality –Comprehensive and Timely Dynamic Detection –Separate, Flexible Response –Modular Components –Platform Independence –Insignificant Performance Degradation Goal is to have no more than a 5% impact on performance –Easy Integration –Suitable for a Large Codebase

5/10 Threat Model (1/2) Discovery –Static Inspection Stealthy and obfuscation –Use of Debuggers and Similar Software Tools Detects standard debuggers and responds appropriately –Detection of Reads into the Code Obfuscation –Generalization Customization –Collusion Corrector –Inspection of Installation Patches Corrector

6/10 Threat Model (2/2) Disablement –Modifying the Testers Redundant, overlapping coverage –Modifying the Response Mechanism Need more robust tamper-response mechanism –Modifying Correctors Multiple overlapping hash computations –Temporary Modifications Minimize this thread

7/10 Algorithm Design Tester –Interval : L2 cache size –Interleaved tasks Correctors and Intervals Tamper Response

8/10 Tester Design (1/2) Design Objectives –Lightweight Hash Functions –Multiple Hash Functions –Summarizable Hash Functions –Stealthy Testers Obfuscation, short tester –Resistance to Auto-collusion Short customized testers –Obfuscated Address Calculation Complex addressing modes –Harmless to Development stamped

9/10 Tester Design (2/2) Tester Construction and Customization –2,916,864 distinct tester implementations –Less than 50 bytes Tester Placement –Source-level tester placement –Profiling tools

10/10 Interval Construction Corrector Placement –Uniform distribution –Dead code Interval Definition –Corrector : n+k-1 Assignment of Testers to Intervals –Random permutation