탈옥(iOS)

1 애플 제품 관련 용어

아이폰, 아이팟 터치, 아이패드같은 애플 휴대용 기기에 사용되는 iOS의 제한을 임의로 푸는 행위를 탈옥이라 한다.

안드로이드에서의 루팅 개념과는 많이 다른 것이, 안드로이드의 경우 시스템, 혹은 커널에 su 바이너리를 심고 Superuser 또는 SuperSU등의 퍼미션 컨트롤 앱을 이용해 루트 권한을 주도록 OS에 간단하게 파일 몇 개 추가하는 정도로 끝나지만[1], iOS의 경우 자체 보안이 강력하기 때문에 이 보안을 뚫고 들어가 Cydia 스토어를 설치하고 커널을 패치하여 순정 펌웨어로 보이도록 부트롬을 속인다[2]. A4칩 이전에는 부트롬이 별도로 설치되어 있어서 부트롬 익스플로잇이 한번 뚫리면 이후 iOS버전에서는 무조건 반탈은 가능했는데, A5칩 이후로는 부트롬이 CPU 내부로 들어가게 되어 부트롬 익스플로잇이 불가능해졌다. 즉, A4 이전 기기는 탈옥시 Pwned DFU모드로 진입해서 뒷문을 열고, 탈옥툴을 돌려 시스템 내부에 접근해 탈옥하는것이 가능했는데, A5 이후 기기는 전원이 꺼지면 부트롬 전원도 같이 꺼지므로 이것이 불가능하게 되었다. A4 이전 기기도 저런식으로 뒷문을 따고 들어가서 탈옥에 성공했더라도 부팅 과정을 속이지 못하면 재부팅시 벽돌 상태가 되는 이른바 반탈(Tethered Jailbreak)상태가 되는데, 이것이 패치되는데 까지는 시간이 꽤 소요된다.

사실상 애플 기기의 역사는 탈옥과의 싸움이라고 할 수 있을 정도로, 애플에서 한 기기나 새로운 OS 버전을 출시하면 몇시간내로 또 탈옥이 뚫리고, 다시 보안 업데이트로 이를 막으면 또 몇시간 뒤에는 뚫리는 식으로 이어져 왔다. 그러나 아이패드 2의 경우에 부트롬이 플래시 메모리가 아닌 프로세서 자체에 내장되었기 때문에 아이폰처럼 바로 뚫리진 않았지만, 2011년 7월 6일 JailbreakMe 3.0이 나오며 대탈옥시대를 맞이하게 된다.

애플은 탈옥된 제품에 대해서는 AS를 거부한다. 이건 애플이 민감한 것이 아니고, 삼성이나 소니, LG도 원칙적으로 사용자가 임의로 OS를 수정한 경우는 AS를 거부할 수 있다. 애플은 탈옥이 자사 OS에 대한 저작권 침해라는 근거를 내세우면서 불법이라고 주장해 왔으나 미 국회도서관 저작권 사무국측에서는 불법이 아니라는 결정을 내렸다. 하지만 탈옥 제품에 대한 AS 거부에 대해서는 딱히 시정명령을 내릴 근거가 없기 때문에 이 정책은 유지중.

탈옥의 명분은 기본적으로 '애플이 제한하고 있는 기능을 사용 가능하게 하는' 것이다. 좀더 엄밀히 말하면 OS 차원에서 지원하지 않는 기능을 지원하게끔 개조하는 것. 글꼴과 테마를 바꿀 수 있도록 한다거나[3] 시디아[4]에서 애플 정책상 앱스토어를 통해 설치할 수 없던 유용한 프로그램을 찾아 설치하는 것이 주를 이룬다. 시스템 파일을 직접적으로 건드릴 수 있기 때문에 셔터음을 삭제한다던가 하는 행위도 가능하다.[5] 사실 아이폰이 처음 나왔을 때 앱스토어는 존재하지 않았고, 기능도 많이 부족했고, 이를 보충하기 위해 프로그램을 설치하려면 반드시 탈옥을 거쳐야 했으며, 음지에만 서드파티 아이폰 프로그램이 존재했다. 그 당시의 애플의 주장은 "웹 프로그램이 있는데 프로그램을 깔 필요가 있나?"였고, 최초의 아이폰 발매 키노트에 이런 사고방식의 내용이 있었다. 앱스토어용으로 올라오는 앱도 애플 정책상 추가될 수 없는 기능의 한계라는 게 존재한다. 때문에 이런 규제를 싫어하는 사람들은 탈옥용으로 프로그램을 만들게 되며, 이것이 탈옥의 기본적 명분인 것이다. 그래서 스티브 잡스도 나도 탈옥해 봤다 소리를 한 것이다.

