RootRoot는 보안 연구원, 침투 테스터 및 안드로이드 애호가를 위해 개발된 오픈 소스 안드로이드 보안 탐지 툴킷입니다. 이 툴킷은 모바일 애플리케이션이 루팅된 기기, Magisk 설치 및 Frida 계측 프레임워크를 실시간으로 탐지하는 방법을 보여줍니다.
이 앱은 4가지 탐지 전략에 걸쳐 13가지 보안 검사를 수행하여 기기의 보안 상태를 종합적으로 파악할 수 있도록 도와줍니다.
▌ 탐지 방법
◆ Java 레이어 탐지
• 루트 패키지 스캔 — Magisk, SuperSU, KingRoot, Xposed를 포함한 48개의 알려진 루트 앱 시그니처를 PackageManager에서 검사합니다.
• SU 바이너리 검색 — su, busybox, magisk 바이너리를 찾기 위해 14개 디렉터리를 스캔합니다.
◆ 네이티브 정적 등록
.so 심볼 테이블에 표시되는 내보낸 JNI 심볼을 사용합니다.
• 네이티브 파일 접근을 통한 SU 바이너리 검사
• /proc/mounts를 통한 Magisk 마운트 탐지
• /proc/cmdline을 통한 Frida 프로세스 스캔
• /proc/self/maps를 통한 Frida 라이브러리 탐지
◆ 네이티브 동적 등록
JNI_OnLoad의 RegisterNatives()를 통해 런타임에 등록되는 함수 — 심볼 테이블에 표시되는 내보낸 심볼이 없습니다. 동일한 검사를 수행하지만 리버스 엔지니어링이 더 어렵습니다.
◆ 네이티브 Dlsym(숨겨진 등록)
dlsym()을 통해 별도의 공유 라이브러리에서 로드되는 함수 - 실제 보안 SDK 동작을 시뮬레이션하는 가장 난독화된 탐지 전략입니다.
▌ 주요 기능
✦ 4가지 JNI 등록 전략에 걸친 13가지 탐지 검사
✦ 확장 가능한 결과 카드를 제공하는 터미널 스타일의 다크 UI
✦ 실행 시간을 포함한 실시간 스캔 결과
✦ 각 탐지 기법에 대한 자세한 설명
✦ 순수 C 네이티브 코드 - C++ STL 의존성 없음
✦ 모바일 보안 이해를 위한 교육 도구
✦ armeabi-v7a, arm64-v8a, x86 및 x86_64 지원
▌ 대상 사용자
• 안드로이드 루트 탐지 기술을 연구하는 보안 연구원
• 기기 보안 상태를 평가하는 침투 테스터
• 변조 방지 조치를 구현하거나 감사하는 안드로이드 개발자
• JNI, 네이티브 코드 및 모바일 보안을 배우는 학생
• 탐지 우회 방법을 테스트하는 ROM/Magisk 사용자
▌ 교육 목적
RootRoot는 보안 연구 및 교육 도구로 설계되었습니다. 공격 및 방어 모바일 보안 기술을 모두 보여줍니다. 모든 탐지 방법은 GitHub에서 완벽하게 문서화되고 오픈 소스로 제공됩니다.
루트 탐지 작동 방식을 이해하면 방어자는 더욱 강력한 보호 기능을 구축하고 연구자는 기존 구현의 취약점을 파악하는 데 도움이 됩니다.
소스 코드: https://github.com/John-Jung/RootRoot