Dork's port

Wavve(웨이브) HLS 프로토콜 분석 및 None DRM 콘텐츠 핑거프린트 (워터마킹)분석 -2 본문

DRM

Wavve(웨이브) HLS 프로토콜 분석 및 None DRM 콘텐츠 핑거프린트 (워터마킹)분석 -2

Dork94 2022. 1. 31. 13:00

2022.01.30 - [DRM] - Wavve(웨이브) HLS 프로토콜 분석 및 None DRM 콘텐츠 핑거프린트 분석 -1

이전 글에서 Wavve는 DRM이 적용되지 않은 미디어는 HLS 프로토콜을 이용 한다는 것과 실제 동영상의 데이터가 저장된 주소를 얻고, 그 주소에서 실제로 동영상 데이터가 응답으로 오는 것을 확인하였다.

그럼, 이번에는 그 주소를 통해 Wavve가 다운로드를 제공하지 않는 콘텐츠를 실제로 다운할 수 있는지, 다운이 된다면 핑거프린트가 적용되어 있는지 알아 보도록 하자.

다운로드가 되지 않는 동영상 중 하나인 검정고무신

그 예제로 검정고무신을 다운받아 보도록 하자. 직접 주소로 일일히 다운받아 영상을 합치기는 정성이 너무 많이 필요하므로 간단한 PoC를 작성해서 실제로 다운로드 해 보았다.

검정고무신 1기 2화 다운로드 시연

 

위의 동영상에서 보이는 바와 같이 웨이브가 정식적으로 다운로드를 지원하지 않는 영상에 대해서 다운로드가 가능함을 확인할 수 있었다. 

다운로드를 제공하지 않는 콘텐츠에는 웨이브측의 어떤 사정이 있다고 생각하는데, 프로토콜 분석을 통해 다운로드를 제공하지 않는 영상에 대해서도 다운로드가 가능한것은 문제의 소지가 있어보인다.

사실, 이런 콘텐츠(OTT, Music streaming)들을 분석하면서 느낀점은, 프로토콜 분석을 통해 대부분의 미디어를 (허용하지 않음에도)다운 받을 수 있었는데, 왜 이럴 수 밖에 없을까 곰곰히 고민해본 결과는 아무래도 모든 미디어를 암호화 하거나 핑거프린팅을 적용하는데에 비용적인 측면이 큰 것 같다. 

그럼, 다음 스탭으로 넘어가도록 하자.

다운로드가 가능함을 알았으니, 차선책으로 할 수 있는 것은 미디어에 핑거프린팅이 적용되어 만일 유출되었을 경우에 유출한 사용자를 특정할 수 있다면 책임을 물을 수 있다.

사실 핑거프린팅에 대해 어떤 기법이 있고 그를 어떻게 찾을 수 있는지 잘 모른다. 스테가노그래피등은 CTF의 문제에서 접해보긴 했지만, 잘 안다고 할 수는 없다. 

그럼 이 상태에서 내가 핑거프린팅이 적용되었는지 그렇지 않았는지 판단을 하기 위한 가설을 세워보았다.

가정

1. 핑거프린팅을 하기 위해서는 동영상 데이터에 사용자 정보(credential, User ID 등)를 은닉해야 한다.

2. 은닉이 되었다면 동영상 데이터에 미세하지만 변화가 있을 것이다.

3. 핑거프린팅이 적용 되었다면 같은 동영상에 대해 hash 값을 비교했을데 다른 hash 값을 가질 것 이다.

위의 가정에 따라 다운로드한 동영상에 대해 핑거프린팅이 적용 되었는지 테스트 해 볼것이며, 각각 다른 웨이브 계정으로 프로토콜 분석을 통해 마찬가지로 검정고무신을 다운로드 해 보았다.

각각 다른 계정을 이용해 다운로드한 None DRM 콘텐츠

그럼, 이 둘의 데이터가 정확히 일치하는지 hash 알고리즘을 통해 알아보았다.

두 파일의 MD5 결과

결과는 보는 바와 같이 같은 md5 결과 값을 가진다. 즉, 다른 계정을 통해 None DRM 콘텐츠를 다운로드 했음에도, 같은 데이터를 가지는 동영상 파일을 서버에서 제공하는 것을 알 수 있다.

md5는 확률이 극악이긴 하지만 collision문제가 있을 수 있다. 따라서, sha를 통해 한번더 검증해보았다.

두 파일의 sha 결과

모두 동일한 sha 값을 가지는 것을 보아 이정도면 두 파일은 데이터가 완벽히 같은 파일이라고 볼 수 있다. 

따라서, 내가 처음에 세운 가정에 의하면 프로토콜 분석으로 다운 동영상 파일은 핑거프린팅 기법이 적용되지 않는다.

만일 어떤 사용자가 동영상을 다운받고 유포하여 금전적 이득을 취하거나, 간접적으로 웨이브의 수익을 감소시키는 행위를 하더라도 웨이브측에서 대응할 방법이 없을 것 같다. 

그럼 마지막으로 처음에 언급한 목표를 다시보자

1. HLS 프로토콜 분석 - O

2. 다운로드가 불가능 한 콘텐츠의 다운로드 가능성 분석 - 다운로드가 불가능 한 콘텐츠 다운로드 가능

3. 다운로드 한 영상에 사용자의 정보(fingerprint)가 포함되어 콘텐츠가 유출되었을 경우 유출한 사람을 특정할 수 있는 가능성이 있는지 - 핑거프린팅 기법이 적용되어 있지 않아, 콘텐츠 유출시 책임추적성을 보장할 수 없음

다만, 핑거프린팅의 경우 단순히 가설을 세우고 검증했기 때문에 올바른 결과가 아닐 수도 있다. 그럼 포스팅 끝!

이상으로 포스팅을 마치도록 하겠습니다.

위의 내용에 대해서는 마찬가지로 취약점 제보를 통해 개선될 수 있도록 할 예정이며, 프로토콜 분석을 통해 다운로드하고 유포하는 경우 책임이 있을 수 있습니다. 이를 통해서 어떻게 취약점을 개선할 수 있고 개선할 때에 일어날 수 있는 문제점에 대해 고민해 볼 수 있는 시간을 갖을 수 있을 것 같습니다.

감사합니다 :)

 

 

 

Comments