모바일/InsecureBank 분석
루팅 탐지 우회
HackingPractice
2019. 7. 14. 09:59
정의
- 안드로이드이 경우 보안상의 이유로 루트 권한을 막아 놓았다. 애플리케이션 실행 시 각 프로그램마다 권한을 부여하여 독립적으로 동작한다 이러한 제한을 풀거나 우회하기 위해서는 시스템 권한을 루팅으로 획득해야 한다.
발생 위치
- /system/bin/su, /system/xbin/su, /system/app/superuser.apk, /data/data/com.noshufou.android.su
영향
- 슈퍼 유저의 권한으로 하드웨어 성능 조작, 제조사 및 통신사 기본 애플리케이션 삭제, 시스템 권한을 이용한 다양한 디바이스 조작 등이 가능해진다.
진단
PostLogin 소스 코드를 보면 /system/app/Superuser.apk를 탐지함으로써 루팅여부를 파악할 수 있다.

doesSUexist()는 su 프로세스가 존재하는지 확인한다.

지니모션에 Superuser 앱이 설치되어 있는 것을 알 수 있다.

/system/app 위치에 Superuser.apk 파일을 확인할 수 있다.

왼쪽의 디바이스는 Rooted Device 루팅이된 하면이고 오른쪽의 디바이스는 not Rooted 루팅이되지 않는 것을 알 수 있다.

대응방안
- 루팅된 디바이스를 탐지하면 사용하지 못하도록 즉시 종료시켜야 한다. 루팅된 디바이스로는 접근 할 수 없다는 경고 메시지를 띄우고 즉시 앱을 종료해야 한다.
그림 1-6처럼 루팅된 디바이스 탐지를 하면 경고 메시지를 띄우고 앱을 사용할 수 없게 즉시 앱을 종료 시켜야 한다.
