인시큐어뱅크에서 찾을 수 있는 취약점 중 "취약한 SD 카드 스토리지" 취약점을 찾아보기로 했다.
SD 카드는 외부 저장소로 어느 앱이나 접근할 수 있는 공간이다.
그렇기 때문에 암호화되지 않은 개인정보나 중요정보는 SD카드에 존재하면 안 된다.
1. 점검 방법
우선 ManiFest 파일에서 WRITE_EXTERNAL_STORAGE 권한이 있는지 확인한다.
이 권한이 있으면 sd카드에 데이터를 저장할 수 있게 된다.

그런 다음 전체 검색해서 getExternalStorageDirectory() 메소드를 사용하고 있는 부분을 찾는다.
getExternalStorageDirectory() 란?
외부 저장소의 최상위 경로를 반환해 주는 메소드
2. 악용 방법

아마도 getExternalStorageDirectory()의 디폴트 리턴 값은 /sdcard일 것이다.
그렇다면 데이터가 저장되는 경로인 MYFILE은 /sdcard/Statements_[유저이름].html 가 되고 이곳에 데이터가 저장될 것이다.


* 외부 저장소 permission

3. 조치방법
- 중요 정보 저장 시 내부저장소에 저장
- 외부 저장소 데이터 저장 시 암호화
- android 10 이상부터 getExternalStorageDirectory() 사용 불가
'Mobile > 인시큐어 뱅크' 카테고리의 다른 글
| [안드로이드] 인시큐어 뱅크 (InsecureBankv2) 17.안드로이드 백업 취약점 (0) | 2022.04.28 |
|---|---|
| [안드로이드] 인시큐어 뱅크 (InsecureBankv2) 16.앱 디버깅 취약점 (0) | 2022.04.28 |
| [안드로이드] 인시큐어 뱅크 (InsecureBankv2) 14.페이스트보드 취약점, 15.안드로이드 키보드 캐시 취약점 (0) | 2022.04.28 |
| [안드로이드] 인시큐어 뱅크 (InsecureBankv2) 13.취약한 로깅 메커니즘 (0) | 2022.04.28 |
| [안드로이드] 인시큐어 뱅크 (InsecureBankv2) 12.중요 정보 메모리 노출 취약점 (0) | 2022.04.28 |