Download presentation
Presentation is loading. Please wait.
Published byPoppy Ellis Modified over 9 years ago
1
Dynamic Self-checking Techniques for Improved Tamper Resistance Bill Horne Lesley Matheson Casey Sheehan Robert E.Tarjan Presented by YAN MIN (Jasmine)
2
Outline Introduction Algorithm design Detail Conclusion and future work
3
Introduction What is self-checking? :Static self-checking :Dynamic self-checking
4
Introduction (Continued) Protecting client-side software running in an untrusted host. It is designed to be used in conjunction with other tamper- resistance techniques, integrated with copy-specific static software watermarking.
5
Algorithm Design Components :testers correctors Process 1.Source-code processing -- testers 2.Object-code processing -- --shuffle blocks --insert correctors --associate corrector and tester interval 3.Installation-time processing -- compute watermark values -- compute corrector values -- form patches -- prepare fully functional executable
6
Detail Tester Design 1. Linear Hash Functions invertibility h 0( d )=0 ( d : an interval of data) h i ( d )= c *( d i+ h i-1( d )) (0<i ≤n), (c≠0) h (i-1)( d )= h i ( d ) / c – d i h i( d ), h n( d ) summarizability : recurrence h h o (x, d )=x, h i (x, d )= c *( d i+ h i-1(x, d ))
7
Detail (continued) d : a constant vector, x : variable h n (x, d )= a n ( d ) x + b n ( d ) a 0 ( d )=1, b 0 ( d )=0 a i ( d ) = c*a i-1( d ), b i( d )= c *( d i + b i-1( d )) (0< i <=n) a n, b n, h n 2. Construction and Customization 3. Tester Placement
8
Detail (continued) Interval Construction 1. Corrector Placement executable – based insertion methods 1. k = number (usable basic blocks ) / number (correctors) 2. remove ‘ un-net ’ correctors 3. insert correctors as dead code 4. when : basic block shuffling completed 5. where : after each k basic blocks
9
Detail (Continued) 2.Interval Definition s i : c i-1 and c i e n-i+2: c n+k-i and c n+k-i+1 (1<i≤ k) two points:. c i-1~ c i (k<i ≤ n) c k+i –- I i k-1 correctors : discard
10
Detail (continued) 3. Assignment of Testers to Intervals --objectives: coverage, security three observations: 1. every byte is tested by k testers. 2,3 the tester graph
11
Conclusion and Future Work Protecting client-side software running in an untrusted host Future Work: Building a stealthier response mechanism Modifying and simplifying the corrector insertion step …… Questions:How does it work if it does not use watermark values (no correctors)?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.