하지만 사용자들이 탈옥을 행하는 이유 중 하나는 역시 '크랙 앱'을 통한 유료 앱의 무료 이용, 즉 불법 복제이기도 하다. 그러므로 애플에서 유별나게 반응을 안 하는 게 이상하다고 할 수 있다. 애플뿐만 아니라 앱 개발자들 입장에서도 탈옥해서 불법 복제를 일삼는 유저들은 당연히 곱게 보일 리가 없다. 괜히 어디가서 탈옥한 폰 보여주고 불법으로 다운받은 앱 자랑하지 좀 말자. 정당하게 돈주고 앱 사서 쓰는 사람들 입장에선 대놓고 말은 안해도 굉장히 불쾌해진다. 단 엄연히 탈옥은 위의 명분으로 나온 것이 최초이며[6] 개인이 탈옥하여 더 많은 기능을 사용하는 것은 자유인만큼, 탈옥 이후의 불법 복제를 비판할 것이지 탈옥 자체를 비판할 필요는 없다. 또한 탈옥용으로 앱 만드는 사람도 엄연한 개발자다. 그 탈옥어플을 불법복제한 탈옥 소스도 존재한다. 주로 xsellize 같은 소스들. insanelyi 소스도 초기에는 테마관련트윅을 주로 취급하는 소스였으나 최근에는 유료 탈옥트윅을 포크해서 무료로 배포하는 등의 불법을 저지르고있어 저작권 경고가 들어갔다.

탈옥하면서 잃는 것도 있는데, 가장 큰 것이 AS 불가능과 각종 스마트뱅킹 서비스의 이용 불가능이 있다. 하지만 미리 백업해 놓고 DFU 복원 해버리면 무상 AS도 가능하고 스마트뱅킹 앱을 뚫어주는 프로그램이 계속 나오고 있기 때문에 현실적으로 그리 큰 문제는 못된다. 그 외의 문제점으로는 iOS 가 불안정해 진다거나 배터리 사용시간이 급감하는 등의 문제부터 시작해서 앱이 튕긴다거나 갑자기 재부팅이 된다거나 전화가 불능이 되는 등의 잔 오류와 오작동이 있기는 하지만 시디아에서 함부로 프로그램을 설치하거나 시스템 깊숙한 곳을 멋대로 뜯어놓지만 않는다면 이런 경우는 드물며 문제가 발생하더라도 아이튠즈를 통한 DFU 복원 한방이면 간단하게 해결된다. 또한, 일부 스마트뱅킹 소프트웨어 이용제한은 심지어 탈옥 앱으로 제한을 해제할수도 있다!

간혹 일부 블로거들이 탈옥 후 이거 설치해라 저거 설치해라. 안 그러면 안정화 안 된다. 이러면서 이것저것 깔라고 하는데 그대로 따라하면 폰이 개판나는 경우도 있으니 주의. 안정화라는게 예전에 탈옥이 불안정하던 시절에나 쓰였던 것이지 요새는 안정화의 의미가 없다. OpenSSH도 관련 프로그램 사용하는게 아니면 설치할 필요가 없는데 굳이 설치하다 루트 비밀번호 바꿔라 이러는 것도 의미가 없다. 물론 루트 비번이야 바꾸면 좋긴 하다만... 사실 저런 말도 안되는 안정화는 잘 보면 크랙소스 추가하고 쓰지도 않을잡 트윅 설치하는게 전부다. 저런 말도 안되는 안정화 과정을 따라하고 나면 폰이 느려지고 iOS가 꼬여서 맛이 가버리는 경우가 많다. 어차피 시디아 소스가 많을수록 로딩 속도가 느려진다.

