장바구니 담기 close

장바구니에 상품을 담았습니다.

iOS 해킹과 보안 가이드

iOS 해킹과 보안 가이드

  • 찰리 밀러
  • |
  • 에이콘출판
  • |
  • 2014-06-27 출간
  • |
  • 516페이지
  • |
  • 188 X 235 X 9 mm /118g
  • |
  • ISBN 9788960775787
판매가

35,000원

즉시할인가

31,500

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
31,500

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

★ 요약 ★

아이폰과 아이패드를 비롯한 iOS 기반 디바이스에 발생할 수 있는 모든 보안 위험성에 대해 설명하는 책이다. 맥 OS와 iOS 보안의 전문가인 저자들이 iOS의 내부를 파헤쳐 취약점을 확인하고, 공격을 방지하는 방법도 알려준다. 또한 운영체제의 동작과 보안 아키텍처를 다루며, 각 부분과 관련된 보안 위험을 설명한다.

★ 이 책에서 다루는 내용 ★

■ iOS의 내부 기능과 취약점 확인
■ 암호화, 취약점 찾기, 공격 코드 작성 관련 모든 요소
■ 주요 페이로드 확인과 iOS에서 ROP로 할 수 있는 것과 없는 것
■ 커널 구조와 IOKit 드라이버, 커널 디버깅과 취약점 공격 방법
■ 모바일 사파리에서 PDF와 파워포인트 문서를 퍼징하는 기술
■ 여러 가지 형태의 탈옥 방법
■ 이 책의 웹사이트: 소스코드와 추가 도구 제공www.wiley.com/go/ioshackershandbook


★ 이 책의 대상 독자 ★

이 책은 iOS 디바이스가 어떻게 동작하는지 궁금한 모든 이를 대상으로 한다. 탈옥 커뮤니티에 관여하고 싶은 사람이나 데이터를 안전하게 저장하고자 하는 애플리케이션 개발자, iOS 디바이스를 안전하게 사용하고 싶은 회사 관리자, iOS의 결점을 찾아내려는 보안 연구자 등을 꼽을 수 있다.
대다수 독자는 이 책의 전반부 내용을 쉽게 이해할 수 있을 것이다. 기초부터 시작해서 후반부로 갈수록 기본적인 내용을 이해하고 있어야 한다. 예를 들면 디버거를 어떻게 사용하고 코드를 어떻게 읽는지 등이다.


★ 이 책의 구성 ★

이 책은 iOS의 기능별로 구성이 나뉘어 있다. 읽는 방법은 여러 가지다. 이 책의 주제에 대해 잘 모르거나 하나도 빠짐없이 읽고 싶은 독자라면 처음부터 끝까지 읽으면 된다. 기본적인 내용은 전반부에 있고 뒤로 갈수록 복잡하다. 이미 iOS의 내부 동작에 대해 어느 정도 지식을 가지고 있다면 앞부분은 건너뛰고 필요한 부분만 골라 읽어도 된다. 각 장은 대부분 독립적으로 구성되어 있다. 다른 장의 내용을 참조할 경우 어디를 보아야 할지 명시해두었다. 각 장은 다음과 같이 구성되어 있다.

