Android/InsecureBankv2

인시큐어뱅크 앱 취약점 - 취약한 SD카드 스토리지

박연준 2023. 7. 3. 21:24

인시큐어뱅크 앱 취약점 - 취약한 SD카드 스토리지

취약점 소개

안드로이드는 내부 저장소와 외부 저장소로 나뉘는데 SD카드는 외부 저장소로 모든 어플리케이션이 접근할 수 있는 영역이다.

이러한 SD카드에 중요 정보가 다른 어플리케이션에 의해 노출될 수 있다.

취약점 진단

AndroidManifest.xml 파일을 확인하면 WRITE_EXTERNAL_STORAGE와 READ_EXTERNAL_STORAGE 권한이 설정되어 있다.

 

apk 디컴파일을 수행한 후 DoTransfer 클래스를 살펴보면, “Message: ~” 문자열을 구성한 뒤 getExternalStorageDirectory()로 SD카드 저장소 경로를 구하고 + /Statements_[유저네임].html에 저장하고 있다.

 

Transfer에 실패한 경우와 성공한 경우 둘다에 대해 Transfer 내역을 SD 카드 저장소에 저장하고 있다.

SD카드 저장소는 /sdcard 에서 확인 가능하다.

 

Statements_jack.html을 보면 다음과 같이 Transfer 내역을 확인할 수 있다.

 

 

대응 방안

중요 정보 저장 시에 외부 저장소가 아닌 내부 저장소에 저장하도록 코드를 변경한다.

중요 정보는 반드시 암호화 될 수 있도록 조치한다.