1 / 42

DIGITAL RIGHT MANAGEMENT

DIGITAL RIGHT MANAGEMENT. Bùi Thành Đạt 50700480 Nguyễn Hoàng Nhật Đông 50700542 Nguyễn Duy Cường 50700287. Contents. SOFTWARE REVERSE ENGINEERING (SRE) What is SRE ? Tools How to prevent Conclusion DIGITAL RIGHT MANAGEMENT (DRM) What is DRM ? Problems and solutions

conor
Download Presentation

DIGITAL RIGHT MANAGEMENT

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. DIGITAL RIGHT MANAGEMENT Bùi Thành Đạt 50700480 Nguyễn Hoàng Nhật Đông 50700542 Nguyễn Duy Cường 50700287

  2. Contents • SOFTWARE REVERSE ENGINEERING (SRE) • What is SRE ? • Tools • How to prevent • Conclusion • DIGITAL RIGHT MANAGEMENT (DRM) • What is DRM ? • Problems and solutions • A real world system • Some DRM system designs • Conclusion

  3. Contents • SOFTWARE REVERSE ENGINEERING (SRE) • What is SRE ? • Tools • How to prevent • Conclusion • DIGITAL RIGHT MANAGEMENT (DRM) • What is DRM ? • Problems and solutions • A real world system • Some DRM system designs • Conclusion

  4. What is SRE ? • Software reverse engineering (reverse code engineering, or reverse). • Purpose: • Good: understand malware, legacy code... • Not good: cheating, breaking DRM systems... 8048340: 55 pushl %ebp 8048341: 89 e5 movl %esp,%ebp 8048343: eb 02 jmp 0x8048347 8048345: 06 pushl %es ............

  5. Tools for SRE • Disassembler • Debugger • Hex editor DISASSEMBLY DEBUG PATCH

  6. Disassembler

  7. Hex editor

  8. Contents • SOFTWARE REVERSE ENGINEERING (SRE) • What is SRE ? • Tools • How to prevent • Conclusion • DIGITAL RIGHT MANAGEMENT (DRM) • What is DRM ? • Problems and solutions • A real world system • Some DRM system designs • Conclusion

  9. How to prevent SRE ? ANTI-DISASSEMBLY DISASSEMBLY DEBUG PATCH ANTI-DEBUGGING TAMPER RESISTANCE

  10. How to prevent SRE ?Anti-Disassembly • Encryption: encrypt before executed. • Problem: Code must be decrypted before executed -> attacker can access decryption code.

  11. How to prevent SRE ?Anti-Disassembly • False assembly • Make the real code different from the disassemblied one. • Problem: attacker studies the technique carefully -> bypass the effects of false assembly.

  12. How to prevent SRE ?Anti-Disassembly • False assembly jmp antidebug1 + 2 antidebug1: .short 0xc606 call reloc reloc: popl %esi jmp antidebug2 antidebug2: addl $(data - reloc),%esi movl 0(%esi),%edi pushl %esi jmp *%edi data: .long 0 http://vxheavens.com/lib/vsc04.html#p2:

  13. How to prevent SRE ?Anti-Disassembly • Self-modifying code: real time, effective to confuse a disassembler. • Problem: • Also confuse developers. • Difficult to implement and error prone.

  14. How to prevent SRE ?Anti-Debugging • Monitoring debug registers. • Monitoring breakpoints. • Multi threads.

  15. How to prevent SRE ?Tamper Resistance • Guards: • Some sections of code calculate checksum of another section. • From “single point of failure” to “area of failure”. • Problems: • All guards are the same -> easy to detect. • Different classes of guards -> still able to be detected. • Conclusion: • Code has not been altered only if guards themselves have not been altered.

  16. How to prevent SRE ?Tamper Resistance • Obfuscation: make the code difficult to understand. • Examples: • “Spaghetti code” • Opaque predicate

  17. How to prevent SRE ?Tamper Resistance Metamorphism • Normally: distribute identical copies (clones) of software to each customer. • Weakness: can’t prevent break-one-break-everywhere (BOBE)

  18. How to prevent SRE ?Tamper Resistance Metamorphism (cont) • Use metamorphic copies: same function, different internal structure. • For N copies, it takes N times to break all N instances (best case) • Usually use in malware. • Note: same flaw still exists in all copies.

  19. Conclusion • Truly secure software is impossible to achieve in practice. • Solution: just provides sufficient protection • Confusing. • Hard to understand. • Increase the time required for an attack.

  20. Contents • SOFTWARE REVERSE ENGINEERING (SRE) • What is SRE ? • Tools • How to prevent • Conclusion • DIGITAL RIGHT MANAGEMENT (DRM) • What is DRM ? • Problems and solutions • A real world example • Some DRM system designs • Conclusion

  21. What is DRM ? • Retain some control over digital content after it has been delivered: “remote control” For the Hack of it PUBLISHED What happen?

  22. What is DRM ? • Persistent protection: the protection stays with the content after it’s delivered. • Example: for a digital book: • No copying • Read once • Do not open until Christmas • No forwarding • ....

  23. Contents • SOFTWARE REVERSE ENGINEERING (SRE) • What is SRE ? • Tools • How to prevent • Conclusion • DIGITAL RIGHT MANAGEMENT (DRM) • What is DRM ? • Problems and solutions • A real world system • Some DRM system designs • Conclusion

  24. Problems and Solutionsproblems • From SRE section: can’t prevent SRE -> can’t hide a secret in software. • Analog hole: impossible to prevent such attacks

  25. Problems and Solutionssolutions • Options: • Honor system • Assuming most people are good, honest, decent, and trustworthy • Example: shareware • Weak software-based DRM • Example: DRM for P2P Application • Strongest possible DRM system • Example: A real world system

  26. Problems and Solutionssolutions • Cryptography: different from standard crypto scenario. • Legitimate recipient is a potential attacker. A recipient can access everything in dashed box (including key). How to solve ?

  27. Problems and Solutionssolutions • Security by obscurity: secure when attacker doesn’t understand the software completely. • When obscurity gone, security gone • It’s preferable not rely on security by obscurity, but need to consider when there is no other option. • Closed systems, secret designs

  28. Contents • SOFTWARE REVERSE ENGINEERING (SRE) • What is SRE ? • Tools • How to prevent • Conclusion • DIGITAL RIGHT MANAGEMENT (DRM) • What is DRM ? • Problems and solutions • A real world system • Some DRM system designs • Conclusion

  29. Some DRM system designsa realworld system • MediaSnap Inc. DRM system: • Use with digital documents that will be distributed via e-mail. • Components: • Secure Document Server (SDS) • Client software is a plugin to Adobe PDF reader.

  30. Some DRM system designsa realworld system • Deliver

  31. Some DRM system designsa realworld system • Access

  32. Some DRM system designsa realworld system • Security for system • The SDS is relatively secure. • The DRM client software is readily available to any attacker. • Focus on the client software

  33. Some DRM system designsa realworld system • Tamper-resistant barrier • Anti-disassembly: encryption, false assembly • Anti-debugging: monitor debug registers • Tamper-resistant techniques: AES, along with “scrambling” algorithm • Anti-screen capture, digital watermarking • Metamorphism for BOBE resistance

  34. Contents • SOFTWARE REVERSE ENGINEERING (SRE) • What is SRE ? • Tools • How to prevent • Conclusion • DIGITAL RIGHT MANAGEMENT (DRM) • What is DRM ? • Problems and solutions • A real world system • Some DRM system designs • Conclusion

  35. Some DRM system designsdrm for streaming data • Possible attacks on streaming media: • Spoofing the stream • Man-in-the-middle • Replay attack • Plaintext captured at the client • The proposed design makes use of scrambling algorithms. • Achieve significant degree of metamorphism • Security by obscurity

  36. Some DRM system designsdrm for streaming data • Details: • Server has list N scrambling algorithm s0, s1, s2, ..., sN-1 • Each client has a subset of these algorithms LIST = {s12, s23, s45, s2, s7} • This list is store as E(LIST, Kserver) • Client and server must negotiate a specific scrambling algorithm to be used.

  37. Some DRM system designsdrm for streaming data

  38. Some DRM system designsdrm for p2p application • Example

  39. Some DRM system designs drm for p2p application • Peer offering service (POS) • Legal provider • Apparent to users • Significant percentage of responses • Use weak DRM

  40. Some DRM system designs drm in enterprise • DRM in enterprise is different from DRM in e-commerce: • Prevent losing money instead of making money • The human dimension is completely different • Other issues are more important than the strength of DRM system: • Policy management • Authentication • Relatively easy to solve.

  41. Conclusion • DRM clearly illustrates the limitations of doing security in software • Strong software-based DRM is impossible due to SRE problems • DRM is not only a technical problem, so the challenge is to develop something that works in practice.

More Related