Virtual Space App의 보안 위협 대응 방안
Virtual Space App
최근, 하나의 스마트폰에서 동일한 앱을 듀얼로 사용하게 해주는 Virtual Space App이 인기를 얻고 있습니다. Virtual Space App는 하나의 스마트폰 안에서 가상의 격리된 환경을 만들고 동일한 앱이 내부에서 이중으로 실행될 수 있는 환경을 제공합니다. 예를 들면, 하나의 디바이스에서 SNS, 채팅 앱이 듀얼로 만들어져 로그아웃 없이 두 개의 계정을 동시에 확인할 수 있으며, 동일한 게임을 두 개의 아이디로 동시에 진행할 수도 있습니다.
이러한 편의성 때문에 사용자들이 Virtual Space App을 사용하지만 Virtual Space App이 가지는 여러 가지 시스템적인 특징 및 권한으로 인해 Virtual Space App을 사용하는 사용자는 물론 듀얼로 실행하기 위해 Virtual Space App에 설치하는 APP 서비스 또한 많은 보안 위협에 노출되고 있습니다.
Virtual Space App의 보안 위협에 대한 두 가지 측면
이러한 Virtual Space App을 사용하면 하나의 앱을 여러 인스턴스를 통해 실행이 가능하기 때문에 쉽게 듀얼 앱을 만들 수 있지만 이런 편리함의 이면에는 많은 보안적 문제점 또한 가지고 있습니다.
기본적으로 Android에 설치된 앱은 자신들이 생성한 데이터를 샌드박스(Sandbox) 영역에서 관리하게 되는데, 샌드박스는 앱이 설치되는 시점에 고유의 UID(user Identifier), GID(Group Identifier)를 부여받아 각각의 권한으로 실행되게 됩니다. 이렇게 시스템상에서 별도로 관리되는 앱들은 서로의 샌드박스 영역을 침범할 수 없기 때문에 앱을 서로 분리해 악성 앱으로부터 보호할 수 있습니다.
하지만 듀얼 앱을 사용하기 위해 Virtual Space App에 특정 앱을 설치하는 경우 Virtual Space App내 모든 앱들의 UID, GID가 동일하게 설정되어 각 앱의 사용 영역 및 메모리에 대한 접근이 가능하게 되어 보안에 큰 위협을 줄 수 있습니다.
또 Virtual Space App을 사용하는 사용자 측면에서도 Virtual Space App 내부에 설치된 앱(Guest App)이 작동하기 위해서는 앱이 충돌하지 않도록 추가적인 사용자 데이터 접근 권한을 허용해야 하는데 이렇게 Virtual Space App 자체에 많은 권한을 제공하게 되면 그만큼 모바일 시스템 내부 보안 위협이 크게 증가하게 됩니다.
1. APP이 받게 되는 위협
Virtual Space App에서는 사용 권한, 스토리지, 구성요소 등 Android 시스템이 제공하는 다양한 격리 메커니즘이 깨지게 됩니다. 이미 기본적인 보안 기능을 갖춘 App이라고 할지라도, Virtual Space App 내부에서 실행되면 보안 샌드박스가 해제되어 내부에 설치된 악성 Malware App이 개인 파일에 액세스하거나 일반 App을 복제, 변조하는 등 해킹 위협에 노출됩니다.
또한 같은 Virtual Space App 내에서는 서로의 process에 접근할 수 있어 Memory 변조 등의 rooting된 기기에서의 위협과 동일한 수준의 위협을 받을 수 있습니다.
실제 특정 memory cheating tool의 경우 rooting이 되지 않은 기기에서의 실행 방법 중 Virtual Space App의 이용을 권유하고 있어 안전한 APP 서비스를 위해 차단해야 할 위협 중의 하나로 떠오르고 있습니다.
또한 같은 Virtual Space App 내에서는 서로의 process에 접근할 수 있어 Memory 변조 등의 rooting된 기기에서의 위협과 동일한 수준의 위협을 받을 수 있습니다.
실제 특정 memory cheating tool의 경우 rooting이 되지 않은 기기에서의 실행 방법 중 Virtual Space App의 이용을 권유하고 있어 안전한 APP 서비스를 위해 차단해야 할 위협 중의 하나로 떠오르고 있습니다.
다음은 Virtual Space App에 설치된 APP이 받을 수 있는 공격의 종류입니다.
(1) 권한 상승 공격
일반적으로 Virtual Space App을 사용하게 되면 사용자의 디바이스는 수많은 사용 권한과 기능을 미리 적용합니다. 만약 악성 Malware APP이 Virtual Space App 내부에 설치되면, 이 사용 권한을 악용하여 사용자 검색 기록 및 쿠키와 같은 중요 데이터에 접근하거나 이를 유출할 수 있습니다. 이는 곧 Virtual Space App 내부에 설치된 일반적인 APP의 고객 정보 및 앱 서비스의 중요 정보가 노출될 수 있다는 것을 의미합니다.
또한 다른 process가 내 APP의 메모리에 접근할 수 있는 권한을 가질 수 있어 중요 메모리에 대한 노출 및 메모리 변조 공격에도 사용될 수 있습니다.
(2) 코드 삽입 공격
Virtual Space App 내부에서는 악성 Malware APP이 다른 APP의 실행 파일을 변조할 수 있으며, 이는 동적 로드를 통해 로드됩니다. 대부분의 APP은 실행 시 개인 디렉터리에 저장된 실행 파일(.dex 파일, .jar 파일, .so파일 등)을 로드할 수 있으며, Virtual Space App 내부에 설치된 악성 Malware APP은 이 파일을 변조하거나 교체할 수 있기 때문에 타킷이 되는 다른 APP에 코드 삽입 공격을 시도할 수 있습니다.
(3) 복제 공격
악성 Malware APP A와 일반 앱 B가 동일한 Virtual Space App에서 실행되면 A는 B가 실행 시에 생성되고 입력된 중요 정보를 비밀리에 압축하여 원격 서버에 업로드할 수 있으며, 공격자는 별다른 인증 과정 없이 피해자의 일반 앱에 직접 로그인할 수 있게 됩니다.
2. Virtual Space App을 설치한 사용자가 직면한 위협
(1) 권한 상승 공격
일반적으로 Virtual Space App을 사용하게 되면 사용자의 디바이스는 수많은 사용 권한과 기능을 미리 적용합니다. 만약 악성 Malware APP이 Virtual Space App 내부에 설치되면, 이 사용 권한을 악용하여 사용자 검색 기록 및 쿠키와 같은 중요 데이터에 접근하거나 이를 유출할 수 있습니다. 이는 곧 Virtual Space App 내부에 설치된 일반적인 APP의 고객 정보 및 앱 서비스의 중요 정보가 노출될 수 있다는 것을 의미합니다.
또한 다른 process가 내 APP의 메모리에 접근할 수 있는 권한을 가질 수 있어 중요 메모리에 대한 노출 및 메모리 변조 공격에도 사용될 수 있습니다.
(2) 코드 삽입 공격
Virtual Space App 내부에서는 악성 Malware APP이 다른 APP의 실행 파일을 변조할 수 있으며, 이는 동적 로드를 통해 로드됩니다. 대부분의 APP은 실행 시 개인 디렉터리에 저장된 실행 파일(.dex 파일, .jar 파일, .so파일 등)을 로드할 수 있으며, Virtual Space App 내부에 설치된 악성 Malware APP은 이 파일을 변조하거나 교체할 수 있기 때문에 타킷이 되는 다른 APP에 코드 삽입 공격을 시도할 수 있습니다.
(3) 복제 공격
악성 Malware APP A와 일반 앱 B가 동일한 Virtual Space App에서 실행되면 A는 B가 실행 시에 생성되고 입력된 중요 정보를 비밀리에 압축하여 원격 서버에 업로드할 수 있으며, 공격자는 별다른 인증 과정 없이 피해자의 일반 앱에 직접 로그인할 수 있게 됩니다.
2. Virtual Space App을 설치한 사용자가 직면한 위협
사실, Virtual Space App은 사용자 편의를 위해 디자인되었습니다. 하지만 Virtual Space App의 특성상 수많은 권한으로 인해 언제든지 악의적인 목적으로 사용될 수 있는 위험성을 가지게 됩니다. 특히, Virtual Space App을 설치한 사용자는 Virtual Space App 자체 공격 및 악성 Malware의 공격으로 해킹 위협에 노출될 수밖에 없습니다. 아래 내용은 Virtual Space App을 설치한 사용자가 직면한 위협 및 해커의 공격을 설명한 것입니다.
(1) 하이재킹 공격
Virtual Space App의 수많은 권한으로 디바이스 내 APP 실행을 마음대로 조정할 수 있는 하이재킹 공격입니다. 예를 들면, 악성 Virtual Space App은 피해자의 기기에서 루트 권한을 가지고 APP이 시작된 후 로그인 창에서 사용자 입력을 가로챌 수 있습니다. 이 사용자의 로그인 자격은 캡쳐되고 멀웨어는 이를 원격으로 서버에 업로드해 사용자의 입력 데이터를 가로채 이를 악용할 수 있습니다.
(2) 랜섬웨어 공격
Virtual Space App 내부에서 악성 Malware APP이 다른 APP의 파일을 암호화하거나 삭제할 수 있습니다. 공격자는 사용자에게 일정량의 몸값을 요구하며, 사용자는 몸값을 지불해야만 원본 파일을 복원할 수 있습니다. 이 랜섬웨어는 클라우드 서버 및 기타 클라이언트 장치에 자동으로 전파될 수 있기 때문에 악성 Guest App을 통해 암호화된 파일이 클라우드의 자동 동기화 메커니즘을 통해 클라우드로 업로드될 수도 있어 위험합니다.
(3) 피싱 공격
Android 5.0 이상 버전에서는 타사 앱이 getRunningTasks() 함수를 호출하여 포그라운드 애플리케이션 프로세스 정보를 가져올 수 없지만, Virtual Space App 내에서는 이것이 허용됩니다. 이 때문에 악성 Guest App이 안드로이드 앱에서 사용자가 입력하는 보안 정보를 가로채는 피싱 공격이 가능해집니다. 이로 인해 사용자가 입력하는 정보가 노출될 우려가 있습니다.
Virtual Space App의 보안 위협 대응 방안
이 모든 보안 위험의 근본적인 이유는 Virtual Space App내 설치되는 App과 Virtual Space App이 동일한 UID를 공유하므로 액세스 권한이 공유되기 때문입니다.
어떠한 경우라도 앱 데이터를 누구나 액세스할 수 있도록 보안 수준을 설정하는 것은 결코 좋은 방법이 아닙니다.
그러므로 이러한 보안 위협을 방어하기 위해 사용자는 Virtual Space App의 사용을 자제하여야 할 것이며 APP을 서비스하는 서비스 사업자는 APP이 Virtual Space App에서 실행되는 것을 감지하고 차단할 수 있도록 하여야 합니다.
LIAPP은 여러분이 개발한 모바일 앱이 Virtual Space App에서 실행되는 것을 탐지하며, 실행되지 않도록 차단하여 앱을 보호하며 APP 이용자의 중요 정보가 노출되지 않도록 위험에서 보호할 수 있습니다.
이렇듯 Virtual Space App의 사용자가 지속적으로 늘어나는 만큼 이에 대한 보안 대비를 철저히 준비하시길 바랍니다.
어떠한 경우라도 앱 데이터를 누구나 액세스할 수 있도록 보안 수준을 설정하는 것은 결코 좋은 방법이 아닙니다.
그러므로 이러한 보안 위협을 방어하기 위해 사용자는 Virtual Space App의 사용을 자제하여야 할 것이며 APP을 서비스하는 서비스 사업자는 APP이 Virtual Space App에서 실행되는 것을 감지하고 차단할 수 있도록 하여야 합니다.
LIAPP은 여러분이 개발한 모바일 앱이 Virtual Space App에서 실행되는 것을 탐지하며, 실행되지 않도록 차단하여 앱을 보호하며 APP 이용자의 중요 정보가 노출되지 않도록 위험에서 보호할 수 있습니다.
이렇듯 Virtual Space App의 사용자가 지속적으로 늘어나는 만큼 이에 대한 보안 대비를 철저히 준비하시길 바랍니다.
LIAPP, 최상의 서비스만을 제공합니다.
#위변조_차단 #위변조_방지 #fintech_security #핀테크_보안 #소스코드_보호 #source_code_protection #모바일_앱_보안 #모바일_게임_보안_솔루션 #앱_위변조_탐지 #Unity_보안 #Unreal_engine_보안 #cocos_보안 #리패키징_방지 #메모리_보안 #메모리_변조_탐지