서브메뉴

본문

안드로이드 모바일 앱 모의해킹 (가상 뱅킹 앱 인시큐어뱅크를 활용한 모바일 취약점 진단과 대응 방안)
안드로이드 모바일 앱 모의해킹 (가상 뱅킹 앱 인시큐어뱅크를 활용한 모바일 취약점 진단과 대응 방안)
저자 : 조정원|김명근|조승현|류진영|김광수
출판사 : 에이콘출판
출판년 : 2017
정가 : 40000, ISBN : 9788960779310

책소개


금융권 앱을 모델로 가상으로 제작된 ‘인시큐어뱅크’ 앱에서 제공되는 20가지 이상의 진단 방법과 취약점 대응 방안을 제시했다. 안드로이드 보안에 관심 갖고 있던 독자라면 누구나 쉽게 실습할 수 있도록 구성했다. 취약점 항목별로 도출된 취약점을 소스 코드 레벨로 설명하고, 자동화 분석 진단 환경을 제시해 효율적으로 진단할 수 있는 방안을 제시했다. 단계별로 실습하며 익힌다면, 실무에서 진단할 안드로이드 앱 서비스의 취약점을 손쉽게 진단하고 고객에게 대응 방안을 제시할 수 있다.

목차


1장 안드로이드 취약점 분석 및 환경 소개
1.1 안드로이드 아키텍처 이해
1.1.1 리눅스 커널
1.1.2 라이브러리
1.1.3 안드로이드 런타임
1.1.4 안드로이드 필수 구성 요소
1.2 인시큐어뱅크 가상 금융 앱 소개
1.3 안드로이드 앱 진단 환경 구성
1.3.1 자바 설치 및 환경 구성
1.3.2 안드로이드 스튜디오 설치
1.3.3 가상 디바이스 소개 및 설치
1.3.4 ADB 환경 변수 설정
1.4 녹스 환경 설치 및 인시큐어뱅크 서버 구축
1.5 인시큐어뱅크 설치 및 코드 수정 방법
1.6 모바일 애플리케이션 디컴파일 방법
BytecodeViewer를 이용한 APK 파일 분석
1.7 마무리하며


2장 취약점 진단 및 분석 도구
2.1 ADB(Android Debug Bridge) 살펴보기
2.1.1 디바이스 장치 선택
2.1.2 일반 기능
2.1.3 디버그 기능
2.1.4 데이터 기능
2.1.5 포트와 네트워킹 기능
2.1.6 스크립팅 기능
2.1.7 서버 기능
2.1.8 쉘 기능
2.2 드로저를 활용한 취약점 진단
2.2.1 드로저란 무엇인가?
2.2.2 드로저를 활용한 앱 패키지 정보 확인
2.2.3 드로저를 활용한 취약점 분석
2.2.4 모듈 관리
2.2.5 모듈 설치
2.2.6 저장소 관리
2.3 칼리리눅스 설치
2.3.1 가상 이미지 다운로드 및 설정
2.3.2 칼리리눅스 설치
2.3.3 VMware Tools 및 한글 설치
2.3.4 참고문헌
2.4 마무리하며


