Techniques for Software Watermarking and Fingerprinting Prof. Clark Thomborson Presentation at Tsinghua University 17 th March 2010.

Slides:



Advertisements
Similar presentations
The following 10 questions test your knowledge of desired configuration management in Configuration Manager Configuration Manager Desired Configuration.
Advertisements

Digital rights management Audio watermark Jiamian.
Rob Farraher Ken Pickering Lim Vu
Dr. Kalpakis CMSC 421, Operating Systems. Fall 2008 URL: Security.
H Mar-01 Clark Thomborson Software Security CompSci 725 Handout 12: Student Presentations, Watermarking & Obfuscation Clark Thomborson University.
Security Through Obscurity Clark Thomborson Version of 7 December 2011 for Mark Stamp’s CS266 at SJSU.
Introduction to Watermarking Anna Ukovich Image Processing Laboratory (IPL)
Information Hiding: Watermarking and Steganography
White-Box Cryptography
A New Scheme For Robust Blind Digital Video Watermarking Supervised by Prof. LYU, Rung Tsong Michael Presented by Chan Pik Wah, Pat Mar 5, 2002 Department.
CMSC 414 Computer (and Network) Security Lecture 13 Jonathan Katz.
1 A Functional Taxonomy for Software Watermarking Jas Nagra, Clark Thomborson University of Auckland Christian Collberg University of Arizona.
Data and Applications Security Developments and Directions Dr. Bhavani Thuraisingham The University of Texas at Dallas Lecture #26 Emerging Technologies.
Wmobf.1 1/5/00 Clark Thomborson Watermarking, Tamper-Proofing and Obfuscation – Tools for Software Protection Christian Collberg & Clark Thomborson Computer.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation.
Traitor Tracing Vijay Ramachandran CS 655: E-commerce Foundations October 10, 2000.
Digital Watermarking for Multimedia Security R. Chandramouli MSyNC:Multimedia Systems, Networking, and Communications Lab Stevens Institute of Technology.
Environmental Council of States Network Authentication and Authorization Services The Shared Security Component February 28, 2005.
19.1 Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Chapter 19: Security The Security Problem Authentication Program Threats.
Fifth International Conference on Information
Watermarking Technology Ishani Vyas CS590 Winter 2008.
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.
Watermarking and Steganography Watermarking is the practice of hiding a message about an image, audio clip, video clip, or other work of media within that.
Silberschatz, Galvin and Gagne  Operating System Concepts Module 19: Security The Security Problem Authentication Program Threats System Threats.
Cryptography and Network Security Chapter 11 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Digital Watermarking Parag Agarwal
Authentication Approaches over Internet Jia Li
1 Introduction to Security and Cryptology Enterprise Systems DT211 Denis Manley.
1 6 Chapter 6 Implementing Security for Electronic Commerce.
General Purpose Packages
Operating Systems Protection & Security.
Watermarking University of Palestine Eng. Wisam Zaqoot May 2010.
Hash Functions A hash function H accepts a variable-length block of data M as input and produces a fixed-size hash value h = H(M) Principal object is.
Preventing SQL Injection Attacks in Stored Procedures Alex Hertz Chris Daiello CAP6135Dr. Cliff Zou University of Central Florida March 19, 2009.
By : Vladimir Novikov. Digital Watermarking? Allows users to embed SPECIAL PATTERN or SOME DATA into digital contents without changing its perceptual.
Multimedia Copyright Protection Technologies M. A. Suhail, I. A. Niazy
Attacking Applications: SQL Injection & Buffer Overflows.
Methods for Software Protection Prof. Clark Thomborson Keynote Address at the International Forum on Computer Science and Advanced Software Technology.
Digital Watermarking Simg-786 Advanced Digital Image Processing Team 1.
Digital Watermarking Sapinkumar Amin Guided By: Richard Sinn.
December 4, 2007 Steganography By: Brittany Bugg and Makenzie Young.
Russell Taylor. How the law supports Copyright Copyright Designs and Patents Act 1988 Copyright arises when an individual or organisation creates a work,
Submitted By: Varun Singh Roll no.: MRT09UGBCS036.
Information Security Principles Assistant Professor Dr. Sana’a Wafa Al-Sayegh 1 st Semester ITGD 2202 University of Palestine.
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,
Applying White-Box Cryptography SoBeNet user group meeting October 8, 2004 Brecht Wyseur.
Software Watermarking Imran Ali CSEP 590TU. What is software watermarking? Embed a secret into software which can be retrieved on demand Embed a secret.
Digital Watermarking
Could Software Watermarks Express Both Rules and Assurances? Prof. Clark Thomborson Presentation to the ReTRUST Group Villach, Austria 11 th March 2008.
STEGANOGRAPHY AND DIGITAL WATERMARKING KAKATIYA INSTITUTE OF TECHNOLOGY AND SCIENCES,WARANGAL.
Protecting Software Code By Guards The George Washington University Cs297 YU-HAO HU.
Fingerprinting Text in Logical Markup Languages Christian D. Jensen G.I. Davida and Y. Frankel (Eds.): Proc. Information Security Conference 2001, Lecture.
Architecting Systems to Protect Intellectual Property Presentation to NZTE China Workshop Prof. Clark Thomborson Auckland NZ 16 th November 2007.
CSCE 201 Identification and Authentication Fall 2015.
Experience with Software Watermarking Jens Palsberg, Sowmya Krishnaswamy, Minseok Kwon, Di Ma, Qiuyun Shao, Yi Zhang CERIAS and Department of Computer.
Cryptographic Hash Function. A hash function H accepts a variable-length block of data as input and produces a fixed-size hash value h = H(M). The principal.
IMAGE AUTHENTICATION TECHNIQUES Based on Automatic video surveillance (AVS) systems Guided by: K ASTURI MISHRA PRESENTED BY: MUKESH KUMAR THAKUR REG NO:
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.
A review of audio fingerprinting (Cano et al. 2005)
Cryptographic Hash Function
Outline What does the OS protect? Authentication for operating systems
Information and Network Security
Outline What does the OS protect? Authentication for operating systems
Software Watermarking Deterring Software Piracy
draft-ipdvb-sec-01.txt ULE Security Requirements
Methods for Software Protection
Security.
Operating System Concepts
Presentation transcript:

Techniques for Software Watermarking and Fingerprinting Prof. Clark Thomborson Presentation at Tsinghua University 17 th March 2010

2 A Small, Immature Field... This search was conducted on 15 March The number of citations was “about 12,500” in March Citations growing by 34%/year.

3 A Mature Field... This search was conducted on 15 March The number of citations was “about 559,000” in March Citations growing by 28%/year.

Watermarking and Fingerprinting Messages may be images, audio, video, text, executables, … Visible or invisible (steganographic) embeddings Robust (difficult to remove) or fragile (guaranteed to be removed) if cover is distorted. Watermarking (only one extra message per cover) or fingerprinting (different versions of the cover carry different messages). Messages may be encrypted. Watermark: an additional message, embedded into a cover message.

5 Software Watermarking Techniques Key questions: Where is the watermark embedded?  How is the watermark embedded? Who wants the watermark to be embedded?  Why is the watermark embedded?  What are its desired properties?  When is the watermark embedded? When, where, and how can the watermark be extracted?

6 Software Watermarking Systems An embedder E(P; W; k)  P w embeds a message (the watermark) W into a program P using secret key k, yielding a watermarked program P w An extractor R(P w ;... )  W extracts W from P w In an invisible watermarking system, R (or a parameter) is a secret. In visible watermarking, R is well-publicised (ideally obvious). The attack set A and goal G model the security threat. For a robust watermark, the attacker’s goal G is typically a false- negative extraction, using an attack a()  A on a watermarked object P w to create an attacked object a(P w ), with R(a(P w );... ) ≠ W such that a(P w ) has most or all of the original function of P. For a fragile watermark, the attacker’s goal is a false-positive: R(a(P);... ) = W such that a(P) has similar functionality to P w. A protocol attack is an r()  A which behaves like an extractor, but delivers false-positive or false-negative results (depending on G). The attacker must substitute r() for the true extractor R in the response mechanism of the system.

Response Mechanisms A watermark extractor R() delivers a signal to a response system S. It’s easy to forget that M is necessary. S might be … A judge in a courtroom, in which case R must deliver forensically-sound evidence. A newspaper reporter, in which case R must be a believable source. A computerised access-control system, in which case R’s signal might cause an authorisation to be granted (or revoked). 7

8 Where Software Watermarks are Embedded Static code watermarks are stored in the section of the executable that contains instructions. Static data watermarks are stored in other sections of the executable Static watermarks are extracted without executing (or emulating) the code.  A watermark extractor is a special-purpose static analysis.  Extraction is inexpensive, but we don’t know of any highly robust static code watermarks. Attackers can easily modify the watermarked code to create an unwatermarked (false-negative) version.