- 1장: iOS 디바이스와 iOS 보안 아키텍처를 개략적으로 설명한다. 이 책에서 어떤 내용을 다룰지도 전반적으로 소개한다. iOS 5의 보안 아키텍처에 대한 공격을 포함해서 여러 iOS 버전에 대한 공격을 소개한다.
- 2장: 기업에서 사용하는 iOS에 대해 다룬다. 기업에서 디바이스를 관리하고 설정하는 등의 내용을 살펴본다. 기업용 디바이스를 위해 개발하는 방법과 개발자 인증서와 프로비저닝 프로파일의 동작도 알아본다.
- 3장: iOS가 민감한 데이터를 암호화해서 다루는 방식을 알아본다. 암호화 키를 어떻게 얻고 사용하는지 살펴본다. 암호화의 여러 단계에 대해서도 알아본다. 애플리케이션 개발자가 민감한 데이터를 보호하기 위해서 데이터 보호 API를 사용하는 방법을 알아본다. 마지막으로 단순한 방법으로 비밀번호를 뚫는 것을 통해 네 자리 숫자 암호가 얼마나 비효율적인지 보여준다.
- 4장: iOS의 가장 기본적인 보안 매커니즘인 코드 서명에 대해 알아본다. 관련된 소스 코드와 바이너리를 역공학해서 신뢰된 곳으로부터 서명된 코드만 디바이스에서 실행될 수 있음을 확인한다. 최근 추가된 iOS 코드 서명의 기능으로 인해, 서명되지 않은 코드가 매우 정교하게 제어되는 상황에서 JIT 컴파일을 통해 실행될 수 있음을 보여준다. 마지막으로 iOS 5 초기 버전의 코드 서명 메커니즘의 문제를 설명한다.
- 5장: iOS의 샌드박싱에 대해 다룬다. iOS 커널이 어떻게 후크가 중요한 위치에 놓이게 하는지 알아보고 샌드박싱을 위해 사용되는 후크를 알아본다. 예제를 통해 애플리케이션과 iOS의 중요 함수가 어떻게 샌드박싱을 하는지 살펴본다. 마지막으로 샌드박스 프로파일을 알아보고, 샌드박스에서 허용되는 함수를 기술하고 iOS 바이너리에서 추출하는 방법을 설명한다.
- 6장: 퍼징(fuzzing)으로 iOS의 기본 애플리케이션에 있는 취약점을 찾아내는 방법을 알아본다. 퍼징의 기초에서부터 시작해서 iOS의 가장 큰 공격 범위인 모바일 사파리를 퍼징하는 예를 살펴본다. iOS 퍼징이 OS X, iOS 시뮬레이터, 그리고 실제 디바이스에서 각각 어떻게 다른지 알아본다. 데스크탑 컴퓨터에서는 찾을 수 없는 SMS 파서를 퍼징하는 것을 보여주는 것으로 마무리한다.
- 7장: 이 장에서는 앞에서 살펴본 방법으로 찾은 취약점을 이용해서 공격 코드를 만드는 방법을 살펴본다. iOS의 힙 관리 시스템과 공격 코드를 작성할 때 힙 풍수를 이용하는 방법을 알아본다. 그리고 공격 코드 개발 시 가장 큰 장벽인 주소 영역 무작위배치(ASLR)에 대해서 알아본다.
- 8장: 프로세스에 대한 제어를 얻으면 무엇을 할 수 있는지 알아본다. iOS 디바이스에서 사용하는 ARM 아키텍처를 간단히 살펴보고 ROP로 넘어간다. ROP 페이로드를 수동/자동으로 만드는 방법을 알아보고 ROP 페이로드의 예제도 보여준다.
- 9장: 사용자 영역에서 커널로 넘어간다. 커널의 기초를 소개한 다음 iOS 커널을 디버깅해서 동작을 확인하는 방법을 설명한다. 커널의 취약점을 조사하고 여러 형태의 취약점에 대한 공격을 알아본다.
- 10장: 탈옥이 어떻게 동작하는지 기초에서부터 알아보고 여러 형태의 탈옥을 자세히 살펴본다. 탈옥에 필요한 요소인 파일 시스템 수정, 데몬 설치, 활성화를 알아보고 탈옥으로 커널을 패치하는 과정을 자세히 살펴본다.
- 11장: 여러 iOS 디바이스에 있는 베이스밴드 프로세서에 대해 살펴본다. 베이스밴드와 상호작용하기 위한 도구를 설정하는 방법과 iOS 디바이스에 사용된 베이스밴드에서 실행되는 실시간 운영체제(RTOS)에 대해 알아본다. 베이스밴드 운영체제를 조사하고 여러 가지 취약점을 살펴본다. 베이스밴드 운영체제에서 실행되는 페이로드를 살펴보는 것으로 마무리한다.


