DIVA 설치 주소 : https://github.com/0xArab/diva-apk-file
GitHub - 0xArab/diva-apk-file: DIVA (Damn insecure and vulnerable App) is an App intentionally designed to be insecure
DIVA (Damn insecure and vulnerable App) is an App intentionally designed to be insecure - 0xArab/diva-apk-file
github.com
1. Insecure Logging mechanism
○ 로그캣(Logcat) 정보 내에 중요 정보 평문 노출
○ 앱이 실행하는 과정 중 android.util.Log 및 liblog가 모두 모이는 곳이 logcat
○ 무엇이 어디에서/어떻게 로깅되고 있는지와 취약한 코드를 파악하라.
2. Hardcoding Issues PART1
○ 하드코딩은 소스 코드 내 중요 정보들이 평문으로 삽입되어 있는 것을 뜻함
○ 개인정보 암호화에 대해 키 값이 노출될 경우
○ 관리자 페이지(솔루션 등)와 관련된 정보가 노출될 경우
○ 하드코딩 된 정보를 찾아라.
○ vendor key를 찾아라. 힌트로 사용할 수 있을 것 같다.
○ 중요한 내용이 하드코딩 되지 않도록 제거하여 대응이 가능함
3. Insecure data storage - PART1
○ 안드로이드 저장소
● 내부 저장소 ( /data/data )
- /data/data/<package>/databases : 설정 파일, 컨텐츠 파일의 쿼리 정보가 포함된 SQLite 데이터베이스 파일
- /data/data/<package>/cache : 브라우저 캐시 같이 일시적인 사용자의 상태 정보가 포함
- /data/data/<package>/shared_prefs : XML 파일로 저장되며, 앱에 공유되는 설정 파일
● 외부 저장소 ( /mnt/sdcart )
○ 신용 정보가 및 취약한 코드가 저장소 어디에/어떻게 존재하는지 찾아라.
○ <map>은 Android에서 SharedPreferences 데이터를 저장할 때 사용하는 XML 형식의 최상위 컨테이너 태그
○ 키-값 쌍 데이터를 직렬화(serialize)하여 저장하는 데 사용
○ 저장 데이터가 노출될 우려가 있으므로 최소한의 정보만 저장
○ 중요 정보를 저장하는 경우 암호화하여 저장(위 그림 참조)
○ 대칭 키 값, 인증 값 등이 노출되지 않도록 안전하게 관리
○ 로컬 데이터베이스 암호화
4. Insecure data storage - PART2
○ 신용 정보가 및 취약한 코드가 저장소 어디에/어떻게 존재하는지 찾아라.
○ Sqlite 등과 같은 두구를 이용해 해당 데이터베이스의 정보를 암호화
○ 또는 직접 암호화 모듈을 만들어서 데이터베이스 암호화 진행으로 대응
'프로젝트 > AOS 모바일 앱 모의해킹' 카테고리의 다른 글
11. 드로저(Drozer)를 통한 모바일 취약점 정리 (0) | 2024.12.30 |
---|---|
10. DIVA를 통한 모바일 취약점 정리(2) (1) | 2024.12.29 |
8. 취약한 브로드캐스트 리시버 (0) | 2024.12.26 |
7. 취약한 콘텐츠 프로바이더 접근 (2) | 2024.12.25 |
6. 취약한 인증 매커니즘 액티비티 노출 취약점 (0) | 2024.12.24 |