Presentation is loading. Please wait.

Presentation is loading. Please wait.

H12.1 15-Mar-01 Clark Thomborson Software Security CompSci 725 Handout 12: Student Presentations, Watermarking & Obfuscation Clark Thomborson University.

Similar presentations

Presentation on theme: "H12.1 15-Mar-01 Clark Thomborson Software Security CompSci 725 Handout 12: Student Presentations, Watermarking & Obfuscation Clark Thomborson University."— Presentation transcript:

1 h12.1 15-Mar-01 Clark Thomborson Software Security CompSci 725 Handout 12: Student Presentations, Watermarking & Obfuscation Clark Thomborson University of Auckland

2 h12.2 15-Mar-01 Clark Thomborson Choosing the Technical Article you will Present Please refer to Handout 6: Bibliography. Handout 9 is a class list, indicating the Order in which students will make presentations. Pick a few papers you would like to present. I will briefly discuss about half of these papers, then I’ll call for volunteers. If there is more than one volunteer, the person with the lowest “Order” will present this paper.

3 h12.3 15-Mar-01 Clark Thomborson Preparing your Presentation Read your paper carefully. Outline your paper: 1 “point” per page or section. Pick one “point” to present in detail in your presentation. If your article is more than 8 pages long, choose 5 to 8 pages that are suitable for a class handout – these pages should explain the “point” you will present in detail. Outline your presentation: one sentence per slide. Construct a first draft of your presentation: use PowerPoint or your favourite presentation builder (not MS Word!)

4 h12.4 15-Mar-01 Clark Thomborson Presentation Requirements 1. Give your 5- to 8-page handout to me (so that I can duplicate it for distribution to the class) by 10am Wednesday in the week BEFORE your presentation. 2. Your slideshow presentation must last 8 to 12 minutes, not counting time spent on questions and answers from the class. 3. Your question-and-answer time must last 2 to 8 minutes – you must initiate the discussion with at least one question printed in your slideshow. 4. Transmit the final version of your.pps or other online slideshow document to me by email to me, at, so I can mount it on the class website.

5 h12.5 15-Mar-01 Clark Thomborson Contents of Your Presentation You should prepare seven to ten slides: –title slide (possibly including a sample quotation) –outline of your talk –four to seven slides, explaining one topic in detail –conclusion –one or two questions, to stimulate discussion Rehearse your presentation with a friend, at least once. You may ask me for feedback by email – I’ll try for a 3-day turnaround. Revise your talk for clarity, and to fit the 8-12 minute time limit. You’ll spend 10+ hours preparing your presentation!

6 h12.6 15-Mar-01 Clark Thomborson My Expectations Presenters should show appreciative and critical understanding of their article, through –the contents of their slides –their oral comments when presenting their slides, and –their handling of the discussion. Non-presenters should have read the article before the presentation begins. All students should have a working knowledge of what was presented & discussed in class. (This will be tested in your final examination.)

7 h12.7 15-Mar-01 Clark Thomborson Your Term Project Report When reading your article, you should start thinking about how to use it as a basis for a written report. Initial ideas: –Compare/contrast your article’s technology (or analysis or research finding) to some other published work –Discover an article describing an extension or application of this technology –Identify a point of confusion or difficulty in your article and explain it “better than the author did” (with appropriate references).

8 h12.8 15-Mar-01 Clark Thomborson Requirements for Reports Your report should consist of nine to thirteen pages of 12-point type with generous margins and 1.5 line spacing. If you use someone else’s words, put these in quotation marks and add a reference to your source. (We’ll talk about direct quotations, plagiarism and paraphrase next week.) You should make good use of at least three published works. Your sources must be listed with full (and accurate) bibliographic details at the end of your report. Try to match the style of one of the articles you read in this class. Technical words must be spelled and used correctly. You should use a spell-checker and a grammar checker (e.g. MS Word), however I will not mark you down for grammatical mistakes and spelling errors on non-technical words.

9 h12.9 15-Mar-01 Clark Thomborson Watermarking, Tamper-Proofing and Obfuscation – Tools for Software Protection Christian Collberg & Clark Thomborson Computer Science Tech Report 170 University of Auckland 4 February 2000 accepted with minor revision by IEEE TSE

10 h12.10 15-Mar-01 Clark Thomborson Watermarking and Fingerprinting Image, audio, video, text… Visible or invisible marks Fragile (“licensing marks”) or robust (“authorship marks”) Watermarking 1. Discourages theft 2. Allows us to prove theft Fingerprinting 3. Allows us to trace violators Watermark: a secret message embedded into a cover message.

11 h12.11 15-Mar-01 Clark Thomborson Watermarking Variants The watermark may be visible and robust (difficult to remove), providing a proof of ownership or authorship. The watermark may be fragile (obliterated by any modification, perhaps even including copying), proving authenticity or validity of a license.  The watermark may be invisible and robust, providing proof of ownership and security from theft. Fingerprinting is a variant of watermarking in which we put a unique customer-ID in each object we distribute. Piracy can be detected if we discover duplicate fingerprints, and these fingerprints identify the (witting or unwitting) source of the distribution.

12 h12.12 15-Mar-01 Clark Thomborson Our Desiderata for WMs Watermarks should be stealthy -- difficult for an adversary to locate. Watermarks should be resilient to attack -- resisting attempts at removal even if they are located. Watermarks should have a high data-rate -- so that we can store a meaningful message without significantly increasing the size of the object.

