본문 바로가기
프로젝트/연합 세미나

[논문요약] 「웹 브라우저 캐시 재조립을 통한 온라인 스트리밍 서비스 상의 저작권 침해 가능성에 관한 연구」 요약

by 녤 2022. 8. 5.

논문 출처: 임이랑, 정현지, 이상진.(2020).웹 브라우저 캐시 재조립을 통한 온라인 스트리밍 서비스 상의 저작권 침해 가능성에 관한 연구.정보보호학회논문지,30(4),559-572.

2.2 전송방식에 따른 분류 요약

: 스트리밍 서비스의 동작 방식은 저마다 다르게 운영되며 대표적인 동작 방식은 3가지 이다.

1) Progressive Download

: 시청자가 영상을 요청하면, 웹 서버로부터 바로 다운로드를 진행. 파일 전체가 도착하기 전에 일부 도착한 파일들을 즉시 재생하게 하므로 스트리밍과 유사한 형태. YouTube나 CNN 서비스가 여기에 해당

2) RTP(Real Time Protocol) Streaming

: 실시간으로 데이터를 전송하는 방식, 서버에 서로 다른 bit-rate로 인코딩한 여러 비디오 파일을 저장. 작은 프레임으로 분리되어 있으며, 분리된 비디오 파일 덕분에 화질 교체가 가능. 시청자가 영상을 요청할 경우, 처음부터 기다리지 않고 시청자가 원하는 부분 영상시청이 가능. 여러 개로 분리된 프레임에서 시청하고자 하는 부분에 근접한 프레임을 보냄으로써 빠르게 시청할 수 있도록 함. VOD 서비스, 생중계 방송이 여기에 해당

3) Adaptive Bit Rate Streaming

: 서버에 서로 다른 bit-rate로 인코딩한 3~4개의 비디오 파일을 저장, 작은 조각 단위로 영상을 저장. 해당 영상 시청시, 조각된 영상들을 연속적으로 붙여서 플레이. 사용자 대역폭 환경으로 스스로 인지하여 그에 맞는 스트리밍을 자동으로 전송. 스스로 대역폭 환경을 인지하여 영상을 끊김 없이 스트리밍해주는 방식. HLS, HDS, SSS, YouTube에서 활용 중

이러한 스트리밍 동작 방식은 네트워크 속도를 고려하여 작동, 작은 조각으로 나뉜 압축 파일을 서버에 저장함. 이를 클라이언트 측으로보낼 때는 조각 파일이 이어질 수 있도록 앞과 뒤 파일에 대한 정보를 함께 전송. 이러한 조각 파일은 재조립을 통해 영상복원이 가능함.

스트리밍 서비스에서 제공하는 동영상마다 다른 미디어 컨테이너 포맷의 형태로 제공

*컨테이너 포맷: 컴퓨터가 주어진 어느 데이터의 형태가 무엇으로 구성되어 있으며 어떤 프로그램과 연결해 실행시킬 것인지 판단할 수 있게 해 주는 메타 정보 포맷

 

https://terms.naver.com/entry.naver?docId=3340389&cid=58161&categoryId=58161

 

컨테이너 포맷은 영상 제공자가 어떤 인코딩 방식을 사용했는지에 따라 달라짐.

2.2.1 MPEG-4(mp4, m4s)

: 영상 및 음성 디지털 데이털 변환하여 저장하는 규칙, 저속회선에서 사용할 수 있도록 한 고압축용 동영상 압축 표준. 초저속에서 초고속에 이르는 광범위한 응용에도 적용할 수 있음. 대다수 스트리밍 서비스에서 해당 컨테이너 포맷을 사용.

2.2.2 Webm/Weba

: 개방형 고화질 영상 압축 형식의 영상 포맷, 구글에서 개발. 오직 웹상에서만 작동하는 동영상 코덱이므로 HTML5를 기반으로 동작. 유튜브 스트리밍 서비스에서 사용됨

2.2.3 TP/TS

: MPEG-2 시스템 표준에서 정의한 포맷, 복수의 프로그램을 하나의 비트열로 다중화 전송하여 디지털 TV 방송 등에 적합함. 분활된 파일로 존재하더라도 재생 가능

2.2.4 기타

: 그 외에도 mov, wmv, 3gp가 존재. mov는 퀵타임 멀티미디어 파일 포맷을 위한 파일 확장자로 애플이 개발한 멀티미디어 구조. wmv는 ms에서 개발한 인터넷상에서 멀티미디어 소스를 실시간 재생이 가능한 스트리밍용 오디오/비디오 파일 포맷 및 플레이어. 3gp는 3세대 휴대전화기에 사용하도록 만들어진 멀티미디어 형식