대표적인 탈옥 툴로는 TaiG, PwnageTool, RedSn0w, Sn0wbreeze, Pangu 등이 있다. iPhone Dev Team, Chronic Dev Team 등의 해커들이 참여하고 있는데, 이런 여러 해커들이 누가 먼저, 그리고 안정적으로 탈옥을 공개하나 경쟁을 벌이고 있는 상황. 아무래도 아이폰 탈옥 개발자라고 하면 그 바닥에서는 상당한 유명세를 얻을 수 있으니... 예전의 탈옥툴은 미국, 혹은 유럽 쪽 개발자에 의해서 개발되고 발표되었지만 iOS 7을기준으로 중국 개발자들 또한 탈옥툴 개발에 참여하고 있다. 탈옥 툴이 나오는 주기가 예전에 비해 매우 짧아진 것은 덤. iOS 7과 8은 모두 중국 개발자들에 의해 발표되었다.

iOS 8.1.2의 탈옥툴을 내놓은 이후 탈옥툴의 소식이 뜸하다가, 2015년 6월 23일 중국의 탈옥툴 개발 팀인 TaiG 팀에서 8.3까지 탈옥이 가능한 탈옥툴을 내놓은 상태이다. TaiG 팀은 8.4도 동일한 방식으로 탈옥할 수 있을 것이라고 했고, 결국 7월 1일 iOS 8.4가 업데이트되자마자 탈옥툴이 나왔다. 8.4 탈옥이 하루만에 나올 수 있던 것은 애플에서 Taig 8.3 툴의 취약점을 8.4때 패치를 안해서 그런것이다. 8.1.3~8.3까지 탈옥툴이 나오는데 반년이 넘는 시간이 걸린 것을 생각해보자. 2015년 8월 22일 Pangu 팀에서 8.4.1의 탈옥을 선보였다. 9.0이 초읽기 상태라 공개하지는 않았다. 이 취약점이 수정되지 않는다면 iOS9의 탈옥은 식은 죽 먹기일듯.

2015년 10월 14일 PanGu에서 iOS 9 탈옥툴을 공개했다. 2015년 10월 18일 기준 iOS 9.0.2까지 완탈이 가능하다. 현재 애플에서 iOS9.1 업데이트로 해당 탈옥툴은 차단해놓은 상태.

2016년 7월 중국의 Pangu팀에서 64비트 기기 한정 iOS 9.2에서 9.3.3까지 탈옥 가능한 툴을 내놓았다. 다만 아직 완전한 탈옥은 아니라 재부팅 후엔 탈옥이 풀려 기기 내에 설치된 앱을 실행해 재 탈옥을 시켜줄 필요가 있다. 다만 현재 Pangu팀에서 배포한 툴로 탈옥 후 페이팔 계정이 해킹당했다는 등의 보고가 이어지고 있다고 한다. 레딧 링크 이 이슈에 대해 Cydia의 개발자로 유명한 iOS 해커 saurik이 reddit의 덧글을 통해 의견을 밝혔다. Pangu의 탈옥 툴로 인해 이러한 문제가 발생했을 것이라고 생각되지는 않으나, 중국의 사기업인 25PP에서 배포하는 툴으로 인증하는 대신, Cydia Impactor를 이용해 애플 서버를 경유하여 인증하는 것을 권장한다고 한다.

2016년 8월 30일 새벽 3시경에 9.2 - 9.3.3 탈옥 어플이 다른 곳도 아니고 앱스토어에 올라왔다! 한 시간도 안돼서 내려갔지만 레딧에서 계정 공유를 통해 구매이력에서 내려받는 방식으로 계속 다운로드가 이루어지고 있다.#

탈옥 전용 앱스토어라 할 수 있는 시디아 항목도 참조.

2 SHSH 백업

