[모의해킹] Activity 강제 호출 대응방안
안드로이드 (Android) 단말은 앱 설치 및 디버깅과 같은 관리 목적을 위해 ADB(Android Debug Bridge) 명령어 사용을 지원합니다.
Activity 강제 호출
ADB의 명령어를 활용하면 앱의 Activity 호출이 가능하며, 중요 Activity에 프로세스 적인 접근 제한으로 통제되고 Activity 자체에 대한 접근 제한이 없을 경우 Activity 강제 호출을 통해 해당 Activity에 접근이 가능합니다.
앱들 중 Critical한 Activity는 없었으나 모두 Activity에 접근 제한이 걸려 있지 않으며 해당 기능을 통하여 루팅 탐지 구문 우회, 로그인 없이 일부 기능 수행 등을 할 수 있었습니다.
[Case 01] 루팅 탐지 구문 우회
Step. 01. 루팅된 단말에서 Adb 명령어를 통해 사용자 인증 페이지 강제 호출
[+]cmd> cmd /c toolsadb.exe shell su -c am start-n com.dev.mobile/com.dev.mobile.auth.userActivity
[대응방안]
Activity는 Manifest의 Exported 속성에 따라 외부에서 호출 가능 여부가 판단 됩니다.
그러므로 다른 APP과 연동이 필요한 경우가 아니라면 Exported 속성은 False로 변경하여 주시고 중요 Activity의 경우 화면 호출 조건(파라미터 등)를 설정하여 특정 조건에 맞지 않을 경우 호출 되지 않도록 설정하여 주시기 바랍니다.
<activity
android:name=”.PopupWebActivity”
android:label=”@string/app_name”
android:exported=“false”
android:screenOrientation=”portrait”/>