2016/05/31 - [Security/Android] - [Android APK 진단] 1. 툴 소개 - 추가 16.06.07
루팅된 안드로이드 단말에 대상 APK 를 설치하고,실행하면 아래와 같은 화면이 출력된다
1. INSECURE LOGGING
여기서 첫번째 안전하지 않은 로그를 살펴보자
보면, 문자열을 입력하고 check out을 누르면, Toast가 하나 뜨는것을 볼수 있는데, 이 화면에서는 입력한 문자열을 중요정보라고 가정하였다.
필자는 nox_adb를 이용해 shell에 들어왔고, 단말을 사용하면 adb shell을 이용하면 된다.
logcat 명령어를 통해 현재 디바이스의 로그를 출력하는데, 앱 패키지 명인 diva로 필터를 걸어 출력하면 아래와 같은 로그를 볼 수 있다.
아래에 credit card정보인 1234가 로그에 평문으로 찍히는 것을 볼 수 있다.
※ 필자의 경험 공유 - 세션 아이디나 아이디 패스워드 등을 출력하는 경우,
함수전달할때의 파라미터, Response 등을 로그로 출력하는 등의 경우가 있는데 이러한 정보는 직접적으로 사용되거나 공격자에게 정보를 줌으로써 다른 방법과 섞여 사용될 수 있다.
2. Hardcoding Issues - Part 1
아래 화면을 보면 key 값을 입력하고, ACCESS버튼을 누르면 접근이 제한되었다는 토스트가 나오고 있다.
JADX를 통해 소스코드를 분석해보면(DIVA난독화가 적용되어 있지 않지만, 설사 적용되어있더라도 일정부분 분석이 가능하다).
단순히 입력 문자열을 비교하는 것을 확인할 수 있고, 이를 통해 하드코딩된 key값을 얻어낼 수 있다.
하드코딩된 키 값을 입력하면 아래와 같이 접근이 허용되었다는 Toast가 출력된다.
※ 필자의 경험 공유 - 2016/06/03 - [Security/Etc] - 경험공유 - Android 데이터 암호화 :)
'Security > Android' 카테고리의 다른 글
[Android APK 진단] 5. DIVA. 입력값 유효성 체크 문제 1 (0) | 2016.06.08 |
---|---|
[Android APK 진단] 4. DIVA. 안전하지 않은 데이터 저장 확인하기 2 (0) | 2016.06.07 |
[Android APK 진단] 3. DIVA. 안전하지 않은 데이터 저장 확인하기 1 (0) | 2016.06.07 |
[Android APK 진단] 1. 툴 소개 - 추가 16.06.07 (0) | 2016.05.31 |