이미 소장하고 있다면 판매해 보세요.
|
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 ______Facebook ______Adobe Reader ___정리 ___참고문헌 |
|
안드로이드 모바일 플랫폼은 2008년 10월 처음 안드로이드폰이 나온 이후로 매우 빠르게 성장해서 이제는 가장 유명한 모바일 운영체제가 되었다. 안드로이드 플랫폼의 폭발적인 성장은 경쟁과 기능면에서 매우 많은 소비자의 선택을 받았다. 하지만 포렌식 분석가와 보안 엔지니어들은 안드로이드 기기를 조사하는 툴과 정보 지원의 결여로 어려움을 겪어왔다. 이 책은 안드로이드의 하드웨어와 소프트웨어, 그리고 파일시스템에 대한 깊은 통찰력과 포렌식 분석을 위한 기술을 제공함으로써 안드로이드 포렌식의 어려움을 극복할 수 있도록 도와줄 것이다. 포렌식 경험이 부족한 독자를 위해서, 이 책에서는 무료 오픈소스 유틸리티를 이용해 단계적으로 포렌식 분석의 수행 방법을 설명했다. 따라서 독자는 분석 예를 직접 따라 해 볼 수 있다. 안드로이드 SDK는 완전한 안드로이드 에뮬레이터를 제공하기 때문에 독자는 안드로이드 기기가 없어도 된다.
안드로이드 기기의 수가 증가함에 따라 안드로이드 기기에 저장되는 데이터에 대한 관심도 증가할 것이다. 불행하게도 그런 정보에 가장 관심을 가지는 곳이 사이버 범죄 집단이다. 안드로이드 기기에는 매우 많은 개인 정보와 비즈니스 정보가 포함되기 때문에 안드로이드 플랫폼 공격이 성공하기만 하면 엄청난 결과를 얻을 수 있기 때문이다. 그러한 위협을 차단하려면 핵심 안드로이드 개발자와 제조사뿐만 아니라 앱 개발자와 기업 보안 담당자 모두 안드로이드 플랫폼을 깊이 이해해야 한다. 더욱 안전한 앱을 사용하면 민감한 정보를 잃어버리지 않게 차단할 수 있으며, IT 보안 매니저는 좀더 강력한 정책을 적용할 수 있다. 안드로이드에 대한 대부분의 통계는 스마트폰과 태블릿에 집중돼 있지만, 이미 안드로이드를 탑재했거나 조만간 활용하게 될 기기의 가짓수는 더욱 늘어날 전망이다. 예를 들면, 자동차, 텔레비전, GPS, 게임 장치, 넷북 등 다양한 기기에 안드로이드가 운영체제가 사용되고 있다. 포렌식 분석가와 보안 엔지니어가 수행하는 포렌식 조사에 있어서 안드로이드의 비율이 갈수록 증가하고 있다. 마지막으로 안드로이드에 대한 관심이 특정 나라나 지역에 국한되어 있지 않으며, 또한 그로 인해서 안드로이드는 개인이나 기업에 영향을 끼칠 것이다. ---「저자 서문」 중에서 스마트폰은 이전의 휴대전화와는 분명히 다르다. 스마트폰을 간단히 정의하면 전화 기능이 있는 휴대용 컴퓨터라고 할 수 있다. 출발점은 휴대용 전화기에 여러 가지 다양한 기능을 추가하고자 하는 방향이었지만, 이제는 반대로 휴대용 컴퓨터에 전화 기능이 추가됐다고 볼 수 있다. 스마트폰도 결국 컴퓨터라고 본다면 기존 PC에서의 보안 이슈가 그대로 스마트폰에서도 발생한다고 볼 수 있다. PC와의 차이점이라고 한다면, 스마트폰은 PC의 경우보다 개인 정보가 더 많이 저장된다는 것이다. 또한 스마트폰으로 다양한 SNS 서비스를 이용하기 때문에 자신의 정보뿐만 아니라 다른 사람의 정보, 그리고 그들과의 관계 정보도 저장된다. 결국 사람들은 자신의 정보가 PC보다 더 많이 저장된 기기를 항상 휴대하고 있는 것이다. 또한, 스마트폰(또는 태블릿)은 개인적인 용도뿐만 아니라 회사의 업무 등 다양한 상황에서 점점 더 많이 사용되는 추세다. 따라서 스마트폰이나 태블릿 같은 모바일 기기에 대한 포렌식 분석의 중요성과 필요성이 나날이 증가하고 있다. 문제는 스마트폰 분실에 따른 개인 정보 유출과 스마트폰 운영체제의 보안성이다. 현재 스마트폰 운영체제 중에서 가장 많이 사용되는 것이 바로 안드로이드다. 안드로이드는 개방된 모바일 운영체제이기 때문에 운영체제 내부의 모든 것이 공개되어 있다고 할 수 있다. 안드로이드의 개방성을 포렌식 관점에서 본다면, 안드로이드에서는 정보가 어떻게, 어디에 저장되는지 잘 알 수 있다는 의미가 된다. 그런 점을 바탕으로 포렌식 분석가나 보안 엔지니어는 어떤 데이터를 어디에서 어떻게 찾아야 하는지 기반 지식을 구축할 수 있다. 이 책은 안드로이드 포렌식에 필요한 기본 지식(안드로이드의 아키텍처뿐만 아니라 하드웨어 플랫폼에 대한 설명)과 기술에 대한 설명뿐만 아니라 포렌식을 위해 반드시 사용하게 되는 다양한 툴까지 자세히 설명한다. 스마트폰을 하나의 컴퓨터라고 본다면 PC의 경우와 마찬가지로 안드로이드 포렌식에서도 가장 중요한 것은 역시 데이터가 저장되는 파일시스템과 데이터 구조, 그리고 메모리와 데이터를 저장하는 매체의 특성에 대한 이해일 것이다. 뿐만 아니라 이 책은 모바일 기기에서 정보를 추출할 때 마주칠 수 있는 다양한 시나리오를 예로 들어 잘 설명해주고 있으며, 안드로이드 포렌식에 사용되는 기술을 논리적인 기술과 물리적인 기술로 나눠 체계적으로 설명한다. 이 책은 안드로이드 포렌식뿐만 아니라 보안에 관심이 있는 독자(보안 엔지니어, 앱 개발자, 기업 보안 관리자 등)에게도 많을 도움이 될 것이다. 이 책에서 제공하는 다양한 기술적인 내용을 바탕으로 안드로이드 기기의 보안과 앱의 보안성을 향상시킬 수 있는 힌트를 많이 얻게 될 것이고, 그것은 기업에서의 운영 정책, 앱 개발자의 안전한 개발 정책을 수립하는 밑바탕이 될 것이다. 현재는 매우 빠른 속도로 안드로이드를 포함한 모바일 플랫폼이 진화 중이고, 또한 다양화되고 있다. 모바일 플랫폼의 변화와 다양성 속에서도 모바일 포렌식의 기본은 변함이 없을 것이다. 이 책을 통해서 단순한 개별 기술보다는 기초가 되는 공통적인 원리를 얻기 바란다. ---「옮긴이의 말」 중에서 |
|
안드로이드 기기에 대한 포렌식 분석 가이드로서, 안드로이드 기기와 데이터 그리고 앱의 보안성을 어떻게 향상시켜야 하는지에 대한 실질적인 조언을 제공한다.
안드로이드 포렌식을 제대로 이해하고 수행하고 싶다면 바로 이 책을 봐야 한다. 이 책만큼 독특하게 안드로이드 운영체제를 자세히 설명한 책은 없다. 안드로이드 기기 조사관이라면 반드시 소장해야 할 책이다. - 짐 스틸(JIM STEELE), 디지털 포렌식 전문가 안드로이드는 이제 가장 유명한 모바일 플랫폼이며 지금도 여전히 정말 놀라운 속도로 성장하고 있다. 이 책은 안드로이드의 핵심적인 하드웨어와 소프트웨어 요소, 파일시스템, 데이터 구조, 데이터 보안을 위한 고려사항 등 안드로이드 플랫폼에 대한 철저한 설명과 포렌식 데이터 획득 기술, 그리고 그것을 분석하기 위해 필요한 전략을 제공한다. 이 책에서는 오픈 소스 툴과 예를 들어서 단계별로 분석 작업을 설명하는 데에 상당한 주안점을 두고 있다. 이 책에서 다루는 내용 ■ 포렌식 분석을 위해 안드로이드 기기를 획득하는 기술 ■ 포렌식 분석에 필요한 안드로이드 애플리케이션에 대한 정보 제공 ■ 포렌식 분석가와 앱 개발자, IT 보안 관리자를 위해 책 전반에 걸쳐서 안드로이드 기기와 안드로이드의 데이터와 앱 보안에 대한 설명 제공 이 책의 구성 1장에서는 안드로이드 플랫폼의 역사와 AOSP(Android Open Source Project), 그리고 플랫폼의 국제화, 안드로이드 마켓, 간단한 리눅스와 안드로이드 포렌식에 대해 설명한다. 또한 이 책 전반에 걸쳐서 사용할 우분투 기반의 가상머신(VM)을 만드는 방법을 단계별로 설명한다. 이 책에서는 우분투 VM이 중요한 역할을 하며 실제 안드로이드 포렌식 분석 작업에서도 우분투 VM을 사용할 수 있다. 2장에서는 안드로이드를 지원하는 다양한 하드웨어와 장치 유형을 살펴본다. 기기 제조사나 무선 통신 사업자, 그리고 소비자에게는 안드로이드의 하드웨어 호환성이 매우 매력적이지만 포렌식 분석가나 보안 엔지니어에게는 그러한 다양성이 여러 가지 어려움을 만들어낸다. 안드로이드의 하드웨어 요소, 기기 유형, 부팅 과정을 이해하게 되면 안드로이드에 대한 전반적인 이해와 포렌식과 보안 조사에 많은 도움이 된다. 3장에서는 다양한 안드로이드 릴리스와 안드로이드 소프트웨어 개발 킷(SDK), 달빅 가상 머신, 안드로이드 보안의 핵심 요소, 안드로이드 디버그 브리지(adb)와 USB 디버깅 설정 같은 안드로이드 포렌식에서의 핵심 요소를 설명한다. 리눅스, 맥 OS X, 윈도우에 안드로이드 SDK를 설치하는 방법과 포렌식 기술을 테스트하는 데 이용할 수 있는 안드로이드 가상 기기를 만드는 방법에 대해 설명한다. 4장은 안드로이드 기기에 데이터가 저장되는 방식을 이해하는 데 필요한 정보를 다룬다. 안드로이드에서 데이터가 어디(Shared Preferences, 파일, SQLite, 네트워크 중)에 저장되고, 안드로이드 기기는 어떤 유형의 메모리(RAM, NAND 플래시)를 지원하는지를 설명한다. 또한 YAFFS2, EXT, FAT32/FAT16, 그리고 여러 가지 로우 레벨의 파일시스템 등 안드로이드 기기가 지원하는 다양한 파일시스템에 대해서도 설명한다. 5장에서는 안드로이드 기기, 데이터, 앱에 대한 보안을 다룬다. 안드로이드 기기에서 데이터를 어떻게 탈취하고 실질적인 공격 벡터로서 안드로이드 기기를 어떻게 사용하는지 설명한다. 그리고 몇 가지 중요한 보안 개념을 논의한 다음에 개인과 기업, 그리고 앱 개발자의 보안 전략에 대해 구체적인 조언을 제공한다. 안드로이드의 성장이 지속될수록 데이터 보안은 점점 더 중요해질 것이다. 5장에서는 이 주제에 대해 깊이 있고 실질적인 설명을 한다. 6장에서는 안드로이드 기기에서 포렌식 데이터를 획득하는 데 유용하게 사용되는 기술에 대해 설명한다. 먼저 서로 다른 데이터 획득 유형을 분류하고 안드로이드 기기의 처리 절차를 제공한다. 그리고 패스코드를 회피하기 위한 일곱 가지 전략에 대해 설명한다. 그 다음에는 SD 카드와 eMMC(Embedded MultiMediaCard)에서 데이터를 획득하기 위한 기술과 스크립트를 설명한다. 논리적 데이터 획득 기술을 설명하기 위해서 안드로이드와 SDK에서 제공하는 기술과 법 집행 기관과 정보 기관에 무료로 제공되는 솔루션인 AFLogical, 그리고 여섯 개의 상업 포렌식 소프트웨어 패키지를 예로 들어서 설명한다. 마지막으로 NAND 플래시에서 물리적 이미지를 획득하기 위한 기술을 설명하기 위해서 루트 권한을 취득하기 위한 여섯 가지 전략과 비아포렌식스(viaForensics)에서 개발한 AFPhysical을 예로 들어서 자세히 설명한다. 7장에서는 포렌식 분석가나 보안 엔지니어가 안드로이드 기기를 분석하기 위한 전략과 구체적인 방법에 대해서 설명한다. 물론 전통적인 포렌식 조사에 사용되는 많은 기술을 안드로이드 포렌식 분석에도 적용할 수 있지만 안드로이드의 새로운 파일시스템과 하드웨어 특성으로 인해 새로운 기술도 요구된다. 그런 새로운 기술이 없다면 안드로이드의 물리적인 이미지에서 가치 있는 정보를 추출하는 것이 매우 힘들어진다. 안드로이드를 분석하는 기반 기술과 실질적인 유틸리티뿐만 아니라 안드로이드의 디렉토리 구조와 11개의 중요한 애플리케이션에 대한 자세한 분석 내용도 제공하며, 그런 정보와 지식을 바탕으로 포렌식 분석가나 보안 엔지니어는 어떤 안드로이드 기기가 주어지더라도 충분히 분석을 수행할 수 있게 된다. |