What is DRM? Jin Seo Park.

Slides:



Advertisements
Similar presentations
Data Communication/Computer Network 관련 교과목의 내용
Advertisements

2012 년 9 월 20 일 ( 목 ) 5 교시 연상퀴즈 하지원 영상 유출 영 화영 화 140 억 손해 저작권 침해.
YOUR LOGO SmartBox Final Presentation Hit & Run 팀 하권용 심유섭 이유진 방대근 담당교수님 : 정인환 교수님.
불특정 공격에 무너진 H 사 업무 시스템 서서히 저하 내부에서 원인 불명으로 네트워크의 속도가 서서히 저하 되는 현상이 발생 공격의 발생 핵심 장 비 서비스가 되다 되지 않는 현상이 심해지고 결국 핵심 장 비는 장애가 발생하게 됨 장비 장애 발생 핵심 장비 장애 전체.
Naxos Music Library 스마트폰 이용방법 안드로이드 마켓 / 아이폰 엡스토어를 이용하여 NML 또는 Naxos Music Library 검색 및 다운로드. ID/ 비밀번호로 접속 1. 학생 ID/ 비밀번호 - KNUA01 // KNUA01 → 기존 음악목록과.
HTTPS Packet Capture Tutorial
Changing nature of the music industry -I river and Ipod
컴퓨터와 인터넷.
컴퓨터 운영체제의 역사 손용범.
캡스톤 디자인 이해경 조나라.
관광 스마트 북 발행 제안 OSMD( One Source Multi Device ).
Based on silverlight. Contents  RIA  Content Delivery Techniques  Smooth Streaming  Smooth Streaming 지원하는 파일  Smooth Streaming 의 세부 방식.
인터넷의활용.
1. 신뢰할 수 있는 싸이트 등록 인터넷 익스플로러 실행 후 실행
피티라인 파워포인트 템플릿.
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
멀티미디어 기본+활용 제대로 배우기.
DRM 송호준.
스크립트 SWF 파일 Exploit Drive by Download 분석.
Chapter05 오디오와 비디오 HTML5 Programming.
SSL (Secure Sockets Layers Protocol)
11장 키보드 인터페이스 Slide 1 (of 9).
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
FTP 프로그램 채계화 박재은 박수민.
정보화 사회와 컴퓨터 보안.
멀티미디어 시스템 (아날로그 이미지,신호를 디지털로 변환 방법) 이름 : 김대진 학번 :
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
S-Link 사용자 매뉴얼.
멀티미디어.
OMA DRM 2.0을 적용한 경량화된 DRM 서비스 구현
제 1장. 멀티미디어 시스템 개요.
CHAP 12. 리소스와 보안.
P2P시스템에 대해서 (peer to peer)
Transmission & Analysis
UpToDate® Anywhere(UTDA)
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
소규모 IPTV 사업자용 실시간 미디어 플랫폼 기술
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
정보화 사회의 실생활 사례 컴퓨터개론 과제 모바일 인터넷과 차성오.
Wi-Fi 취약점 분석 본 프로젝트는 Wi-Fi 환경에서의 취약점 분석을 위한 프로젝트로 다양한 공격방법을 테스트
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
16 장 네트워크 보안 : 방화벽과 VPN 16.1 개요 16.2 기밀성 16.3 전자 서명 16.4 인터넷 보안
KERBEROS.
ARM Development Suite v1.2
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
스마트폰을 이용한 조명제어 ㈜ 성림 M&C
S-Work 2.0 DRM 신규 버전 설치 가이드 SOFTCAMP
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
Canary value 스택 가드(Stack Guard).
“ Presenworks by workerplex
포털의 저작권보호 및 개선방안 한국음악저작권협회.
네이버 CCL 도입 현황 및 계획 서비스정책센터 최인혁.
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
웹 애플리케이션 보안 Trend 인포섹㈜ 신수정 상무
셀프 프로그래밍으로 쓰기 셀프 프로그래밍이란? 프린트포트의 ISP 모듈을 사용하지 않음 부트로더에 의한 펌웨어 다운로드
UpToDate® Anywhere(UTDA)
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
학부 컴퓨터공학부 교육과정 (학부) 2학년 4학년 3학년 1학년 1학기 2학기 IPP 자격과정 전공트랙
1. 지역변수와 전역변수 2. auto, register 3. static,extern 4. 도움말 사용법
CCIT 네트워크 발표 정보보호학과 평문 사이트와 SSL 사이트, SSL strip과 데이터 변조를 이용한 로그인 취약점
CHAP 15. 데이터 스토리지.
피티라인 파워포인트 템플릿.
8주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
펌웨어(S/W) Upgrade 방법 Samsung Kies3
플래시MX2004 디자인스쿨 Chapter 11. 플래시와 사운드.
ARP.
SafeMSR 설정.
XSS 취약점을 이용한 웹메일 해킹
Presentation transcript:

