[Android/공부] JNI 활용 안드로이드 디버깅 / USB 탐지 (JAVA)
Android/공부·2024. 7. 11.
안드로이드 디버깅 탐지란?안드로이드 모바일 앱에서 LLDB, GDB, IDA 같은 동적 디버깅 도구를 붙였을 때 디버깅이 가능하다면 이는 취약점이 될 수 있다.앱이 동작할 때 동적 디버깅 도구를 활용한 디버깅 가능 여부에 따라 취약한지 결정된다.LLDB, GDB, IDA와 같은 동적 디버깅 도구로 디버깅이 가능하다면 공격자는 이를 통해 코드 흐름 파악, 메모리 상태 분석, 실행 흐름을 조작 할 수 있다.따라서 디버깅 탐지 기능을 통해 동적 도구를 활용한 디버깅을 방지 할 수 있다.디버깅 탐지 기능 설정디버깅 탐지 기능은 아래의 방법으로 존재한다.디버깅 시 사용되는 ptrace 시스템 호출 차단 및 선점ppid를 확인하여 앱을 실행 시킨 프로세스가 디버깅툴인지 확인디버깅에 사용되는 ptrace 탐지안드로이..