인시큐어뱅크 활용 안드로이드 모의해킹 공부

루트 노출 및 우회 취약점

원준킹 2020. 12. 22. 19:44

루트 노출 및 우회 취약점

  • 안드로이드는 기본적으로 보안을 위해 루트 권한을 사용자가 획득 할 수 없도록 막아놓았다.
  • 안드로이드에 루트 권한을 사용자가 획들할 수 있도록 한 것을 “루팅”이라고 하며 이러한 단말기를 “루팅(된) 단말기”라 한다.
  • 안드로이드 루팅 단말기는 일반적으로 보안에 취약하며, 어플리케이션에서 허가되지 않은 동작까지 수행 가능하므로 분석에 용이하다.

진단방법

  • 루팅 된 단말기에서 앱 실행 후 반응 확인
  • 코드에서 “su”, “superuser” 문자열 검색 후 코드 상세 분석 (단말기 루팅여부 체크하는 과정)

루팅된 단말기에서만 실행이 가능한 프로그램 실행해서 실행되면 루팅되었다 판단

  • apk 파일만 있는 경우 디컴파일 통한 소스코드 추출 후 분석
  • 리패키징 후 문자열을 제거하여 루트 우회

대응 방안

  • 루팅 탐지 시 앱 종료 코드 추가
  • 멀티 덱스 난독화 솔루션 사용
  • 문자열 기반 난독화 솔루션 사용