2024 SWLUG/논문 분석

1. 메타버스 플랫폼 Roblox 포렌식을 통한 아티팩트 분석

un_plugged 2024. 5. 22. 14:10

최근 메타버스의 이용이 급증하면서 관련 범죄도 함께 증가하고 있음을 인지하고 있었다. 또한, 원래 포렌식이라는 기술에 관심을 가지고 있었기에 이러한 메타버스 범죄와 포렌식을 연관지은 논문을 살펴보던 중 직접 메타버스 플랫폼에서 메모리 포렌식을 통해 아티팩트를 분석하는 내용이 흥미를 끌었다. 이 논문을 통해 가상현실에서도 적용될 수 있는 포렌식 기술에 대해 공부하고 지식을 다차원적으로 확장하는 계기가 되었으면 좋겠다.

▶메타버스

  • 현실 세계가 가상공간과 결합하여 사회 전반의 활동과 생활이 가상공간에서도 구현. 증강현실과 가상 세계가 서로 연결되어 공통으로 공유하는 공간을 통해 몰입형, 실감형 체험을 제공한다.
  • 메타버스 내의 랜섬웨어 공격 등의 범죄↑ → 아티패트 분석을 통해 메타버스 시스템 내에서 디지털 증거로 활용 가능하다.
  • 아티팩트: 디지털 포렌식에서 운영체제나 어플리케이션을 사용하면서 자동으로 생성되는 흔적을 일컫는다. 이를 분석하여 응용프로그램의 실행 정보, 정보 유출 흔적을 파악할 수 있다.

Roblox

  • 대표적인 메타버스 게임 플랫폼 중 하나. 실시간 소셜 플랫폼 서비스, 클라우드컴퓨팅 및 협업 인프라 등 제공
  • 로벅스(Robux): 로블록스 내의 자체 화폐
  • 사용자가 직접 게임을 만들 수 있고 이를 다른 사람에게 배포할 수 있다.

▶메모리 분석

<메모리 분석으로 얻을 수 있는 것>

  • 실행 중인 작업, 네트워크 활동, 최근 수행한 명령어
  • 디스크 암호키, 인젝션 코드, 캐시에 저장되지 않는 웹 브라우징 기록

※인젝션: 유효하지 않은 데이터를 실행함으로써 야기되는 소프트웨어 버그의 부당한 사용

※캐시: 자주 사용하는 데이터나 값을 미리 복사해놓는 임시 장소

▶메모리 아티팩트 분석

Roblox의 경우 사용자별 User ID, 게임별 GaneID, 장소별 PlaceID 존재한다.

<Roblox의 메모리 덤프 파일을 통해 수집한 메모리 아티팩트>

① Local 사용자 정보: 계정명, User ID

② 타 사용자 정보: User ID

③ 게임 정보: Place ID, Game ID, 접속시간

※하나의 게임에 여러 place의 추가가 가능함

→ place마다 고유의 PlaceID가 배정됨 즉, 게임 내에서 장소 이동 시 PlaceID가 변경된다.

획득한 로컬 사용자 관련 아티팩트 정보는

UserID=40634063178088

PlaceID=189707

GameID=cle00ac7-000f-4ca8-8eef-859d53d15527 이다.

→ ① 해당 아티팩트를 통해 로컬 사용자의 UserID가 무엇인지, 어느 게임에 접속했으며 어떤 장소에 존재했는지에 대한 정보 파악

② UserID와 함께 확인 가능한 PlaceID를 바탕으로 동일한 PlaceID를 가진 UserID를 찾아내는 것도 가능

이 둘을 통해 범죄가 발생한 특정 시각에 해당 장소에 접속한 사용자를 추적하여 용의자 특정 가능하다!!

타 사용자들의 UserID와 PlaceID는 그림 2와 같다. UserID는 모두 다르지만 PlaceID는 189707로

모두 동일하다.

이를 바탕으로 용의자와 피해자가 같은 메타버스 내 공간에서 동일한 시간에 존재하였음을 입증할 수 있다!!

▶로그 분석

Roblox가 자체적으로 생성하는 로그는 C:\Users\User\AppData\Local\Roblox\logs 경로에 생성된다.

→ 분석 결과

① 로컬 사용자 정보: 계정명, UserID

② 게임 정보: PlaceID, GameID, 접속시간, 그 외의 서버의 IP 및 포트 번호

③ 타 사용자 정보: 게임 실행 시 같은 맴 상에 몇 명의 사용자가 존재하는지

확인 가능하다.

※메모리 덤프 파일: 플레이어의 인원수는 확인X, 타 사용자들의 UserID O

로그 파일: 타 사용자들의 UserID X, 플레이어의 인원수는 확인 O

로그 분석을 통해 수집한 로컬 사용자의 UserID와 계정명, 접속한 GameID, PlaceID와 추가적인 연결 정보

해당 게임에 접속한 사용자 수

⇒ ① 이를 그림 2와 연결해보면, , 로컬 사용자의 PlaceID와 타 사용자의 PlaceID가 동일하게 189707임을

알 수 있다. 즉, 로컬 사용자와 타 사용자들이같은 공간에 존재했음을 확인할 수 있다!!

② CoreScriptLocalization.xls 파일(Roblox 내에서 제공해줌): Key와 Context를 명시해 사용자가 어떤 행동을 하는지, 무엇을 시도하였는지를 심층적으로 파악하는 데 도움을 준다!!

텔레포트, 친구 추가, 채팅, 손 흔들기 등의 사용자의 행위 정보

▶Roblox 아티팩트 활용 시나리오

1. 사용자의 아바타에 직접 피해를 주는 시나리오

UserID 및 PlaceID를 이용하여 피해자인 로컬 사용자와 동일 시각에 동일한 PlaceID를 가진 UserID를 찾아냄으로써 점죄 발생 시각에 동일한 장소에 존재하였는지 여부 판단할 수 있다.

2. 채팅, 게시물 등 게임 내 콘텐츠를 이용하여 피해를 입히는 시나리오

거래사기 범죄에 활용 가능

: 거래 당사자에 해당하는 사용자의 UserID와 거래가 이루어진 장소의 PlaceID를 확인하여 일치하는 범죄 용의자를 특정할 수 있다.

▶여러 다양한 메타버스 범죄 유형

  • 랜섬웨어 공격: 사용자가 게임을 만들어 배포 시 랜섬웨어를 심어 유포하여 로벅스(Roblox의 자체 화폐) 요구
  • 라이센스 계약 없이 가상 음악 재생 장치를 통한 저작권 침해
  • 성범죄
  • 산업기밀 유출 가능성 증가
  • 아바타 사칭 범죄

▶배운점 및 느낀점

가상공간인 메타버스에서의 범죄를 해결할 수 있는 포렌식 기술을 배울 수 있었다. 아티팩트, 로그 분석 등 생소한 용어들이 많았는데 논문을 분석하면서 하나씩 알아간 것 같아서 뿌듯하다. 특히, 메모리 아티팩트 분석하는 부분이 인상적이었다. 기회가 된다면 디지털 포렌식에서의 메모리 분석을 좀 더 자세히 공부해보고 싶다. 최근 보안 이슈와 연결지어 관련 지식을 얻을 수 있는 좋은 기회였다.