chapter 12 insecurity on software

26
Chapter 12 Insecurity on Software Chapter 12 Insecurity in software 1 S/W Reverse Engineering Digital Rights Management Software Development

Upload: euclid

Post on 05-Jan-2016

44 views

Category:

Documents


10 download

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 Presentation

TRANSCRIPT

Page 1: Chapter 12 Insecurity on Software

Chapter 12Insecurity on

Software

Chapter 12 Insecurity in software 1

S/W Reverse Engineering

Digital Rights Management

Software Development

Page 2: Chapter 12 Insecurity on Software

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

Page 3: Chapter 12 Insecurity on Software

What is DRM?

DRM 은 디지텔 컨텐츠에 대해서 원격 제어를 제공하는 시도

“Remote control” problem 디지털 컨텐츠의 분배 Distribute digital content 분배 후에 사용에 대해서 원격으로 제어

예 E-book Digital music/video! Streming audio/video

Chapter 12 Insecurity in software 3

Page 4: Chapter 12 Insecurity on Software

지속적인 보호

“ 지속적인 보호” 는 DRM 의 근본적인 문제 분배 ( 판매 ) 된 후에 어떻게 컨텐츠의 사용을

제한하는가 ? 그러한 제한의 예

복사 방지 일정한 범위에서만 사용 시간 제한 포워딩 금지 , 등등 .

Chapter 12 Insecurity in software 4

Page 5: Chapter 12 Insecurity on 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 5

Page 6: Chapter 12 Insecurity on Software

암호화가 해결책인가 ?–1/2

공격자의 목표는 key 를 찾는 것 DRM 시나리오에서는 , 공격자는 박스 안의 모든

것을 갖고 있다 . 암호화는 이런 목적으로 만든 것은 아니다 !

Chapter 12 Insecurity in software 6

Page 7: Chapter 12 Insecurity on Software

암호화가 해결책인가 ?–2/2

하지만 암호화는 필요 비트의 안전한 전송을 위해 사소한 공격을 막기 위해

그러면 공격자는 암호화를 직접 공격하지는 않을 것이다 .

공격자는 소프트웨어에 숨어 있는 키를 찾으려 할 것이다 . DRM 은 결국 “ 숨박꼭질” 의 문제가 된다 !

Chapter 12 Insecurity in software 7

Page 8: Chapter 12 Insecurity on Software

실제 DRM SystemPDF 문서에서의 DRM

Chapter 12 Insecurity in software 8

Page 9: Chapter 12 Insecurity on Software

DRM for PDF Documents

MediaSnap, Inc., 실리콘 밸리의 조그만 밴처 회사

DRM 시스템을 개발 PDF 문서를 보호하기 위해 설계

시스템의 두 개의 구성 요소 Server Secure Document Server (SDS) Client PDF Reader “plugin” software

Chapter 12 Insecurity in software 9

Page 10: Chapter 12 Insecurity on Software

문서의 보호

Chapter 12 Insecurity in software

SDS BobAlice

encrypt

persistentprotection

Alice 는 PDF 문서를 제작 문서는 암호화되어 SDS 에 전송 SDS 는“ 지속적인 보호” 를 위한 기능 부여 문서는 Bob 에게 배분

10

Page 11: Chapter 12 Insecurity on Software

문서의 접근

Chapter 12 Insecurity in software

key

Request key

Bob 은 SDS 에 자신을 인증 Bob 은 SDS 에 key 를 요구 Bob 은 문서에 접근 , 그러나 특별한 DRM

소프트웨어를 통해서만 가능

SDS BobAlice

11

Page 12: Chapter 12 Insecurity on Software

보안의 문제

Server 쪽 (SDS) Key 의 보호 , 사용자 인증 등 . 지속적의 보호 기능 부여

Client 쪽 (PDF plugin) Key 의 보호 , 사용자 인증 등 . 지속적인 보호의 수행

결국 문제는 client 쪽에 있다 .

Chapter 12 Insecurity in software 12

