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