해외 게시판 Reddit에 "NAND 스토리지가 고장난 iPhone 7을 사용하여 Ubuntu의 기동에 성공했다"는 글이 올라왔습니다. debootstrap으로 다른 PC에 구축한 루트파일 시스템을 NFS를 통해 공유하여 iPhone 7로 마운트하는 방법을 취하고 있습니다.

SUCCESS : iPhone 7 with dead NAND netbooting unmodified Ubuntu 20.04 arm64 over usb gadget ethernet : linux
https://www.reddit.com/r/linux/comments/kux9xx/success_iphone_7_with_dead_nand_netbooting/

SUCCESS: iPhone 7 with dead NAND netbooting unmodified Ubuntu 20.04 arm64 over usb gadget ethernet

I just got done with this incredible experiment, and I couldn't resist sharing. **EDIT: VIDEO!!!**...

www.reddit.com


실제로 iPhone 7에서 Ubuntu를 부팅시키고 있는 모습을 아래의 동영상에서 확인할 수 있습니다.

iPhone 7 booting Ubuntu 20.04 - YouTube
https://www.youtube.com/watch?v=DrntxWqDuvI


이번 해킹은 iOS용 탈옥툴 'checkra1n'과 iPhone에서 Android를 실행할 수 있는 'Sandcastle'에 더해 글을 올린 newhacker1746 씨 본인이 개발한 네트워크 관련툴로 구성되어 있습니다. checkra1n과 Sandcastle은 모두 iPhone에서 발견된 수정이 불가능한 부팅 ROM 취약점 'Checkm8'을 이용합니다.


우선 Raspberry Pi 4 등 arm64 아키텍처를 이용할 수 있는 환경에서 debootstrap을 통해 루트파일 시스템을 구축하여 NFS으로 LAN 내에 공개해야 합니다. debootstrap은 호스트에 새로운 루트파일 시스템을 구축할 수 있게 하는 소프트웨어로 루트디렉토리를 변경할 수 있는 chroot 명령과 함께 사용하여 호스트와 격리된 환경을 구축할 수 있습니다.

iPhone에 전개하는 Linux 커널은 Sandcastle의 개발원인 Corellium이 A9X/A10에서 작동하도록 개조한 'linux-sandcastle'을 사용. 커널 빌드시에 NFS의 루트파일 시스템을 마운트하도록 NFS의 공유 호스트의 IP주소 등을 설정한다고 합니다.

iPhone과 호스트 PC와의 네트워크 연결을 newhacker1746 씨의 툴로 확립되면, checkra1n를 사용하여 iPhone에서 pongoOS를 기동합니다. 빌드의 커널과 디바이스 트리를 Sandcastle 툴로 iPhone에 로드하여 Ubuntu를 기동할 수 있다는 것이 일련의 해킹 흐름. 커널은 RAM에 전개되고 루트파일 시스템은 NFS로 마운트하고 있기 때문에, iPhone 7 NAND에 결함이 있어도 Ubuntu를 부팅할 수 있도록 되어 있습니다.

덧붙여 이번 해킹은 X11 및 Wayland가 동작하고, 실제로 Ubunbu GUI를 기공하는 동영상도 공개되어 있습니다.

iPhone 7 booting Ubuntu 20.04 (to GUI) - YouTube
https://www.youtube.com/watch?v=DO8vt34kTh0

 

Posted by 말총머리
,