2014. 10. 1. 16:55ㆍSecurity ★ Development/안드로이드 모바일 보안
* 틀린 내용이 있을 시 지적 부탁드립니다.
1. 어플리케이션의 메모리를 덤프해보겠습니다.
이클립스로 어플리케이션 에뮬레이터를 실행시키고(로그인까지 해줍니다.) DDMS에서 메모리 덤프 파일을 생성합니다.
그럼 hprof파일이 나오는데 이는 달빅 가상머신의 덤프 파일이기 때문에 자바 형태로 변환해주어야 합니다. 안드로이드가 설치된 폴더의 sdk/tools 폴더에서 hprof-conv.exe를 이용합니다.
hprof-conv.exe com.securitycompass.androidlabs.basicencryptionsolution.hprof fixed.hprof
그럼 fixed.hprof라는 결과물이 생성됩니다.
이제 메모리 분석기를 다운 받습니다.
http://www.eclipse.org/mat/
실행 시키고 File - Open Heap Dump를 실행해 fixed.hprof를 불러옵니다. 창이 하나 뜨면 Leak Suspercts Report를 클릭하고 Finish를 눌러줍니다.
이후 Open Dominator Tree for entire heap, Group by package를 클릭하여 보기 쉽게 바꿔줍니다.
com - securitycompass - basicencryptionsolution을 타고 들어가서 BankingApplication을 우클릭, List objects - with outgoing references를 클릭합니다. 그럼 BankingApplication 클래스에서 로그인을 할 때 쓰였던 변수인 cleartextServerPass, cleartextServerUser가 해제되지 않고 값을 가진채로 남아있어서 값을 확인 할 수 있습니다.
2. 안드로이드 디바이스가 남기는 로그 정보에 대해 보겠습니다.
콘솔 창을 키고 adb logcat을 입력합니다.
뱅킹 어플리케이션에서 Transfer를 눌러 작동해봅니다. 송신자와 수신자, 금액이 모두 찍히는 것을 볼 수 있습니다.
이 외에도 개발을 완료한 후에는 세션 키나 계정 정보와 같은 값들이 노출되지 않도록 해야합니다.
'Security ★ Development > 안드로이드 모바일 보안' 카테고리의 다른 글
안드로이드 해킹대회 어플 문제 1 (0) | 2014.10.14 |
---|---|
안드로이드 진단 도구 (0) | 2014.10.05 |
안드로이드 어플 진단 3 (0) | 2014.09.30 |
안드로이드 어플 진단 2 (0) | 2014.09.29 |
안드로이드 어플 진단 1 (0) | 2014.09.24 |