2.3 시청자 측면에서의 동작원리 요약

: 제공자가 영상을 스트리밍 서버로 업로드할 경우, 서버에서는 영상을 작은 조각들로 저장. 시청자가 해당 영상을 요청할 경우 서버에서는 저장된 작은 조각들을 시청자 PC로 보냄. 이를 받는 시청자 PC에서는 받음과 동시에 압축을 풀어 재생. 이 과정에서 시청자 PC에 조각 데이터를 받았다는 흔적이 캐시 파일로 기록됨. (웹 서버에 존재하는 내용을 보기 위해서 시간이 많이 소비되기 때문에 이를 단축하기 위해 캐시 기능 사용) 온라인 스트리밍 서비스 이용 시에도 캐시 기능이 사용됨. 파일은 특정 경로에 저장됨.

3.1 실험 환경

: 운영체제는 윈도우10 pro(64-bit) 1809, 웹 브라우저는 Chrome(ver 78.0.3904.87) 64-bit

3.2 실험 방법 요약

: 타겟 스트리밍 서비스를 먼저 선정한 후, 타겟 스트리밍 서비스에서 시청한 영상이 캐시 파일에 존재하는지를 먼저 확인, 확인과정이 완료된 캐시 파일은 재조립 특징에 맞춰서 영상복원을 진행. 만일 재조립 과정 중 파일이 손실될 경우, 영상복원이 안 될 수 있음. 이런 경우 다시 캐시 파일을 분석하고 순서대로 나열되어 있는지를 확인.

step 1) chrome 캐시 저장 경로에 저장되어있던 캐시 파일 모두 삭제

step 2) 실험 환경 내에서 스트리밍 서비스에 업로드된 영상 재생

step 3) Nirsoft 사의 ChromeCacheView를 이용하여 chrome 캐시 저장 경로에 저장된 캐시 파일들을 추출

step 4) 추출한 조각난 형태의 캐시파일들을 HxD Hex editor를 이용하여 재조립 후 영상복원

* 서비스 별로 Step1~4를 과정을 반복하며 진행

3.3 실험결과

: 영상 스트리밍 및 라이브 스트리밍을 시청했을 때 캐시 파일이 남는 서비스가 다수 존재, 국내 서비스 대부분은 캐시 파일이 기록. 기로고딘 캐시를 재조립하면 영상복원이 가능함.

3.3.1 유료 컨텐츠

1) 교육방송

: 별도의 플레이어를 사용하는 사이트에서 유료영상을 구매한 후, 시청했을 때 별도의 플레이어가 작동되어 캐시 확인이 불가능.

orentc meida 사이트의 유료 영상을 웹브라우저에서 제공받아 시청하고, 시원스쿨 사이트 내에서 웹브라우저를 통해 제공하는 무료 영상을 시청하였을 때 영상 복원이 가능

2) 영화, 드라마

:왓챠 플레이, 티빙, 웨이브에서 영상 복원이 가능

3) 프리미엄권

: 유튜브 프리미엄 구매 후 시청한 영상은 복원이 가능했지만 유튜브에서 제공하는 유료 영화를 시청하고 생성된 캐시 파일은 재조립은 가능하였으나 재조립 영상이 재생되지는 않음

3.3.2 불법 사이트

2) 링크 사이트

: 링크 사이트의 각 서버에서 제공하는 영상별로 캐시 파일 형태가 다르게 기록됨. 특징을 살펴보면 먼저 일반 캐시 파일과 같이 특정 값을 차례대로 나열하여 복원할 수 있는 파일이 있고 순차적으로 나열해도 복원되지 않는 파일이 있다. 특정 값이 0번 부터 시작하는 캐시 파일이지만, MPEG의 헤더 부분이 존재하지 않는 것을 확인됨. 다시 캐시 파일을 수집하여 헤더 부분이 존재하는 캐시를 분석하였고, init.mp4 파일이 헤더 부분임을 확인. 헤더 파일을 앞부분에 붙이면 영상 파일이 복원됨. 그 외에 PNG 파일 형태인 영상 파일이 존재. 그러나 앞부분의 PNG 영역을 제거하면 영상 파일로 복원 가능

이를 통해 한 사이트에서도 다양한 캐시 파일을 남길 수 있고, 영상 파일처럼 보이지 않아도 영상 파일로 복원될 수 있음이 확인 됨.

4. 온라인 스트리밍 서비스 환경에서 저작권 침해 가능성 요약

