루트 노출 및 우회 취약점 : 안드로이드 디바이스 시스템 권한을 얻는 것
리눅스 기반 운체의 경우 시스템의 루트 권한 취득이 가능하지만 안드로이드의 경우 보안상의 이유로 우트 권한을 막아 놓았으며 이로인해 행위의 제한이 생김, 이러한 제한을 풀거나 우회하기 위해서는 시스템 권한을 루팅으로 획득 필요
기기를 루팅하면 슈퍼 유저의 건한으로 하드웨어 성능 조작, 제조사 및 통신사 기본 앱 삭제, 시스템 권한을 이용한 다양한 디바이스 조작 가능
루팅된 기기는 디바이스 내부의 민감한 정보에 접근 가능
취약점 진단 과정
- 루팅 체크가 필수적인 금융 앱이나 게임 앱에서 주로 체크하는 경로
- /system/bin/su
- /system/xbin/su
- /system/app/superuser.apk
- /data/data/com.noshufou.android.su
- 제니모션의 가상머신은 기본적으로 루팅되어 있음
- superuser.apk 위치 파악
- superuser.apk 파일과 su 파일이 있는지를 확인할 때 점검해야 할 파일 리스트
- /system/app/Superuser.apk
- /system/xbin/which
- /system/bin/su
- /system 디렉터리에 존재하는 파일을 수정하려면 only-read 상태로 마운트 되기 때문에 시스템 파일을 수정할 수 없음 -> 다시 마운트 필요
- 여기까지 따라하면 책에서는 루팅 체크 우회 성공했다고 뜨는데 나는 그대로임..
- 아 껐다가 켜니까 화면 바뀌어 있음
- 루팅의 핵심은 시스템 권한을 바꾸는 것, su를 바꿈으로써 확실하게 권한 취득을 볼 수 있었으며 이것이 루팅 성공의 핵심이 되는듯
- 앱을 이용하여 루팅하는 방법 : Superuser.apk를 삭제한 후 다시 로그인하려면 SuperSU.apk 어플이 필요
- 어플 다운받아 애뮬레이터에 설치
- 실습 불가
취약점 대응 방안
- 탐지 후 별다른 제재를 하지 않아 앱 사용에 문제가 없으면 루트 권한으로 정보 열람이 가능
- 루팅된 디바이스로 접근 시 즉시 앱을 종료시켜야 함
- 이 때, 중요한 점은 루팅을 방지하는 소스 코드 로직이 노출되지 않도록 하는 것임
- 무결성 검즈으이 필요하며 디컴파일 방지 솔루션을 적용하는 것이 중요
'정보보안 > 안드로이드해킹' 카테고리의 다른 글
안드로이드 모의해킹) 안전하지 않은 웹 뷰 실행 (0) | 2020.07.28 |
---|---|
안드로이드 모의해킹) 안전하지 않은 콘텐츠 프로바이더 접근 (0) | 2020.07.28 |
안드로이드 모의해킹) 액티비티 컴포넌트 취약점 (0) | 2020.07.28 |
안드로이드 모의해킹) 로컬 암호화 이슈 (0) | 2020.07.28 |
안드로이드 모의해킹) 취약한 인증 메커니즘 (0) | 2020.07.28 |
댓글