'UNIX'에 해당되는 글 2ATOM

  1. 2010/03/03 inureyes 아이폰 용어 탈옥 (jailbreak) 의 유래
  2. 2007/10/30 inureyes Mac OS X 레퍼드의 타임머신 동작 원리 10

문득 생각나서 정리.

요새 아이폰의 jailbreaking을 '탈옥'이라고 번역해서 사용하는 사람들이 많다. 언론에까지 그렇게 다루어지고 있는 것을 보면 전반적으로 용어의 의미에 대해 착각하는 경우가 많아 원래 뜻을 간단하게 정리해본다.

jailbreak은 '애플이 가둬놓은 제약에서 벗어난다' 그런 의미와는 아무런 상관이 없다. 게다가 아이폰 때문에 나온 용어도 아니다. 일반적인 유닉스 배포본은 프로그램이 접근할 수 있는 루트 디렉토리를 특정 디렉토리로 제약할 수 있다. 그러한 기능을 chroot 라 하고, 그렇게 가둬진 디렉토리를 chroot jail이라 한다. chroot 하에서 돌아가는 프로그램은 파일 시스템 자체를 특정 디렉토리 이하로밖에 인식할 수 없다. 그걸 벗어난 부분은 인지가 불가능하다. 일종의 가상화인데, 유닉스 종류마다 다양한 방법으로 구현되어 있다. chroot jail은 파일 시스템과 유닉스 권한 제어 차원에서의 제약이며, 간단하면서도 가장 강력한 가상화이다.

막혀 있으니 우회하는 방법을 찾고 싶은 것이 사람이다. 운영체제마다 이걸 깨는 방법이 계속 만들어진다. 일반적으로 그 운영체제의 버그나 chroot wrapper의 취약성을 공격해서 뚫는다. (당연히 발견될 때 마다 막혔다.) 이렇게 chroot jail을 깨는 방법을 통칭해서 jailbreak라고 한다.

아이폰의 OS는 OSX이고, OSX는 mach 커널을 기반으로 한 BSD 계열의 유닉스 시스템이다. 아이폰의 프로그램들은 chroot jail을 이용하여 샌드박싱 되어 있고, OSX의 어플리케이션은 라이브러리를 공유하지 않고 어플리케이션 각각에 내장된다.1 따라서 아이폰 OSX의 각 프로그램은 운영체제를 해킹하지 않는 한 chroot jail에서 허용하는 디렉토리 및 API가 지원하는 디렉토리 이외로의 접근이 불가능하다.

기술 용어가 다른 컨텍스트에서 해석되어 널리 사용되는 것도 재미있지만, 애초에 그 기술 용어도 일반적인 단어에서 모티브를 얻어 왔음을 상기해 본다면 언어에서 흔히 나타나는 재귀적 정의 과정의 한 예로 볼 수도 있을 것 같다.

크리에이티브 커먼즈 라이센스
Creative Commons License
  1. OSX의 어플리케이션 -맥오에스/아이폰 할 것 없이 아이콘 하나로 표현된다- 은 사실 .app 확장자를 가진 디렉토리이며, 디렉토리 안에 실행 파일 및 리소스가 모두 포함되어 있다.
2010/03/03 08:40 2010/03/03 08:40
트랙백이 없고, 댓글이 없습니다.
ATOM Icon 이 글의 댓글이나 트랙백을 계속 따라가며 보고 싶으신 경우 ATOM 구독기로 이 피드를 구독하세요.