로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

안드로이드 애플리케이션 리버스 엔지니어링

 [기초부터 고급까지 안드로이드 앱 리버싱]
   
지은이 남대현, 류재형   |   출판사 에이콘  |   발행일 2017년 03월 30일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 30,000원27,000원 10%
마일리지 5% 1,500원
발행일 2017-03-30
ISBN 8960779989 | 9788960779983
기타정보 국내서 | 292쪽 | 일반
예상출고일 금일 가능 (근무일기준)
배송비 무료배송
   
운영체계(OS)
종합지수 0p
   
 

[ 요약]

안드로이드 애플리케이션 설치 방법부터 동적 디버깅에 이르는 다양한 분석 방법을 담은 책이며, 난독화 및 분석 방지 솔루션 등 분석이 막혔을 때, 돌파구를 찾을 수 있는 책이다. 저자들의 다년간 모의해킹 및 취약점 분석으로 터득한 노하우를 바탕으로 분석 환경 구성부터 고급 활용까지 모두 다뤘다.


[ 이 책에서 다루는 내용]

■ 안드로이드 애플리케이션 분석 환경 설정
■ 무료 도구를 이용한 정적 분석 방법
■ 상용 도구를 이용한 난독화 애플리케이션 분석 방법
■ 분석 방지 솔루션이 적용된 애플리케이션 분석 방법
■ 공유 라이브러리 동적 디버깅 방법
■ 해킹 대회 문제를 통한 실전 응용
■ 개발을 통한 APK 후킹 방법


[ 이 책의 대상 독자 ]

■ 안드로이드 애플리케이션 보안을 처음 접하거나 이제 막 시작하려는 독자
■ 개발자 및 시큐리트 파트에서 보안 점검을 담당하는 독자
■ 안드로이드 애플리케이션 취약점 점검 모의해킹 컨설턴트
■ 안드로이드 애플리케이션 리버스 엔지니어링에 관심이 많은 독자


[ 이 책의 구성 ]

1장, '안드로이드 기본 개념'에서는 안드로이드 애플리케이션 분석에 앞서 분석을 어느 부분부터 해야 하는지 모르는 독자들에게 안드로이드 애플리케이션의 네 가지 구성요소에 대한 개념 설명으로 어느 부분부터 분석을 시작해야 모르는 독자들이 개념을 바탕으로 관련 코드를 쉽게 분석해 나갈 수 있도록 액티비티(Activity), 서비스(Service), 브로드케스트 수신자(Broadcast Receiver), 콘텐츠 제공자(Contents Provider)에 관해 설명한다.
2장, '안드로이드 리버스 엔지니어링을 위한 환경 구축'에서는 분석에 앞서 디바이스에 접속하기 위해 ADB 접속을 위한 USB디버깅 활성화하는 방법, 필요한 명령어 등을 사용하기 위해 Busybox 등을 설치하는 방법 및 윈도우, 우분투 환경에 맞게 자바 버전 확인 및 안드로이드 스튜디오(Android Studio)를 이용해 SDK를 설치하는 방법을 시작하는 사람들을 기분으로 자세히 설명한다.
3장, '안드로이드 앱 구성 및 코드 분석'에서는 안드로이드 애플리케이션의 구성, 안드로이드 애플리케이션 생성 과정과 apktool을 이용한 기본적인 APK Repackage 과정을 설명하고 무료로 쉽게 구할 수 있는 JD-GUI, JADX, Androguard, ByteCodeViewer를 이용해 분석하는 방법에 대해 설명한다. 또한 안드로이드 애플리케이션 분석 용도로 많이 사용되고 있는 JEB, JEB2를 이용한 자세한 분석 방법과 JEB2에서 제공하는 동적 디버깅을 할 수 있는 방법에 대해 자세히 설명한다.
4장, '안드로이드 앱 정적 분석'에서는 분석을 위해 설치된 안드로이드 애플리케이션 추출부터 분석방지 솔루션이 적용된 애플리케이션의 실행코드 추출 방법 및 유용한 팁을 예제를 바탕으로 설명하고, 레벨 테스트 용도로 제작된 안드로이드 애플리케이션의 정적 분석 방법에 대해 안드로이드 기본 개념부터, 코드 활용까지 차근차근 설명한다.
5장, '안드로이드 앱 동적 분석'에서는 이장의 내용은 대부분 고급과정에 속하며 개발에 대한 사전지식이 필요하다. 따라서 앱을 직접 분석하지 않고 동적 환경을 구성해 어떤 이벤트가 발생하는지 확인하기 위해 안드로이드 LKM(Loadable Kernel Module), 대표적인 프레임워크를 활용한 자바 API 후킹을 통해 분석해나가는 방법, API 후킹을 하는 방법에 대해서 자세히 설명한다.
6장, '안드로이드 앱(APK) 디버깅'에서는 GDB, IDA, JEB2를 통해서 안드로이드 애플리케이션 코드에 대한 동적 디버깅 환경 구축 및 동적 디버깅 방법, JNI 라이브러리 디버깅 방법에 대해서 자세히 설명한다.


