Chapter 12 Insecurity 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
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
Chapter 12 Insecurity in software 지속적인 보호 “지속적인 보호” 는 DRM의 근본적인 문제 분배(판매)된 후에 어떻게 컨텐츠의 사용을 제한하는가? 그러한 제한의 예 복사 방지 일정한 범위에서만 사용 시간 제한 포워딩 금지, 등등. Chapter 12 Insecurity in software
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
Chapter 12 Insecurity in software 암호화가 해결책인가?–1/2 공격자의 목표는 key를 찾는 것 DRM 시나리오에서는, 공격자는 박스 안의 모든 것을 갖고 있다. 암호화는 이런 목적으로 만든 것은 아니다! Chapter 12 Insecurity in software
Chapter 12 Insecurity in software 암호화가 해결책인가?–2/2 하지만 암호화는 필요 비트의 안전한 전송을 위해 사소한 공격을 막기 위해 그러면 공격자는 암호화를 직접 공격하지는 않을 것이다. 공격자는 소프트웨어에 숨어 있는 키를 찾으려 할 것이다. DRM은 결국 “숨박꼭질” 의 문제가 된다! Chapter 12 Insecurity in software
실제 DRM System PDF 문서에서의 DRM Chapter 12 Insecurity in software
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
Chapter 12 Insecurity in software 문서의 보호 encrypt persistent protection Alice SDS Bob Alice는 PDF 문서를 제작 문서는 암호화되어 SDS에 전송 SDS는“지속적인 보호”를 위한 기능 부여 문서는 Bob에게 배분 Chapter 12 Insecurity in software
Chapter 12 Insecurity in software 문서의 접근 Request key key Alice SDS Bob Bob은 SDS에 자신을 인증 Bob은 SDS에 key를 요구 Bob은 문서에 접근, 그러나 특별한 DRM 소프트웨어를 통해서만 가능 Chapter 12 Insecurity in software
Chapter 12 Insecurity in software 보안의 문제 Server 쪽 (SDS) Key의 보호, 사용자 인증 등. 지속적의 보호 기능 부여 Client 쪽 (PDF plugin) 지속적인 보호의 수행 결국 문제는 client 쪽에 있다. Chapter 12 Insecurity in software
Chapter 12 Insecurity in software 보안 개요 (client 쪽) Tamper-resistance Obfuscation A tamper-resistant: 외부 Software obfuscation: 내부 Chapter 12 Insecurity in software
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
Chapter 12 Insecurity in software 보안을 위해 구현되지 않은 부분 MediaSnap DRM system은 거의 모든 S/W 보호 기술을 적용 그러나 Code “fragilization” (guard)는 적용 못함 그것은 암호화 실행 코드와 호환되지 않음 신뢰할 수 없는OS 어떻게 “bad” OS를 보호할 수 있는가? 어려운 문제! Chapter 12 Insecurity in software
실제 DRM System Streaming Media를 위한 DRM Chapter 12 Insecurity in software
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 각 클라이언트는 다음의 알고리즘을 사용 가능 예: 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 선택 E(LIST, Kserver) E(m,K) scramble (encrypted) data using Alice’s m-th algorithm Alice (client) Bob (server) key K: session key Chapter 12 Insecurity in software
Chapter 12 Insecurity in software P2P에서의 DRM Chapter 12 Insecurity in software
Chapter 12 Insecurity in software P2P 응용에서의 DRM 오늘날 많은 디지털 컨텐츠가 peer-to-peer (P2P) 망을 통해 분배 P2P 망을 통해 분배되는 컨텐츠를 정상적으로 구매하게 할 수 없을까? 한가지 방법은 peer offering service (POS) Chapter 12 Insecurity in software
Chapter 12 Insecurity in software P2P File Sharing: Query Alice의 요구: “Hey Jude” 검은 색의 화살: query flooding 빨간 화살: 긍정적인 응답 Alice Frank Dean Bob Marilyn Carol Pat Carol Pat Fred Ted Alice의 선택: Carol, Pat Chapter 12 Insecurity in software
P2P File Sharing with POS Alice의 요구: “Hey Jude” 검은 색의 화살: query flooding 빨간 화살: 긍정적인 응답 Bill Ben Joe Alice Dean Bob POS Marilyn Carol Pat Carol Pat Fred Ted Alice 선택: Bill, Ben, Carol, Joe, Pat Bill, Ben과 Joe 는 합법적인 컨텐츠 공급자! Chapter 12 Insecurity in software
Chapter 12 Insecurity in software POS Bill, Ben과 Joe 는 Alice에게 다른 사람과 똑 같이 보여야 한다. 만약 Alice가 POS에 응답을 하면 DRM 보호(합법적인) 컨텐츠가 다운로드 그러면 소정의 금액을 지불하고 재생 만약 Alice가 사용을 거부하면 그러면 Alice는 다른 free PC를 찾아서 다운로드해야 한다. 이러한 수고가 그만한 가치가 있을까? Chapter 12 Insecurity in software
Chapter 12 Insecurity in software DRM 결론 DRM은 소프트웨어 보안에 있어서 한계를 잘 보여줌 소프트웨어는 적대적 환경에서 공격에 대단히 취약 보호를 위한 선택의 여지는 극히 제한적 공격자는 대단히 유리한 위치에 있음 Tamper-resistant hardware와 trusted OS는 상황을 바꿀 수 있을 것이다. Chapter 12 Insecurity in software