[LIAPP FEATURES] Unity Engine Protection (유니티 엔진 보호)
리앱은 모바일 앱의 다양한 해킹으로부터 보호하기 위해 강력하고 유용한 보안 기능을 제공하고 있습니다.
이번 포스트에서는 유니티(Unity)로 개발된 앱을 보호하기 위한 리앱의 Unity protection 기능에 대하여 사용 방법과 효과를 설명합니다.
이번 포스트에서는 유니티(Unity)로 개발된 앱을 보호하기 위한 리앱의 Unity protection 기능에 대하여 사용 방법과 효과를 설명합니다.
리앱의 유니티 보호(Unity Protection) 기능은 ‘CODE 보호’ 탭에서 설정할 수 있으며, 'Unity Protection'은 Unity 엔진을 이용하여 개발된 모바일 앱에 포함된 중요한 엔진 파일 보호를 목적으로 합니다.
String encryption option
Unity는 간편한 앱 제작과 멀티 플랫폼 지원기능으로 손쉬운 개발을 할 수 있도록 제공된 통합 개발 환경이며, Unity를 이용하여 게임뿐만이 아니라 일반 앱도 제작이 가능하지만 현재 가장 많이 사용되는 곳은 모바일 게임 장르입니다.
이처럼 Unity는 명확한 장점으로 많은 개발자분들이 Unity 엔진을 이용하여 게임을 개발하게 되는 동기를 제공하고 있습니다.
하지만 Unity 엔진을 이용하면 개발이 손쉬운 만큼 다양한 취약점도 함께 존재하게 되는데, 취약점에 관해 설명하기에 앞서 Unity에서 제공하는 두 가지 빌드 방법에 대하여 설명합니다.
1. MONO mode
· 다양한 플랫폼 지원을 위해 Unity에서는 C# 코드로 개발
· C# 코드를 IL(Intermediate Language) 코드로 변환
· 빌드 시 Assembly-CSharp.dll (.NET framework based) 생성
(중요 로직은 Assembly-CSharp.dll 및 특정 파일에 포함)
2. IL2CPP mode
· 다양한 플랫폼 지원을 위해 Unity에서는 C# 코드로 개발
· C# 코드를 IL(Intermediate Language) 코드로 변환
· IL 코드를 C++ 형태로 변환
· 빌드 시 libil2cpp.so(Binary based) 생성
(중요 로직은 libil2cpp.so 및 특정 파일에 포함)
Unity는 현재 위와 같이 두 가지의 빌드 방법을 제공하고 있으며, 전통적으로 제공하였던 MONO mode가 64bit를 지원하기 어려운 문제점을 개선하기 위해 IL2CPP 모드를 개발하였으며, 현재 Unity에서도 IL2CPP를 권장하고 있습니다.
이렇게 개발이 완료된 MONO mode와 IL2CPP mode 파일은 아래 그림과 같이 Decompile tool을 이용하여 디컴파일이 가능하며 이를 이용하여 게임 내 중요 로직을 쉽게 분석할 수 있는 취약점을 가지고 있습니다.
» Decompile to Mono mode of Unity
» Decompile to IL2CPP mode of Unity
위와 같이 노출된 게임내 로직은 어떤 기능을 하는지 파악할 수 있어, 이를 악의적으로 이용하여 앱내의 취득할 수 있는 재화(능력치, 경험치, Game money...)를 무단으로 취할 수 있어 서비스의 중대한 피해사례가 지속해서 증가하고 있습니다.
리앱은 이러한 위협을 보호하기 위해 Unity 중요 파일에 대한 암호화 기능을 제공하고 있습니다.
Unity protection of LIAPP
앱은 리앱의 Unity protection 통하여 서비스에서 가장 중요하게 보호되어야 할 특정 중요한 로직 (게임 내 능력치, 경험치 및 재화 취득, 결제 로직, Game money...)을 배포된 앱 파일을 통하여 유출되지 못하게 함으로써 앱 서비스 중 발생할 수 있는 치명적인 사고를 미연에 방지할 수 있습니다.
또한 이러한 로직은 컴파일된 앱 파일(apk)를 기반으로 적용되기 때문에 개발 시 사용한 언어 및 프레임워크와 관계없이 apk 또는 aab 형태로 컴파일된 상태라면 모두 적용이 가능합니다.
LIAPP, 최상의 서비스만을 제공하겠습니다.
#android_application_security #android_application_security #ios_application_security #Unity_ENGINE #source_code_hardening #android_app_bundle #MONO #IL2CPP #AAB #APK #Android App Bundle #모바일_앱_보안 #앱_보안_서비스 #게임_보안_서비스 #소스코드_보호 #난독화 #소스코드_보안 #앱_위변조_방지 #메모리_덤프_방지 #악성코드_탐지 #해킹툴_탐지 #리패키징_방지 #메모리_보안 #유니티_엔진_보호 #게임_엔진_보호