• Jailbreak Detection
   – iOS 탈옥은 샌드박스 제한을 풀어 타 회사에서 사용하는 서명되지 않은 코드를 실행할 수 있게 하는 과정

   – 탈옥된 디바이스에서 앱 실행을 어렵게 하기 위해 리버스 엔지니어링 방어 기능을 추가함

   – iOS의 전형적인 탈옥 탐지 기법 (Trustwave 발표)

      • File-based Checks

      • Checking File Permissions

      • Checking Protocol Handlers

      • Calling System APIs

 

 

• Jailbreak Detection (File-based Checks)
   – 파일 기반으로 확인하는 것으로 탈옥 여부 확인 가능
   – 탈옥과 관련된 파일 및 디렉터리를 확인

 

 

/Applications/Cydia.app 
/Applications/FakeCarrier.app 
/Applications/Icy.app 
/Applications/IntelliScreen.app 
/Applications/MxTube.app 
/Applications/RockApp.app 
/Applications/SBSettings.app 
/Applications/WinterBoard.app 
/Applications/blackra1n.app 
/Library/MobileSubstrate/DynamicLibraries/LiveClock.plist 
/Library/MobileSubstrate/DynamicLibraries/Veency.plist
 /Library/MobileSubstrate/MobileSubstrate.dylib 
/System/Library/LaunchDaemons/com.ikey.bbot.plist
 /System/Library/LaunchDaemons/com.saurik.Cydia.Startup.plist
 /bin/bash 
/bin/sh 
/etc/apt
/etc/ssh/sshd_config 
/private/var/lib/apt 
/private/var/lib/cydia 
/private/var/mobile/Library/SBSettings/Themes 
/private/var/stash 
/private/var/tmp/cydia.log 
/usr/bin/sshd 
/usr/libexec/sftp-server 
/usr/libexec/ssh-keysign 
/usr/sbin/sshd 
/var/cache/apt 
/var/lib/apt 
/var/lib/cydia 
/usr/sbin/frida-server 
/usr/bin/cycript 
/usr/local/bin/cycript 
/usr/lib/libcycript.dylib


• Jailbreak Detection (Checking File Permissions)
   – 파일 권한을 확인하는 것으로 탈옥 여부 확인 가능

   – 애플리케이션의 샌드박스 외부에 있는 위치에 파일 생성을 시도하는 것으로 확인 가능

   – 애플리케이션이 /private 디렉터리에 파일을 생성하도록 하여 성공적으로 생성된다면 디바이스가 탈옥된 것

• Jailbreak Detection (Checking Protocol Handlers)

   – 프로토콜 핸들러를 확인하는 것으로 탈옥 여부 확인 가능

   – 프로토콜 핸들러란 특별한 URL을 처리하는 프로그램으로 cydia:// 프로토콜 핸들러를 사용하여 시디아에서 설치 가능

   – Cydia URL을 열어 프로토콜 핸들러 확인 가능

      • 거의 모든 탈옥 툴이 기본적으로 설치하는 Cydia 앱은 cydia:// 프로토콜 핸들러를 설치함

 

• Jailbreak Detection (Calling System APIs)
   – 시스템 API를 호출하는 것으로 탈옥 여부 확인 가능

   – 탈옥되지 않은 디바이스에서 NULL을 인수로 system 함수를 호출하면 0이 반환

   – 탈옥된 디바이스에서 NULL을 인수로 system 함수를 호출하면 1이 반환

   – 함수가 탈옥 디바이스에서만 /bin/sh에 대한 접근을 확인하기 때문에 위의 방식으로 확인 가능

+ Recent posts