1 / 26

Chapter 12 Insecurity on Software

Chapter 12 Insecurity on Software. S/W Reverse Engineering Digital Rights Management Software Development. Digital Rights Management. What is DRM? A Real-World DRM System DRM for Streaming Media DRM for a P2P Application DRM in Enterprise DRM Failure DRM Conclusions. What is DRM?.

euclid
Download Presentation

Chapter 12 Insecurity on Software

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. Chapter 12Insecurity on Software S/W Reverse Engineering Digital Rights Management Software Development Chapter 12 Insecurity in software

  2. Digital Rights Management What is DRM? A Real-World DRM System DRM for Streaming Media DRM for a P2P Application DRM in Enterprise DRM Failure DRM Conclusions Chapter 12 Insecurity in software

  3. What is DRM? • DRM은 디지텔 컨텐츠에 대해서 원격 제어를 제공하는 시도 • “Remote control” problem • 디지털 컨텐츠의 분배Distribute digital content • 분배 후에 사용에 대해서 원격으로 제어 • 예 • E-book • Digital music/video! • Streming audio/video Chapter 12 Insecurity in software

  4. 지속적인 보호 • “지속적인 보호” 는 DRM의 근본적인 문제 • 분배(판매)된 후에 어떻게 컨텐츠의 사용을 제한하는가? • 그러한 제한의 예 • 복사 방지 • 일정한 범위에서만 사용 • 시간 제한 • 포워딩 금지, 등등. Chapter 12 Insecurity in software

  5. 어떻게 할 수 있나? • honor system? • 예: Stephen King’s, The Plant • 포기? • 판매 감소? 법 준수? 등등. • software-based DRM? • MediaSnap’s goal • Tamper-resistant hardware? • Closed systems: Game Cube, 등등. • Open systems: TCG/NGSCB for PCs Chapter 12 Insecurity in software

  6. 암호화가 해결책인가?–1/2 • 공격자의 목표는 key를 찾는 것 • DRM 시나리오에서는, 공격자는 박스 안의 모든 것을 갖고 있다. • 암호화는 이런 목적으로 만든 것은 아니다! Chapter 12 Insecurity in software

  7. 암호화가 해결책인가?–2/2 • 하지만 암호화는 필요 • 비트의 안전한 전송을 위해 • 사소한 공격을 막기 위해 • 그러면 공격자는 암호화를 직접 공격하지는 않을 것이다. • 공격자는 소프트웨어에 숨어 있는 키를 찾으려 할 것이다. • DRM은 결국“숨박꼭질” 의 문제가 된다! Chapter 12 Insecurity in software

  8. 실제 DRM SystemPDF 문서에서의 DRM Chapter 12 Insecurity in software

  9. DRM for PDF Documents • MediaSnap, Inc., 실리콘 밸리의 조그만 밴처 회사 • DRM 시스템을 개발 • PDF 문서를 보호하기 위해 설계 • 시스템의 두 개의 구성 요소 • Server Secure Document Server (SDS) • Client  PDF Reader “plugin” software Chapter 12 Insecurity in software

  10. 문서의 보호 persistent protection encrypt SDS Bob Alice • Alice는 PDF 문서를 제작 • 문서는 암호화되어 SDS에 전송 • SDS는“지속적인 보호”를 위한 기능 부여 • 문서는 Bob에게 배분 Chapter 12 Insecurity in software

  11. 문서의 접근 Request key key SDS Bob Alice • Bob은 SDS에 자신을 인증 • Bob은 SDS에 key를 요구 • Bob은 문서에 접근, 그러나 특별한 DRM 소프트웨어를 통해서만 가능 Chapter 12 Insecurity in software

  12. 보안의 문제 • Server 쪽 (SDS) • Key의보호, 사용자 인증 등. • 지속적의 보호 기능 부여 • Client 쪽 (PDF plugin) • Key의보호, 사용자 인증 등. • 지속적인 보호의 수행 • 결국 문제는 client 쪽에 있다. Chapter 12 Insecurity in software

  13. 보안 개요 (client 쪽) Tamper-resistance Obfuscation • A tamper-resistant: 외부 • Software obfuscation: 내부 Chapter 12 Insecurity in software

  14. Obfuscation • Obfuscation을 위해서 • 키 관리 • Key parts (in data and/or code) • Multiple keys/key parts • 인증 • Caching (keys and authentication info) • 암호화와 “뒤섞기(scrambling)” • Obfuscation은 공격을 완화시킬 뿐이다. • The persistent attacker still wins! Chapter 12 Insecurity in software

  15. 보안을 위해 구현되지 않은 부분 • MediaSnap DRM system은 거의 모든 S/W 보호 기술을 적용 • 그러나 Code “fragilization” (guard)는 적용 못함 • 그것은 암호화 실행 코드와 호환되지 않음 • 신뢰할 수 없는OS • 어떻게 “bad” OS를 보호할 수 있는가? • 어려운 문제! Chapter 12 Insecurity in software

  16. 실제 DRM SystemStreaming Media를 위한 DRM Chapter 12 Insecurity in software

  17. 특징 • Scrambling algorithms • Encryption-like algorithms • 많은 algorithm이 가능 • metamorphism! • scrambling algorithm의 협상 • Server와 client는 어떤 알고리즘을 사용할 지 알아야 한다. • 수신자는 복호화 • 디바이스 드라이버는 De-scrambling • 재생하기 전에 De-scramble Chapter 12 Insecurity in software

  18. Scrambling Algorithms • 서버는 여러가지 scrambling algorithms을 갖고 있다. • 예를 들어, 1에서N • 각 클라이언트는 다음의 알고리즘을 사용 가능 • 예: LIST = {12,45,2,37,23,31} • LIST는 클라이언트가 보관, 서버의 키로 암호화: E(LIST,Kserver) Chapter 12 Insecurity in software

  19. Server-side Scrambling • 서버 쪽 scrambled data encrypted scrambled data data • Server는 client가 지원 가능한 알고리즘으로 scramble • Client는알고리즘 list를 서버에 보낸 • Server는 client에게 선택한 알고리즘이 무엇인지 알려줌 Chapter 12 Insecurity in software

  20. Scrambling Algorithm 선택 • key K: session key E(LIST, Kserver) E(m,K) scramble (encrypted) data using Alice’s m-th algorithm Bob (server) Alice (client) Chapter 12 Insecurity in software

  21. P2P에서의 DRM Chapter 12 Insecurity in software

  22. P2P 응용에서의 DRM • 오늘날 많은 디지털 컨텐츠가peer-to-peer (P2P) 망을 통해 분배 • P2P 망을 통해 분배되는 컨텐츠를 정상적으로 구매하게 할 수 없을까? • 한가지 방법은 peer offering service (POS) Chapter 12 Insecurity in software

  23. P2P File Sharing: Query • Alice의 요구: “Hey Jude” • 검은 색의 화살: query flooding • 빨간 화살: 긍정적인 응답 Alice Bob Frank Dean Marilyn Carol Pat Pat Fred Carol Ted • Alice의 선택: Carol, Pat Chapter 12 Insecurity in software

  24. P2P File Sharing with POS • Alice의 요구: “Hey Jude” • 검은 색의 화살: query flooding • 빨간 화살: 긍정적인 응답 Bill Ben Joe Alice Bob Dean Marilyn POS Carol Pat Pat Fred Carol Ted • Alice 선택: Bill, Ben, Carol, Joe, Pat • Bill, Ben과Joe는 합법적인 컨텐츠 공급자! Chapter 12 Insecurity in software

  25. POS • Bill, Ben과 Joe 는 Alice에게 다른 사람과 똑 같이 보여야 한다. • 만약 Alice가 POS에 응답을 하면 • DRM 보호(합법적인) 컨텐츠가 다운로드 • 그러면 소정의 금액을 지불하고 재생 • 만약 Alice가 사용을 거부하면 • 그러면 Alice는다른 free PC를 찾아서 다운로드해야 한다. • 이러한 수고가 그만한 가치가 있을까? Chapter 12 Insecurity in software

  26. DRM 결론 • DRM은 소프트웨어 보안에 있어서 한계를 잘 보여줌 • 소프트웨어는 적대적 환경에서 공격에 대단히 취약 • 보호를 위한 선택의 여지는 극히 제한적 • 공격자는 대단히 유리한 위치에 있음 • Tamper-resistant hardware와 trusted OS는 상황을 바꿀 수 있을 것이다. Chapter 12 Insecurity in software

More Related