Page 13: Chapter 12 Insecurity on Software

보안 개요 (client 쪽 )

Chapter 12 Insecurity in software

Obfuscation

Tamper-resistance

A tamper-resistant: 외부 Software obfuscation: 내부

13

Page 14: Chapter 12 Insecurity on 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 14

Page 15: Chapter 12 Insecurity on Software

보안을 위해 구현되지 않은 부분

MediaSnap DRM system 은 거의 모든 S/W 보호 기술을 적용

그러나 Code “fragilization” (guard) 는 적용 못함 그것은 암호화 실행 코드와 호환되지 않음

신뢰할 수 없는 OS 어떻게 “ bad” OS 를 보호할 수 있는가 ? 어려운 문제 !

Chapter 12 Insecurity in software 15

Page 16: Chapter 12 Insecurity on Software

실제 DRM SystemStreaming Media 를 위한

DRM

Chapter 12 Insecurity in software 16

Page 17: Chapter 12 Insecurity on Software

특징 Scrambling algorithms

Encryption-like algorithms 많은 algorithm 이 가능 metamorphism!

scrambling algorithm 의 협상 Server 와 client 는 어떤 알고리즘을 사용할 지

알아야 한다 . 수신자는 복호화 디바이스 드라이버는 De-scrambling

재생하기 전에 De-scramble

Chapter 12 Insecurity in software 17

Page 18: Chapter 12 Insecurity on Software

Scrambling Algorithms

서버는 여러가지 scrambling algorithms 을 갖고 있다 . 예를 들어 , 1 에서 N

각 클라이언트는 다음의 알고리즘을 사용 가능 예 : LIST = {12,45,2,37,23,31}

LIST 는 클라이언트가 보관 , 서버의 키로 암호화 : E(LIST,Kserver)

Chapter 12 Insecurity in software 18

Page 19: Chapter 12 Insecurity on Software

Server-side Scrambling

서버 쪽

Chapter 12 Insecurity in software

datascrambled

dataencrypted

scrambled data

Server 는 client 가 지원 가능한 알고리즘으로 scramble

Client 는 알고리즘 list 를 서버에 보낸 Server 는 client 에게 선택한 알고리즘이

무엇인지 알려줌

19

Page 20: Chapter 12 Insecurity on Software

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

Page 21: Chapter 12 Insecurity on Software

P2P 에서의 DRM

Chapter 12 Insecurity in software 21

Page 22: Chapter 12 Insecurity on Software

P2P 응용에서의 DRM

오늘날 많은 디지털 컨텐츠가 peer-to-peer (P2P) 망을 통해 분배

P2P 망을 통해 분배되는 컨텐츠를 정상적으로 구매하게 할 수 없을까 ?

한가지 방법은 peer offering service (POS)

Chapter 12 Insecurity in software 22

Page 23: Chapter 12 Insecurity on Software

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

Page 24: Chapter 12 Insecurity on Software

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

Page 25: Chapter 12 Insecurity on Software

POS

Bill, Ben 과 Joe 는 Alice 에게 다른 사람과 똑 같이 보여야 한다 .

만약 Alice 가 POS 에 응답을 하면 DRM 보호 ( 합법적인 ) 컨텐츠가 다운로드 그러면 소정의 금액을 지불하고 재생

만약 Alice 가 사용을 거부하면 그러면 Alice 는 다른 free PC 를 찾아서

다운로드해야 한다 . 이러한 수고가 그만한 가치가 있을까 ?

Chapter 12 Insecurity in software 25

Page 26: Chapter 12 Insecurity on Software

DRM 결론

DRM 은 소프트웨어 보안에 있어서 한계를 잘 보여줌

소프트웨어는 적대적 환경에서 공격에 대단히 취약

보호를 위한 선택의 여지는 극히 제한적 공격자는 대단히 유리한 위치에 있음 Tamper-resistant hardware 와 trusted

OS 는 상황을 바꿀 수 있을 것이다 .

Chapter 12 Insecurity in software 26