[논문 리뷰] 계층 구조 기반 메타버스 서비스 디지털 포렌식

2024. 2. 6. 11:11논문 리뷰/보안-디지털포렌식

*본 글의 모든 내용, 그림, 표 출처는 논문 원문에 있습니다.

https://www-dbpia-co-kr.libproxy.dankook.ac.kr/pdf/pdfView.do?nodeId=NODE11343538

[출처] 김동현, 오수빈, 손태식. (2023). 계층 구조 기반 메타버스 서비스 디지털 포렌식. 디지털포렌식연구, 17(1), 65-76.


메타버스(Metaverse)

-가상이나 초월을 의미하는 메타(Meta)와 현실 세계를 뜻하는 유니버스(Universe)를 합성한 단어로 현실을 초월한 가상 세계를 지칭

 메타버스는 사용자에게 현실감을 제공하기 위해 현실 세계의 다양한 요소들을 가상 세계로 옮겨오고 있다. 하지만 그에 따라 현실에서 발생하는 문제점이나 위협 또한 가상 세계로 이전되고 있다. (=위협의 동기화)

 본 논문에서는 보다 효율적인 메타버스 디지털 포렌식을 수행하기 위해 메타버스 서비스를 구성하는 구성 요소 전반을 계층화하고 이를 실제 서비스 분석에 적용한 사례를 설명함으로써 메타버스 디지털 포렌식 연구에 기여하고자 함. 또한 현존하는 메타버스 서비스를 기준으로 공통적으로 구성되는 계층 구조를 도출하고, 이에 기반한 디지털 포렌식 분석 기법을 제안함. 그리고 실제 메타버스 서비스를 대상으로 본 논문에서 제안한 분석 방법을 적용해봄으로써 본 연구의 효용성을 검증함.

메타버스 계층 구조

사용률 기준으로 상위권에 위치하는 메타버스 서비스들(Horizon Worlds, Roblox, VRChat, ZEPETO)을 기준으로 구조 및 구성요소 분석 진행

->별도의 설정이나 인증체계가 필요한 하드웨어 및 소프트웨어를 기준으로 삼아 하나의 계층으로 분류

=>최종적으로 도출한 계층 구조는 총 4개의 계층 (HMD 계층, 애플리케이션 계층, 플랫폼 계층, 클라우드 계층)으로 분류가 되었음

1) HMD 계층

HMD : Head-Mounted Display의 준말로 사용자가 메타버스에 접속해서 다른 사용자 및 구성요소와 상호작용을 할 때 머리에 착용하는 디스플레이형 기기

독단적(Standalone)으로 작용하는 경우 )

HMD 기기 내부에 운영체제가 탑재되어 다양한 애플리케이션의 실행 및 저장소로서의 역할을 수행할 수 있게 됨

ex) Meta Quest 2, Pico 4

의존적으로 작용하는 경우 )

다른 기기가 애플리케이션의 실행과 저장소로서의 역할을 수행하며 HMD는 그 내용을 사용자에게 보여주는 디스플레이로서만 동작

ex) Vive, Odyssey+

2) 애플리케이션 계층

애플리케이션 : 사용자가 메타버스 서비스에 접속하기 위해 보조하는 역할을 수행하는 프로그램들을 일컫음

ex) Valve 사의 SteamVR, Meta의 Meta Quest 등

3) 플랫폼 계층

플랫폼 : 사용자가 실제로 접속하여 활동하게 되는 메타버스 애플리케이션

ex) Meta의 Horizon Worlds, Roblox Corporation의 Roblox, VRChat Inc의 VRChat, NAVERs의 ZEPETO 등

4) 클라우드 계층

클라우드 : 메타버스 서비스를 구동함에 사용되는 서버나 저장소

*메타버스 서비스들은 사용자가 생산하는 컨텐츠가 주도하는 생태계를 가지고 있기 때문에, 이러한 데이터나 기능에 쉽게 접근할 수 있도록 SDK나 RESTful API를 제공함

*일부 메타버스 서비스는 성능과 개인정보 보호를 목적으로 사용자의 상세 행위에 대한 로그를 남기지 않는데, 만약 수집 분석 과정에서 유효한 사용자의 크리덴셜을 확보한다면 다른 분석 계층에서 확보하기 어려운 정보나 상세 행위 내역까지 획득 가능

계층 구조 기반의 메타버스 디지털 포렌식 분석

분석 대상 : Meta Quest 2

HMD 계층 분석

*Meta Quest 2의 HMD는 Android 운영체제를 탑재하고 있으며, 외부에 USB C타입 포트의 연결 지원

*개발자 모드를 통해서 USB 디버깅 모드를 사용하거나. 외부 저장소에 접근할 수 있는 기능 제공

=> 일반적인 Android 모바일 기기와 동일하게 PC에 연결할 시, ADB를 사용할 수 있으며 외부 저장소에 대해 데이터 획득 가능

