원표제: Android security cookbook 색인 수록 기술감수자: 미구엘 카탈란 바널스, 세이톤 브래드포드, 닉 글린, 루이 곤칼루, 엘리엇 롱
연계정보
외부기관 원문
목차보기
1장. 안드로이드 개발 도구 __소개 __ADT 설치 __JDK 설치 __API 소스 업데이트 __또 다른 ADT 설치 방법 __NDK 설치 __안드로이드 에뮬레이팅 __AVD 생성 __AVD와 상호 작용하는 ADB 사용 __AVD와 파일 송수신 __ADB를 통해 AVD에 애플리케이션 설치
2장. 애플리케이션 보안 __소개 __애플리케이션 인증서와 서명 검사 __안드로이드 애플리케이션 서명 __애플리케이션 서명 확인 __AndroidManifest.xml 파일 검사 __ADB를 통한 액티비티 매니저와의 상호작용 __ADB를 이용한 애플리케이션 리소스 추출
3장. 안드로이드 보안 평가 도구 __소개 __산토쿠의 설치와 설정 __드로저 설정 __드로저 세션 실행 __설치된 패키지 열거 __액티비티 열거 __컨텐트 프로바이더 열거 __서비스 열거 __브로드캐스트 리시버 열거 __애플리케이션 공격 지점 결정 __액티비티 실행 __드로저 모듈 작성: 기기 열거 모듈 __애플리케이션 인증서 열거자 작성
4장. 애플리케이션 공격 __소개 __로그켓을 통한 정보 노출 __네트워크 트래픽 검사 __액티비티 매니저를 통한 수동 인텐트 스니핑 __서비스 공격 __브로드캐스트 리시버 공격 __취약한 컨텐트 프로바이더 목록 __취약한 컨텐트 프로바이더로부터 데이터 추출 __컨텐트 프로바이더에 데이터 삽입 __SQL 인젝션에 취약한 컨텐트 프로바이더 목록 __디버깅 가능 애플리케이션에 대한 공격 __애플리케이션에서의 중간자 공격
5장. 애플리케이션 보호 __소개 __애플리케이션 컴포넌트 보안 __사용자 권한을 사용한 컴포넌트 보호 __컨텐트 프로바이더 경로 보호 __SQL 인젝션 공격에 대한 방어 __애플리케이션 서명 검증(위조 방지) __설치 프로그램, 에뮬레이터, 디버그 플래그 감지를 통한 __애플리케이션 변조 보호 __ProGuard를 사용한 로그 메시지 제거 __DexGuard를 사용한 고급 코드 난독화
6장. 애플리케이션 리버스 엔지니어링 __소개 __자바를 DEX로 컴파일 __DEX 파일 디컴파일 __달빅 바이트코드 인터프리팅 __DEX를 자바로 디컴파일 __애플리케이션의 네이티브 라이브러리 디컴파일 __GDB 서버를 이용한 안드로이드 프로세스 디버깅
7장. 보안 네트워킹 __소개 __자가 서명된 SSL 인증서의 유효성 검증 __OnionKit 라이브러리의 StrongTrustManger 사용 __SSL 핀잉
8장. 네이티브 공격과 분석 __소개 __파일 권한 검사 __네이티브 실행 파일 크로스 컴파일 __경쟁 상태 취약점 공격 __스택 메모리 손상 공격 __자동화 네이티브 안드로이드 퍼징
9장. 암호화와 기기 관리 정책 개발 __소개 __암호화 라이브러리 사용 __대칭 암호 키 생성 __SharedPreferences 데이터 보안 __암호 기반의 암호화 __SQLCipher를 사용한 데이터베이스 암호화 __안드로이드 KeyStore 프로바이더 __기기 관리 정책 설정
이용현황보기
(안드로이드 플랫폼과 애플리케이션 취약점 분석 사례를 통한)안드로이드 해킹과 보안 이용현황 표 - 등록번호, 청구기호, 권별정보, 자료실, 이용여부로 구성 되어있습니다.
등록번호
청구기호
권별정보
자료실
이용여부
0002085380
005.8 -15-34
서울관 서고(열람신청 후 1층 대출대)
이용가능
0002085381
005.8 -15-34
서울관 서고(열람신청 후 1층 대출대)
이용가능
출판사 책소개
★ 요약 ★
이 책에서는 안드로이드 운영체계의 각 버전과 앱의 일반적인 취약점을 찾아내고 처리하는 안드로이드의 보안 메커니즘 속으로 안내하는 실용적인 예제를 다룬다. 이 책을 통해 안드로이드 개발도구와 프레임워크를 설정하고, 안드로이드 앱을 비롯한 기기분석을 통해 발견한 일반적인 취약점을 공격하는 방법을 알 수 있으며, 안드로이드 보안 평가 프레임워크인 드로저(drozer)를 이용해 사용자 정의 취약점 평가 도구를 개발하는 방법도 배운다. 또한 일반적인 애플리케이션 레벨 공격에 대한 분석, 열거를 통해 공격코드를 작성하는 방법을 실용적인 예제를 통해 잘 보여준다. 기본적인 개발 도구부터 자바 레이어, 네이티브 레이어까지 안드로이드 애플리케이션 보안을 포괄적으로 다루기 때문에 안드로이드 보안을 접하는 독자에게 좋은 안내서가 될 것이다.
★ 이 책에서 다루는 내용 ★
■ 안드로이드 개발 도구와 프레임워크 설정 ■ 안드로이드 애플리케이션과 기기 분석과 애플리케이션과 안드로이드 운영체제의 일반적인 취약점 공격 ■ 안드로이드 보안 평가 프레임워크인 드로저(drozer)를 이용한 사용자 정의 취약점 평가 도구 개발 ■ 일반적인 애플리케이션 레벨 공격에 대한 분석, 열거, 공격 코드 작성 ■ 안드로이드 애플리케이션 보안 취약점 리버스 엔지니어링 ■ 최신 보안 강화 기술을 이용한 안드로이드 애플리케이션 방어 ■ 보안 애플리케이션 네트워킹, SSL/TLS
★ 이 책의 대상 독자 ★
몇몇 장은 안드로이드 애플리케이션을 공격하는 것을 다루며 나머지는 애플리케이션을 강화하는 것에 초점을 맞추고 있다. 이 책은 공격자와 방어자, 동전의 양면을 모두 다루는 것을 목표로 한다. 보안 연구자, 분석가, 모의 침투 테스트 전문가는 안드로이드 앱을 공격하는 방법의 세부사항을 즐길 것이다. 보안에 대해 더 알고 싶은 애플리케이션 개발자는 공격으로부터 애플리케이션을 보호하는 방법에 대한 실용적인 조언을 얻을 수 있을 것이다.
★ 이 책의 구성 ★
1장. '안드로이드 개발 도구'에서는 개발자가 안드로이드 플랫폼에서 안드로이드 애플리케이션과 네이티브 레벨 구성요소를 다루는 데 사용하는 도구를 설정하고 실행하는 것을 소개한다. 이 장은 또한 안드로이드를 처음 접하는 사람이나 일반적인 개발 환경과 도구를 설정하는 방법을 알고 싶어하는 사람에게는 유용한 개론이 될 것이다. 2장. '애플리케이션 보안'에서는 애플리케이션을 보호하기 위해 안드로이드 운영체제가 제공하는 구성요소를 소개한다. 이 장은 애플리케이션과 애플리케이션이 운영체제와 주고받는 상호작용을 보호하기 위해 사용되는 보안 관련 도구와 서비스를 직접 조사하고 사용해본다. 3장. '안드로이드 보안 평가 도구'에서는 애플리케이션이 사용자에게 노출하는 기술적인 위협을 측정하는 안드로이드 보안 전문가가 사용하는 잘 알려지거나 새롭고, 혹은 앞으로 기대되는 보안 도구와 프레임워크에 대해 소개한다. 여기에서는 나머지 장에서 사용할 해킹과 리버스 엔지니어링 도구를 설정하고 실행하고 확장하는 방법을 배울 수 있다. 4장. 애플리케이션 공격'에서는 안드로이드 애플리케이션을 대상으로 한 상황별 공격 기술을 다룬다. 이 장은 모든 안드로이드 애플리케이션 구성요소 타입을 다루며 소스 코드와 애플리케이션 간 문맥 모두에서 보안 위협을 조사하는 방법을 상세히 설명한다. 또한 3장에서 소개한 도구를 좀 더 능숙하게 다루는 방법을 소개한다. 5장. '애플리케이션 보호'에서는 4장과 정반대의 내용이다. 애플리케이션의 결함에 대해서만 이야기하는 것 대신, 이 장에서는 애플리케이션을 수정하는 것에 대해 다룬다. 4장에서 상세하게 설명한 공격 중 일부로부터 애플리케이션을 보호하기 위해 개발자가 사용할 수 있는 유용한 기술에 대해 체험할 수 있다. 6장. '애플리케이션 리버스 엔지니어링'에서는 애플리케이션을 속속들이 분석하는 방법을 습득할 수 있으며 안드로이드 리버스 엔지니어가 애플리케이션을 조사하고 분석하기 위해 사용하는 기술도 배울 수 있다. Dex 파일 포맷에 대해 매우 상세하게 배울 수 있으며, 또한 Dex 바이트코드를 리버스 엔지니어가 쉽게 이해할 수 있는 유용한 표현 방법으로 해석하는 방법도 배운다. 또한 리버스 엔지니어가 애플리케이션과 네이티브 구성 요소가 안드로이드 운영체제에서 실행되고 있는 동안 동적으로 분석할 수 있는 근사한 방법에 대해서도 다룬다. 7장. '보안 네트워킹'에서는 개발자가 네트워크 통신이 발생하는 동한 데이터를 보호하기 위해 따라야 하는 실용적인 방법을 배울 수 있다. 이 방법을 통해 SSL 통신에 좀 더 강력한 유효성 검증을 추가할 수 있게 된다. 8장. '네이티브 공격과 분석'에서는 안드로이드 플랫폼의 네이티브 문맥과 관련한 보안 평가와 테스트 방법을 다룬다. 안드로이드 시스템에서 폰의 루트 권한을 획득하고 권한을 상승시킬 수 있는 보안 결함을 찾는 방법을 배울 수 있으며, 메모리 손상과 경쟁 상태 공격을 포함한 네이티브 서비스를 대상으로 하는 로우 레벨 공격을 배울 수 있다. 9장. '암호화와 기기 관리 정책 개발'에서는 암호화를 올바르게 사용하는 방법과 애플리케이션 내부의 데이터를 안전하게 유지하는 일반적인 안티 패턴(anti-pattern) 중 일부를 피할 수 있는 방법을 다룬다. 이 장은 애플리케이션의 보안을 빠르고 안전하게 향상시키는 강건하고 시간을 절약할 수 있는 써드파티 라이브러리를 추천한다. 끝으로 기업 보안 정책을 다루고 강화하기 위한 안드로이드 기기 관리 A PI를 사용하는 방법을 다룬다.