메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

안드로이드 시큐리티 인터널(Android Security Internals) (한빛) - 저자 Elenkov, Nikolay

dmlr***

|

2015-07-07

안드로이드 시큐리티 인터널

안드로이드는 전 세계에서 가장 인기 있는 모바일 플랫폼으로 거의 모든 개인 정보의 허브가 되었다. 이미 해커들의 제1 공격대상이 된 안드로이드에서 신뢰받는 서비스로 성공하려면 플랫폼뿐 아니라 앱 개발자도 보안에 대해 적극적으로 배우고 대처해야 한다. 이 책은 안드로이드의 \"앱 권한\"과 \"샌드박스 모델\", \"보안 강화 안드로이드\"는 물론이고 좀처럼 정보를 얻기 힘든 dm-verity와 같은 기능까지 훌

  • 저자 : 니콜라이 옐렌코프
  • 번역 : 강권학
  • 출간 : 2015-06-27
안드로이드 앱/플랫폼 개발자가 알아야 할 종합 보안 안내서


전 세계에서 가장 영향력 있는 모바일 OS인 안드로이드에 대한 관심이 많은 반면, 안드로이드에 대한 보안을 구체적이고 심도있게 다룬 책은 드물었다. 모바일과 보안, 두마리 토끼를 잡기 위한 첫걸음으로서 학습해야 할 MAP을 제시하고 있는 이 책은 리눅스와 프로그래밍 언어를 어느정도 이해해야 읽을 수 있는 수준의 장벽이 존재하지만 그러한 "고귀함"이 책의 가치를 높여주고 있는 듯 하다.



누구나 쓸 수 있고, 누구나 읽을 수 있는 그런 책이 아니다.

안드로이드에 정통하고, 보안을 깊숙히 이해하고 있는 니콜라이 옐렌코프라는 사람을 통해 비로소 쓰여질 수 있었고, 읽을 수 있는 자격을 갖춘 사람만이 제대로 이해할 수 있는 "안드로이드 시큐리티 인터널"을 통해 고귀한 안드로이드 보안에 대한 귀중한 지식을 학습하도록 한다. 하지만, 안드로이드를 모른다고 보안에 대해 아는 게 없다고 걱정할 필요는 없다.

이 책을 통해 안드로이드와 보안에 대해 관심을 가지게 되면 그걸로 충분히 가치가 있으며, 이 책은 안드로이드 보안을 이해하기 위해 공부해야 할 학습목표들을 충분하고 효율적으로 제안하고 있기 때문이다. 의심하지 말고, 주저하지 말고 이 책의 학습목표대로 공부해 나가면 된다.



이 책은 13개의 장으로 이루어져 있으며, 크게는 2개의 부분으로 나누어 볼 수 있겠다.

1장 안드로이드 보안 모델, 2장 권한, 3장 패키지 관리는 안드로이드 아키텍처 및 보안 모델에 대해 소개하고 있으며, 이 책을 읽기 위한 토대가 된다. 4장 사용자 관리는 안드로이드의 다중 사용자 기원을 알아보고, 다중 사용자 디바이스에서 데이터 격리를 어떻게 구현하는지 설명하고 있다. 5장 암호 제공자에서는 자바 암호화 아키텍처를 살펴보고 안드로이드의 JCA 암호화 제공자에 대해 설명하고 있다.

6장 네트워크 보안과 PKI 에서는 자바 보안 소켓 활장 프레임워키의 구조를 소개하고 안드로이드에서 구현한 방식에 대해 자세히 설명하고 있다. 7장 자격증명 저장소는 안드로이드의 자격증명 저장소에 대해 알아보고 암호 키를 안전하게 저장해야 하는 앱에 제공하는 API를 소개하고 있다. 8장 온라인 계정 관리는 안드로이드의 온라인 계정 관리 프레임워크를 설명하고 구글 계정 지원이 어떻게 안드로이드에 통합되어 있는지 보여준다.

