Mobile/Android
[Insecurebankv2] 안드로이드 페이스트보드 취약점
blue_hone
2020. 12. 19. 22:12
취약점 개요
- 사용자의 중요한 데이터(암호, 계좌번호 등)가 메모리(클립보드)에 노출되어 있는 취약점
- 클립보드에 저장된 데이터를 별도의 권한 없이 허가되지 않은 사용자에게 노출되어 있는 취약점
진단방법
- 진단 대상 안드로이드 앱에서 중요한 데이터를 복사
- adb 명령을 이용하여 클립보드 검사(adb shell su '유저명' service clipboard 2 s16 '패키지경로')
진단과정
- 진단 대상인 Insecurebankv2 앱의 Transfer에서 From Account를 클립보드로 복사
- adb 명령을 사용하기 앞서, 'adb shell ps' 명령을 이용해 Insecurebank 앱을 실행하는 유저명을 확인
- 'adb shell su 유저명 service call clipboard 2 s16 com.android.insecurebankv2' 명령을 사용해 클립보드를 검사
- 복사했던 From Account가 출력되는 것을 확인
대응방안
- 중요한 데이터는 가급적 복사하지 않고 직접 입력
- 앱의 UI 설계시 중요한 데이터는 복사하지 못하도록 Password Text Edit View로 구현
- 직접 데이터를 입력하지 않고 데이터를 받아오는 경우에는 editable 속성을 추가하고 이를 "false"로 설정 (데이터 입력/복사/수정 등이 불가능)