: iOS 애플리케이션은 임시 데이터와 영구 데이터를 로컬 시스템(iOS 설치기기)에 저장할 수 있다. - 데이터를 평문으로 저장하게 될 경우 계정 정보(ID/PW), 고객 정보, 서버 정보 등과 같은 중요 정보가 유출될 수 있다.
1. 파일 기반 체크 (File-based Checks) : 탈옥되지 않은 기기에서는 존재할 수 없는 파일 또는 디렉터리 존재여부로 탈옥 여부를 판단하는 방법 - 파일기반 탈옥 탐지 체크리스트의 파일 또는 디렉터리가 존재하는지 확인하고, 존재한다면 탈옥된 기기라고 판
: 과도한 권한 또는 불필요한 권한 취약점은 앱 권한을 잘못 사용할때 발생하는 취약점이다. - 앱은 접근 권한이 필요한 UsageDescription 키를 Info.plist 파일에 저장한다. - Info.plist 파일에 저장된 UsageDescription 키에
: 런타임 조작이란 디버깅 툴을 이용해 앱이 실행 중인 상태에서 흐름을 조작하여 보안 기능을 우회하는 것을 말한다. - 런타임 조작을 통해 인스턴스 변수를 수정, 로그인(인증) 검사 우회, 무차별 강제 핀 코드 등을 사용할 수 있다. - 인증 값이 맞을 때까지 무차별
Local Authentication (로컬 인증) : 디바이스 내부에 저장된 자격증명을 기준으로 사용자를 인증하는 것을 말한다. - 자격증명 : 암호, 지문(Touch ID), 얼굴(Face ID) 등 - 로컬 인증을 앱에서 사용하기 위해 로컬 인증 프레임워크를 사
Side Channel Data Leakage : 사이드 채널 데이터 유출 취약점은 애플리케이션이 중요한 데이터가 실수로 유출되는 취약점이다. Device Logs : 개발자가 개발 단계에서 애플리케이션을 디버깅 하기 위해 추가한 로그 기능을 배포
: IPC (Inter Process Communication) 는 프로세스들 사이에 서로 데이터를 주고받는 행위 또는 방법이나 경로이다. - 앱이 신뢰할 수 없는 출처의 URL Schemes 를 통해 요청을 수신하는 데 이를 제대로 검증하지 않을 때 문제가 발생할
: 웹뷰는 프레임워크에 내장된 웹 브라우저 컴포넌트로 View 의 형태로 앱에 임베딩하는 것을 말하며, 쉽게 앱 내에 웹 페이지를 넣는 것을 의미한다. - API 를 통해서 받은 URL 을 호출해 보면 응답 값으로 JSON, XML 같은 데이터 포맷이 아닌 HTML
: 네트워크를 통해 데이터를 전송하는 세 가지 방법과 ATS 설정을 확인한다. HTTP 1. 프록시 설정 (PC)
: 애플리케이션 패칭 취약점은 앱의 바이너리 파일을 변조하여 영구적으로 변경된 로직을 사용할 수 있는 취약점으로, 애플리케이션 위·변조라고도 부른다. - 애플리케이션 패칭이 가능한 경우 로그인 메소드, 탈옥 탐지 메소드 및 앱에서 사용되는 특정 명령어 패치가 가능하여
: 민감정보 메모리 저장 취약점으로, 앱에 입력하는 모든 입력 값과 실행되는 모든 정보들이 메모리에 적재되는데 중요정보를 포함할 수 있는 속성 또는 변수 등을 사용한 후 제거하지 않아 메모리에 중요정보가 평문으로 저장되는 경우를 말한다.