1 / 11

Dynamic Self-checking Techniques for Improved Tamper Resistance

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?

luisa
Download Presentation

Dynamic Self-checking Techniques for Improved Tamper Resistance

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 • 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))

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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)?

More Related