이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제 베스트셀러
*OS Internals Vol.3
애플 운영체제의 보안과 취약점
베스트
네트워크/해킹/보안 71위 네트워크/해킹/보안 top20 2주
가격
50,000
10 45,000
YES포인트?
2,500원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요
배송안내
서울특별시 영등포구 은행로 11(여의도동, 일신빌딩) 변경
배송비?
무료

이미 소장하고 있다면 판매해 보세요.

  •  국내배송만 가능
  •  문화비소득공제 가능

이 분야의 이벤트

상세 이미지

책소개

목차

1장. 인증
__패스워드 파일들(*OS)
__setuid와 setgid(macOS)
__Pluggable Authentication Module(macOS)
__opendirectoryd(macOS)
__LocalAuthentication 프레임워크
__Apple ID
__외부 계정
__참고 자료

2장. 감사
__설계
__감사 세션
__구현
__시스템 호출 인터페이스
__OpenBSM API
__감사 고려 사항
__참고 자료

3장. 권한 부여
__설계
__구현
__KAuth 인증 정보
__KAuth 신원 확인 서비스(macOS)
__KAuth 디버깅
__참고 자료

4장. 강제적 접근 제어 프레임워크
__배경
__MACF 정책
__MACF 설정하기
__MACF 콜아웃
__MACF 시스템 호출
__최종 노트
__참고 자료

5장. 코드 서명
__코드 서명 포맷
__코드 서명 요구 사항
__인타이틀먼트
__코드 서명 적용
__코드 서명 API
__참고 자료
__권한 부여

6장. 소프트웨어 제한(macOS)
__권한 부여
__authd
__게이트키퍼(macOS)
__libquarantine
__Quarantine.kext
__격리 저장소의 실제syspolicyd
__앱 위치 변경
__관리 중인 클라이언트(macOS)
__참고 자료

7장. AppleMobileFileIntegrity
__AppleMobileFileIntegrity.kext
__MACF 정책
__amfid
__프로비저닝 프로파일
__AMFI 신뢰 캐시
__AMFI User Client
__최종 노트
__참고 자료

8장. 샌드박스
__샌드박스의 진화
__앱 샌드박스(macOS)
__모바일 컨테이너(*OS)
__샌드박스 프로파일
__사용자 모드 API
__mac_syscall
__Sandbox.kext
__프로파일 평가
__sandboxd(macOS)
__참고 자료

9장. 시스템 무결성 보호(macOS)
__설계
__구현
__API
__참고 자료

10장. 개인 정보 보호
__투명성, 동의 및 제어
__고유 장치 식별자
__차등 개인 정보 보호(macOS 12/iOS 10)
__참고 자료

11장. 데이터 보호
__볼륨 레벨 암호화(macOS)
__파일 수준 암호화(*OS)
__mobile_obliterator
__KeyBags
__AppleKeyStore.kext
__키체인
__최종 참고 사항
__참고 자료


2부. 취약점과 익스플로잇 작업

12장. macOS 취약점
__10.1: ntpd 원격 루트(CVE-2014-9295)
__10.2: 루트 파이프 권한 상승(CVE-2015-1130)
__10.3: Kextd 레이스(CVE-2015-3708)
__10.4: DYLD_PRINT_TO_FILE 권한 상승(CVE-2015-3760)
__10.5: DYLD_ROOT_PATH 권한 상승
__11.0: tpwn 권한 상승 및/또는 SIP 무력화
__11.3 “Mach Race” 로컬 권한 상승(CVE-2016-1757)
__11.4: 로키하드의 Trifecta(CVE-2016-1796, 1797, 1806)
__최종 노트
__참고 자료

13장. 탈옥
__미신 타파
__탈옥 과정
__커널 패치
__커널 패치 보호
__iOS 탈옥의 진화
__참고 자료

14장. Evasi0n
__로더
__언테더
__커널 모드 익스플로잇
__애플 버그 수정
__참고 자료

15장. Evasi0n 7
__로더
__언테더
__커널 모드 익스플로잇
__애플 버그 수정
__참고 자료

16장. Pangu 7
__로더
__탈옥 페이로드
__언테더
__커널-모드 익스플로잇
__애플 버그 수정
__참고 자료

17장. Pangu 8
__로더
__사용자 모드 익스플로잇
__언테더
__애플 버그 수정
__참고 자료

