관리 메뉴

Information Security

루팅 탐지 우회 본문

모바일/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를 탐지함으로써 루팅여부를 파악할 수 있다.

그림 1-1 루팅 탐지 우회 소스코드

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

그림 1-2 doesSUexist() 코드

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

그림 1-3 Superuser 앱

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

그림 1-4 Superuser.apk

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

그림 1-5 루팅 비교

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

그림 1-6처럼 루팅된 디바이스 탐지를 하면 경고 메시지를 띄우고 앱을 사용할 수 없게 즉시 앱을 종료 시켜야 한다.

그림 1-6 루팅 경고 메시지

'모바일 > InsecureBank 분석' 카테고리의 다른 글

애플리케이션 패칭  (0) 2019.07.14
안전하지 않은 콘텐츠 프로바이더 접근  (0) 2019.07.14
액티비티 컴포넌트 취약점  (0) 2019.07.13
로컬 암호화 이슈  (0) 2019.07.13
취약한 인증 메커니즘  (0) 2019.07.13