3장 취약점 항목별 상세 실습
3.1 브로드캐스트 리시버 결함
3.1.1 취약점 소개
3.1.2 취약점 진단 과정
3.1.3 취약점 대응 방안
3.2 취약한 인증 매커니즘
3.2.1 취약점 소개
3.2.2 취약점 진단 과정
3.2.3 취약점 대응 방안
3.2.4 참고문헌
3.3 로컬 암호화 이슈
3.4.1 취약점 소개
3.4.2 취약점 진단 과정
3.4.3 취약점 대응 방안
3.4.4 참고문헌
3.4 액티비티 컴포넌트 취약점
3.4.1 취약점 소개
3.4.2 취약점 진단 과정
3.4.3 취약점 대응 방안
3.5 루팅 탐지 및 우회
3.5.1 취약점 소개
3.5.2 취약점 진단 과정
3.5.3 취약점 대응 방안
3.6 안전하지 않은 콘텐츠 프로바이더 접근
3.6.1 취약점 소개
3.6.2 취약점 진단 과정
3.6.3 취약점 대응 방안
3.7 안전하지 않은 웹 뷰 실행
3.7.1 취약점 소개
3.7.2 취약점 진단 과정
3.7.3 취약점 대응 방안
3.7.4 참고문헌
3.8 취약한 암호화 실행
3.8.1 취약점 소개
3.8.2 취약점 진단 과정
3.8.3 취약점 대응 방안
3.8.4 참고문헌
3.9 애플리케이션 패칭
3.9.1 취약점 소개
3.8.2 취약점 진단 과정
3.8.3 취약점 대응 방안
3.8.4 참고문헌
3.10 메모리 내 민감한 정보 저장
3.10.1 취약점 소개
3.10.2 취약점 진단 과정
3.10.3 취약점 대응 방안
3.11 안전하지 않은 로깅 매커니즘
3.11.1 취약점 소개
3.11.2 취약점 진단 과정
3.11.3 취약점 대응 방안
3.12 안드로이드 키보드 캐시 이슈
3.12.1 취약점 소개
3.12.2 취약점 진단 과정
3.12.3 취약점 대응 방안
3.13 애플리케이션 디버깅 기능
3.13.1 취약점 소개
3.13.2 취약점 진단 과정
3.13.3 취약점 대응 방안
3.13.4 참고 문헌
3.14 안드로이드 복사/붙여넣기 취약점
3.14.1 취약점 소개
3.14.2 취약점 진단 과정
3.14.3 취약점 대응 방안
3.15 안드로이드 백업 취약점
3.15.1 취약점 소개
3.15.2 취약점 진단 과정
3.15.2 취약점 대응 방안
3.16 런타임 조작
3.16.1 취약점 소개
3.16.2 취약점 진단 과정
3.16.3 취약점 대응 방안
3.17 안전하지 않은 SDCard 저장소
3.17.1 취약점 소개
3.17.2 취약점 진단 과정
3.17.3 취약점 대응 방안
3.17.4 참고문헌
3.18 안전하지 않은 HTTP 통신
3.18.1 취약점 소개
3.18.2 취약점 진단 과정
3.18.3 취약점 대응 방안
3.18.4 참고문헌
3.19 인자 전달값 조작
3.19.1 취약점 소개
3.19.2 취약점 진단 과정
3.19.3 취약점 대응 방안
3.19.4 참고문헌
3.20 하드코딩 보안
3.20.1 취약점 소개
3.20.2 취약점 진단 과정
3.20.4 취약점 대응 방안
3.21 사용자 정보 목록화 이슈
3.21.1 취약점 소개
3.21.2 취약점 진단 과정
3.21.3 취약점 대응 방안
3.21.4 참고문헌
3.22 개발자 백도어
3.22.1 취약점 소개
3.22.2 취약점 진단 과정
3.22.3 취약점 대응 방안
3.23 취약한 패스워드 변경 실행
3.23.1 취약점 소개
3.23.2 취약점 진단 과정
3.23.3 취약점 대응 방안
3.23.4 마무리하며


4장 앱 자동 분석 시스템
4.1 샌드드로이드
4.2 QARK(Quick Android Review Kit)
4.2.1 QARK란 무엇인가?
4.2.2 QARK 설치 및 실행
4.2.3 QARK를 이용한 앱 분석
4.2.4 분석 결과 확인
4.3 Mobile Security Framework를 활용한 자동분석
4.3.1 MobSF란 무엇인가?
4.3.2 MobSF 설치 및 분석 환경 구축
4.2 앱유즈(AppUse) 테스팅 도구 활용법
4.4.1 앱 유즈란 무엇인가?
4.4.2 에뮬레이터 실행 및 앱 설치
4.4.3 지원 도구
4.4.4 앱 리버싱 도구 및 과정 설명
4.4.5 애플리케이션 도구
4.4.6 프록시 설정
4.5 기타 자동 분석 도구 활용
4.5.1 Inspeckage를 활용한 앱 분석
4.5.2 Androbus를 활용한 앱 분석
4.6 마무리하며


5장 모바일 앱 보안 강화
5.1 시큐어 코딩 개요6
5.2 PMD(Programming Mistake Detector) 활용
5.2.1 PMD란?..468
5.2.2 PMD 설치
5.2.3 인시큐어뱅크 소스 코드 PMD 활용
5.3 FindBugs/FindSecurityBugs
5.3.1 FindBugs란?
5.3.2 FindSecurityBugs란?
5.3.3 FindBugs/FindSecurityBugs 활용
5.4 코드 난독화 적용
5.4.1. 프로가드 난독화 적용 방법
5.4.2 프로가드 난독화 활용 방법
5.4.3 인시큐어 뱅크에 적용한 사례
5.5 마무리하며