탈옥툴은 각 프로그램 버전마다 지원하는 기기와 iOS 버전이 정해져 있다. 때문에 탈옥을 하지 못하는 버전이 있으며 최신 버전의 iOS를 쓰는 사람은 해당 버전을 지원하는 탈옥툴을 개발팀이 내놓을 때까지는 순정 상태로 기다리는 수밖에 없다. 하지만 iOS의 펌웨어는 현재 정상적인 방법으로는 한 번 업데이트하고 나면 다운그레이드가 불가능하다. 애플 사가 탈옥을 막는 방법 중 하나이긴 한데, 문제는 업그레이드한 펌웨어에 버그가 발생하더라도 순정 사용자 역시 다운그레이드가 불가능하다는 것. iOS 펌웨어를 업데이트할 때 애플의 서버에 접속을 해서 인증을 받기 때문에 그런 것이다. 탈옥 개발자들은 이를 일종의 프록시에 기기 인증코드를 저장해주는 방법으로 우회하였다. 이를 SHSH 백업이라 불린다. 하지만 펌웨어 업데이트 전에 백업을 해야 하고, iOS 기기 자체에서 하는 무선 OTA 업데이트는 인증코드 오작동을 가져오므로 반드시 컴퓨터로 기기를 업데이트해야 한다. 이는 기기를 탈옥하지 않더라도 사용 가능하니 순정 사용자도 사용을 권하며 기기에 문제가 생겨 DFU 모드 복원(공장초기화)을 해야 할 경우 자동으로 최신 버전의 iOS가 설치되기 때문에 만일을 대비하여서라도 필수적으로 하는 것이 좋다.
여기서 Tinyumbrella를 다운받을 수 있다. 이 프로그램 말고도 SHSH 백업 툴이 몇가지 있으니 참고할 것.

언제부턴가 애플의 인증 정책(?)이 APTicket으로 바뀌어서 기존의 SHSH Blobs(단, iOS 5.x 이상 버전부터)는 더 이상 쓸 수 없게 되었다. 따라서 지금까지 백업했던 건 모두 버리고 TinyUmbrella나 iFaith 등을 이용해 재작성해야 한다.(몇년 전 이야기이니, 최근에 백업했다면 상관없다.) 물론 최신 버전일 때만 백업이 유효하므로 대부분은 망했어요... 야!! 탈옥폰 죽는 소리 좀 안나게 하라!!

그러나 SHSH 백업을 철저히 해두었다고 해도, 실제로 iFaith를 통해 복원 시에는 일종의 하드웨어 취약점을 사용하기 때문에 해당 취약점이 없는 아이폰 4S 이상의 기기는 복원이 불가능했었다. 다만 최근에 탈옥된 iOS 기기에서 kloader 바이너리를 통해 Pwned DFU모드로 진입하는 방법이 나오면서 SHSH 백업이 되어 있다면 A5칩 이상 기기에서 다운그레이드가 가능해졌다. (다만 이 바이너리의 업데이트가 안 되고 있는 상황이여서 언제 막힐지 모른다.) 자세한 건 여기 참조. 게다가 현재 애플은 아이폰4S랑 아이패드2의 iOS 6.1.3 OTA SHSH을 배포하고 있기 때문에, 사전에 SHSH 백업을 안했어도 현재 아이폰4S나 아이패드2가 탈옥되어 있다면 iOS 6.1.3로 다운그레이드 할 수 있다! 자세한 건 여기 참조.

2.1 반탈과 완탈

