[Android] 디버깅 탐지 기능 여부 취약점 보안가이드
2023. 5. 19.
보안가이드
디버깅 탐지 기능 여부 취약점은 앱이 동작할 때 동적 디버깅 도구로 디버깅이 가능하냐 안하냐만으로도 취약점이 될 수 있다. LLDB나 GDB, IDA와 같은 동적 디버깅 도구로 앱에 붙었을 때 디버깅이 가능하다면 취약이다. 안드로이드 시스템에서 대응방안은 크게 3가지로 제시해줄 수 있을 것같다. 1. 디버깅 비활성화 2. 디버깅 시 사용되는 ptrace 시스템 호출 차단 및 선점 3. 디버깅 시 발생되는 SIGTRAP 시그널 무시 1번은 예제 코드는 아래와같다. public class DebugProtection { private static final String DEBUG_FLAG_PROPERTY = "debug.enable"; public static void disableDebug() { Syst..
Frida를 이용한 Window Socket 통신 후킹 및 변조
2023. 5. 19.
CS&하드웨어&시스템
모의해킹을 하면 HTTP 프로토콜로 통신을 하는 웹/모바일 뿐만 아니라 그보다 아래 레이어에서 통신을 하는 CS프로그램도 종종 진단을 해야하는 경우가 생긴다. 이럴 경우 평범한 HTTP 프록시 도구를 사용해서 데이터를 변조하는 등의 진단은 불가능한데 이 때 Frida를 이용해서 진단을 수행할 수 있다. 원리는 간단하다 윈도우에서 HTTP 통신을 포함한 모든 TCP/IP 네트워크 통신은 Window Socket을 통해서 요청과 응답을 주고 받는다. 그 통신을 도와주는 파일이 WS2_32.dll 파일이다. 이 라이브러리 파일을 통해 데이터를 주고받는 다면 라이브러리 파일을 후킹해서 HTTP 프로토콜로 이루어지는 통신이 아니더라도 그 내용을 볼 수 있다. frida로 이 라이브러리를 후킹하는 방법은 아래 코드..
[Android] 메모리 내 중요정보 노출 취약점 보안가이드
2023. 5. 18.
보안가이드
메모리 내 중요정보 노출 취약점은 앱에서 중요정보와 관련된 특정 행위 후 Memory Dump 도구를 사용해서 앱 메모리 덤프 시 메모리에 적재되어있는 수많은 정보중 중요정보가 평문으로 적재되어 있을 경우 취약한 것으로 판단한다. 2022.04.28 - [모바일/Ios] - [ios] 프리다[Frida] Fridump를 이용한 메모리 덤프 [ios] 프리다[Frida] Fridump를 이용한 메모리 덤프 앱을 이용하면 메모리 내에 데이터들이 적재되는데 그 안에 중요정보들이 평문으로 담겨져있는 경우가 있다. (ex. 계정정보, 개인정보, 금융정보 등) 그래서 메모리 Dump를 통해 분석해볼 필요성 hyotwo.tistory.com 또한 아래처럼 메모리 덤프로 생성된 데이터에는 텍스트형식으로 이미지 파일도 ..
[Android] 안드로이드 에뮬레이터(Nox/BlueStack/MeMu) Proxy 설정법
2023. 5. 18.
모바일/Android
단말기를 사용할 수 없는 환경에서 앱 진단을 해야할 때는 녹스와같은 안드로이드 에뮬레이터로 진단을 해야한다. Nox나 미뮤 플레이어같은 경우는 프록시를 설정하는 데 있어서 큰 어려움이 없다. 하지만 블루스택에서 프록시 설정을 할 때 꽤나 애를 먹어서 이번 포스팅을 작성한다. 또 앱 플레이어마다 너무 환경이 달라서 특정 애플리케이션이 녹스에서는 실행이 안되고 미뮤에서는 실행이되는 등 버그가 많은 듯 하다. 1. 녹스(Nox)/미뮤(MeMu) 먼저 녹스와 미뮤앱플레이어의 프록시 설정법은 위에서 말했듯이 큰 어려움이 없다 단말기와 거의 유사함 그리고 안드로이드 버전 또한 설정할 수 있어서 7인가 9인가 보다 낮은 버전의 안드로이드로 실행하면 직접 system 디렉터리에 쓰기권한을 마운트하여 넣어줄 필요도 없다..