18장. TaiG
__로더
__언테더
__커널 모드 익스플로잇
__애플 버그 수정
__참고 자료

19장. TaiG 2
__코드 서명 우회
__언테더
__커널 익스플로잇
__애플 버그 수정
__참고 자료

20장. Pangu 9
__로더
__탈옥 페이로드
__커널 모드 익스플로잇
__코드 서명 우회
__언테더
__Pangu 9.1
__애플 버그 수정
__참고 자료

21장. Pangu 9.3
__커널 익스플로잇
__애플 버그 수정

22장. 페가수스
__익스플로잇 흐름
__커널 메모리 읽기 및 KASLR 우회
__임의의 커널 메모리 쓰기
__지속성
__애플 버그 수정
__참고 자료

221/2장. 피닉스
__정보 유출
__영역 다듬기
__mach_ports_register
__조립 - Phoenix 부활
__애플 버그 수정
__참고 자료

23장. mach_portal

__익스플로잇 흐름
__Mach 포트 이름 urefs 처리
__powerd 충돌
__XNU UaF의 set_dp_control_port
__보호 기능 비활성화
__애플 버그 수정
__참고 자료

24장. Yalu(10.0~10.2)
__KPP 우회
__익스플로잇 이후의 작업
__10.2: 치명적인 함정과 재앙의 레시피
__최종 노트
__참고 자료

25장. async_wake & QiLin 툴킷(11.0~11.1.2)
__KASLR 우회
__커널 메모리 손상
__익스플로잇 이후의 작업: 탈옥 툴킷
__참고 자료
__에필로그: 앞으로의 예측


부록 A. macOS 보안성 강화 가이드
__반복해 패치하기
__로깅 및 감사
__사용자 수준 보안
__데이터 보호
__물리적 보안
__애플리케이션 수준 보안
__서드파티/오픈소스 툴 사용
__네트워크 보안
__편집증을 가진 사람들을 위해

부록 B. Darwin 18(베타) 변경 사항
__강제적 접근 제어 프레임워크(MACF)
__코드 서명
__게이트키퍼(macOS)
__AMFI
__샌드박스
__프라이버시
__APFS 스냅샷 마운트(iOS 11.3)
__하드웨어 변경 사항(A12와 이후의 프로세서)

부록 C. 용어 사전

저자 소개 3

조나단 레빈

관심작가 알림신청
 

Jonathan Levin

10대부터 (좋은 의미의) 해킹을 시작했고, 1993년에는 2400 보(baud) 모뎀을 사용하는 XT에서 셀이 돌아가는 방식을 알아내기 위해 노력했다. 따로 배울 만한 곳이 없었기 때문에 감사 관련 매뉴얼(man) 페이지를 반복적으로 보며 독학해야 했다. 그 후 20년 동안 많은 변화가 일어났고 유닉스(UNIX)를 처음 시작해 리눅스를 사용 중이며, 윈도우와 OSX 또한 사용하고 있다. 보안 분야에서 시작해 수년간 컨설팅과 교육을 해오던 중, 보안이 내부 구조를 상세하게 파악하는 것임을 깨달았다. 마침내 좋은 사람들과 함께 테크놀로긱스닷컴(Technologeeks.Com)을 창
10대부터 (좋은 의미의) 해킹을 시작했고, 1993년에는 2400 보(baud) 모뎀을 사용하는 XT에서 셀이 돌아가는 방식을 알아내기 위해 노력했다. 따로 배울 만한 곳이 없었기 때문에 감사 관련 매뉴얼(man) 페이지를 반복적으로 보며 독학해야 했다. 그 후 20년 동안 많은 변화가 일어났고 유닉스(UNIX)를 처음 시작해 리눅스를 사용 중이며, 윈도우와 OSX 또한 사용하고 있다. 보안 분야에서 시작해 수년간 컨설팅과 교육을 해오던 중, 보안이 내부 구조를 상세하게 파악하는 것임을 깨달았다. 마침내 좋은 사람들과 함께 테크놀로긱스닷컴(Technologeeks.Com)을 창업했다. 지금은 테크놀로긱스닷컴의 최고 기술 경영자(CTO)로 근무 중이다.