탈옥을 하다보면 많이 듣는 이야기가 반탈과 완탈이다. 그리고 가끔씩 듣는 준완탈 정도도 있다. 여기선 이들을 설명한다.

  • 커스텀 번들(Custom Bundles) : 줄여서 커번이라고도 한다. 쉽게 말하자만 완탈에서 시디아와 트윅들을 뺀것. 루트 파일 시스템에 존재하는 파일들을 덮어씌우는게 가능하다. 즉, 테마를 제작하고 사용할 때 쓰이는 것 이다. 주로 레드스노우(redsn0w) 같은 툴이 이 기능을 내장하고 있다. 하지만 iOS의 디렉토리를 완전히 복제 해 놓아야만 하기때문에 상당히 많이 번거롭다(...) 덤으로 버전이 업데이트 될 때 마다 다이렉토리가 바뀌거나 파일의 기본 값(default value) 가 바뀌게 되면 곤란해진다. iOS 6 탈옥까지 존재했으나, iOS 7 부터는 나오지 않았다. 주로 준완탈이 나올 때 쯤 나오는데, 이건 반탈의 부팅불가능이란 큰 단점을 수정하기 위해서다. 준완탈에선 테마질을 윈터보드로는 못하고, 커번에선 트윅설치가 불가능하니 잘 생각하는것이 중요하다. 하지만 일부 트윅들은 커스텀 번들로 구현하는게 가능하다 카더라[7]. 그닥 인기가 있는 탈옥은 아니기 때문에 나오는 것도 뜸하다.
  • 반탈(Tethered) : 쉽게 말하면 완전하지 못한 반쪽 탈옥이다. 반탈은 한번 전원이 꺼지면 일반적인 방법으로는 부팅이 불가능하며 부팅시에 탈옥을 했던 프로그램을 통해서 부팅을 시켜줘야한다. 그에 비해 완탈은 부팅시에 문제가 없이 정상 부팅이 된다. 반탈은 아이팟 터치 2세대 탈옥부터 도입되었으며 터치2세대 당시 발견된 취약점이 완벽하지 않았기 때문에 초기에 반탈을 사용하였다. DFU 모드를 통한 하드웨어 취약점을 이용하며, 아이폰 4s 이상의 기기에서는 나올 수 없다.
  • 준완탈(Semi-tethered) : 반탈옥, 세미탈옥이라고도 한다. 반탈과 완탈의 중간 상태. 전원이 꺼지더라도 부팅할 수 있으며 SBSettings나 WinterBoard 등의 Cydia Substrate (구 명칭 : Mobile Substrate | mobilesubstrate) 계열의 프로그램을 사용하지 않을 시에 재부팅하면 순정 상태가 된다. 이 경우 탈옥 앱이나 데이터는 손상되지 않지만 실행되지 않는다. 그리고 순정 상태에서는 sandbox문제로 iBooks/Mail/Safari 사용의 문제가 발생한다.[8] 위의 반탈과 마찬가지로 탈옥시 사용했던 프로그램으로 재부팅하면 탈옥상태와 동일해진다.
  • 완탈(Untethered) : 완전한 탈옥이다. 완탈은 부팅시에 문제가 없이 탈옥 상태로 정상 부팅이 된다. 위에서 언급된 부트로더의 취약점을 사용하는 부분이 추가되어 있다.

자신의 기기가 탈옥이 되는지에 대한 정보는 아래 링크에서 볼 수 있다.

  • iOS 탈옥(한국어 위키백과)
  • 제일브레이크매트릭스(영문) : 자신의 기종과 세대, iOS버전을 선택하면 어느 수준까지 탈옥이 가능한가와 함께 알맞은 탈옥 방법을 알려준다. 영문이지만 첫 번째 링크보단 친절하다. 고로 영어를 배우자. 그래도 Tethered/Untethered로 딱딱 알려주기 때문에 완/반탈 유무 정도는 위의 용어만 알면 알 수 있다.
  • [1]

2.1.1 반탈과 완탈이 갈리게 된 이유

  • 해커들이 발견한 초기 취약점의 불안정성
위에서 언급되었듯 초기 터치 2세대의 경우 취약점이 완벽하지 않아 반탈이 등장했고 그뒤로는 완탈이 되어서 문제가 되지 않았다. 그 후 신 부트롬을 쓰는 모델들은 부트롬상의 취약점은 존재하나 이것을 펌웨어상에서 유지할 수가 없어서 완탈이 불가능해도 반탈이 가능한 경우가 생겼다.
  • 애플의 대응
iPhone 3GS 에도 동일한 취약점을 가지고 있어서 출시된지 얼마만에 완탈이 되기 시작했으나, 애플이 iOS가 수정되었다고 판단되면 부팅을 중단하게끔 부트롬쪽을 수정한 모델[9]을 시장에 내놓으면서 문제가 발생하였다. 그후 아이폰 3Gs와 아이팟 터치 2세대 8G MC모델들간의 탈옥에 관한 문제가 부각되기 시작되었다.