사용된 사용 기기
사용자 ID
수면상태에 대한 로그

-"Android/data/com.oculus.shellenv/files" 폴더에 존재하는 "shellenv.log"에 HMD를 사용하는 과정에서 사용된 사용 기기, 사용자 ID와 수면 상태 (Hiberation)에 대한 로그 기록됨

-"Oculus/Screenshots" 폴더 내부의 "com.facebook.horizon-{TIMESTAMP}.jpg"에는 HMD를 이용하는 과정에서 사용자가 촬영한 스크린샷 파일들이 저장되는 공간임

->해당 아티팩트를 통해 사용자가 사용했던 화면을 일부 확인할 수 있으며, 파일 명의 타임스탬프 데이터를 통해서 사용자가 해당 화면을 촬영한 시점을 파악 가능

애플리케이션 계층 분석

-기기 내부 저장소에서 애플리케이션의 패키지 폴더 "/data/data/com.oculus.twilight" 내부에 존재하는 데이터를 추출하여 이에 대한 분석 수행

-"data/data/com.oculus.twilight/database" 경로에 존재하며 SQLite3 데이터베이스 포맷을 가지는 "prefs_db"에는 애플리케이션 빌드 및 업데이트와 관련된 정보, Meta Quest 애플리케이션을 사용하는 데 인증과 관련된 Meta의 사용자 ID와 액세스 토큰 등이 저장되어 있음

-"data/data/com.oculus.twilight/databases" 경로에 존재하며 SQLite3 데이터베이스 포맷을 가지는 "RKStorage"에는 애플리케이션과 연동하여 실제로 사용된 HMD기기 정보들이 포함

-HMD 기기에 대해서 최초로 연동된 시간. 마지막으로 연동된 시간, 기기 별로 부여된 시리얼 번호와 어떤 기기가 연동되어 있는지에 대한 상세 내역 포함

->본 데이터베이스 파일에서 확인 가능한 시리얼 번호와 연동에 사용된 기기의 정보인 <Figure 3>에 기록된 시리얼 번호와 일치하는 것을 확인 가능

-"data/data/com.oculus.twilight/files/messenger" 경로에 존재하는 SQLite3 데이터베이스 포맷을 가지는 "messenger.db"에는 애플리케이션을 통해서 다른 사용자와 메시지를 주고 받은 내용이 저장됨

-메시지는 하나의 스레드 단위로 관리 되며, 테이블의 내용들을 통해서 다른 사용자와 어떠한 내용을 주고받았는지에 대한 정보를 획득할 수 있음

플랫폼 계층 분석

-Horizon Worlds와 관련된 로그는 "Android/data/com.facebook.horizon/Horizon/Logs" 폴더에 존재

-"socialvr_{TIMESTAMP}.log"에는 Horizon Worlds를 사용하면서 발생하는 여러 이벤트에 대한 로그를 확인할 수 있음

-사용자가 Horizon Worlds에 최초로 접속한 시간과 사용자 ID 및 사용자 명 등의 정보를 확인할 수 있음

-Horizon Worlds는 내부에서 마이크(사용자에 의해서 송출 여부 결정 가능->마이크의 활성/비활성화에 대한 로그도 위와 같이 저장됨)를 통해서 다른 사용자들과 의사소통이 가능

-사용자가 존재하는 월드에 다른 사용자가 입장할 시, 어떠한 사용자 명과 ID를 가지고 있는지에 대한 정보가 포함되어 있는 로그

->본 로그에서는 "SirSimsalot"이라는 사용자가 해당 월드에 접속했음을 파악할 수 있음

Horizon Worlds 내에서 순간이동

-순간이동에 대한 로그가 남게 됨

-월드에 대한 ID 값이 로그에 같이 기록됨

-본 로그에서는 "The Vibe(18+ ONLY)"라는 월드로 이동하였음을 로그를 통해 파악 가능

클라우드 계층 분석

-Meta Quest 2는 Meta Quest 공식 홈페이지와 연동하여 사용자를 관리하고 관련 정보를 저장

-새로운 기기에서 메타버스 플랫폼에 접속하려 할 때, 연동된 계정을 통해서 클라우드에 저장된 정보를 다운 받고 이를 통해 기존의 기기에서 접속하던 것과 동일한 아바타로 메타버스 플랫폼에서 활동하게 됨

-기기에서 수집한 사용자 ID를 URL 패러미터로 사용하여 클라우드 서버에게 요청하게 되면 해당 사용자에 대한 정보를 획득 가능

-현재 제공하는 정보는 팔로잉과 사용자 명

->다른 계층에서 획득한 사용자 정보를 검증하거나 추가 정보를 획득하는데 이용 가능

결론

-사용자가 메타버스 서비스를 이용하기까지 경유하는 계층에 존재하는 아티팩트들을 분석해봄으로써 제안하는 분석 방법의 효용성을 검증할 수 있었음