9 Dynamic Watermarks Easter Eggs are revealed to any end-user who types a special input sequence. This is a robust watermark. Other dynamic, robust, watermarks:  Execution Trace Watermarks are carried in the instruction execution sequence of a program, when it is given a special input sequence (possibly null).  Data Structure Watermarks are built by a program, when it is given a special input.  Data Value Watermarks are produced by a program on a surreptitious channel, when it is given a special input.

10 Easter Eggs The watermark is visible – if you know where to look! Not very robust, after the secret is published. See

11

12 Dynamic Data Structure Watermarks The embedder inserts code in the program, so that it creates a recognisable data structure when given specific input (the key). Details are given in our POPL’99 paper, and in two published patent applications. Assigned to Auckland UniServices Ltd. I am still trying to find a good use for this technology! Implemented at (2000- ) Experimental findings by Palsberg et al. (2001): JavaWiz adds less than 10 kilobytes of code on average. Embedding a watermark takes less than 20 seconds. Watermarking increases a program’s execution time by less than 7%. Watermark retrieval takes about 1 minute per megabyte of heap.

13 Thread-Based Watermarks A dynamic watermark is expressed in the thread-switching behaviour of a program, when given a specific input (the key). The thread-switches are controlled by non-nested locks. NZ Patent , US Patent App 2005/ Article in IH’04; Jas Nagra’s PhD thesis, 2006 The embedder inserts tamper-proofing sequences which closely resemble the watermark sequences but which, if removed, will cause the program to behave incorrectly. This is a “self-help” response system, integrated with the watermark.

14 Active Watermarks A watermark can be embedded during a design step (“active watermarking”: Kahng et al., 2001). IC designs may carry watermarks in place-route constraints. Register assignments during compilation can encode a software watermark, however such watermarks are insecure because they can be easily removed by an adversary. Most software watermarks are “passive”, i.e. inserted at or near the end of the design process.

15 Why Watermark Software? (Thomborson & Nagra, 2002) Invisible robust watermarks: useful for prohibition (of unlicensed use) Invisible fragile watermarks: useful for permission (of licensed uses). Visible robust watermarks: useful for assertion (of copyright or authorship). Visible fragile watermarks: useful for affirmation (of authenticity or validity).

16 The Fifth Function Any watermark is useful for the steganographic transmission of information irrelevant to security (espionage, humour, …). Transmission Marks can transmit “calls for help” to other systems. Useful in response mechanisms.

17 A Functional Taxonomy for Watermarks [2002/2010] Watermark: an additional message, embedded into a cover message or object. Non-protective: the watermark is more important than its cover.

18 Defense in Depth for Software 1.Prevention: a)Deter attacks on forbiddances (use obfuscation, encryption, robust watermarking, cryptographic hashes, or trustworthy computing). b)Deter attacks on allowances (use replication, resilient algorithms, fragile watermarking). 2.Detection: a)Monitor subjects (user logs), relative to a user ID. Use biometrics, ID tokens, or passwords. b)Monitor actions (execution logs, intrusion detectors), relative to a code ID: cryptographic hashing, code watermarking. c)Monitor objects (object logs), relative to an object ID: hashing, data watermarking. 3.Response: a)Ask for help: Set off an alarm (which may be silent – steganographic), then wait for an enforcement agent. b)Self-help: Self-destructive or self-repairing systems.

19 Use Cases We can find “use cases” for software watermarks at the dynamic layer of our framework. A rule (of static security, i.e. a permission) is not a use. Use cases have an actor, a requested action (or set of actions), and a desired response from the system. Example: Clark seeks permission to read a DRM-protected document. Actor = Clark; action = read; desired response = permission. The DRM information might be held in a software watermark, and this watermark may contain a rule permitting this action. We can also look for “misuse cases”: malicious actors who take advantage of a system. Misuse case: Pirate Pete seeks permission to read a document. Desired response: a forbiddance. Software watermarks have mostly been used for forbiddances. (I’ll explain why, later in this talk.) There are also “confuses” – authorised users who cause damage by mistake. Confuse cases should be forbidden.

20 Summary/Review  What is a watermark? We should also ask: who, when, where, how, why?  What is a watermarking system? Embedders, extractors, and (don’t forget ;-) responders.  How can we embed software watermarks? Static or dynamic? Active or passive? Case study: thread-based watermarks.  Why would anyone want to embed a watermark? Defense in depth Use, misuse, and confuse case analysis Functional analysis (a taxonomy)