애플의 OS 관련 집필은 『Mac OS X and iOS Internals』(O’Reilly, 2012)로 시작했으며, 이 과정 속에서 도파민이 급격히 분비하는 짜릿함을 느낄 수 있었다. 이제는 중독됐으며, 안드로이드와 관련된 집필을 시작할 당시 알게 된 로니 페더부시(Ronnie Federbush)의 충고에 따라 처음으로 자가 출판을 감행했다. 이 작업은 원활하게 진행됐고, 『Mac OS X and iOS Internals』 1권을 처음 생각했던 방식으로 다시 집필할 수 있는 기회를 얻을 수 있었다. 출판사의 변덕을 피하고, 검열을 받지 않으며, 페이지 수와 예산에 신경 쓸 필요도 없었다. 그 결과 3부작 중 새로운 『*OS Internals Vol.3』를 출간할 수 있게 됐다.
성균관대학교 컴퓨터교육과를 졸업하고, 기업은행과 금융결제원을 거쳐 금융보안원에서 재직 중이다. 최근 미국으로 연수를 떠나 캘리포니아 대학교 데이비스(UC Davis)에서 컴퓨터 과학 석사 과정을 수료했다. 사이버 보안 분야뿐만 아니라 다른 사람들에게 지식을 전달하는 일에도 관심이 많아 다양한 책을 번역하고 있다. 지금까지 에이콘출판사에서 『실전 버그 바운티』(2021), 『AWS 침투 테스트』(2020), 『금융 사이버 보안 리스크 관리』(2019) 등 총 8권의 책을 번역했다. 자세한 소개는 링크드인(https://www.linkedin.com/in/pub-ezno/)에서 확인
성균관대학교 컴퓨터교육과를 졸업하고, 기업은행과 금융결제원을 거쳐 금융보안원에서 재직 중이다. 최근 미국으로 연수를 떠나 캘리포니아 대학교 데이비스(UC Davis)에서 컴퓨터 과학 석사 과정을 수료했다. 사이버 보안 분야뿐만 아니라 다른 사람들에게 지식을 전달하는 일에도 관심이 많아 다양한 책을 번역하고 있다. 지금까지 에이콘출판사에서 『실전 버그 바운티』(2021), 『AWS 침투 테스트』(2020), 『금융 사이버 보안 리스크 관리』(2019) 등 총 8권의 책을 번역했다. 자세한 소개는 링크드인(https://www.linkedin.com/in/pub-ezno/)에서 확인할 수 있다.

이진호의 다른 상품

인하대학교 컴퓨터공학 학사 과정과 카이스트 전산학과 석사 과정을 마치고 금융결제원을 거쳐 금융보안원에서 일하고 있다. 현재 취약점 분석 평가 업무를 수행 중이며, iOS 분석에 관심이 많다.

품목정보

발행일
2018년 10월 31일
쪽수, 무게, 크기
620쪽 | 210*297*29mm
ISBN13
9791161751917

출판사 리뷰

■ 인증, 인가 및(macOS) 감사
■ 코드 서명
■ 소프트웨어 제한(macOS) - 게이트키퍼, 정책 및 관리를 적용한 클라이언트
■ AppleMobileFileIntegrity
■ 샌드박스
■ 시스템 무결성 보호(SIP)
■ 개인 정보 및 데이터 보호

1부는 macOS에서 시스템 보안 서비스를 제공하거나 시스템을 잠그기 위해 애플에서 사용하는 보안 메커니즘과 기술을 중점적으로 다룬다. 이들 대부분은 현재 모든 플랫폼에서 공통적으로 사용되고 있다(특히, 10.11). 하지만 OS는 여전히 애플이 가장 많이 투자하는 분야다.
1장에서는 기본적으로 macOS 함수인 인증을 다루며 시작한다. 오래 전부터 사용해온 master.passwd 파일을 다루지만, PAM(Pluggable Authentication Module)과 오픈 디렉터리(Open Directory)의 macOS 구현 그리고 NIS 및 마이크로소프트의 액티브 디렉터리와 같은 외부 도메인과의 통합을 중점적으로 다룬다.
2장에서는 사용자 또는 프로세스가 승인하거나 시도한 작업을 추적하고 자세한 로그 추적을 제공하는 감사에 대해 설명한다. macOS에서의 감사는 솔라리스(Solaris)에서 차용한 기능이며, 실제로는 기본적으로 사용하고 있지만 비교적 알려지지는 않았다. 감사를 통해 클라이언트(일반적으로 관리자 또는 모니터링 소프트웨어)는 모든 시스템 측면에서 크거나 작은 사용자 또는 커널에 대해 전례 없는 수준의 모니터링을 제공한다.
3장에서는 사용자 또는 프로세스(1장에서 인증)가 작업을 허용 또는 거부하는 권한 부여를 탐색해 AAA 삼위일체를 완성한다. 그리고 (커널 확장 기능에 대한 비공식적 지원으로 *OS에서는 실제로 사용할 수 없지만) KAuth**로 알려진 커널 프로그래밍 인터페이스(KPI, Kernel Programming Interface)를 다룬다.
4장에서는 권한 부여와 커널에 대해 자세히 다루며, TrustedBSD에서 차용한 강제적 접근 통제 프레임워크(MACF, Mandatory Access Control Framework)를 자세히 다룬다. MACF는 감사보다 훨씬 강력한 기능을 갖췄다. 감사는 어떠한 사실이 발생한 이후에 알림을 제공하지만, MACF는 실제로 작업에 개입해 허용, 거부, 수정할 수 있다. MACF는 기본적으로 *OS에서 모든 애플 보안의 기반을 제공해준다. 유감스럽지만 애플이 개인 KPI로 간주하는 KAuth를 능가하는 가장 강력한 인증 메커니즘이다.
5장에서는 코드 서명(macOS의 가장 직접적인 애플리케이션)에 대해 논의한다. MACF는 애플이 iOS 초창기부터 *OS를 적용 중이며, macOS에서도 매우 최근에 적용되기 시작했다. 애플의 OS가 코드 서명을 사용하는 유일한 운영체제는 아니지만, 구현 방식은 훨씬 더 발전됐다. 또한 코드 서명은 애플리케이션 수준 보안의 기초가 되는 인타이틀먼트와 함께 사용하고 있다.
6장에서는 macOS에서 특별히 사용하는 기능인 소프트웨어 제한 메커니즘에 대해 논의한다. macOS 게이트키퍼(GateKeeper)부터 macOS 대상 멀웨어(malware) 퇴치를 위해 애플이 10.7.5에서 도입했다. 게이트키퍼는 authd 및 syspolicyd와 같은 다수의 데몬과 격리 저장소(Quarantine)라는 특수 커널 확장 기능과 상호 운용된다. 그런 다음, 기업 환경과 자녀 보호(Parental Controls)에서 사용하는 macOS의 “관리 중인 클라이언트 확장 기능(Managed Client Extensions)”을 주제로 다룬다.
7장에서는 AppleMobileFileIntegrity 또는 AMFI에 대해 설명한다. 이름에 “모바일(mobile)”이 있지만, AMFI는 iOS 코드 서명 집행자로 시작해 macOS 10.10부터 사용됐으며, 10.11에서는“시스템 무결성 보호(System Integrity Protection)”로 더 큰 역할을 하고 있다. iOS와 macOS의 구현 방법을 MACF 정책, MIG 메시지 및 IOUserClient의 역공학을 통해 심층적으로 탐구한다.
8장에서는 애플 샌드박스와 애플이 처음으로 OS 10.5에서 사용하기 시작한 “안전벨트(SeatBelt)”라는 이름의 MACF의 애플리케이션에 대해 다룬다. 이후로 조금 단순하지만 사전 동의 opt-in 구현은 매우 발전해, iOS에서 강력한 감옥(jail)의 역할을 하고 있다. 샌드박스 적용에 대해 macOS의 “앱 샌드박스(AppSandbox)”를 통한 기초에서부터 강화된 iOS 구현에 이르기까지 설명한다. 프로필, 컨테이너 및 기타 빌딩 블록에 대한 자세한 내용은 macOS 10.11의 SIP와 iOS 10 플랫폼 프로필을 논의하기 위한 기반을 마련할 것이다.
9장은 macOS의 SIP에 대해 논의한다: 기초(AMFI와 샌드박스)에 대한 설명은 SIP는 단지 시스템 차원의 정책 정의일 뿐이다. iOS 9.x에는 없지만 SIP가 *OS에서도 등장하는 것은 시간 문제일 뿐이며, iOS 10의 플랫폼 정책은 이미 매우 강화됐다.
10장에서는 개인 정보 보호에 대해 다루는데, 이는 TCCd라는 작고 문서화되지 않은 데몬에 의해 처리된다. 데몬은 특정 앱이 어떤 스토어에 접근하는지 정의하고, 개인 TCC.framework로 래핑된 XPC API를 제공하는 데이터베이스에 상주한다. 많은 소프트웨어 공급 업체가 소프트웨어를 설치한 장치를 식별하기 위해 수집을 시도하는 고유 식별자(특히, iOS의 경우)에 대한 추가 고려 사항을 다룬다.
11장은 데이터 보호에 중점을 두고 있으며, 구현 방식은 macOS와 나머지 OS에서 다르다. macOS 솔루션은 FileVault2를 통해 이뤄지며, CoreStorage와 함께 10.7에서 소개됐다. *OS 솔루션은 하드웨어 기반 키와 파일당 암호화 함수를 통해 암호화를 강화했다. CoreStorage는 애플의 새로운 파일 시스템인 APFS의 기능으로 대체됐다. 이 책은 1.4 버전쯤 돼서야 자리 잡았지만(이 번역서는 1.5.3 기준으로 했다), 이전 버전의 CoreStorage에 대한 논의를 제외하기로 결정했다. APFS의 상세한 분석은 2권에서 다룬다.
2부는 1부의 애플 엔지니어들이 최선의 계획을 기반으로 제작한 정교한 구조들이 예상과 다르게 작동한 방식에 대해 알아본다. 각 장에서는 macOS에서 악성 코드를 유발한 과거의 취약점 또는 iOS 탈옥에 대해 알아본다.
macOS의 취약점에 대해, 특히 10.10(각 부의 버전에서 중대한 변화를 갖는다)과 10.11을 괴롭혔던 몇 가지 취약점을 강조하고자 한다. iOS 취약점에 따른 탈옥을 시간 순서로 보여주기로 결정했다. 이러한 취약점과 해당 취약점의 익스플로잇를 보여주는 데 탈옥보다 더 좋은 것은 없다. 각 탈옥은 iOS(와 파생된 운영체제)를 족쇄에서 해방시킬 수 있도록 올바른 방식으로 여러 취약점의 익스플로잇을 활용한 정교하게 만들어진 모음집과 같다.
어떤 면에서 2부는 일종의 작은 “해커 핸드북”으로 생각할 수 있다. 그러나 이 책에서 제공하는 세부 수준과 깊이는 이전의 역공학 책과 보안 책보다 훨씬 자세하며 전례 없는 수준이다. 탈옥을 성공시킨 천재 중 몇 명을 개인적으로 알았지만, 그럼에도 간단하게 해결하고 싶은 충동에 저항하며, 연구자처럼 바이너리만으로 탈옥의 역공학을 수행했다. 이 과정에서 저자가 제작한 툴을 사용했으며, 이 책의 관련 웹 사이트에서 사용할 수 있다.
마지막으로, 부록에는 macOS 보안 강화 가이드가 포함돼 있다. 처음에는 그다지 좋지 않을 것이라 생각했지만, 세바스티안 볼프(Sebastien Volpe)의 질문을 통해 생각이 바뀌었다. macOS의 다양한 보안 기능에 대해 자세히 설명하고 취약점을 소개한, 이 책의 ‘비공식 요약본’이라 생각한다.


현재 OS Internals의 3부작 중 일부지만, 독립적인 내용인 동시에 보안 중심으로 구성돼 있다. 따라서 보안과 관련된 내용을 원하는 독자에게 유용할 것이다.
1부는 macOS 관리자와 고급 사용자는 물론, 보안 연구자와 보안 감사인에게 적합하다. 내부 API를 문서화한 부분은 퍼징(fuzzing) 또는 (애플이 승인하지 않는) 해당 서브 시스템과 인터페이스하길 원하는 프로그래머가 기본적인 내용을 학습할 때 유용할 것이다.
2부는 저수준 분야와 기술적인 부분을 다루기 때문에 나이가 어린 독자, 심약자 또는 인텔 및/또는 ARM64 어셈블리에 심한 거부감이 있는 독자에게 부적합할 수 있다. 그러나 역공학을 선호하며, 해커지향적인 독자는 원하는 내용을 찾을 수 있을 것이다. 익스플로잇과 탈옥의 작동 방법에 대한 자세한 설명과 디버거 시퀀스를 이용한 단계별 상세 지시문 그리고 다수의 디스어셈블리를 제공한다.

리뷰/한줄평0

리뷰

첫번째 리뷰어가 되어주세요.

한줄평

첫번째 한줄평을 남겨주세요.

45,000
1 45,000