본문 바로가기
보안 및 개발/MOBILE

[Android] How to Rooting Detection

by CH@3M 2020. 2. 12.

1. su 파일 탐지

1) open, fopen, access와 같은 함수를 hooking 하여 접근하는 것을 보면 알 수 있다. retval.replace(-1) 과 같은 방법으로 파일이 존재하지 않는 것처럼 우회 가능

2) 가끔 java 코드에 그대로 박아두는 경우엔 그냥 그 함수의 return 값 변조~

3) 파일의 이름을 아예 변경하는 방법도 있다.

 

2. 프로세스 탐지

 

3. 설치된 패키지 목록 확인

/system/app 폴더 아래 Superuser.apk, su.apk 와 같은 패키지를 확인한다.

 

4. busybox 명령어 확인

 

5. BuildTag

adb shell로 접근하여 cat /system/build.prop | grep ro.build.tags 명령어 수행

루팅되어 있을 경우 ro.build.tags=release-keys

루팅되어 있지 않을 경우 ro.build.tags=test-keys

 

6. 폴더 권한 확인

루팅 후 reomount하고 write권한을 주는 경우를 체크한다.

 

7. 루팅 카운트 탐지

삼성의 KNOX 등을 이용해 루팅 카운트를 탐지하는 방법이다. 커스텀 펌웨어를 덮어쓸 경우 카운트가 올라가서 이를 구분할 수 있게 된다.

 

반응형