: 온라인 스트리밍 서비스는 저작물의 저작권을 보호하기 위해 생겨난 서비스이지만 이를 오히려 악용하는 사례가 증가하고 있다. 기존에는 영상을 파일로 공유하여 다운로드 형태를 나타내고, 이를 다운로드한 흔적을 추적할 수 있었으나 스트리밍으로 시청하는 경우, 파일의 형태를 나타내지 않아 이를 시청했다는 사실을 확인하기가 어렵다. 영상녹화 뿐만이 아니라 논문에서 실험한 캐시 재조립을 통하여 영상복원이 가능하다는 점은 불법적인 방법으로 영상을 재생산하고, 재조립 순서를 파악하고 알고리즘을 설계하여 캐시들을 이어 붙이면 손쉽게 영상을 획득할 수 있다. 이렇게 재조립된 영상은 다른 곳으로 유통될 위험성이 존재하며, 녹화하는 방식과 다른 방법으로 불법 복제물이 생성될 수 있다.

5. 온라인 스트리밍 서비스의 저작권 보호를 위한 기술 제안 요약

: 기술적 제안은 크게 2가지로 나눌 수 있음

1) 캐시 파일의 저장을 막는 방법

: 캐세는 웹 서버에 재접속할 때, 웹 서버에 변경된 내용이 존재하는지를 확인. 이 작업은 저장된 캐시 파일과 비교하여 업로드를 진행. 이때 저장된 캐시 파일을 관리하는 역할은 Cache-control이 함. 이를 통해서 기록을 막을 수 있음

2) 워터마크를 삽입하여 추적하는 방안

* Cache-Control

: 캐시를 적용하려면 브라우저가 서버로 특정 리소스를 요청할 때, 해당 리소스에 대한 캐시를 적용해달라는 설정을 해줘야 함. 이게 Cache-Control. Cache-contorl은 HTTP 헤더로 들어감, 서버에 넣어주는 것이므로 서버 설정도 별도로 필요

no-cache
캐시 사용하기 전에 서버에서 검사를 받고 사용을 결정함을 의미
no-store
캐시를 사용하지 않음을 의미
public
모든 환경에서 캐시 사용이 가능함을 의미
private
브라우저 환경에서만 캐시 사용이 가능, 외부 서버 캐시는 사용불가라는 의미
max-age
캐시의 유효기간을 설정

 

5.1 Cache-Control 값 변경 요약

: No-store로 설정된 경우 캐시가 저장되지 않음.

5.2 디지털 워터마킹 삽입 요약

: 디지털 워터 마킹은 디지털 기기로 생성된 사진이나 영상에 사람의 눈으로 식별할 수 없는 정보를 삽입하는 기술을 의미. 삽입시 영상들을 프레임별로 나누어 프레임에 워터마킹을 삽입함. 이 때 프레임은 총 3가지로 나뉨

1) I-frame

: 다른 이미지를 참조하지 않음, 독립적. 영상 중 가장 첫번째 프레임이므로 영상을 복원할 때도 I-frame이 앞부분에 존재햐아 나머지 frame들도 복원할 수 있음

2) P-frame

:이전의 I-frame을 참조하여 영상에 차이가 나는 부분을 데이터로 저장. 움직임을 나타내는 frame

3) B-frame

: I-frame과 P-frame 사이에 있는 frame, 두 frame을 모두 참조하여 움직임을 저장한f frame

워터마킹기술에는 시간의 순서대로 웨이블릿 변환을 하여 워터마킹을 삽입하는 방법과 DCT 블록 사이의 에너지 차를 이용하여 워터마크를 삽입하는 방식이 존재.

1) 웨이블릿을 변환하여 워터마킹을 삽입하는 경우, 비디오의 장면들을 프레임별로 각각 나눈 다음각 프레임에서 시각적으로 유사하거나 같은 부분에 워터 마킹을 삽입

2) DCT 블록 사이의 에너지 차를 이용하여 워터마크를 삽입하는 경우 영상에서 I-frame만 획득한 후, 프레임마다 DCT 계산을 위해 n개의 블록으로 나누고 지그재그 스캔을 통해 각각의 에너지 차를 구해서 고주파 계수를 제거하고 워터마킹을 삽입. 영상 데이터에 실시간 삽입이 가능.

6. 결론 요약

: 현재 서비스되고 있는 스트리밍 서비스 중에 대다수 서비스가 캐시를 남기도록 설정되어 있고, 실제 캐시를 규칙에 맞게 재조립하여 영상을 복원할 수 있음. 캐시 재조립 기술은 저작권 침해에 악용될 가능성이 있는 동시에 디지털 포렌식 관점에서 온라인 스트리밍 서비스를 이용하여 불법 컨텐츠를 시청했다는 사실을 입증할 수 있는 증거를 확보하는데 도움을 줄 수 있다.