2.2 탈옥이 가능한 애플 제품 운영체제 버전

iOS 10.0.1 ~ 10.0.2불가능
iOS 9.3.4 ~ 9.3.5불가능
iOS 9.3 ~ 9.3.3가능[10][11]
iOS 9.2 ~ 9.2.1가능
iOS 9.0 ~ 9.1가능[12]
iOS 8.4.1불가능
iOS 8.1.3 ~ 8.4가능
iOS 8.0 ~ 8.1.2가능
iOS 7.1 ~ 7.1.2가능
iOS 7.0 ~ 7.0.6가능
iOS 6.x.x 이하가능

3 탈옥 프로그램 목록

  • Absinthe (iOS 5.x.x)
  • greenpois0n (iOS 4.x.x)
  • p0sixspwn (iOS 6.x.x)
  • evasi0n
  • Pangu Jailbreak
  • redd00r
  • redsn0w
  • sn0wbreeze
  • TaiG
  • PPJailbreak(PP越狱助手)
  • limera1n
  • PwnageTool
  • purplera1n
  • Seas0npass (애플TV 2세대)
  • Absinthe
  • evasi0n7 (iOS 7.x.x)

추가바람.

  1. 다만 루팅의 경우에도 쉽지는 않다. 제조사가 부트로더 락을 거는곳도 더러있고, LG나 샤프의 경우에는 구글 넥서스처럼 쉽게 언락을 할수도 없다. 직접 부트로더를 해킹해야한다.
  2. iPhone 3GS 뉴 부트롬(2009년 45주차 이후 생산품)이후에는 부팅 시 시스템 변조를 검사하고, 변조 발견시 즉시 부팅 과정을 중단하고 무한사과에 빠지도록 부트롬이 수정되었다.
  3. 아이폰은 원래 이런 게 안된다.사실 순정안드로이드(넥서스)도 루팅없이 글꼴변경은 안된다
  4. 탈옥제품에서 쓸 수 있는 일종의 어둠의 앱스토어(불법이라는 소리는 아니다.).
  5. 한국에서 셔터음(촬영과 스크린샷 모두 포함)을 무음으로 바꾸는 행위는 명백히 위법행위이다. 하지만 권고사항이라 강제성은 없다 카더라. 폰카 항목 참조.그럼 무음모드에서 스샷 소리없는 안드로이드는 불법인가?
  6. 다만 PSP 등에서도 볼 수 있듯, 홈브류와 불법 복제는 분명히 종이 한 장 차이의 기술이다. 단 iOS는 탈옥 등장 당시 앱스토어가 없었으므로 불법 복제 자체가 불가능했다.
  7. 이건 극소수의 경우이다. 예를 들어 파일을 수정하는 형태이라면 가능하지만, 새로 디렉토리를 만들어 사용하는 것은 불가능 하다. 대표적으로 사파리에 구글이나 빙 대신 네이버 검색을 하는 툴이 존재하는데, 이런건 적당한 구글링으로 쉽게 찾을 수 있다.
  8. 단 Mail과 Safari는 툴을 사용하여 부팅시 사용이 가능하다.
  9. 아이폰 3GS의 iBoot버전이 iBoot-359.3까지 구부트롬(잘 모르겠다면, 국내 출시 기기는 99.9%가 신형 부트롬이고 간혹 리퍼폰중에 구부트롬이 껴있기도 한다. 2009년 45주차 이전 생산품 해당.) 터치 2세대 8G모델일 경우 모델명이 MB일 경우 구 부트롬 이후에 숫자가 높아졌으면 모두 신부트롬이다.
  10. 9.2 ~ 9.3.3 버전. 64비트 기기들만 가능하다. 아이패드2는 32비트라 안된다.
  11. 아직 불완전한 탈옥이라 재부팅하면 시디아가 먹통이 된다. 다시 탈옥을 해주면 문제없이 작동 된다.
  12. 9.1은 64비트 기기들만 가능하다.

이 문서의 내용 중 전체 또는 일부는 탈옥문서에서 가져왔습니다.</div></div>