
[안드로이드 플랫폼과 애플리케이션 취약점 분석 사례를 통한]
안드로이드 해킹과 보안
- 원서명Android Security Cookbook (ISBN 9781782167167)
- 지은이키이스 마칸(Keith Makan), 스콧 알렉산더바운(Scott Alexander-Bown)
- 옮긴이이승원, 박준용, 강동현, 박시준, 주설우, 이신엽, 조정근
- ISBN : 9788960777385
- 35,000원
- 2015년 07월 24일 펴냄
- 페이퍼백 | 400쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 해킹과 보안
책 소개
요약
이 책에서는 안드로이드 운영체계의 각 버전과 앱의 일반적인 취약점을 찾아내고 처리하는 안드로이드의 보안 메커니즘 속으로 안내하는 실용적인 예제를 다룬다. 이 책을 통해 안드로이드 개발도구와 프레임워크를 설정하고, 안드로이드 앱을 비롯한 기기분석을 통해 발견한 일반적인 취약점을 공격하는 방법을 알 수 있으며, 안드로이드 보안 평가 프레임워크인 드로저(drozer)를 이용해 사용자 정의 취약점 평가 도구를 개발하는 방법도 배운다. 또한 일반적인 애플리케이션 레벨 공격에 대한 분석, 열거를 통해 공격코드를 작성하는 방법을 실용적인 예제를 통해 잘 보여준다. 기본적인 개발 도구부터 자바 레이어, 네이티브 레이어까지 안드로이드 애플리케이션 보안을 포괄적으로 다루기 때문에 안드로이드 보안을 접하는 독자에게 좋은 안내서가 될 것이다.
이 책에서 다루는 내용
안드로이드 개발 도구와 프레임워크 설정
안드로이드 애플리케이션과 기기 분석과 애플리케이션과 안드로이드 운영체제의 일반적인 취약점 공격
안드로이드 보안 평가 프레임워크인 드로저(drozer)를 이용한 사용자 정의 취약점 평가 도구 개발
일반적인 애플리케이션 레벨 공격에 대한 분석, 열거, 공격 코드 작성
안드로이드 애플리케이션 보안 취약점 리버스 엔지니어링
최신 보안 강화 기술을 이용한 안드로이드 애플리케이션 방어
보안 애플리케이션 네트워킹, SSL/TLS
이 책의 대상 독자
몇몇 장은 안드로이드 애플리케이션을 공격하는 것을 다루며 나머지는 애플리케이션을 강화하는 것에 초점을 맞추고 있다. 이 책은 공격자와 방어자, 동전의 양면을 모두 다루는 것을 목표로 한다.
보안 연구자, 분석가, 모의 침투 테스트 전문가는 안드로이드 앱을 공격하는 방법의 세부사항을 즐길 것이다. 보안에 대해 더 알고 싶은 애플리케이션 개발자는 공격으로부터 애플리케이션을 보호하는 방법에 대한 실용적인 조언을 얻을 수 있을 것이다.
이 책의 구성
1장. '안드로이드 개발 도구'에서는 개발자가 안드로이드 플랫폼에서 안드로이드 애플리케이션과 네이티브 레벨 구성요소를 다루는 데 사용하는 도구를 설정하고 실행하는 것을 소개한다. 이 장은 또한 안드로이드를 처음 접하는 사람이나 일반적인 개발 환경과 도구를 설정하는 방법을 알고 싶어하는 사람에게는 유용한 개론이 될 것이다.
2장. '애플리케이션 보안'에서는 애플리케이션을 보호하기 위해 안드로이드 운영체제가 제공하는 구성요소를 소개한다. 이 장은 애플리케이션과 애플리케이션이 운영체제와 주고받는 상호작용을 보호하기 위해 사용되는 보안 관련 도구와 서비스를 직접 조사하고 사용해본다.
3장. '안드로이드 보안 평가 도구'에서는 애플리케이션이 사용자에게 노출하는 기술적인 위협을 측정하는 안드로이드 보안 전문가가 사용하는 잘 알려지거나 새롭고, 혹은 앞으로 기대되는 보안 도구와 프레임워크에 대해 소개한다. 여기에서는 나머지 장에서 사용할 해킹과 리버스 엔지니어링 도구를 설정하고 실행하고 확장하는 방법을 배울 수 있다.
4장. 애플리케이션 공격'에서는 안드로이드 애플리케이션을 대상으로 한 상황별 공격 기술을 다룬다. 이 장은 모든 안드로이드 애플리케이션 구성요소 타입을 다루며 소스 코드와 애플리케이션 간 문맥 모두에서 보안 위협을 조사하는 방법을 상세히 설명한다. 또한 3장에서 소개한 도구를 좀 더 능숙하게 다루는 방법을 소개한다.
5장. '애플리케이션 보호'에서는 4장과 정반대의 내용이다. 애플리케이션의 결함에 대해서만 이야기하는 것 대신, 이 장에서는 애플리케이션을 수정하는 것에 대해 다룬다. 4장에서 상세하게 설명한 공격 중 일부로부터 애플리케이션을 보호하기 위해 개발자가 사용할 수 있는 유용한 기술에 대해 체험할 수 있다.
6장. '애플리케이션 리버스 엔지니어링'에서는 애플리케이션을 속속들이 분석하는 방법을 습득할 수 있으며 안드로이드 리버스 엔지니어가 애플리케이션을 조사하고 분석하기 위해 사용하는 기술도 배울 수 있다. Dex 파일 포맷에 대해 매우 상세하게 배울 수 있으며, 또한 Dex 바이트코드를 리버스 엔지니어가 쉽게 이해할 수 있는 유용한 표현 방법으로 해석하는 방법도 배운다. 또한 리버스 엔지니어가 애플리케이션과 네이티브 구성 요소가 안드로이드 운영체제에서 실행되고 있는 동안 동적으로 분석할 수 있는 근사한 방법에 대해서도 다룬다.
7장. '보안 네트워킹'에서는 개발자가 네트워크 통신이 발생하는 동한 데이터를 보호하기 위해 따라야 하는 실용적인 방법을 배울 수 있다. 이 방법을 통해 SSL 통신에 좀 더 강력한 유효성 검증을 추가할 수 있게 된다.
8장. '네이티브 공격과 분석'에서는 안드로이드 플랫폼의 네이티브 문맥과 관련한 보안 평가와 테스트 방법을 다룬다. 안드로이드 시스템에서 폰의 루트 권한을 획득하고 권한을 상승시킬 수 있는 보안 결함을 찾는 방법을 배울 수 있으며, 메모리 손상과 경쟁 상태 공격을 포함한 네이티브 서비스를 대상으로 하는 로우 레벨 공격을 배울 수 있다.
9장. '암호화와 기기 관리 정책 개발'에서는 암호화를 올바르게 사용하는 방법과 애플리케이션 내부의 데이터를 안전하게 유지하는 일반적인 안티 패턴(anti-pattern) 중 일부를 피할 수 있는 방법을 다룬다. 이 장은 애플리케이션의 보안을 빠르고 안전하게 향상시키는 강건하고 시간을 절약할 수 있는 써드파티 라이브러리를 추천한다. 끝으로 기업 보안 정책을 다루고 강화하기 위한 안드로이드 기기 관리 A PI를 사용하는 방법을 다룬다