13 h12.13 15-Mar-01 Clark Thomborson Attacks on Watermarks Subtractive attacks: remove the WM without damaging the cover. Additive attacks: add a new WM without revealing “which WM was added first”. Distortive attacks: modify the WM without damaging the cover. Collusive attacks: examine two fingerprinted objects, or a watermarked object and its unwatermarked cover; find the differences; construct a new object without a recognisable mark.

14 h12.14 15-Mar-01 Clark Thomborson Defenses for Software Watermarks Obfuscation: we can modify the software so that a reverse engineer will have great difficulty figuring out how to reproduce the cover without also reproducing the WM. Tamperproofing: we can add integrity-checking code that (almost always) renders it unusable if the object is modified.

15 h12.15 15-Mar-01 Clark Thomborson Classification of SW Watermarks 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.  Dynamic data watermarks are stored in a program’s execution state. Such watermarks are resilient to distortive (obfuscation) attacks.

16 h12.16 15-Mar-01 Clark Thomborson Dynamic Watermarks Easter Eggs are revealed to any end-user who types a special input sequence. Execution Trace Watermarks are carried (steganographically) in the instruction execution sequence of a program, when it is given a special input.  Data Structure Watermarks are built (steganographically) by a program, when it is given a special input sequence (possibly null).

17 h12.17 15-Mar-01 Clark Thomborson Easter Eggs The watermark is visible -- if you know where to look! Not resilient, once the secret is out. See

18 h12.18 15-Mar-01 Clark Thomborson Our Goals for Dynamic DS WMs Stealth. Our WM should “look like” other structures created by the cover (search trees, hash tables, etc.) Resiliency. Our WM should have some properties that can be checked, stealthily and quickly at runtime, by tamperproofing code (triangulated graphs, biconnectivity, …) Data Rate. We would like to encode 100-bit WMs, or 1000-bit fingerprints, in a few KB of data structure. Our fingerprints may be 1000-bit integers that are products of two primes.

19 h12.19 15-Mar-01 Clark Thomborson Permutation Graphs (Harary) The WM is 1-3-5-6-2-4. High data rate: lg(n!)  lg(n/e) bits per node. High stealth, low resiliency (?) Tamperproofing may involve storing the same permutation in another data structure. What if an adversary changes the node labels? 1 3 5 6 2 4  Node labels may be obtained from node positions on another list.

20 h12.20 15-Mar-01 Clark Thomborson Oriented Trees Represent as “parent- pointer trees” There are oriented trees on n nodes, with c = 0.44 and  = 2.956, so the asymptotic data rate is lg(  )  1.6 bits/node. 1:2:22: 48: A few of the 48 trees for n = 7 Could you “hide” this data structure in the code for a compiler? For a word processor?

21 h12.21 15-Mar-01 Clark Thomborson Planted Plane Cubic Trees One root node (in-degree 1). Trivalent internal nodes, with rotation on edges. We add edges to make all nodes trivalent, preserving planarity and distinguishing the root. Simple enumeration (Catalan numbers). Data rate is ~2 bits per leaf node. Excellent tamperproofing. n = 1 n = 2 n = 3 n = 4

22 h12.22 15-Mar-01 Clark Thomborson Open Problems in Watermarking We can easily build a “recogniser” program to find the WM and therefore demonstrate ownership… but can we release this recogniser to the public without compromising our watermarks? Can we design a “partial recogniser” that preserves resiliency, even though it reveals the location of some part of our WM?

23 h12.23 15-Mar-01 Clark Thomborson State of the Art in SW Watermarking First dynamic DS watermarks installed in 1999. Recognition SW being developed. Ongoing search for graph structures that are suitable for carrying fingerprints. Requirements: –easily enumerable –low outdegree (but high data rate) –quickly-checked properties (for tamperproofing)

24 h12.24 15-Mar-01 Clark Thomborson Software Obfuscation Many authors, websites and even a few commercial products offer “automatic obfuscation” as a defense against reverse engineering. Existing products generally operate at the lexical level of software, for example by removing or scrambling the names of identifiers. We seem to have been the first (in 1997) to use “opaque predicates” to obfuscate the control structure of software.

25 h12.25 15-Mar-01 Clark Thomborson Opaque Predicates {A; B }  A B pTpT T F “always true” A B P?P? T F “indeterminate” B’ A B PTPT T F “tamperproof” B bug (“always false” is not shown)

26 h12.26 15-Mar-01 Clark Thomborson Opaque Predicates on Graphs Dynamic analysis is required! fg fg g.Merge(f) f.Insert(); g.Move(); g.Delete() if (f = = g) then …

27 h12.27 15-Mar-01 Clark Thomborson Conclusion New art in software obfuscation can make it more difficult for pirates to defeat standard tamperproofing mechanisms, or to engage in other forms of reverse engineering. New art in software watermarking can embed “ownership marks” in software, that will be very difficult for anyone to remove. More R&D is required before robust obfuscating and watermarking tools are easy to use and readily available to software developers.

28 h12.28 15-Mar-01 Clark Thomborson Schedule Tuesday, 20 March: –Software Obfuscation. –Direct quotations, plagiarism and paraphrase. Wednesday, 21 March: –Introduction to Cryptography. –Handouts due, from students #3 - #9 Friday, 23 March: –Chess, “Security Issues…” –Student presentation #2 (Bellare?)

Download ppt "H12.1 15-Mar-01 Clark Thomborson Software Security CompSci 725 Handout 12: Student Presentations, Watermarking & Obfuscation Clark Thomborson University."

Similar presentations

Ads by Google