18/03/2007Obfuscation 1 Software protection Mariano Ceccato FBK - Fondazione Bruno Kessler

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

1 The Project of this year Mariano Ceccato FBK - Fondazione Bruno Kessler
1 Final remarks Mariano Ceccato FBK - Fondazione Bruno Kessler
Tree Recursion Traditional Approach. Tree Recursion Consider the Fibonacci Number Sequence: Time: , 1, 1, 2, 3, 5, 8, 13, 21,... /
Cloakware Corporation, 260 Hearst Way, Suite 311, Kanata, Ontario, Canada K2L 3H1 Spencer Cheng Trusting DRM Software Presentation.
Dynamic Self-Checking Techniques for Improved Tamper Resistance Bill Horne, Lesley Matheson, Casey Sheehan, Robert E. Tarjan STAR Lab, InterTrust Technologies.
Physical Unclonable Functions and Applications
Trusted Design In FPGAs Steve Trimberger Xilinx Research Labs.
The Mobile Code Paradigm and Its Security Issues Anthony Chan and Michael Lyu September 27, 1999.
Information Hiding: Watermarking and Steganography
White-Box Cryptography
Digital Signatures and Hash Functions. Digital Signatures.
Wmobf.1 1/5/00 Clark Thomborson Watermarking, Tamper-Proofing and Obfuscation – Tools for Software Protection Christian Collberg & Clark Thomborson Computer.
Possible Threats To Data. Objectives To understand: Types of threats Importance of security Preventative and remedial actions Personal safety This will.
1 Topic 1 – Lesson 3 Network Attacks Summary. 2 Questions ► Compare passive attacks and active attacks ► How do packet sniffers work? How to mitigate?
Traitor Tracing Vijay Ramachandran CS 655: E-commerce Foundations October 10, 2000.
Software-based Code Attestation for Wireless Sensors.
N-Secure Fingerprinting for Copyright Protection of Multimedia
Name: Hao Yuan Supervisor: Len Hamey ITEC810 ProjectTransformations for Obfuscating Object-Oriented Programs1.
The Darknet and the Future of Content Distribution by Shruthi B Krishnan.
In the last part of the course we make a review of selected technical problems in multimedia signal processing First problem: CONTENT SECURITY AND WATERMARKING.
Security Considerations in Adaptive Middleware Security and Mobile Agents Ajanta – Mobile Agent’s research project papers (
DIGITAL RIGHT MANAGEMENT Bùi Thành Đ ạ t Nguy ễ n Hoàng Nh ậ t Đông Nguy ễ n Duy C ườ ng
2  Problem Definition  Project Purpose – Building Obfuscator  Obfuscation Quality  Obfuscation Using Opaque Predicates  Future Planning.
Intellectual Property Rights and Online File Sharing Erwin Solis Antoine Herve Matt Olsen Nikolai Hart Tim Scott.
Intellectual property rights concern the legal ownership and use of intellectual property such as software, music, movies, data, and information. Intellectual.
Breaking Abstractions and Unstructuring Data Structures Christian Collberg Clark Thomborson Douglas Low “Mobile programs are distributed in forms that.
APA of Isfahan University of Technology In the name of God.
Matthew Rothmeyer. Digital Rights Management (DRM) “ A class of technologies that are used by hardware manufacturers, publishers, copyright holders, and.
Electronic Commerce & Marketing. What is E-Commerce? Business communications and transactions over networks and through computers, specifically –The buying.
CS CS 5150 Software Engineering Lecture 18 Security.
The Program Development Cycle
Cryptography, Authentication and Digital Signatures
Digital Watermarking Simg-786 Advanced Digital Image Processing Team 1.
Russell Taylor. How the law supports Copyright Copyright Designs and Patents Act 1988 Copyright arises when an individual or organisation creates a work,
Yarmouk university Hijjawi faculty for engineering technology Computer engineering department Primary Graduation project Document security using watermarking.
Digital image processing is the use of computer algorithms to perform image processing on digital images which is a subfield of digital signal processing.
Russell Taylor. How the law supports Copyright Copyright Designs and Patents Act 1988 Copyright arises when an individual or organisation creates a work,
Digital Rights Management and Watermarking of Multimedia Content for M-Commerce Applications Frank Hartung and Friedhelm Ramme, Ericsson Research, IEEE.
``Chaffing and Winnowing’’ & Crypto Policy Comments Ronald L. Rivest Cryptography and Information Security Group MIT Lab for Computer Science April 1998.
Software Watermarking Imran Ali CSEP 590TU. What is software watermarking? Embed a secret into software which can be retrieved on demand Embed a secret.
Network security Network security. Look at the surroundings before you leap.
Security, Social and Legal Issues Regarding Software and Internet.
Social and Ethical Issues. Social & Ethical Issues Social and ethical issues arise from the processing of data into information. There are many issues.
Protecting Software Code By Guards The George Washington University Cs297 YU-HAO HU.
Authentication. Goal: Bob wants Alice to “prove” her identity to him Protocol ap1.0: Alice says “I am Alice” Failure scenario?? “I am Alice”
Csci5233 computer security & integrity 1 An Overview of Computer Security.
J. S. PATIL.  The revolution in internet and technology has made the future much more uncertain than most people assume it to be.  People can make money.
n Just as a human virus is passed from person from person, a computer virus is passed from computer to computer. n A virus can be attached to any file.
PRESENTED BY, C.RESHMA –II CSE S.POORNIMA –II IT.
Fingerprinting Text in Logical Markup Languages Christian D. Jensen G.I. Davida and Y. Frankel (Eds.): Proc. Information Security Conference 2001, Lecture.
Computer Security By Duncan Hall.
Code Obfuscation Tool for Software Protection. Outline  Why Code Obfuscation  Features of a code obfuscator Potency Resilience Cost  Classification.
Digital Rights Management for Mobiles Jani Suomalainen Research Seminar on Telecommunications Business II Telecommunications Software and Multimedia Laboratory.
1 Law, Ethical Impacts, and Internet Security. 2 Legal Issues vs. Ethical Issues Ethics — the branch of philosophy that deals with what is considered.
IT 221: Introduction to Information Security Principles Lecture 5: Message Authentications, Hash Functions and Hash/Mac Algorithms For Educational Purposes.
Secure Execution of Computations in Untrusted Hosts S. H. K. Narayanan 1, M.T. Kandemir 1, R.R. Brooks 2 and I. Kolcu 3 1 Embedded Mobile Computing Center.
Enabling Control over Adaptive Program Transformation for Dynamically Evolving Mobile Software Validation Mike Jochen, Anteneh Anteneh, Lori Pollock University.
A Partial Survey of the Perfect Digital Watermark Problem.
SECURITY. Security Threats, Policies, and Mechanisms There are four types of security threats to consider 1. Interception 2 Interruption 3. Modification.
Security Issues CS 560. Security in the software development process The security goal:  To make sure that agents (people or external systems) who interact.
Web bugs are tiny graphic files embedded in messages and Web pages that are designed to monitor who is reading the message or Web page and.
Reverse Engineering Contemporary Countermeasures By: Joshua Schwartz.
1 Digital Water Marks. 2 History The Italians where the 1 st to use watermarks in the manufacture of paper in the 1270's. A watermark was used in banknote.
Lesson Objectives Aims You should be able to:
POPULAR POWER Security Issues of Peer-to-Peer Systems
Security of Mobile Operating Systems
DONE BY S.MURALIRAJAN M.NIRMAL
Software Watermarking Deterring Software Piracy
Chapter 8 roadmap 8.1 What is network security?
Presentation transcript:

18/03/2007Obfuscation 1 Software protection Mariano Ceccato FBK - Fondazione Bruno Kessler

18/03/2007 Obfuscation2 Traditional computer security  Most computer security research: Protect the integrity of a benign host (and its data) from attacks by malicious client programs  Basis of the Java security model Downloaded applet or virus infested application Restrict the actions that the client is allowed to perform  Software isolation A program is not able to write outside of a designated area (sandbox)

18/03/2007 Obfuscation3 More recent computer security  Interest in mobile agents changed the view of computer security Benign client code being threatened by host on which it has downloaded/installed  Defend a client is much more difficult than defend a host. To defend the host all is needed is to restrict the client Once the client code is in the host, the host can use any technique to violate its integrity.  Software piracy  Reverse Engineering  Software tampering

4 Problem 1: Malicious Reverse Engineering  Valuable piece of code is extracted from an application and incorporated into competitor’s code.

18/03/2007 Obfuscation5 Problem 2: Software piracy  Illegal copy ad resale of applications  12 billion $ per year, major concern for everyone who sells software  Solution used in the past: Dongle (it is weak and it annoys customers)

18/03/2007 Obfuscation6 Problem 3: Software tampering  E-commerce application programs contain encryption keys or other secret information. Pirates who are able to extract, modify, or otherwise tamper with this information can incur significant financial losses to the intellectual property owner.

7 Problem 1: Malicious Reverse Engineering  Valuable piece of code is extracted from an application and incorporated into competitor’s code.

8 Scenario Customer Charles Pirate Bob Author Alice IP Program Social Tools Advertising Legal Tools DMCA Technological Tools Obfuscation Watermarking Tamperproofing

18/03/2007 Obfuscation9 IP In A Program public class Fibonacci { Hashtable memo = new Hashtable(); public int fib ( int n ) { if ( !memo.contains(n) ) if ( n <= 2 ) memo.put(n,1); else memo.put(n, fib( n - 1 ) + fib( n - 2 )); return memo.get(n); }

10 Obfuscation  Obfuscation transforms a program into a new program which: Has the same semantics Is harder to reverse engineer

18/03/2007 Obfuscation11 Example public class Fibonacci { public int fib ( int n ) { if ( n <= 2 ) return 1; else return fib( n - 1 ) + fib( n - 2 ); }

18/03/2007 Obfuscation12 Example: Obfuscation public class x {public int x ( int x ) { return x <=2 ? 1 : x(x-1)+x(x-2); }}

18/03/2007 Obfuscation13 Problem 2: Software piracy  Illegal copy ad resale of applications  12 billion $ per year, major concern for everyone who sells software  Solution used in the past: Dongle (it is weak and it annoys customers)

14 Watermarking ID  Watermarking transforms a program into a new program which: Has the same semantics Contains some additional robust identifier

18/03/2007 Obfuscation15 Watermarking

18/03/2007 Obfuscation16 Example: Watermarking public class Fibonacci { String watermark = “Authored by Alice”; public int fibonacci ( int n ) { if ( false ) println ( “Authored by Alice” ); if ( n<=2 ) return 1; else return fib ( n - 1 ) + fib ( n - 2 ); }

18/03/2007 Obfuscation17 Example: Watermarking public class Fibonacci { public int fib ( int n ) { if ( opaque predicate ) println ( “Authored by Alice” ); if ( n<=2 ) return 1; else return fib ( n - 1 ) + fib ( n - 2 ); }

18/03/2007 Obfuscation18 Watermarking Embed a structure W into a program p such that:  W is easy to locate and extract from P  Embedding W in P does not affect performances (cheap)  Embedding W does not change statistical properties of P (static/dynamic stealth)  W has a mathematical property that allow to argue that its presence in P is the result of a deliberate action (e.g. product of two prime numbers)

18/03/2007 Obfuscation19 Additive attack:  Add a second watermark to program P.  Attack is effective if it is impossible to recover temporal precedence between watermarks.

18/03/2007 Obfuscation20 Distortive attack:  applying semantic-preserving transformations such that: W can not be recognized P is still useful for the attacker

18/03/2007 Obfuscation21 Collusive attack:  Attacker buys sever copy of program P, each one with a different fingerprint.  By comparing the different copy of P, fingerprint is located  Fingerprint can removed/modified

18/03/2007 Obfuscation22 Problem 3: Software tampering  E-commerce application programs contain encryption keys or other secret information. Pirates who are able to extract, modify, or otherwise tamper with this information can incur significant financial losses to the intellectual property owner.

23 Tamper-proofing trigger  Tamper-proofing transforms a program into a new program which: Has the same semantics on expected input “Explodes” on when even slightly modified or on unexpected input

18/03/2007 Obfuscation24 Example: Tamper-proofing public class Fibonacci { public int fibonacci ( int n ) { String encrypted = “0x10 0x21 0x11 0xa2 0x22 0x91 0x21 0x13 0xaf 0xff 0xef 0x48 0x12 0xa2 0x22 0x00…”; int key = “mykey”; Method decrypted = D (encrypted, key); return decrypted.invoke( n ); }