9장 기업 보안에서는 안드로이드의 디바이스 관리 프레임워크를 설명하고 VPN 지원 기능이 어떻게 구현되어 있는지 안드로이드에서 확장 가능 인증 프로토콜을 어떻게 지원하는지 설명하고 있다. 10장 디바이스 보안은 검증된 루트, 디스크 암호화, 안드로이드 잠금 화면 구현에 관해 설명하고 안전한 USB 디버깅과 암호화된 디바이스 백업을 어떻게 구현했는지 보여준다. 11장 NFC와 보안요소는 안드로이드의 NFC 스텍의 전반적인 구조를 알아보고, 보안 요소의 통합과 관련 API에 대해 자세히 알아본 후 호스트 기반 카드 에뮬레이션에 대해 간략히 소개하고 있다. 12장 SELinux는 SELinux의 아키텍처와 정책 언어에 대해 간략히 소개하고, 안드로이드에 통합하기 위해 SELinux를 변경한 부분을 자세히 설명한 후, 안드로이드의 기반 SELinux 정책을 살펴본다.

끝으로, 13장 시스템 업데이트와 루트 접근에서는 전체 시스템을 업데이트하기 위해 안드로이드에서 부트로더와 복구 OS를 어떻게 사용하는지 설명하고 안드로이드의 엔지니어링 빌드와 프로덕션 빌드에서 어떻게 루트에 접근하는지 자세히 설명하고 있다.




이 책이 안드로이드 보안 아키텍처에 대해 배우고자 하는 누구에게나 도움이 될 것이며, 각 보안 기능에 대한 개념적인 설명과 구현 수준의 설명은 보안을 연구하는 연구원과 개발자 모두에게 소스코드의 깊은 이해와 아키텍처를 조망해볼 수 있는 식견을 갖추도록 기틀을 마련해 줄 것으로 생각된다.

안드로이드와 소스코드를 이해하고, 시스템 파일의 구현을 이해하기 위해서는 유닉스 환경에서의 소프트웨어 개발 지식이 필요하지만...

뭐 어떠랴? 기본적인 개념을 이 기회에 갖춰서 안드로이드에 대해 공부하면 될 것이다.

초심자라고 생각하는 사람들은 1장~3장에서 안드로이드 앱의 기본 구조와 핵심 컴포넌트에 대해 설명하고 있으므로 이 부분에 집중해서 더 읽어보도록 한다.


PC도 잘 모르는데 모바일에 대해 공부하는 건 더욱 어렵고 소원한 일이 아닐까 겁부터 먹는 사람이 많고 나도 그 중에 하나였다.

하지만 IoE의 시대에 살며 셀 수도 없이 많은 디바이스와 소프트웨어를 사용하며 사는 우리에게 모바일은 그저 소형화된 PC 일 뿐이다.

PC에서 재공했던 많은 서비스와 오프라인으로 향유하던 많은 가치들은 모바일 영역으로 옮겨지며 가상화된 공간에서 우리에게 새로운 가치를 제공할 것이다.



시간이 없다면 차라리 모바일을 공부하자.

내 손안의 작은 세상에서 이제 모든 중대한 선택이 결정될 것이며, 내 가장 중요한 정보는 이제 PC가 아니라 모바일에 담겨 있을 것이다.

안전한 PC관리도 중요하지만 안전한 핸드폰 관리가 더 중요한 세상이 오고 있다.



근래 보이스피싱 스미싱 등 금융사기에 당하는 사람들을 "어휴, 세상 물정 모르는 사람이라 그래" 라고 치부하며 핀잔을 주는 사람도 있다.

하지만. 몰라서 당하는 걸까? 아니다. 금융사기를 당할 수 밖에 없는 환경에서 "설마 내가.."라는 안이함을 가진 사람을 사기범이 파고들어 생기는 범죄이다.


안전하지 않은 모바일 환경에서 "설마 내 폰이..."라는 안이함은 먹잇감을 노리는 해커의 악성코드가 파고들기에 안성맞춤인 환경이다.

우리는 언제나 어디에서든 표적이 될 수 있다. 아직 안전할 수 있는 해결책이 없는 환경에서 진짜 해결책을 찾기 위해 우리는 공부해야 한다.
닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?