본문 바로가기
정보보안/안드로이드해킹

안드로이드 모의해킹) 루팅 탐지 및 우회

by _miiiiiin_zzang_ 2020. 7. 28.

루트 노출 우회 취약점 : 안드로이드 디바이스 시스템 권한을 얻는

리눅스 기반 운체의 경우 시스템의 루트 권한 취득이 가능하지만 안드로이드의 경우 보안상의 이유로 우트 권한을 막아 놓았으며 이로인해 행위의 제한이 생김, 이러한 제한을 풀거나 우회하기 위해서는 시스템 권한을 루팅으로 획득 필요

기기를 루팅하면 슈퍼 유저의 건한으로 하드웨어 성능 조작, 제조사 통신사 기본 삭제, 시스템 권한을 이용한 다양한 디바이스 조작 가능

루팅된 기기는 디바이스 내부의 민감한 정보에 접근 가능

 

취약점 진단 과정

  • 루팅 체크가 필수적인 금융 앱이나 게임 앱에서 주로 체크하는 경로
    1. /system/bin/su
    2. /system/xbin/su
    3. /system/app/superuser.apk
    4. /data/data/com.noshufou.android.su
    • 제니모션의 가상머신은 기본적으로 루팅되어 있음
    • superuser.apk 위치 파악
  • superuser.apk 파일과 su 파일이 있는지를 확인할 점검해야 파일 리스트
    1. /system/app/Superuser.apk
    2. /system/xbin/which
    3. /system/bin/su
  • /system 디렉터리에 존재하는 파일을 수정하려면 only-read 상태로 마운트 되기 때문에 시스템 파일을 수정할 없음 -> 다시 마운트 필요

 

  •  

 

  • 여기까지 따라하면 책에서는 루팅 체크 우회 성공했다고 뜨는데 나는 그대로임..
  • 껐다가 켜니까 화면 바뀌어 있음
  • 루팅의 핵심은 시스템 권한을 바꾸는 , su 바꿈으로써 확실하게 권한 취득을 있었으며 이것이 루팅 성공의 핵심이 되는듯
  • 앱을 이용하여 루팅하는 방법 : Superuser.apk 삭제한 다시 로그인하려면 SuperSU.apk 어플이 필요
    • 어플 다운받아 애뮬레이터에 설치
    • 실습 불가

 

취약점 대응 방안

  1. 탐지 별다른 제재를 하지 않아 사용에 문제가 없으면 루트 권한으로 정보 열람이 가능
  2. 루팅된 디바이스로 접근 즉시 앱을 종료시켜야
    • , 중요한 점은 루팅을 방지하는 소스 코드 로직이 노출되지 않도록 하는 것임
    • 무결성 검즈으이 필요하며 디컴파일 방지 솔루션을 적용하는 것이 중요

댓글