★ 저자 서문 ★

아이폰이 나온 지 5년이 지난 지금은, 처음에 그것이 얼마나 혁신적이었는지 모두들 잊었을 것이다. 그 당시에는 지금 우리가 아는 스마트폰이 없었다. 전화기는 전화만 걸었고 간혹 웹브라우저가 있는 폰도 있었지만 기능이 제한적이었다. 웹페이지의 기본적인 내용만 보여주고 해상도도 매우 낮았다. 아이폰은 이 모든 것을 바꿔놓았다.
거의 전체가 화면인 데다가, 웹킷 기반의 웹브라우저가 탑재되어 있고, 통신사가 해주지 않아도 OS를 업그레이드할 수 있는 디바이스가 나타난 것이다. 게다가 사진을 저장하고, 음악을 듣고, 문자 메시지를 보내는 기능을 갖춘, 바로 사람들이 원하는 것이었다. 물론 아이폰이 완벽하지는 않았다. 최초의 아이폰은 데이터 속도가 느리고 외부에서 만든 애플리케이션을 설치할 수 없었으며 최소한의 보안만 지원했다. 하지만 스마트폰과 태블릿 혁명에 가장 큰 역할을 했다.
2007년 첫 아이폰이 나온 이후로 여러 애플 디바이스가 출시됐으며 모두 iOS에 기반을 뒀다. 물론 최초의 아이폰을 비롯한 디바이스들이 출시될 당시만 해도 운영체제를 iOS라고 부르지는 않았다. 애플은 최초의 아이폰의 운영체제에 대해 데스크탑과 같은 OS X이라고 불렀고 2008년에 나온 두 번째 아이폰 출시 때에는 iPhone OS라고 했다. 당시에는 시스코(Cisco)가 라우터 운영체제를 IOS라고 부르고 있었기 때문에 iOS라는 이름을 쓸 수가 없었다. 얼마간의 돈이 오고간 뒤, 애플은 2010부터 운영체제를 iOS라 부르기 시작했다.
아이폰 다음의 iOS 디바이스는 아이팟터치다. 이것은 기본적으로 아이폰과 같지만 전화를 하거나 문자 메시지를 보내는 장치가 없다. 그 외에 2세대 애플 티비와 아이패드도 있다. 이들 디바이스는 새 버전이 나올 때마다 더 빠르고 매끈한 외양에 더 많은 기능을 보유하고 있다.
애플 디바이스들은 겉보기에는 아름답지만, 그 내부가 어떻게 동작하는지는 거의 알려져 있지 않았다. 특히 수백만 명의 사람들이 자신의 개인정보를 넣어 다니는 디바이스의 보안은 어떤 수준일까? iOS 디바이스의 보안에 대한 정보는 보안 학회, 탈옥 커뮤니티, 개인 연구자의 기록 등 여기저기에 흩어져있었다. 이 책에서는 iOS의 내부에 대한 지식을 한데 모으고자 한다. 이러한 정보에 모두가 접근할 수 있을 때, 개인과 회사가 디바이스 사용으로 인해 감수해야 할 위험을 사전에 인지하고 그것을 어떻게 완화할지 알 수 있을 것이다. 그리고 디바이스를 더욱 안전하게 만들고 안전하게 사용하는 데도 도움이 될 것이다.

★ 옮긴이의 말 ★