What is DRM? Jin Seo Park

WHAT Is protecting content?

What is protecting content? 01 What is protecting content? DRM Digital Right Management의 약자 콘텐츠 유통 전 환경에서의 콘텐츠의 저작권 보호/관리 서비스 회사내 문서 보안에도 사용된다 What is DRM?

What is protecting content? 01 What is protecting content? Different content, different methods Copyright protection Online music, Video On Demand… Control external to the content Software protection 비디오 게임등을 보호 소프트웨어를 보호. What is protected?

What is protecting content? 01 What is protecting content? 어떻게 콘텐츠가 악의적으로 사용되지 않도록 막을 수 있을까? How to protect? Problems Computer : 물리적인 보안 모듈이 없다. Attacker : 공격자가 원하는 환경에서 실행 가능

What is protecting content? 01 DRM이 생기게 된 배경 CD와 DVD의 사용과 함께 DRM의 등장 디지털 시장의 성장과 함께 DRM 시장 성장 DRM Free에 따른 DRM 시장 축소 What is protecting content? What is protected?

What is protecting content? 01 What is protecting content? 국내 DRM 현황 기업 부분 기업 내에서 생산되고 유통되는 전자 문서의 불법 유출을 방지하고 권한 통제 및 사용 내열을 추적 디지털 콘텐츠 부분 온라인 음악, 동영상 등 디지털화된 멀티 미디어 제작물의 불법 유통을 막고 합법적인 콘텐츠 유통을 지원 Current Status of DRM

What is protecting content? 01 What is protecting content? DRM의 여러 종류들 Cryptographic DRM DVD CSS Hardware-based DRM Copy-protection dongles HDCP Streaming DRM PlayReady RTMPE Kind of DRM 이 다음으로는 현재 존재 하는 여러 DRM에 대해서 알아 보겠습니다.

What is protecting content? 01 What is protecting content? Cryptographic DRM DVD CSS Kind of DRM

What is protecting content? 01 What is protecting content? Kind of DRM DVD CSS (Content Scrambling System) CSS는 불법적인 DVD 복사로 부터 막기 위한 데이터 암호화 및 인증 방법이다. 지금은 많이 사용되지 않는다.

What is protecting content? 01 What is protecting content? Player Key Kind of DRM Decrypt Disk Key Disc Key Disk Key Title Key Scramble Video Data Title Key Scramble Video Data Decrypt Disk Key Title Key Decrypt Disk Key <DVD> Video Output

What is protecting content? 01 What is protecting content? Kind of DRM Jon Lech Johansen에 의해 CSS가 깨짐

What is protecting content? 01 What is protecting content? Kind of DRM <Decss code>

What is protecting content? 01 What is protecting content? Hardware-based DRM Copy-protection dongles HDCP Kind of DRM

What is protecting content? 01 What is protecting content? Kind of DRM Copy-protection dongles 특정 프로그램의 복사나 실행 시 인가된 사용자만이 사용할 수 있도록 보안키 나 ID를 저장한 장치 이러한 동글이 없으면 소프트웨어는 제한된 모드에서만 실행되거나 아예 실행조차 하지 못한다.

What is protecting content? 01 HDCP 디지털 신호를 송수신하는 경로에서 콘텐츠를 암호화하여 전송하는 기술 즉, 컴퓨터 밖에서 복호화가 이루어진다. What is protecting content? Kind of DRM

What is protecting content? 01 What is protecting content? Kind of DRM

What is protecting content? 01 What is protecting content? Kind of DRM

What is protecting content? 01 What is protecting content? HDCPv1의 MasterKey가 이미 유출 되었다!!! Kind of DRM

