게임 산업은 지속적으로 성장하고 있다. 한국콘텐츠진흥원에서 발간한 2020 대한민국 게임백서에 따르면 2020년 국내 게임 시장의 규모는 2019년 대비 9.2% 정도 상승한 약 17조 93억 원에 달하며 2022년에는 약 20조 원에 달할 것으로 전망된다.1 게임과 관련된 국내 게임 시장뿐만 아니라 세계 게임 시장의 규모 또한 큰 폭으로 성정하고 있다. 시장조사기관인 뉴주(Newzoo)에 따르면 2021년에는 1758억 달러(약 200조 원)에 달하며 2024년에는 2187억 달러(약 259조 원)에 달할 것으로 전망된다.2
게임은 표준 라이브러리와 DirectX, OpenGL, Vulkan와 같은 그래픽 라이브러리만 가지고 개발하기에는 복잡하며 생산성이 떨어진다. 그렇기 때문에 대다수의 게임 개발자는 게임을 개발하는데 반드시 필요한 기능인 그래픽 엔진, 물리 엔진, 오디오 엔진, UI 시스템, 각종 프레임워크, 네트워크 통신등을 지원하는 게임 엔진을 사용하여 게임을 개발한다.
같은 게임 엔진을 사용하여 개발된 게임들은 모두 같은 코드베이스를 공유한다고 볼 수 있다. 게임 엔진의 취약점은 해당 게임 엔진을 사용하는 모든 게임에 적용될 수 있으며 특정 게임에만 국한되는 특정 게임에만 국한되는 게임핵에 비해 파급력이 크다고 볼 수 있다. 또한, 게임 엔진을 업데이트하기 어려운 게임의 특성상 게임 엔진의 취약점은 각각의 게임에 치명적일 수 있다.
이렇듯 게임 엔진의 보안은 매우 중요하지만, 현재 게임 엔진에 대한 취약점 제보는 비교적 매우 적은 상황이다. 아래와 같이 CVE에 특정 키워드로 검색을 해본 결과 구글 크롬과 웹킷은 2600여개와 1200여개의 CVE가 검색되었지만, 언리얼 엔진의 경우 17개의 CVE만 검색되었다. 시장 가치로는 3.2배 밖에 차이 나지 않지만 등록된 CVE의 경우 14배이상 차이가 난다. 이는 시장 가치에 비해 게임 엔진에 대한 보안 연구가 관심이 없거나 진행이 되지 않았다고 볼 수 있다.
그러므로 우리는 매크로나 게임핵과 같은 보안 위협에만 중점을 두고 있는 게임 업계에 게임 엔진 취약점에 대한 경각심을 유발하고, 이를 통해 게임 엔진 보안성을 향상시키고자 프로젝트 주제로 게임 엔진을 선택했다.
우리는 다양한 게임 엔진 중에서 Epic Games(에픽 게임즈)사의 상용 게임 엔진인 Unreal Engine 4(언리얼 엔진 4, 이하 UE4)는 선정하여 취약점 분석을 진행하였다.
UE4는 미국의 에픽 게임즈사에서 개발한 3차원 게임 엔진이다. 지속적인 업데이트와 다양한 기술 지원, 뛰어난 개발 도구 지원 등의 이유로 많은 게임 개발사들이 채용해서 사용하고 있다. 국내에서는 PUBG사의 PlayerUnknown's Battlegrounds(배틀그라운드)와 NC소프트의 블레이드 & 소울가 UE4를 기반으로 개발이 되었으며 해외에서는 반다이 남코의 철권7과 에픽 게임즈사의 포트나이트가 UE4를 기반으로 개발이 되었다.
시장 점유율 역시 유니티 게임 엔진과 함께 상용 게임 엔진 시장을 양분하고 있을 정도로 높은 수준이다.
높은 시장 점유율도 큰 메리트로 다가왔지만 프로젝트에 있어 UE4의 가장 큰 메리트는 오픈 소스라는 점이었다. 경쟁사의 게임 엔진인 유니티 게임 엔진은 부분적으로 소스 코드를 공개하고 소스 코드 공개에 있어 협상과 매우 큰 비용이 필요하다고 알려져 있다.
하지만 UE4의 경우 간단한 인증 절차와 계정 연동을 통해 코드 베이스를 받아 볼 수 있으며 이는 취약점 분석 작업에 있어 매우 용이하다. 그렇기 때문에 여러 게임 엔진 중에서 UE4이 프로젝트에 가장 적합하다고 판단했고 이를 바탕으로 프로젝트를 진행했다.
[1] 2020 대한민국 게임백서
[2] Newzoo Global Games Market Report 2021 | Free Version