안녕하세요! 이번시간에는 '안드로이드 키보드 캐시 이슈' 에 관한 포스팅입니다.
['안드로이드 키보드 캐시 이슈' 란?]
> 키보드 캐시 이슈는 사용자가 중요 정보를 클립보드에 저장하면 제삼자가 이러한 정보를 획득할 수 있는 취약점입니다. 키보드 캐시란, 안드로이드 TextView와 같은 컴포넌트에서 사용자가 중요 정보를 클립보드에 복사할 수 있을때 임시로 복사한 데이터를 저장하는 곳입니다. 이 기능을 상당히 편하지만 , 공격자 또한 이 기능을 악용하여 중요 정보를 붙여넣을 수 있으므로 다른 사용자의 인증 정보를 활요하여 별다른 인증 절차 없이 공격자도 인증에 성공할 수 있습니다.
1. 취약점 진단
1. 우선 NOX기기에 Clipper 라는 어플을 다운로드 받아주세요. 그냥 구글스토어에서 받을 수 있으니 검색한 후 다운로드 받으시면 됩니다! 앱을 설치한 후 중요정보를 복사할 시 Clipper앱에서 보이는지 확인할 것입니다.
2.인시큐어 뱅크 어플에 로그인 해주시고 거래기능 액티비티에서 계좌번호를 복사해주세요.
인시큐어 뱅크 로그인 | 거래 기능에서 복사 |
3. Clipper 앱을 확인하시면 복사한 계좌번호 정보가 키보드 캐시에 저장된 것을 확인하실 수 있습니다. 계좌번호같은 민감한 개인정보는 복사하기 기능을 금지하여 키보드 캐시에 저장되는 일이 없게 만들어야 합니다.
2. 대응방안
1. android:editable = "false"
> 중요 정보는 마스킹 처리를 통해 사용자가 복사하지 못하도록 해야합니다. 조치하는 방법은 EditText 뷰의 적혀있는 값을 복사 붙여넣기 할수없도록 android:editable 속성에 "false" 값을 입력하는것입니다!
1.1. 디컴파일된 파일에서 res > layout > activity_do_transfer.xml 파일로 접근합니다.
1.2. 계좌번호를 적는 EditText 속성값에 android:editable="false" 속성을 부여합니다
<EditText
android:id="@+id/editText_from"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="0dp"
android:layout_marginRight="20dp"
android:layout_weight="1"
android:editable="false" #추가해준 부분/>
긴 글 읽어주셔서 감사합니다!
'모바일 앱해킹(Android) > Insecure Bank' 카테고리의 다른 글
[Insecure Bank] 안드로이드 백업 취약점 (0) | 2024.12.12 |
---|---|
[Insecure Bank] 디버깅 취약점 & 런타임 조작 취약점 (0) | 2024.12.11 |
[Insecure Bank] 안전하지 않은 로깅 메커니즘 취약점 (0) | 2024.12.08 |
[Insecure Bank] 메모리 내 민감한 정보 저장 (0) | 2024.12.06 |
[Insecure Bank] 애플리케이션 패칭 취약점 (0) | 2024.12.05 |