[ 지은이의 말]

안드로이드에 관한 많은 책이 있다. 순수 애플리케이션 개발에 초점을 맞춘 책, 악성코드 분석에 초점을 맞춘 책, 취약점 분석에 초점을 맞춘 책 등 안드로이드 관련 다양한 책들이 있다. 우리는 순수하게 안드로이드 애플리케이션 분석 방법에 대한 책을 만들고 싶었다.
안드로이드 애플리케이션 설치부터 다양한 분석 도구를 활용하는 방법까지 자세히 기술하려고 노력했고, 깊이가 없다는 지적을 받지 않기 위해 개발 지식이 필요한 부분까지 설명하였다. 동적 분석에서는 디버깅, APK 후킹 등 다양한 방법을 설명했다.
국내외 도서를 통틀어 이 책보다 안드로이드 애플리케이션 리버스 엔지니어링에 충실한 책은 없다고 자부한다. 이제 막 안드로이드 리버스 엔지니어링을 시작하려는 사람, 현재 모바일 애플리케이션 취약점 분석 및 모의해킹에 몸담고 있는 사람들에게 도움이 될 수 있는 책을 만들기 위해 다년간의 노하우를 녹여 집필했다. 이 책을 통해 한 단계 도약하는 계기가 되었으면 하는 바람이다.

1장. 안드로이드 기본 개념
__1.1 안드로이드 필수 구성 요소
____1.1.1 액티비티
____onCreate( )
____startActivity( )
____startActivityForResult( )
____setResult( )
____액티비티 생명주기
____1.1.2 서비스
____서비스 생명주기
____1.1.3 브로드캐스트 수신자
____1.1.4 콘텐츠 제공자

2장. 안드로이드 리버스 엔지니어링을 위한 환경 구축
__2.1 디바이스 설정
____2.1.1 ADB 접속을 위한 USB 디버깅 활성화
____2.1.2 루팅
____2.1.3 다양한 명령을 사용하기 위한 BusyBox 설치
__2.2 안드로이드 SDK, NDK 설치
____2.2.1 윈도우 환경에서 안드로이드 SDK 설치
____자바 버전 확인
____자바 다운로드
____자바 설치
____2.2.2 안드로이드 스튜디오를 이용한 안드로이드 SDK 설치
____안드로이드 스튜디오 다운로드
____안드로이드 SDK 설치
____환경 변수 등록
__2.3 우분투 환경에서 안드로이드 SDK 설치
____2.3.1 자바 버전 확인 및 설치
____자바 버전 확인
____자바 설치
____자바 버전 확인
____2.3.2 안드로이드 SDK의 다운로드와 설치
____2.3.3 안드로이드 SDK 환경 변수 설정
____2.3.4 안드로이드 NDK 다운로드 및 설치
____압축 해제
____2.3.5 안드로이드 NDK 환경 변수 등록

3장. 안드로이드 앱 구성 및 코드 분석
__3.1 안드로이드 APK 구성
__3.2 APK Repackage
____3.2.1 Apktool
__3.3 무료 도구를 활용한 코드 분석
____3.3.1 JD - GUI
____실행 문제 해결
____3.3.2 JADX
____3.3.3 Androguard
____3.3.4 바이트코드 뷰어
__3.4 상용도구를 활용한 코드 분석
____3.4.1 JEB1
____쉬운 해킹대회 문제 풀어보기
____3.4.2 JEB2
____UI 배치
____아티팩트 추가
____애플리케이션 동적 디버깅
____SETPROPEX를 이용한 설정값 변경
____CVE-2016-5195 취약점을 이용한 설정값 변경
____JEB2 동적 디버깅 기능 사용 관련 문제 해결
____JEB2를 이용한 애플리케이션 디버깅

4장. 안드로이드 앱 정적 분석
__4.1 안드로이드 APK 추출
____4.1.1 ADB
____4.1.2 아스트로 파일관리자
__4.2 분석방지 솔루션 우회
____예제 1
____예제 2
__4.3 안드로이드 애플리케이션 정적 분석
____예제 1
____예제 2
__4.4 난독화된 애플리케이션 분석
____예제 1.
____예제 2.

