안드로이드 & iOS 해킹과 보안, 포렌식 세트
- 원서명Android Forensics: Investigation, Analysis and Mobile Security for Google Android, Hacking and Securing iOS Applications: Stealing Data, Hijacking Software, and How to Prevent It
- 지은이앤드류 후그, 조나단 지드자스키
- 옮긴이윤근용, 민병호
- ISBN : 9788960774070
- 65,000원
- 2013년 03월 06일 펴냄 (절판)
- 페이퍼백 | 952쪽 | 188*250mm
- 시리즈 : 해킹과 보안
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
[ 세트 구성: 전2권 ]
1) 『안드로이드 포렌식: 구글 안드로이드 플랫폼 분석과 모바일 보안』
2) 『보안 전문가와 아이폰 개발자를 위한 iOS 해킹과 방어』
『안드로이드 포렌식』
안드로이드 기기에 대한 포렌식 분석 가이드로서, 안드로이드 기기와 데이터 그리고 앱의 보안성을 어떻게 향상시켜야 하는지에 대한 실질적인 조언을 제공한다.
안드로이드 포렌식을 제대로 이해하고 수행하고 싶다면 바로 이 책을 봐야 한다. 이 책만큼 독특하게 안드로이드 운영체제를 자세히 설명한 책은 없다. 안드로이드 기기 조사관이라면 반드시 소장해야 할 책이다.
- 짐 스틸(JIM STEELE), 디지털 포렌식 전문가
안드로이드는 이제 가장 유명한 모바일 플랫폼이며 지금도 여전히 정말 놀라운 속도로 성장하고 있다. 이 책은 안드로이드의 핵심적인 하드웨어와 소프트웨어 요소, 파일시스템, 데이터 구조, 데이터 보안을 위한 고려사항 등 안드로이드 플랫폼에 대한 철저한 설명과 포렌식 데이터 획득 기술, 그리고 그것을 분석하기 위해 필요한 전략을 제공한다. 이 책에서는 오픈 소스 툴과 예를 들어서 단계별로 분석 작업을 설명하는 데에 상당한 주안점을 두고 있다.
이 책에서 다루는 내용
■ 포렌식 분석을 위해 안드로이드 기기를 획득하는 기술
■ 포렌식 분석에 필요한 안드로이드 애플리케이션에 대한 정보 제공
■ 포렌식 분석가와 앱 개발자, IT 보안 관리자를 위해 책 전반에 걸쳐서 안드로이드 기기와 안드로이드의 데이터와 앱 보안에 대한 설명 제공
『보안 전문가와 아이폰 개발자를 위한 iOS 해킹과 방어』
오브젝티브C의 기초가 탄탄한 개발자라면 반드시 읽어야 할 필독서! 이제까지 개발한 모든 애플리케이션이 여러 형태의 공격에 취약할 가능성이 매우 높다. 악의적인 해커는 대부분의 프로그래머가 알지 못하는 리버스 엔지니어링, 포렌식, 추적, 변조 툴을 사용하기 때문이다.
책에서는 다양한 종류의 iOS 공격을 다루면서 해커가 실제로 사용하는 툴과 기술을 설명한다. 여러분의 애플리케이션을 보호할 수 있는 베스트 프랙티스도 배운다. 지피지기면 백전불태라는 말처럼 책을 읽고 나면 공격자 입장에서 이해하고 전략을 세우는 일이 얼마나 중요한지 알게 된다.
이 책에서 다루는 내용
■ 실제 애플리케이션에 존재하는 취약점과 이를 미연에 방지하는 기술
■ 코드 삽입을 이용한 맬웨어 감염 기술
■ iOS 키체인과 데이터 보호의 암호화를 깨는 기술
■ 디버거와 커스텀 코드 삽입을 이용한 오브젝티브C 런타임 환경 변조 기술
■ SSL 세션 하이재킹과 트래픽 도청 방지 기술
■ 파일 완전 삭제 방법과 애플리케이션에서 포렌식 흔적을 최소화하는 기술
■ 디버깅 탐지 방법, 실행 중 클래스의 무결성을 검증하는 기술, 코드 추적을 어렵게 하는 기술
1) 『안드로이드 포렌식: 구글 안드로이드 플랫폼 분석과 모바일 보안』
2) 『보안 전문가와 아이폰 개발자를 위한 iOS 해킹과 방어』
『안드로이드 포렌식』
안드로이드 기기에 대한 포렌식 분석 가이드로서, 안드로이드 기기와 데이터 그리고 앱의 보안성을 어떻게 향상시켜야 하는지에 대한 실질적인 조언을 제공한다.
안드로이드 포렌식을 제대로 이해하고 수행하고 싶다면 바로 이 책을 봐야 한다. 이 책만큼 독특하게 안드로이드 운영체제를 자세히 설명한 책은 없다. 안드로이드 기기 조사관이라면 반드시 소장해야 할 책이다.
- 짐 스틸(JIM STEELE), 디지털 포렌식 전문가
안드로이드는 이제 가장 유명한 모바일 플랫폼이며 지금도 여전히 정말 놀라운 속도로 성장하고 있다. 이 책은 안드로이드의 핵심적인 하드웨어와 소프트웨어 요소, 파일시스템, 데이터 구조, 데이터 보안을 위한 고려사항 등 안드로이드 플랫폼에 대한 철저한 설명과 포렌식 데이터 획득 기술, 그리고 그것을 분석하기 위해 필요한 전략을 제공한다. 이 책에서는 오픈 소스 툴과 예를 들어서 단계별로 분석 작업을 설명하는 데에 상당한 주안점을 두고 있다.
이 책에서 다루는 내용
■ 포렌식 분석을 위해 안드로이드 기기를 획득하는 기술
■ 포렌식 분석에 필요한 안드로이드 애플리케이션에 대한 정보 제공
■ 포렌식 분석가와 앱 개발자, IT 보안 관리자를 위해 책 전반에 걸쳐서 안드로이드 기기와 안드로이드의 데이터와 앱 보안에 대한 설명 제공
『보안 전문가와 아이폰 개발자를 위한 iOS 해킹과 방어』
오브젝티브C의 기초가 탄탄한 개발자라면 반드시 읽어야 할 필독서! 이제까지 개발한 모든 애플리케이션이 여러 형태의 공격에 취약할 가능성이 매우 높다. 악의적인 해커는 대부분의 프로그래머가 알지 못하는 리버스 엔지니어링, 포렌식, 추적, 변조 툴을 사용하기 때문이다.
책에서는 다양한 종류의 iOS 공격을 다루면서 해커가 실제로 사용하는 툴과 기술을 설명한다. 여러분의 애플리케이션을 보호할 수 있는 베스트 프랙티스도 배운다. 지피지기면 백전불태라는 말처럼 책을 읽고 나면 공격자 입장에서 이해하고 전략을 세우는 일이 얼마나 중요한지 알게 된다.
이 책에서 다루는 내용
■ 실제 애플리케이션에 존재하는 취약점과 이를 미연에 방지하는 기술
■ 코드 삽입을 이용한 맬웨어 감염 기술
■ iOS 키체인과 데이터 보호의 암호화를 깨는 기술
■ 디버거와 커스텀 코드 삽입을 이용한 오브젝티브C 런타임 환경 변조 기술
■ SSL 세션 하이재킹과 트래픽 도청 방지 기술
■ 파일 완전 삭제 방법과 애플리케이션에서 포렌식 흔적을 최소화하는 기술
■ 디버깅 탐지 방법, 실행 중 클래스의 무결성을 검증하는 기술, 코드 추적을 어렵게 하는 기술
목차
목차
- 『안드로이드 포렌식』
- 1장 안드로이드와 모바일 포렌식
- 소개
- 안드로이드 플랫폼
- 안드로이드의 역사
- 구글의 전략
- 리눅스와 오픈소스 소프트웨어와 포렌식
- 리눅스의 역사
- AOSP 라이선스
- 개발 프로세스
- 포렌식에서 오픈소스의 가치
- AOSP 다운로드 및 컴파일
- 국제화
- 유니코드
- 키보드
- 커스텀 브랜치
- 안드로이드 마켓
- 앱 설치
- 애플리케이션 통계
- 안드로이드 포렌식
- 도전 과제들
- 정리
- 참고 문헌
- 2장 안드로이드 하드웨어 플랫폼
- 소개
- 핵심 요소
- CPU
- 베이스밴드 모뎀/무선
- 메모리(RAM, NAND 플래시)
- GPS
- 무선(와이파이와 블루투스)
- SD 카드
- 스크린
- 카메라
- 키보드
- 배터리
- USB
- 가속도계/자이로스코프
- 스피커/마이크
- 다양한 기기 유형
- 스마트폰
- 태블릿
- 넷북
- 구글 TV
- 자동차(In-board)
- GPS
- 그 밖의 기기
- ROM과 부트 로더
- Power On & On-Chip 부트 ROM 코드 실행
- 부트 로더(IPL/SPL)
- 리눅스 커널
- init 프로세스
- 자이고트와 달빅
- 시스템 서버
- 제조사
- 안드로이드 업데이트
- 커스텀 유저 인터페이스
- 안드로이드 기기 애프터마켓
- 안드로이드 기기
- 티모바일 G1
- 모토로라 드로이드
- HTC 인크레더블
- 구글 넥서스 원
- 정리
- 참고문헌
- 3장 안드로이드 SDK와 ADB
- 소개
- 안드로이드 플랫폼
- 안드로이드 플랫폼별 설명
- SDK
- SDK 릴리스 히스토리
- SDK 설치
- 안드로이드 가상 기기(에뮬레이터)
- 안드로이드 OS 아키텍처
- 달빅 VM
- 네이티브 코드 개발
- 안드로이드 보안 모델
- 포렌식과 SDK
- 안드로이드 기기 연결
- USB 인터페이스
- ADB
- 정리
- 참고 문헌
- 4장 안드로이드 파일시스템과 데이터 구조
- 소개
- 안드로이드 데이터
- 어떤 데이터가 저장되는가
- 앱 데이터 저장소 디렉토리의 구조
- 데이터가 어떻게 저장되는가
- 메모리 유형
- RAM
- 파일시스템
- rootfs, devpts, sysfs, cgroup 파일시스템
- proc
- tmpfs
- EXT 파일시스템
- FAT32/VFAT
- YAFFS2
- 마운트된 파일시스템
- 마운트된 파일시스템
- 정리
- 참고 문헌
- 5장 안드로이드 기기, 데이터, 앱 보안
- 소개
- 데이터 탈취 대상과 공격 벡터
- 공격 대상으로서의 안드로이드 기기
- 공격 벡터로서의 안드로이드 기기
- 데이터 저장소
- 레코딩 기기
- 보안 고려사항
- 보안 철학
- 미 연방 컴퓨터 범죄에 대한 법규
- 오픈소스와 클로즈드 소스
- 암호화된 NAND 플래시
- 개인 보안 전략
- 기업 보안 전략
- 정책
- 비밀번호/패턴/PIN 락
- 원격 기기 초기화
- 최신 버전의 소프트웨어로 업그레이드
- 원격 기기 관리 기능
- 애플리케이션과 기기 감사
- 앱 개발 보안 전략
- 모바일 앱 보안 테스트
- 앱 보안 전략
- 정리
- 참고 문헌
- 6장 안드로이드 포렌식 기술
- 소개
- 조사의 유형
- 논리적인 기술과 물리적인 기술의 차이
- 분석 대상 기기의 변경
- 안드로이드 기기의 처리 절차
- 기기의 안전
- 네트워크 격리
- 패스코드 회피 방법
- 안드로이드 USB 대용량 저장 장치
- SD 카드와 eMMC
- SD 카드/eMMC의 포렌식 이미지 만들기
- 논리적 기술
- ADB Pull
- 백업 분석
- AFLogical
- 상업용 제품
- 물리적 기술
- 하드웨어 기반의 물리적 기술
- JTAG
- Chip-off
- 소프트웨어 기반의 물리적 기술
- AFPhysical
- 정리
- 참고문헌
- 소개
- 7장 안드로이드 애플리케이션과 포렌식 분석
- 소개
- 분석 기술
- 타임라인 분석
- 파일시스템 분석
- 파일 카빙
- Strings
- Hex: 포렌식 분석가의 좋은 친구
- 안드로이드 디렉토리 구조
- FAT 포렉식 분석
- FAT 타임라인 분석
- FAT 추가 분석
- FAT 분석 노트
- YAFFS2 포렌식 분석
- YAFFS2 타임라인 분석
- YAFFS2 파일시스템 분석
- YAFFS2 파일 카빙
- YAFFS2 Strings 분석
- YAFFS2 분석 노트
- 안드로이드 앱 분석
- Messaging(sms와 mms)
- MMS Helper Application
- Browser
- Contacts
- Media Scanner
- YouTube
- Cooliris Media Gallery
- Google Maps
- Gmail
- Adobe Reader
- 정리
- 참고문헌
- 『보안 전문가와 아이폰 개발자를 위한 iOS 해킹과 방어』
- 1장 여러분이 제대로 알고 있는 사실은 아무것도 없다
- 모노컬처의 신화
- iOS 보안 모델
- iOS 보안 모델의 구성요소
- 자물쇠와 열쇠 함께 저장하기
- 사용자 암호 = 취약한 보안
- 데이터 포렌식으로 암호화 깨부수기
- 외부 데이터 역시 위험한 건 마찬가지
- 트래픽 하이재킹
- 데이터 도난은 순식간
- 아무것도 믿지 말자, 직접 작성한 애플리케이션조차도
- 물리적 보안은 선택사항이다
- 요약
- 1부 해킹
- 2장 iOS 해킹 기초
- 탈옥 방법을 배워야 하는 이유
- 탈옥의 모든 것
- 개발자 툴
- 최종 사용자용 탈옥
- 아이폰 해킹
- DFU 모드
- 테더드(Tethered) 대 언테더드(Untethered)
- 장치 해킹과 코드 삽입
- 커스텀 코드 제작
- 바이너리 분석
- 바이너리 시험해보기
- 코드 데몬화
- 타르 파일을 이용한 악성 코드 설치
- 램 디스크를 이용한 악성 코드 설치
- 연습문제
- 요약
- 3장 파일시스템 훔치기
- 디스크 전체 암호화
- 솔리드 스테이트 낸드(Solid State Nand)
- 디스크 암호화
- iOS 디스크 암호화의 실패 원인
- 라이브 파일시스템 복사
- 데이터 훔치기 페이로드
- 커스텀 launchd 제작
- 램 디스크 준비
- 파일시스템 이미지 획득
- 로우 파일시스템 복사
- 로우 이미지 훔치기 페이로드
- 커스텀 launchd 제작
- 램 디스크 준비
- 파일시스템 이미지 획득
- 연습문제
- 사회 공학 활용
- 비활성화된 장치 이용
- 초기화된 장치 이용
- 맬웨어가 설치된 장치 이용
- 암호 공학 애플리케이션 이용
- 요약
- 디스크 전체 암호화
- 4장 포렌식 흔적과 데이터 유출
- 이미지의 위치 태그 추출
- 통합 GPS 캐시
- SQLite 데이터베이스
- 데이터베이스 연결
- SQLite 내장 명령어
- SQL 질의 수행
- 중요한 데이터베이스 파일 목록
- 주소록 연락처
- 주소록 이미지
- 구글 지도 데이터
- 캘린더 이벤트
- 통화 기록
- 이메일 데이터베이스
- 메모
- 사진 메타데이타
- SMS 메시지
- 사파리 북마크
- SMS 스포트라이트 캐시
- 사파리 웹 캐시
- 웹 애플리케이션 캐시
- 웹킷 저장소
- 음성 사서함
- 데이터베이스 필드의 파편 리버스 엔지니어링
- SMS 임시 저장 메시지
- 프로퍼티 리스트
- 중요한 프로퍼티 리스트 파일
- 그 밖의 중요한 파일
- 요약
- 이미지의 위치 태그 추출
- 5장 암호화 깨부수기
- 소게티의 데이터 보호 툴
- 데이터 보호 툴 설치
- 브루트포스 공격 툴 제작
- 필수 파이썬 라이브러리 빌드
- 암호화 키 추출
- 키 추출 페이로드
- 커스텀 launchd 제작
- 램 디스크 준비
- 커널 준비
- 브루트포스 실행
- 키체인 복호화
- 로우 디스크 복호화
- 아이튠스 백업 복호화
- 스파이웨어를 이용한 암호화 깨부수기
- 스파이웨어 페이로드
- spyd 데몬화
- 커스텀 launchd 제작
- 램 디스크 준비
- 페이로드 실행
- 연습문제
- 요약
- 소게티의 데이터 보호 툴
- 6장 삭제된 파일 복구
- HFS 저널 수집
- 빈 공간 카빙
- 복구 가능한 주요 데이터
- 애플리케이션 스크린샷
- 삭제된 프로퍼티 리스트
- 삭제된 음성 사서함 메시지와 음성 메모
- 삭제된 키보드 캐시
- 사진과 기타 개인 정보
- 요약
- 7장 런타임 조작
- 바이너리 분석
- 마크오 형식
- class-dump-z 사용
- 심볼 테이블
- 암호화된 바이너리
- 오프셋 계산
- 메모리 덤프
- 복호화된 코드를 파일로 다시 복사
- cryptid 재설정
- 쓰크립트로 런타임 조작
- 쓰크립트 설치
- 쓰크립트 사용
- 간단한 잠금 기능 무력화
- 메소드 바꿔치기
- 데이터 자세히 살펴보기
- 데이터 기록
- 훨씬 심각한 사례
- 연습문제
- 스프링보드 애니메이션
- 일종의 전화 도청
- 스크린샷 생성
- 요약
- 바이너리 분석
- 8장 런타임 라이브러리를 사용한 공격
- 오브젝티브C 완전 해부
- 인스턴스 변수
- 메소드
- 메소드 캐시
- 디스어셈블링과 디버깅
- 메시지 엿듣기
- 기본적인 오브젝티브C 프레임워크
- 오브젝티브C와 인터페이스로 연결
- 악성 코드 삽입
- 코드삽입 페이로드
- 디버거로 코드 삽입
- 동적 링커를 사용한 삽입
- 영구적인 장치 감염
- 요약
- 오브젝티브C 완전 해부
- 9장 트래픽 하이재킹하기
- APN 하이재킹
- 페이로드 설치
- 제거
- 간단한 프록시 설정
- SSL 공격
- SSLStrip
- 파로스 프록시
- 브라우저 경고
- 애플리케이션 수준의 SSL 검증 공격
- SSL 공격 페이로드
- 파운데이션 HTTP 클래스 하이재킹
- 포스트 공격 페이로드
- 데이터 분석
- 드리프트넷
- 빌드
- 실행
- 연습문제
- 요약
- APN 하이재킹
- 2부 방어
- 10장 암호화 구현
- 암호 강도
- 무작위 암호 생성기를 조심하자
- 커먼 크립토 라이브러리
- 무상태형 연산
- 상태유지형 암호화
- 마스터 키 암호화
- 위치 기반 암호화
- 암호를 결합한 위치 기반 암호화
- 별도의 서버 측 키
- 메모리 보호
- 메모리 완전 삭제
- 공개 키 암호화
- 연습문제
- 암호 강도
- 11장 포렌식 대비책
- 보안 완전 삭제
- DOD 5220.22-M 완전 삭제
- 오브젝티브C
- SQLite 레코드 완전 삭제
- 키보드 캐시
- 숫자 입력 패드 무작위화
- 애플리케이션 스크린샷
- 보안 완전 삭제
- 12장 런타임 보호
- 변조 대응
- 사용자 데이터 완전 삭제
- 네트워크 접속 비활성화
- 서버 보고
- 로깅 활성화
- 미끼와 킬 스위치
- 프로세스 추적 검사
- 디버거 차단
- 런타임 클래스 무결성 검사
- 주소 공간 검증
- 인라인 함수
- 디스어셈블링 복잡도 높이기
- 최적화 플래그
- 스트립
- 뺑뺑이를 돌리자! -funroll-loops
- 연습문제
- 변조 대응
- 13장 탈옥 탐지
- 샌드박스 무결성 검사
- 파일시스템 검사
- 탈옥 파일 존재 여부
- /etc/fstab의 크기
- 심볼릭 링크 검사
- 페이지 실행 검사
- 14장 다음 단계
- 공격자의 입장에서 생각해보자
- 책에서 다루지 않은 리버스 엔지니어링 툴
- 보안 vs 코드 관리
- 보안을 대하는 유연한 자세