What is protecting content? 01 What is protecting content? What is DRM?

What is protecting content? 01 What is protecting content? Streaming DRM PlayReady Spotify 스마트폰 스트리밍 서비스 What is DRM?

What is protecting content? 01 What is protecting content? What is DRM? Spotify 미국 메이저 음반사의 음악을 스트리밍 지원해주는 서비스 이다. 서버기반의 스트리밍과 리스너들간에 대한 피어투피어 기술을 사용

What is protecting content? 01 What is protecting content? What is DRM? Spotify 로컬 영역에 캐시로 저장된 음원 파일 추출 로컬 영역에 암호화 되어 저장 된다

What is protecting content? 01 What is protecting content? Audio driver Music App What is DRM? Hooking App Hardware Level에서 복호화된 음원을 추출한다

What is protecting content? 01 What is protecting content? Smart phone music 스마트폰 스트리밍 서비스 스마트폰 스트리밍 음원 서비스 여러 가지 문제점들이 존재한다.

What is protecting content? 01 스마트폰 음원 서비스의 여러 가지 문제점 사용자 인증 우회 취약점 사용자 미인증 취약점 파일 다운로드 과정에서의 음원 추출 취약점 What is protecting content? Attack Smartphone Service

What is protecting content? 01 사용자 인증 우회 취약점 비 로그인 사용자가 보내는 데이터 중에서 사용자의 아이디가 보내지는 부분을 변경하여 인증을 우회 미인증 사용자도 음원 서비스를 이용할 수 있다. What is protecting content? Attack Smartphone Service 미인증 사용자 스트리밍 서비스 접근

하지만 현재 대부분의 서비스 들이 이 취약점을 개선 하였다!!! Step 1 : 사용자가 듣고 싶은 음악을 선택하면, 어플리케이션은 재생하고자 하는 음원 정보와 사용자의 로그인 정보를 uid 변수에 전송한다. Step 2 : 서버는 uid 변수값을 이용하여 사용자의 로그인 정보를 확인하고, 스트리밍 서비스에 가입하지 않은 사용자인 경우 1분 미리 듣기 음원 파일, 가입한 사용자인 경우 음원 전체 파일을 다운로드 받을 수 있는 주소를 반환 한다. Step 3 : 어플리케이션은 반환받은 주소를 통해 음원을 다운로드 받아서 음원을 재생한다. 하지만 현재 대부분의 서비스 들이 이 취약점을 개선 하였다!!!

What is protecting content? 01 사용자 미인증 취약점 스트리밍 서비스에 가입한 사용자는 스트리밍 서비스만을 사용 가능해야 하지만 음원을 획득할 수 있다. 음원 전체 파일을 다운로드 받은 뒤 어플리케이션에서 이를 제어하기 때문이다. What is protecting content? Attack Smartphone Service 로컬 영역 저장이 불가능해야 한다

Step 1 : 사용자가 재생하고자 하는 음원의 가사 정보를 요청하여 받는다. Step 2 : 사용자 인증정보와 음원 정보를 전송하여, 음원을 다운로드 받을 수 있는 주소를 받는다. 이때, 사용자 인증 정보는 HTTP 헤더에서 Cookie로 전송한다. Step 3 : 수신한 주소를 통하여 음원을 다운로드 받는다.

Other way To protect content

Other way to protect content? 02 워터 마킹이란? 원래 워터마크라는 용어는 지폐 제작과정에서 유래되었다 젖어있는 상태에서 그림을 넣는 기술을 워터마크라 부른다  Other way to protect content? Protect by watermarking

Other way to protect content? 02 Other way to protect content? 디지털 워터 마킹 디지털 데이터에 저작권 정보와 같은 정보를 삽입하여 관리하는 기술을 말한다. Protect by watermarking + = 원본영상 워터마크가 삽입된 영상 워터마크

Other way to protect content? 02 Other way to protect content? 워터 마크를 통한 콘텐츠 관리 소유권 증명(Ownership Protection) 디지털 데이터 내의 자작자에 관헌 정보를 삽입 저작권 보호 및 주장 가증 소유자 확인(Fingerprinting) 디지털 데이터 내에 사용자에 관한 정보를 삽입 불법 유통자, 복사자의 추적 가능 불법 복제의 원천지를 추적하기 위해 사용 컨텐츠 인증 DVR(Digital Video Recoder) 시스템 Protect by watermarking

