본문 바로가기

4. 모바일 앱 취약점 진단/Android7

[Android] 1.3. 디바이스 임의 개조 탐지 취약점 개요디바이스 임의 개조 탐지는 루팅이나 탈옥과 같은 작업이 된 디바이스 여부를 앱에서 감지하는 것이다.이것이 취약한 이유는 루팅되거나 탈옥된 기기의 경우 권한이 더 높아지고 다양한 악성 트윅 등을 사용할 수 있게 되기 때문에 앱의 변조, 앱 내 정보 탈취 등의 행위를 수행할 우려가 높아진다. 점검 방법루팅은 기본적으로 루팅된 기기를 통해 앱에 접근했을 때 정상 접근이 되는지 여부만 파악하면 된다.취약한 경우에는 그냥 접근이 되거나 루팅 탐지 관련 메시지만 출력시키고 정상 접근이 되는 경우들이 존재했다.루팅 탐지 로직이 적용되어 있어 기본적으로는 루팅된 기기에서 접근이 불가능한 경우에는 양호라고 볼 수 있지만, 만약 1.1 소스코드 난독화 및 암호화 취약점과 1.2 무결성 검증 취약점이 존재하는 경우에는 .. 2024. 6. 19.
[Android] 1.2. 앱 무결성 검증 취약점 개요앱 무결성 검증 취약점은 앱 소스코드, 리소스 및 XML 파일 등이 변조되었을때 무결성을 검증하지 않아 변조된 앱을 실행할 수 있게 되는 취약점으로 볼 수 있다.기본적으로 앱 변조의 경우 디컴파일 및 리패키징이 가능해야하며, 1.1 암호화 및 난독화 취약점 존재로 인해 내부 코드 자체가 어느정도 분석이 가능해야 원활한 앱 변조가 가능해지게 된다.점검 방법점검 방법에는 기본적으로 앱의 아이콘을 변경하거나 내부에 Toast 메시지를 출력하는 코드를 삽입하여 출력이 되는지 확인하는 방법으로 진행했다.앱 아이콘 변경의 경우 Manifest.xml 파일에서 변조할 수 있다. 보통 mipmap 경로 내부에 아이콘 이미지가 존재하는데 해당 코드를 변조함으로써 확인하는 간단한 방식이지만 보통은 앱 아이콘 변경이 아.. 2024. 6. 19.
[Android] 1.1. 소스코드 난독화 및 암호화 취약점 개요1.1 소스코드 난독화 및 암호화 취약점의 경우 앱을 디컴파일하고 내부 소스코드를 확인하여 로직을 분석할 수 있게 되는 취약점이라고 볼 수 있다.해당 취약점 존재 여부를 확인하기 위해서 우선 앱 디컴파일 작업을 진행한다.이를 위해 apktool과 adb(Android Debug Bridge)라는 도구를 사용한다.진단 방법먼저 adb는 PC와 연결한 안드로이드 기기를 콘솔창에서 컨트롤할 수 있는 도구라고 볼 수 있다.adb는 안드로이드 SDK 플랫폼 도구 설치를 통해 사용할 수 있다.* SDK 플랫폼 도구 설치 : https://developer.android.com/tools/releases/platform-tools?hl=koadb 설치 후 안드로이드 기기를 PC에 연결하고 adb devices 명.. 2024. 6. 19.
안드로이드 가상환경을 구축하기 - Genymotion, 블루스택, Nox 1. 지니모션 https://www.genymotion.com/ Android Emulator on the Cloud and cross-platform - Genymotion Genymotion is an Android emulator "as a service" on the Cloud, as images for Cloud providers and locally for PC and Mac. www.genymotion.com 버추얼 박스와 같이 활용할 수 있는 지니 모션입니다. 버추얼 박스가 있는 경우 with virtual box 버전, 없으면 without으로 설치합니다. AVD처럼 가상 안드로이드 디바이스를 활용할 수 있기때문에 가상 안드로이드 모의해킹 환경을 만들기 좋습니다. 모든 기능을 사용하고자 .. 2023. 12. 28.