포트나이트 앱, 악성코드 설치에 이용될 수 있다

인기 게임 Fortnite 안드로이드 버전에서 악성코드 설치 수단이 될 수 있는 취약점이 발견됐다. 구글이 8.15일에 발견해서 개발사 Epic Games에 통보했고, 에픽 게임즈는 이틀만에 수정판인 2.1.0 버전을 내놨다.

이 취약점은 Man-in-the-Disk(MitD)라고 불리는, 외부 저장소 공격에 대한 취약점이다. 포트나이트에 국한된 문제가 아니라, 많은 안드로이드 앱이 이런 취약점을 갖고 있다.

내부 저장소와 외부 저장소

안드로이드 시스템의 저장 공간은 내부 저장소(internal storage)와 외부 저장소(external storage)로 나뉜다. 내부 저장소는 운영체제의 샌드박스(sandbox) 처리에 의해 보호되어, 운영체제 자체 및 각각의 앱에 할당되고 격리된 저장 공간이다. 즉 다른 앱은 접근할 수 없는 곳이다. 외부 저장소는 앱 및 사용자가 자유롭게 사용할 수 있는 공간이다.

내부 저장소와 외부 저장소의 구분은 물리적인 것이 아니라 논리적인 것이다. 기기 내부의 드라이브에 있는 저장 공간이라도, 운영체제의 보호 밖에 있는 부분은 외부 저장소이다. 슬롯에 삽입한 SD card나 USB 메모리 같은 것은 전형적인 외부 저장소이다.

구글의 보안 가이드라인에 따르면 실행파일 같은 핵심 부분은 외부 저장소에 둘 수 없고, 외부 저장소에 저장하는 데이터는 암호화하고 디지털 서명돼야 하며, 읽어 들이기 전에 유효성 검증을 해야 한다. 문제는 개발자들이 이 지침을 잘 따르지 않는다는 데에 있다.

특히 보급형 기기 같은 경우 내부 저장소의 공간에 제약이 있기 때문에, 개발자들은 앱의 일부분을 외부 저장소에 둠으로써 앱 크기를 줄일 필요성을 느낀다. 또 임시 파일 등을 처리하기에 편한 점도 있다. 이런 이유로 개발자들이 외부 저장소를 활용하면서 보안 지침을 지키지 않는 것이다.

MITD(Man-in-the-Disk) 공격

외부 저장소는 운영체제의 보호 하에 있지 않기 때문에, '외부 저장소에 접근' 권한 하나만 있으면 쉽게 공격할 수 있다. 이 권한을 가진 악성 앱이, 표적 앱이 외부 저장소에 둔 파일과 데이터를 악의적으로 변조하는 것이 가능하다. 그리하여 표적 앱에 충돌을 일으키거나, 악성 앱으로 바꿔치기 하거나, 악성 행위를 추가할 수 있다. 정상 앱을 악성 앱으로 바꾸는 경우, 정상 앱의 권한을 그대로 사용할 수 있으므로 사용자 몰래 높은 권한을 갖게 된다.

포트나이트의 경우를 예로 들어본다. 사용자가 처음 다운로드 한 것은 게임 자체가 아니라 설치만을 수행하는 인스톨러다. 설치 앱은 본 게임 파일을 다운로드하여 임시로 외부 저장소에 저장한 다음, 이를 읽어 들여 본 설치를 하게 된다. 이때 보안 지침에 따르면 임시 파일은 암호화돼야 하고 적절히 검증돼야 하지만, 지침을 따르지 않고 파일 이름이 'com.epicgames.fortnite'인지만 확인하고 만다.

이 점을 노리는 해커는 먼저 계산기 같은 단순한 앱을 만들어 배포한다. 권한은 외부 저장소 접근 하나만 요구하므로 대부분 별 의심없이 허락할 것이다. 그러나 이 앱에는 외부 저장소를 감시하다가 포트나이트 설치용 임시 파일이 다운로드되면, 이것을 악성 앱으로 바꿔치기하거나 악성 코드를 슬그머니 끼워 넣는다. 취약한 포트나이트 인스톨러는 파일 이름 외에는 검증을 하지 않으므로, 이 변조된 임시 파일을 가지고 설치를 진행한다. 정상 포트나이트 앱의 권한을 그대로 가진 악성 앱이 탄생하는 것이다.

카메라나 개인 정보를 다루는 앱을 표적으로 한다면, 사진을 몰래 찍고 개인 정보를 유출할 수도 있는 것이다.

외부 저장소 공격 취약점을 발견한 체크포인트에 따르면 유명 앱을 포함해 수많은 앱이 이런 취약점을 갖고 있다. 심지어 구글의 번역, TTS 등도 취약했다. 그래서 체크포인트 연구팀은 외부 저장소 사용에 대한 보안을 개발자의 지침 준수에만 의존할 것이 아니라, 운영체제 차원에서 대응 수단을 갖춰야 한다고 지적했다.


참고 자료
  1. Critical Flaw in Fortnite Android App Lets Hackers Install Malware
  2. New Man-in-the-Disk attack leaves millions of Android phones vulnerable
  3. Popular Android Apps Vulnerable to Man-in-the-Disk Attacks
  4. 포트나이트 인스톨러 앱, 악성코드 통로 된다 

댓글

이 블로그의 인기 게시물

엑셀 필터 상태에서 복사와 잘라내기

가정에서도 망 분리를 해보자

잉크젯 프린터 전원은 항상 켜 놓아야 좋다