본문 바로가기
dev/objective-c

[objective-c] iOS 탈옥 탐지 방법

by 최연탄 2019. 2. 19.
728x90
반응형

참고: How to check your app is installed on a jailbroken device
참고: https://github.com/thii/DTTJailbreakDetection

iOS 탈옥은 애플의 보안규약을 뚫는 과정입니다. 그래서 iOS에 대한 root 접근을 허용하고 공식 애플 앱스토어에서 제공하지 않는 추가 앱, 확장 및 테마를 다운로드하여 설치할 수 있게 해줍니다. 만약 보안기능에 충실한 앱을 만들어야 한다면 탈옥하지 않은 순정폰에서만 실행되도록 해야합니다.

모든 경우에 대해서 탈옥을 탐지하기는 힘듭니다. 왜냐하면 탈옥 탐지 코드를 속이도록 하는 탈옥 방법도 있기 때문입니다. 하지만 보안 체크를 늘림으로서 앱 해킹을 더욱더 어렵게 만든다면 충분히 해볼만한 가치가 있을 것 입니다.

다음은 앱이 실행되고있는 기기가 탈옥된 장치인지 판단하는 방법입니다.

  1. 탈옥된 장치에 일반적으로 있는 파일 탐색
    Cydia.app 이나 MobileSubstrate.dylib 같은 파일을 탐색하는 가장 일반적이고 쉬운 방법입니다.
  2. 시스템 디렉토리에 읽기/쓰기 접근 (sandbox violation)
    탈옥되지 않은 환경에서는 오직 앱의 샌드박스 내에서만 읽고 쓰기가 가능합니다. 만약 앱이 샌드박스 밖으로 접근이 가능하다면 탈옥된 장비로 간주할 수 있습니다.

리턴값이 YES일 경우 이 장치는 탈옥된 장치 입니다. Github에 Pod 형태로 프로젝트에 사용할 수 있도록 하는 프로젝트도 있습니다.

반응형

'dev > objective-c' 카테고리의 다른 글

[objective-c] doxygen으로 javadoc 스타일의 문서만들기  (0) 2016.04.25

댓글