[목차]

 

 

1. Android Backup vulnerability (안드로이드 백업 취약점)

- 취약점 설명

- 진단 방법

- ABE (Android Backup Extractor) 활용

- 대응방안

 

 

 

[Android Backup vulnerability]

 

 

1. 취약점 설명

AndroidManifest.xml 파일의

android:allowBackup 속성 값이 'true'로

설정되어 있는 경우, 단말기 백업 시 중요정보 및

인증정보를 노출하게 되는데

 

단말기를 분실하는 경우

사용자의 중요정보가 제3자에게

노출될 수 있는 취약점

 

 


 

 

2. 진단 방법

(1) AndroidManifest.xml 설정 확인

 

allowBackup 값이 true로 되어 있다.

 

 

 

(2) 데이터 추출 실습

먼저 데이터가 저장되도록

앱을 열어 로그인 등 기능 사용 후 진행

 

ㄱ. 데이터 백업 파일 생성

adb backup -f [백업 파일명] [패키지명]
C:> adb backup -f bank.ad com.android.insecurebankv2     #ad = android data
 

 

위 명령어를 입력하면

녹스에서 백업 진행 창이 뜨는데

 

 

비번 설정 없이 데이터 백업 선택한 뒤

백업 완료 후, adb 명령어를 실행한 경로에

백업 파일이 생성되고

 

 

해당 파일을 살펴보면

압축된 형식의 tar 파일로

 

백업 정보를 담은

manifest.xml 파일과

백업 데이터가 포함되는데

 

일반적인 방법으로는

파일을 해제가 불가능하고

 

보통

zlip이라는 범용 압축 라이브러리를

사용하던가 ABE(Android Backup Extractor)를

사용해 해제하는데 본 실습에서는 ABE를

사용한다.

 

 

 

(3) 백업 파일을 tar 아카이브 파일로 변환

abe-all.jar 프로그램은 아래 경로에서 받을 수 있고

https://sourceforge.net/projects/android-backup-processor/

 

다음 명령어를 통해

tar 파일로 변환이 가능하며

java -jar abe-all.jar unpack bank.ad bank.tar
 

 

다음과 같이 tar 파일이 생성된다.

 

 

tar 파일 압축을 해제하면

기본적으로 다음과 같은

백업 파일 및 디렉터리 확인이 가능한데

 

 

db는 데이터베이스

sp(shared preference)는 공유환경설정

그리고 _manifest 파일이다.

 

 

 

sp 디렉터리에 들어가 보면

 

 

xml 설정 파일 확인이 가능하며

이 중, mysharedManifest.xml

파일을 살펴보면

 

 

로그인 정보가 암호화되어 저장되어 있고

Username은 Base64 방식이기 때문에

쉽게 복호화가 가능,

 

Password의 경우는 복호화 힌트를

특정 소스코드에서 확인할 수 있는데

해당 부분은 다음 실습인

'로컬 암호화 취약점'에서 확인해 본다.

 

 

다시 돌아와 백업 디렉터리 내

preferences.xml 파일을 확인해 보면

 

 

기동 중인 서버의 IP와 포트 정보

확인이 가능한데

 

해당 주소를

공격자의 주소로 변조 후 restore 하면

기존의 서버가 아닌 공격자의 서버로

앱 연결이 가능하다.

 

 

 


 

 

3. 대응 방안

안드로이드 시스템은 보안을 위해

각각의 애플리케이션(이하 앱)이

각각의 sandbox에서 실행되어

독립성을 보장하고 있기 때문에

앱끼리 접근이 불가능한데

 

이러한 백업 기능을 악용하면

루팅 되어 있지 않은 단말기를 통해서도

특정 앱에 저장된 데이터나 파일에

접근이 가능하다.

 

그러므로 데이터 백업을 허용하지 않도록

 

AndroidManifest.xml 파일의

android:allowBackup 값을

false로 설정하고

 

 

데이터를 앱에 저장해야 하는 경우

유출되어도 정보 확인이 불가능하도록

강도 높은 암호화 시스템을 사용해

저장되도록 한다.

 

 

 

728x90

+ Recent posts