본문 바로가기

4. 모바일 앱 취약점 진단22

[Android, iOS] 3.1. 백그라운드 화면 보호 취약점 개요백그라운드 화면 보호 취약점은 앱이 백그라운드 상태에 진입했을 경우 별도의 경로에 화면 스냅샷 파일이 저장되는데 해당 파일에 중요정보가 포함되는 경우에 취약한 것으로 보고있다. 점검 방법우선 Android와 iOS는 스냅샷 파일이 저장되는 경로만 다를 뿐 결국 같은 방향으로 취약점이 발현되는데 스냅샷 파일이 저장되는 경로는 아래와 같다.Android/data/system_ce/0/snapshots - 공통된 버전iOS/var/mobile/Application/[BundleID]/Library/Caches/Snapshots/[PackageName]/ - 7버전 미만/var/mobile/Containers/Data/Application/[BundleID]/Library/Caches/Snapshots/[P.. 2024. 6. 19.
[iOS] 1.3. 디바이스 임의 개조 탐지 취약점 점검 방법iOS 단말기 또한 Android와 비슷하게 앱 접근 시 탈옥 탐지 로직이 구현되어 앱 접근이 정상적으로 되지 않으면 양호한 것으로 본다.iOS 단말기의 경우 보통 탈옥 탐지 로직이 존재하면 우회하기가 Android에 비해 어렵다.탈옥 탐지 로직이 존재할 경우 아래의 2가지 방식을 통해 우회를 할 수 있다. 1. 디컴파일러를 통한 우회Ghidra, IDA 등의 툴을 활용하여 탈옥 탐지 로직을 확인하고 해당 함수의 분기 위치를 확인해서 함수 인자값을 반대로 변경하여 우회할 수 있다.이처럼 Jailbroken과 같은 문자열을 검색하면 탈옥 탐지 코드를 확인할 수 있다.해당 함수를 확인하고 나면 탈옥 탐지 부분으로 분기되는 함수 위치를 확인하고 인자 값을 변조하면 우회가 가능할 수 있다. 보통 이 방.. 2024. 6. 19.
[iOS] 1.1. 소스코드 난독화 및 암호화 취약점 이번엔 iOS에서 소스코드 난독화 및 암호화 취약점에 대해 분석해보고 대응 방안을 수립해보도록 하겠다.iOS에서 소스코드를 분석하기 위해서는 먼저 파일을 만들기 위해 앱을 IPA로 추출하는 과정이 선행되어야하며 그 후 IDA나 GHIDRA와 같은 툴을 사용해 내부 소스코드 로직을 분석하게 된다.IPA를 추출했으면 IPA 파일의 압축을 해제한다.IPA 압축을 해제하고 내부를 확인하면 ‘파일’ 유형을 가진 가장 용량이 높은 파일이 존재한다.이 파일을 Ghidra에서 호출하면 되는 것이다.불러오기 후 Analyze 작업이 뜨는데 Analyze까지 끝나게 되면 그때부터 정상적으로 분석이 가능해진다.여기서 메뉴 상단의 Search - For Strings 메뉴에 접근함으로써 String을 검색할 수 있게 된다.탈.. 2024. 6. 19.
[Android] 1.3. 디바이스 임의 개조 탐지 취약점 개요디바이스 임의 개조 탐지는 루팅이나 탈옥과 같은 작업이 된 디바이스 여부를 앱에서 감지하는 것이다.이것이 취약한 이유는 루팅되거나 탈옥된 기기의 경우 권한이 더 높아지고 다양한 악성 트윅 등을 사용할 수 있게 되기 때문에 앱의 변조, 앱 내 정보 탈취 등의 행위를 수행할 우려가 높아진다. 점검 방법루팅은 기본적으로 루팅된 기기를 통해 앱에 접근했을 때 정상 접근이 되는지 여부만 파악하면 된다.취약한 경우에는 그냥 접근이 되거나 루팅 탐지 관련 메시지만 출력시키고 정상 접근이 되는 경우들이 존재했다.루팅 탐지 로직이 적용되어 있어 기본적으로는 루팅된 기기에서 접근이 불가능한 경우에는 양호라고 볼 수 있지만, 만약 1.1 소스코드 난독화 및 암호화 취약점과 1.2 무결성 검증 취약점이 존재하는 경우에는 .. 2024. 6. 19.