모바일 애플리케이션을 분석할 때는 크게 2가지로 나뉜다.
첫 번째는 애플리케이션, 두번째는 모바일 웹 이렇게 2가지로 나뉜다.
애플리케이션단은 해당 애플리케이션이 루팅된 환경에서 실행이 되는지
또는 안티 디버깅이 적용되어 있는지, 메모리에 중요 정보가 남아 있는지 등
애플리케이션을 개발하면 보안에 취약한 점이 없는지 분석을 하는 것이다.
모바일 웹단은 애플리케이션과 서버 간의 통신 구간에서 중요 정보가 노출이 되는지
모바일 웹 취약점이 발생하는지 점검을 하는 것이다.
따라서 모바일 웹 취약점을 진단하기 위해서는 Proxy가 필수이며
Proxy로 통신 구간을 분석하기 위해서는 Proxy의 인증서가 단말기에 꼭 설치가 되어야 한다.
하지만 분석 환경이 달라지거나, 인증서가 만료가 되었던가
갑자기 Proxy로 웹 구간을 분석이 안될 때 다시 인증서를 발급받고 다시 단말기에 설치해줘야 한다.
회사 갔다 와서 거의 공부하고 개인 연구를 진행하다 보면
회사에 설치된 Proxy 인증서, 집에 설치된 Proxy 인증서를 매번 넣어줘야 하기 때문에
위의 작업이 정말 귀찮다.
따라서 해당 작업을 편하게 하기 위해서 Proxy Setting이라는 메뉴에
Register CA certificate라는 서브 메뉴를 만들었다.
Register CA certificate는 CA 인증서를 자동으로 단말기에 설치해 주고 알아서 재부팅까지 해준다.
Register CA certificate를 클릭하면 2가지 옵션이 나온다.
하나는 Home, 하나는 Company다.
그 이유는 위에서 말했듯이 환경이 달랐지만 Proxy 인증서도 다시 설치를 해줘야 하기 때문이다.
여기서 버튼이 총 3가지가 있다.
1. adb root
2. adb disable-verity
3. adb reboot
여기서 중요한 것은 2번째 기능이다.
adb disable-verity 명령은 Android 기기의 dm-verity 기능을 비활성화하는 명령이다.
dm-verity는 Android 기기의 시스템 이미지의 무결성을 보장하기 위한 기능이다.
인증서를 설치하기 위해서는 /system/etc/security/cacerts/ 디렉토리에 인증서를 설치해줘야 하는데
dm-verity가 활성화되어있으면 /system 디렉토리를 remount 할 수 없다.
따라서 인증서를 단말기에 설치하기 전 adb disable-verity를 꼭 해줘야 한다.
따라서 adb disable-verity를 실행하기 전 adb root가 필요하고
adb disable-verity를 적용한 후 단말기를 재부팅을 해줘야 한다.
하지만 해당 단말기가 adb disable-verity가 비활성화되어 있다면 굳이 다시 작업을 할 필요가 없다.
따라서 인증서를 자동으로 설치하기 전 이를 먼저 체크한 후
위 3가지 작업을 하지 않아도 될 때 미리 체크가 되어 있도록 만들었다.
하지만 위 3가지 작업을 해야 하는 단말기라면??
이렇게 체크를 하도록 설정할 수 있다.
다음은 Home 버튼을 클릭했을 때 PC와 단말기 화면이다.
모두 자동으로 수행된다.
위에서 언급한 것처럼 위의 과정에서 사용자의 개입 없이 모두 자동으로 설정을 진행해 준다.
'모바일 분석 도구' 카테고리의 다른 글
06. Home - Utility - System Property (0) | 2024.01.17 |
---|---|
05. Tab - Package (2) | 2024.01.17 |
03. Menu-Connect (0) | 2023.12.22 |
02. Home, Menu 화면 (0) | 2023.12.22 |
01. Mode Select (0) | 2023.12.22 |