관리 메뉴

Information Security

안드로이드 백업 취약점 본문

모바일/InsecureBank 분석

안드로이드 백업 취약점

HackingPractice 2019. 7. 14. 19:11

정의
- 애플리케이션 설치 파일과 저장소에 저장된 파일을 사용자 PC에 저장하게 된다. 이 경우 사용자가 데이터를 관리할 수 있는 있지만 저장된 파일이 유출될 가능성이 있는 취약점이다.

영향
- 사용자 암호가 유출될 수 있고 사용자 정보가 유출될 수 있다.

진단
백업은 해당 애플리케이션의 AndroidManifest.xml에 포함된 allowBackup 속성을 따른다. ture로 설정된 경우에 백업이 가능하다.

그림 1-1 백업 과정

애플리케이션에 대한 취약점 점검을 위해 백업을 진행하는 안내 메시지를 보여준다.

그림 1-2 백업 화면

그림 1-2처럼 “Back up my data” 버튼을 누르면 백업이 완료되면 명령에서 설정한 대로 insecurebankv2.ab 파일이 생성된다.

그림 1-3 insecurebankv2.ab 파일 생성

insecurebaknkv2.ab 파일이 jar 파일로 변환되었으며, tar 명령을 이용하면 아카이브에 포함된 파일 추출이 가능해진다.

그림 1-4 아카이브 파일 변환

insecurebankv2 압축파일이 생성됐다.

그림 1-5 압축파일

com.android.insecurebankv2_preferences.xml 파일을 보면 포트 번호와 서버 주소가 노출되는 것을 확인할 수 있다.

그림 1-6 데이터 정보 노출

대응방안
- 데이터를 암호화하고 저장하여 유출되더라도 어떤 정보인지 알아볼 수 없게 해야한다.

백업을 제한하기 위해서는 true로 설정된 부분을 false로 설정하거나 allowBackup 항목을 삭제한다.

그림 1-7 백업 제한

false로 수정한 후 다시 전체백업을 수행했다.

그림 1-8 전체 백업 수행

데이터를 백업 후 tar 파일로 변환했다.

그림 1-9 압축파일 변환

그림 1-5와 다르게 용량이 작은 압축파일이 생성됬다.

그림 1-10 압축파일 생성

파일을 추출한 결과 파일이 추출되지 않았다. 결과적으로 백업이 제대로 수행되지 않았다는 것을 알 수 있다.

그림 1-11 백업실패

'모바일 > InsecureBank 분석' 카테고리의 다른 글

안전하지 않은 HTTP 통신  (0) 2019.07.14
런타임 조작 취약점  (0) 2019.07.14
클립보드 취약점  (0) 2019.07.14
안전하지 않은 로깅 메커니즘  (0) 2019.07.14
메모리 내 민감한 정보 저장  (0) 2019.07.14