Other way to protect content? 02 디지털 워터 마킹의 종류 공간 영역에 삽입을 하는 Watermark 주파수 영역에 삽입을 하는 Watermark Other way to protect content? Protect by watermarking

Other way to protect content? 02 Other way to protect content? Protect by watermarking

Other way to protect content? 02 Other way to protect content? Protect by watermarking

Other way to protect content? 02 Other way to protect content? 워터마킹 공격 워터마크가 삽입되어 있는 디지털 콘텐츠에 변형을 가해서 삽입된 워터마크가 검출되지 않도록 하는 것 Protect by watermarking + 워터마킹 공격 워터마크가 삽입된 영상 워터마크가 변형된 영상 변형된 워터마크

Other way to protect content? 02 Other way to protect content? 워터마킹 공격 종류 제거 공격 (Removal attack) 비동기화 공격 (Desynchronization attack) 암호 공격 (Cryptographic attack) 프로토콜 공격 (Protocol attack) Protect by watermarking

Other way to protect content? 02 제거 공격 (Removal attack) 가장 확실한 공격 방법이다. 콘텐츠에서 워터마크의 정확한 위치를 알 때 해당 워터 마크를 제거 Other way to protect content? Protect by watermarking

Other way to protect content? 02 비동기화 공격 (Desynchronization attack) 워터마크가 삽입되어 있는 이미지 / 동영상에 변형을 가하여 워터마크를 검출하지 못하게 하는 방법 대표적으로 RST 공격 (기하학적 변형 공격)이 있다. Other way to protect content? Protect by watermarking

Other way to protect content? 02 Other way to protect content? Protect by Obscurity Security through obscurity 코드 난독화 (Obfuscating code) 키 보호 (Protecting secrets) 메모리 분석 보호 (Preventing memory analysis)

Other way to protect content? 02 Other way to protect content? Protect by Obscurity 코드 난독화 프로그램들의 내부 동작을 은폐 할 필요가 있을 때 사용 복호화 키를 다루는 부분과 같은 민감한 부분을 난독화 시킨다.

Other way to protect content? Step 1 : unprotected function Int f (int x) { return 16 * x + 16 ; } 02 Other way to protect content? Protect by Obscurity Step 2 : addition / subtraction int f (int x) { return 129441535 - (-16*x + (129441535 - 16)); } Step 3 : expansion int f (int x) { return 129441535 - 1793574399 * (-16 * x * 3488889343 + 129441535 * 3488889343 – 16 * 3488889343) ; }

Other way to protect content? 02 Other way to protect content? Protect by Obscurity

Other way to protect content? 02 Other way to protect content? Protect by Obscurity

Other way to protect content? 02 Other way to protect content? 중요 정보 보호(Protecting secrets) An attacker : 프로그램의 임의로 조작 할 수 있다. 즉 키(Key)와 데이터(Data)가 쉽게 조작이 가능하다. How to protect the keys / the secrets ? Hide them in the code Protect by Obscurity

Other way to protect content? 02 Other way to protect content? Protect by Obscurity White-box encryption 암호화 키에 대한 유추를 방지하기 위해 암호화 키 정보를 소프트웨어로 구현된 암호화 알고리즘에 섞는 방법 공격자가 알고리즘 내부 동작을 분석하더라도 암호화 키를 쉽게 유추할 수 없도록 하는 기술

Way to Break DRM

03 Loop 메모리에 복호화된 콘텐츠 추출 Way to break DRM 메모리에 복호화된 콘텐츠 추출 “Steal Tis Movie”라는 논문에서 소개 되었던 방법 암호화된 컨텐츠가 복호화 과정에서 메모리에 저장된다는 것을 이용 Encrypted Content Decryption Loop

BBL Unused <code> BBL <BBL Stack>

03 Way to break DRM loop Unused

03 <Memory> Way to break DRM Entropy : high high Buffer Unused <Memory> Way to break DRM Entropy : high high Randomness : high high Entropy : high high Randomness : high low Entropy : high low Randomness : low low

03 <Memory> Way to break DRM Decrypted Content Buffer Unused Decrypted Content <Memory> Way to break DRM Entropy : high high Randomness : high low

Q & A

THANK YOU