110 likes | 237 Views
Dynamic Self-checking Techniques for Improved Tamper Resistance. Bill Horne Lesley Matheson Casey Sheehan Robert E.Tarjan Presented by YAN MIN (Jasmine). Outline. Introduction Algorithm design Detail Conclusion and future work. Introduction. What is self-checking?
E N D
Dynamic Self-checking Techniques for Improved Tamper Resistance Bill Horne Lesley Matheson Casey Sheehan Robert E.Tarjan Presented by YAN MIN (Jasmine)
Outline • Introduction • Algorithm design • Detail • Conclusion and future work
Introduction • What is self-checking? :Static self-checking :Dynamic self-checking
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.
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
Detail • Tester Design • Linear Hash Functions invertibility h0(d)=0 (d: an interval of data) hi (d)=c*(di+hi-1(d)) (0<i ≤n) , (c≠0) h(i-1)(d)=hi (d) /c–di • hi(d) , hn(d) summarizability : recurrence h ho (x, d)=x, hi (x, d)=c*(di+hi-1(x,d))
Detail (continued) d: a constant vector, x: variable h n (x, d)=an (d) x + b n (d) a0(d)=1 , b0(d)=0 a i (d)=c*ai-1(d),bi(d)=c*(di+bi-1(d)) (0<i<=n) • an ,bn ,hn • Construction and Customization • Tester Placement
Detail (continued) • Interval Construction 1. Corrector Placement executable – based insertion methods • 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
Detail (Continued) • Interval Definition si:ci-1andci en-i+2:cn+k-i and cn+k-i+1 (1<i≤ k) two points:. ci-1~ c i (k<i ≤ n) c k+i –-Ii k-1 correctors: discard
Detail (continued) 3. Assignment of Testers to Intervals --objectives:coverage , security three observations: • every byte is tested by k testers. 2,3 the tester graph
Conclusion andFuture 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)?