서평을 시작하기 전 잡담 - 현재 서점을 가서 안드로이드에 대한 서적을 검색해보면 "쉽게 따라하는"이나"누구나 할 수 있는"이 붙는 서적이 주를 이룬다.물론 뭔가를 하기 위해 실무에 관련된 책을 읽는 것이겠지만 자신의 값어치를 올리기 위해서는"누구도 할 수 없는"이 붙는 자신만의 스킬이 필요하다.자~ 여기에 누구도 쉽게 따라할 수 없는 안드로이드 보안에 관련된 책이 있다.따라올텐가?책 설명 - 이 책.. 가볍다! +_+;;;개인적으로 무거운 책은 들고 다니며 읽기 어려워서 싫어라하는 편이다.들고 읽기 편하도록 무거워도 좀 두꺼웠으면 하는 바램이다.그런데 이 책은 총 500페이지 정도로 구성이 되어 있는데 상당히 얇다.그리고 들고 다니면 책 표지가 뭔가 있어 보인다.영어 제목이 떡하니 크게 박혀있어서 있어 보인다.이런 책 좋아 +_+/책의 아름다운 모습 - 카... 표지만 봐도 원서스럽다.이건 예전에 한번 해봤던 기억이 있어서 반가웠다.상당히 이해가 잘되는 그림이라 찍어보았다.일반 세계와 보안세계~ 뭔가 매트릭스스럽지 않은가?엣다~ 빨간 알약~어떻게 동작하는지 정리가 확실히 되는 그림들이 많아 좋다.서평 - 이 책 솔직히 말하면 정말 더럽게 어렵다.듣도 보도 못한 보안용어들이 난무하고 암호화방식은 뭐그리 많은 것인지...근데 웃긴 것은 프로그래머라는 직업을 가지고 있다면 한번쯤은 봤을법한 내용들이 상당히 많이 나온다.그 때 당시에는 일단 적용해야 하니 그것이 무엇인지도 모르고 적용하고 어떻게 동작하는지 관심조차가지지 못하고 넘어갔던 보안관련 지식들이 나와서 너무 좋았다.5년전에는 기업들이 속도, 퍼포먼스, UI, UX 등을 우선 순위로 두었고요근래 5년 동안은 보안, 장애인 편의성, 안정성 등을 우선 순위로 두었다고 볼 수 있다.이 과정에서 보안에 관련한 사람들의 몸값이 천정부지로 올라갔고 노가다 비슷하게 일을 했던프로그래머들은 왜 보안을 공부하지 않았을까라는 후회를 한 사람도 꽤나 많았을 것이다. 현실을 직시해보자면 바야흐로 모바일의 시대다.PC가 주도하던 온라인 쇼핑몰의 경우 모바일 매출이 50%를 이미 넘어섰다.(이 것은 내가 근무하는 곳과 여러 다른 쇼핑몰 경험자들의 의견을 종합한 결과이다.)자~ 누구나 다 할 수 있는 안드로이드 개발을 할 것인가.누구나 할 수 없는 안드로이드 보안을 할 것인가.그것도 아니면 두마리의 토끼를 잡을 것인가. 책의 내용을 간단히 설명하겠다.리눅스, 자바, 안드로이드.이 셋 중 자신이 하나라도 모른다면 절대 사지마라.1. 최소한 기본적인 리눅스 명령어를 할 줄 알고 리눅스 상에서 DB를 포함한 웹서버 구축을 해보았으며사이트를 운영해보았어야 한다.2. 자바 문법을 최소 1년 이상 공부하며 실무로 익힌 사람이어야 한다.3. 안드로이드로 직접 앱을 개발해보았고("누구나 할 수 있는" 같은 책에 나온 예제를 따라한 것은 안 쳐준다.)상용서비스로 돌아가고 있는 앱을 다뤄보아야 한다.정말 솔직히 말한다.2장을 펴보고 안드로이드 소스를 보며 헷갈려서(난 웹프로그래머다.) 안드로이드 책을 옆에 펴놓고분석하면서 읽었을 정도니 말 다했다.그런데 하나 이야기 해줄게.이 책의 내용을 80% 정도만 이해해도 당신 연봉이 최소 천만원이 더 오른다고 생각하고 읽으면 즐거워 질거야.서평을 마치며 - 프로그래머가 자신의 직업이라고 생각하는 사람이라면 한번쯤은 이런 생각을 해보지 않았을까 한다.보안쪽이 돈도 많이 주고 좀 더 멋있지 않을까 하고..특히나 나같은 웹프로그래머로 노가다같은 일을 했던 사람이라면 말이다. 프로그래머라고 해도 딱히 관심을 가지지 않으면 보안 분야의 책은 쉽사리 읽히는 책이 아니다.
안드로이드 앱/플랫폼 개발자가 알아야 할 종합 보안 안내서안드로이드는 전 세계에서 가장 인기 있는 모바일 플랫폼으로 거의 모든 개인 정보의 허브가 되었다. 이미 해커들의 제1 공격대상이 된 안드로이드에서 신뢰받는 서비스로 성공하려면 플랫폼뿐 아니라 앱 개발자도 보안에 대해 적극적으로 배우고 대처해야 한다. 이 책은 안드로이드의 앱 권한 과 샌드박스 모델 , 보안 강화 안드로이드 는 물론이고 좀처럼 정보를 얻기 힘든 dm-verity와 같은 기능까지 훌륭히 설명한, 안드로이드 개발자에게 꼭 필요한 지침서다.
1장 안드로이드 보안 모델
1.1 안드로이드의 아키텍처
1.2 안드로이드 보안 모델
1.3 요약
2장 권한
2.1 권한의 본질
2.2 권한 요청
2.3 권한 관리
2.4 권한 보호 수준
2.5 권한 할당
2.6 권한 적용
2.7 시스템 권한
2.8 공유 사용자 ID
2.9 커스텀 권한
2.10 공개 컴포넌트와 비공개 컴포넌트
2.11 액티비티 권한과 서비스 권한
2.12 브로드캐스트 권한
2.13 콘텐트 제공자 권한
2.14 펜딩 인텐트
2.15 요약
3장 패키지 관리
3.1 안드로이드 앱 패키지 구성
3.2 코드 서명
3.3 APK 설치 과정
3.4 패키지 검증
3.5 요약
4장 사용자 관리
4.1 다중 사용자 지원 개요
4.2 사용자 종류
4.3 사용자 관리
4.4 사용자 메타데이터
4.5 사용자별 앱 관리
4.6 외부 저장소
4.7 그외 다중 사용자 기능
4.8 요약
5장 암호 제공자
5.1 JCA 제공자 아키텍처
5.2 JCA 엔진 클래스
5.3 안드로이드 JCA 제공자
5.4 커스텀 제공자
5.5 요약
6장 네트워크 보안과 PKI
6.1 PKI와 SSL 개요
6.2 JSSE 개요
6.3 안드로이드 JSSE 구현
6.4 요약
7장 자격증명 저장소
7.1 VPN과 와이파이 EAP 자격증명
7.2 자격증명 저장소 구현
7.3 공개 API
7.4 요약
8장 온라인 계정 관리
8.1 안드로이드 계정 관리 개요
8.2 계정 관리 구현
8.3 구글 계정 지원
8.4 요약
9장 기업 보안
9.1 디바이스 관리
9.2 VPN 지원
9.3 와이파이 EAP
9.4 요약
10장 디바이스 보안
10.1 OS 부팅과 설치 제어
10.2 검증된 부트
10.3 디스크 암호화
10.4 화면 보안
10.5 보안 USB 디버깅
10.6 안드로이드 백업
10.7 요약
11장 NFC와 보안 요소
11.1 NFC 개요
11.2 안드로이드의 NFC 지원
11.3 보안 요소
11.4 소프트웨어 카드 에뮬레이션
11.5 요약
12장 SELinux
12.1 SELinux 개요
12.2 안드로이드 구현
12.3 안드로이드 4.4 SELinux 정책
12.4 요약
13장 시스템 업데이트와 루트 접근
13.1 부트로더
13.2 복구 OS
13.3 루트 접근
13.4 프로덕션 빌드에서의 루트 접근
13.5 요약