2023. 2. 9. 19:35ㆍ포렌식/iOS 포렌식
아이폰을 포렌식하기 위해서 꼭 탈옥(jail breaking)을 해야 할까?
그렇다. iPhone 까지는 탈옥이 전혀 필요하지 않았다. 이때까진 설사 폰이 잠겨있다고 해도 장치를 완벽하게 이미징 뜰 수 있었고, 비밀번호도 쉽게 뚫을 수 있었다. 게다가 애플이 공식적으로 수사에 협조하기도 했다.
하지만 아이폰5s, 즉 iOS8부터 애플이 데이터 보호에 관심을 갖기 시작했고, 대부분의 데이터가 암호화되기 시작했다. 애플이 수사기관에 정보를 제공하지 않은 것도 이때부터였다.
따라서 현재 시점에서는, 탈옥을 하지 않고 파일시스템을 추출해봤자(접근도 못하지만) 거의 암호화되어 있어서 쓸모가 없다.
현직자에게 물어봤다.
증거능력을 결정하는 것은 exploit 이나 탈옥의 유무가 아니라 사용한 도구가 법적으로 신뢰받는 도구인가.. 이다.
exploit을 통한 증거획득의 경우, 파일시스템이 조작되는 것도 아니고, 데이터에 대한 조작은 이루어지지 않는다는 것을 입증했기 때문에 증거능력이 있다고 한다.
jb(탈옥)의 경우, 시스템파일 자체가 변경이 돼서 문제가 될 수는 있지만, 그렇다 하더라도 파일시스템 내 데이터가
조작 되지 않았음을 입증하면 증거능력이 있다고 한다.
💡실제로 침해사고 조사를 하며 좀비pc 목록을 파악하기 위해 악성코드의 CNC 서버 해킹 영장이 발부가 된 전적이 있다.
포렌식 관점에서 탈옥의 장점
1. full file system 추출
2. 파티션 복호화
4. 키체인 복호화, 샌드박싱된 앱 데이터, 시스템 로그, secure chat/보호된 메시지에 접근 등 다양한 정보 획득 가능
iphone4 기준 물리적 추출(physical acquisition)의 의미 변화
전 : 사용자의 암호화된 데이터 파티션을 비트단위로 이미징뜬 것
암호화 키를 따로 추출해 이미징뜬 파티션을 복호화하는 방식
후 : Secure Enclave가 적용되면서 파일 시스템 이미징으로 변화.
classic jailbreaking과 rootless jailbreaking 방식의 차이
classic : 서명되지 않은 코드를 동작시키기 위해 애플의 서명 검증을 무력화시키고, Cydia와 같은 서드파티 앱스토어가 필요하다. 또한 root디렉토리에 접근하기 위해 변경된 파일시스템으로 remount한 후 특정 바이너리를 시스템 파티션에 쓴다.이러한 과정은 파일시스템에 많은 변경을 가해 무결성이 훼손된다.
rootless ; 운영체제를 수정하지 않고, 서명되지 않은 코드를 실행시키거나 서드파티 앱 매니저등을 설치하는 것이 불가능하다. rootless의 의미는 root가 없다는 것이 아니고, root 파티션에 데이터를 쓸 수 없다는 의미이다. 그래서 루트 디렉토리에는 접근이 불가하다. 접근 가능한 디렉토리는 /var부터다.
rootless 탈옥은 바이너리가 아닌 소스코드로 가능하기 때문에 코드를 분석하여 어떤 데이터가 변경되는지 알 수 있다. 이는 분석가가 쓸데없는 데이터 변경에 시간을 허비하지 않아도 된다는 의미이다.
rootless 탈옥은 다음의 데이터들을 변경시킨다.
- /var/containers/Bundle/Application/rootlessJB (탈옥 소스코드 자체)
- /var/containers/Bundle/iosbinpack64 (추가적인 바이너리와 유틸리티)
- /var/containers/Bundle/iosbinpack64/LaunchDaemons (실행 데몬)
- /var/containers/Bundle/tweaksupport (트윅 설치 지원)
- 심볼릭 링크 - /var/LIB, /var/ulb, /var/bin, /var/sbin, /var/Apps, /var/libexec
rootless탈옥도 로그에 기록이 남는 것은 어쩔 수 없다. 아예 로그에 아무것도 기록되지 않게 하려면 DFU모드에서 장치를 통째로 이미징뜨거나 데이터 파티션을 복호화해야하는, 이제는 불가능한 방법이다.
상용 디지털 포렌식 도구들이 full file system을 추출하는 방법
운영체제 취약점 익스플로잇으로 파일 시스템에 직접 접근하게 함. 도구마다 이용하는 취약점도 다르고, 어떤 취약점을 이용하는지 밝히지 않아서 데이터에 어떤 변경이 일어나는지 모르는 것이 단점
'포렌식 > iOS 포렌식' 카테고리의 다른 글
HFS+ 디렉토리 (0) | 2023.02.09 |
---|---|
HFS+ structure (0) | 2023.02.09 |
iOS File System (0) | 2023.02.09 |
모바일 포렌식의 개요 (0) | 2023.02.09 |