5장. 안드로이드 앱 동적 분석
__5.1 안드로이드 LKM을 활용한 동적 분석
____5.1.1 모바일 기기에 맞는 커널 다운로드
____5.1.2 툴체인 다운로드
__5.2 Java API Hooking을 활용한 동적 분석
____5.2.1 Cydia Substrate를 이용한 자바 API 후킹
____주입기 설치
____자바 API 후킹 모듈 개발
____분석 및 코딩 시작
____직접 만들어보자
____5.2.2 Xposed를 이용한 자바 API 후킹
____개발 환경 구축
____모듈 업데이트
____후킹 모듈 개발
__5.3 Frida 활용한 동적 분석
____5.3.1 Frida 설치
____5.3.2 Frida-trace를 이용한 시스템콜 후킹
____5.3.3 Frida 모듈을 이용한 스크립트 작성
____5.3.4 Frida를 이용한 자바 후킹

6장. 안드로이드 앱(APK) 디버깅
__6.1 GDB를 이용한 Android Remote Debugging
____6.1.1 ADB를 이용한 안드로이드 기기 접속
__6.2 IDA Pro를 이용한 APK 디버깅
____6.2.1 환경 변수 설정
____6.2.2 앱 설치
____6.2.3 디버깅 시작
____6.2.4 문제 해결
__6.3 IDA 프로를 이용한 classes.dex & 공유 라이브러리 디버깅
____6.3.1 환경 변수 등록확인
____6.3.2 Android NDK 설치
____6.3.3 환경 변수 등록
____6.3.4 컴파일
____6.3.5 custom_rules.xml 수정
____6.3.6 두 개의 IDA 인스턴스 생성
__6.4 IDA Pro를 이용한 JNI 공유 라이브러리 디버깅 방법 1
____6.4.1 환경 구축
____6.4.2 Linker 복사
____6.4.3 공유 라이브러리 복사
____6.4.4 도구 개발
____6.4.5 Android.mk 파일 작성
____6.4.6 Makefile 작성
____6.4.7 컴파일
____6.4.8 안드로이드 기기 작업
____6.4.9 ADB 포트 포워딩
____6.4.10 IDA Pro 설정
____6.4.11 브레이크 포인트 설정
____6.4.12 디버그 설정
____6.4.13 안드로이드 기기 작업
____6.4.14 포트 포워딩
__6.5 IDA Pro를 이용한 JNI 공유 라이브러리 디버깅 방법 2
__6.6 IDA Pro를 이용한 JNI 공유 라이브러리 디버깅 방법 3
____6.6.1 STEP 1 달빅 런타임 후킹
____6.6.2 STEP 2 SDK에 포함된 ddms 실행
____6.6.3 STEP 3 안드로이드 서버 전송 및 실행
____6.6.4 STEP 4 adb forward
____6.6.5 STEP 5 애플리케이션 설치 및 실행
____6.6.6 STEP 6 IDA 실행 및 디버거 연결
__6.7 마치며

남대현
해커이자 보안 연구원이다. 3년 정도 스마트TV의 취약점을 진단했고, 모바일 사업부 취약점 진단, 커널 취약점 진단, 모의해킹 진단을 다년간 해오고 있다. NHN, SK텔레콤, 사이버 사령부 시스템 해킹 강의, SANS ITL 아카데미 강의를 했고, 모바일 환경의 In-App 우회 취약점 다수 발견했다. 모바일 환경의 보안 및 암호화된 메시지 복호화 등에도 관심이 많고, 강의를 통해서 지식을 나누고 싶다.

류재형
사이버 수사관이다. 모바일 카메라의 소프트웨어 검증 업무를 수행하면서 안드로이드의 구조에 대해 깊이 있는 이해를 바탕으로 초창기 버전 안드로이드 모델부터 최신 버전의 안드로이드 펌웨어 및 안드로이드 앱 분석을 하면서 안드로이드 보안에 대해 큰 관심을 갖고 있으며, 특히 모바일 기기에서 사용되는 경량화 암호의 복호화와 최신 안드로이드폰에 아이폰과 같은 강력한 암호화 방식이 적용되고 있는데, 포렌식적 관점에서 획득과 분석을 하는 데 큰 관심을 갖고 연구를 하고 있다.

등록된 서평이 없습니다.
CentOS 리눅스 구축관리실무...
정우영
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
 
전체평균(0)
회원평점   회원서평수 0
남대현 의 최근 저서
 
안드로이드 모바일 악성코드와 모의 해킹 진단
36,000원
(10%↓+5%)
 
에이콘 출판사의 신간
스마트 IoT 프로젝트
아구스 쿠니아완 저
22,500원
(10%↓+5%)
 
Azure와 도커를 활용한 마이크로서비스 구현
보리스 숄, 트렌트 스완슨, 댄 페르난데스 저
27,000원
(10%↓+5%)
 
OpenCV 를 활용한 컴퓨터 비전 프로그래밍
로버트 라가니에 저
36,000원
(10%↓+5%)
 
R 딥러닝의 핵심
조슈아 와일리 저
16,200원
(10%↓+5%)
 
아이오닉 2 블루프린트
인더모한 싱 저
27,000원
(10%↓+5%)
 
이메일주소수집거부