260 likes | 429 Views
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?.
E N D
Chapter 12Insecurity on Software S/W Reverse Engineering Digital Rights Management Software Development Chapter 12 Insecurity in software
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
What is DRM? • DRM은 디지텔 컨텐츠에 대해서 원격 제어를 제공하는 시도 • “Remote control” problem • 디지털 컨텐츠의 분배Distribute digital content • 분배 후에 사용에 대해서 원격으로 제어 • 예 • E-book • Digital music/video! • Streming audio/video Chapter 12 Insecurity in software
지속적인 보호 • “지속적인 보호” 는 DRM의 근본적인 문제 • 분배(판매)된 후에 어떻게 컨텐츠의 사용을 제한하는가? • 그러한 제한의 예 • 복사 방지 • 일정한 범위에서만 사용 • 시간 제한 • 포워딩 금지, 등등. Chapter 12 Insecurity in software
어떻게 할 수 있나? • 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
암호화가 해결책인가?–1/2 • 공격자의 목표는 key를 찾는 것 • DRM 시나리오에서는, 공격자는 박스 안의 모든 것을 갖고 있다. • 암호화는 이런 목적으로 만든 것은 아니다! Chapter 12 Insecurity in software
암호화가 해결책인가?–2/2 • 하지만 암호화는 필요 • 비트의 안전한 전송을 위해 • 사소한 공격을 막기 위해 • 그러면 공격자는 암호화를 직접 공격하지는 않을 것이다. • 공격자는 소프트웨어에 숨어 있는 키를 찾으려 할 것이다. • DRM은 결국“숨박꼭질” 의 문제가 된다! Chapter 12 Insecurity in software
실제 DRM SystemPDF 문서에서의 DRM Chapter 12 Insecurity in software
DRM for PDF Documents • MediaSnap, Inc., 실리콘 밸리의 조그만 밴처 회사 • DRM 시스템을 개발 • PDF 문서를 보호하기 위해 설계 • 시스템의 두 개의 구성 요소 • Server Secure Document Server (SDS) • Client PDF Reader “plugin” software Chapter 12 Insecurity in software
문서의 보호 persistent protection encrypt SDS Bob Alice • Alice는 PDF 문서를 제작 • 문서는 암호화되어 SDS에 전송 • SDS는“지속적인 보호”를 위한 기능 부여 • 문서는 Bob에게 배분 Chapter 12 Insecurity in software
문서의 접근 Request key key SDS Bob Alice • Bob은 SDS에 자신을 인증 • Bob은 SDS에 key를 요구 • Bob은 문서에 접근, 그러나 특별한 DRM 소프트웨어를 통해서만 가능 Chapter 12 Insecurity in software
보안의 문제 • Server 쪽 (SDS) • Key의보호, 사용자 인증 등. • 지속적의 보호 기능 부여 • Client 쪽 (PDF plugin) • Key의보호, 사용자 인증 등. • 지속적인 보호의 수행 • 결국 문제는 client 쪽에 있다. Chapter 12 Insecurity in software
보안 개요 (client 쪽) Tamper-resistance Obfuscation • A tamper-resistant: 외부 • Software obfuscation: 내부 Chapter 12 Insecurity in software
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
보안을 위해 구현되지 않은 부분 • MediaSnap DRM system은 거의 모든 S/W 보호 기술을 적용 • 그러나 Code “fragilization” (guard)는 적용 못함 • 그것은 암호화 실행 코드와 호환되지 않음 • 신뢰할 수 없는OS • 어떻게 “bad” OS를 보호할 수 있는가? • 어려운 문제! Chapter 12 Insecurity in software
실제 DRM SystemStreaming Media를 위한 DRM Chapter 12 Insecurity in software
특징 • Scrambling algorithms • Encryption-like algorithms • 많은 algorithm이 가능 • metamorphism! • scrambling algorithm의 협상 • Server와 client는 어떤 알고리즘을 사용할 지 알아야 한다. • 수신자는 복호화 • 디바이스 드라이버는 De-scrambling • 재생하기 전에 De-scramble Chapter 12 Insecurity in software
Scrambling Algorithms • 서버는 여러가지 scrambling algorithms을 갖고 있다. • 예를 들어, 1에서N • 각 클라이언트는 다음의 알고리즘을 사용 가능 • 예: LIST = {12,45,2,37,23,31} • LIST는 클라이언트가 보관, 서버의 키로 암호화: E(LIST,Kserver) Chapter 12 Insecurity in software
Server-side Scrambling • 서버 쪽 scrambled data encrypted scrambled data data • Server는 client가 지원 가능한 알고리즘으로 scramble • Client는알고리즘 list를 서버에 보낸 • Server는 client에게 선택한 알고리즘이 무엇인지 알려줌 Chapter 12 Insecurity in software
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
P2P에서의 DRM Chapter 12 Insecurity in software
P2P 응용에서의 DRM • 오늘날 많은 디지털 컨텐츠가peer-to-peer (P2P) 망을 통해 분배 • P2P 망을 통해 분배되는 컨텐츠를 정상적으로 구매하게 할 수 없을까? • 한가지 방법은 peer offering service (POS) Chapter 12 Insecurity in software
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
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
POS • Bill, Ben과 Joe 는 Alice에게 다른 사람과 똑 같이 보여야 한다. • 만약 Alice가 POS에 응답을 하면 • DRM 보호(합법적인) 컨텐츠가 다운로드 • 그러면 소정의 금액을 지불하고 재생 • 만약 Alice가 사용을 거부하면 • 그러면 Alice는다른 free PC를 찾아서 다운로드해야 한다. • 이러한 수고가 그만한 가치가 있을까? Chapter 12 Insecurity in software
DRM 결론 • DRM은 소프트웨어 보안에 있어서 한계를 잘 보여줌 • 소프트웨어는 적대적 환경에서 공격에 대단히 취약 • 보호를 위한 선택의 여지는 극히 제한적 • 공격자는 대단히 유리한 위치에 있음 • Tamper-resistant hardware와 trusted OS는 상황을 바꿀 수 있을 것이다. Chapter 12 Insecurity in software