대학 시절의 다양한 아르바이트 중에, 한번은 교내 신문사에서 일한 적이 있다. 주로 한 일은 신문 기사를 웹사이트에 올리는 것인데, 작업 내용은 간단하지만 당시 접하기 힘든 맥에 적응하느라 애를 먹던 기억이 난다. 그때는 90년대 후반, 맥과 같은 애플 제품은 출판이나 디자인 업계 등 특정 분야의 사람들만 쓰는 것으로 인식되었고 점유율은 미미했다. 대부분 윈도우 OS를 사용했고 학과 공부와 관련해서 리눅스도 많이 썼지만, 맥 사용자는 찾아보기 힘들었다.
세월이 흐르고 아이팟터치를 시작으로 애플의 제품을 접하기 시작했다. 처음에는 단지 미디어 플레이어(당시 PMP라 부르던)로 생각했는데, 앱스토어와 풀브라우저는 새로운 세계를 열어주었다. 아이폰이 우리나라에 출시되기를 손꼽아 기다려 구매하고, 결국은 맥북도 장만하게 되었다. 이것이 비단 나만의 개인적인 경험은 아닐 것이다.
특정 분야의 소수만 사용하던 애플 제품이 지금과 같이 널리 퍼지게 된 데 결정적 역할을 한 것은 바로 아이폰일 것이다. 비록 전문 보안 연구가는 아니지만 소프트웨어 분야의 일을 하는 사람으로서, 이 책을 번역하면서 아이폰의 핵심인 iOS의 내부를 살펴보고 이해하게 된 것이 매우 즐거운 경험이었다. 한때 iOS에서 한글 자판을 사용하기 위해서 탈옥을 할 수밖에 없던 적도 있었다. 마냥 경이롭게 느껴지던 탈옥의 메커니즘에 대해 알게 된 것을 이번 번역의 가장 큰 즐거움으로 꼽고 싶다. 부족한 번역이지만 독자들도 같은 즐거움을 나눌 수 있길 바란다.
- 장민경

국내에 아이폰이 출시된 초창기 시절, 한때 탈옥이 유행했는데, 보안에 취약하다는 이유 하나만으로 수많은 장점(?)을 포기하고 순정품 그대로 쓴 기억이 있다. 지금은 예전보다는 보안 기능이 크게 향상됐는데, 그 사이 내부적으로 어떤 일들이 있었고, 어떤 기술이 사용됐는지, 한번 그 속을 들여다보고 싶었던 차에, 이 책을 번역할 기회를 얻게 됐다.
이 책에서는 지금 출시된 최신형 아이폰을 공격하는 데 필요한 직접적인 방법을 알려주지는 않는다. 시스템 내부에 대한 사전 지식과 전문 용어가 많이 등장하지만, 어디까지나 상세한 설명을 위한 것이지, 시스템 전문가나 보안 관련 종사자만을 대상으로 하는 것은 아니고, 오히려 일반 사용자에게 특히 유용할 것이다. 여기서 소개하는 iOS 기반 기기에 대한 공격과 방어의 사례를 살펴봄으로써, 최신형 제품에 여전히 존재하는 보안의 허점을 해결하는데 필요한 내공을 쌓는 데 큰 도움이 될 것이다.
- 남기혁

저자소개

저자 찰리 밀러(Charlie Miller)는 Accuvant 연구소의 수석 연구원이다. 밀러 박사는 국가안보국(NSA)에서 5년 동안 국제 네트워크 취약점 공격 분석가로 활동했다. 최초로 아이폰과 G1 안드로이드 폰에서 공개된 원격 취약점 공격을 찾아냈다. 지난 4년간 연속으로 CanSecWest Pwn2Own 해킹대회에서 수상했다. 텍스트 메시지를 이용해서 아이폰을 공격했으며, iOS에 악성코드를 집어넣을 수 있는 코드 서명의 문제를 찾아냈다. 이 문제를 알리고 나서 iOS 개발자 프로그램에서 쫓겨나기도 했다. 두 권의 정보 보안 책을 썼으며 노트르담 대학에서 박사 학위를 받았다.

도서소개

아이폰과 아이패드를 비롯한 iOS 기반 디바이스에 발생할 수 있는 모든 보안 위험성에 대해 설명하는 책이다. 맥 OS와 iOS 보안의 전문가인 저자들이 iOS의 내부를 파헤쳐 취약점을 확인하고, 공격을 방지하는 방법도 알려준다. 또한 운영체제의 동작과 보안 아키텍처를 다루며, 각 부분과 관련된 보안 위험을 설명한다.

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.