총 6가지 실습을 진행했다.
간략하게 무엇이 문제인지, 해결방안은 무엇인지를 구분해 정리해보자.
Broadcast Receiver 결함
broadcast Receiver 외부 권한 /
외부로부터 Intent받을 수 있음.
공격자가 악의적인 intent
이를 수신하고 처리하는 과정에서 onReceive 함수가 현재 비밀번호를 로그로 남김
로그 확인 --> 기존 비밀번호 알 수 있음.
해결
exported = false; 외부 권한 차단
Intent-filter를 통해 접근할 수 있는 액티비티를 제한함.
취약한 인증 메커니즘
로그인 이후 수행되어야할 액티비티들이 있음.
ㅎㅐ당 액티비티들을 am을 통해 강제 실행할 수 있음.
해결
exported=false로 외부 접근 차단
액티비티 컴포넌트 취약점
공격자가 ChangePW에 강제로 접근
Username이 없으니 뭐가 안되네..
코드를 확인 Intent가 uname을 전달하는군!
Intent에 강제로 Uname 주입 -> changepw성공
로그인 이후 작업 수행 가능
해결
exported=false
비밀번호 변경전 기존 비밀번호를 한번 더 입력하라고 코드 수정.
안전하지 않은 컨텐츠 프로바이더 접근
content provider의 역할?
리소스 관리(데이터들)
컨텐츠 프로바이드 권한 문제
아스토그랩으로 컨,프 uri 탐색
uri 권한 없음 확인
쿼리 날려서 db 일부 정보확인가능
SQL 인젝션 공격
"'" 에러 로그에서 테이블 컬럼명 확인 --> 가능하군!
SQLITE_MASTER로 table이름 확인
names가 있군!
query로 잡아 DB저보 노출
애플리케이션 패칭
smali 파일 수정 가능
수정후 로컬에서 키를 생성, 서명, 승인
해결
소스코드 난독화
클라이언트단에서 승인하는 것이 아닌 서버에ㅓ 승인
안드로이드 키보드 캐시 이슈
캐시에 제3자 접근허용 , 중요정보(계좌..) 제3자 열람가능
클립보드 캐시 허용 차단
복사붙여넣기 안하게
'CS > 정보보안' 카테고리의 다른 글
정보보안_8_Network Secruity(1) (0) | 2023.06.08 |
---|---|
정보보안_7_Authorization (1) | 2023.06.06 |
정보보안_6_Protocol (0) | 2023.04.22 |
정보보안_5_Authentication (0) | 2023.04.20 |
정보보안_4_Crypto (0) | 2023.04.14 |