Top

안드로이드 보안과 침투 테스팅 [안드로이드 공격 요소 실습부터 침투 보고서 작성법까지]

  • 원서명Learning Pentesting for Android Devices (ISBN 9781783288984)
  • 지은이아디트야 굽타(Aditya Gupta)
  • 옮긴이김예솔
  • ISBN : 9788960778269
  • 15,000원
  • 2016년 02월 19일 펴냄
  • 페이퍼백 | 160쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 해킹과 보안

책 소개

요약

이 책은 기본적인 안드로이드 보안 개념부터 침투 테스팅과 안드로이드 감사까지 다루는 실용적인 실무 가이드다. 기본적인 안드로이드 보안을 시작으로 권한 모델과 리눅스 샌드박싱, DVM을 다룬다. 보안 취약점을 찾기 위해 수동 분석과 자동화된 툴을 사용해 보안관점에서의 내부 안드로이드 애플리케이션과 리버싱, 보안 감사도 함께 다룬다. 또한, 안드로이드 애플리케이션의 동적 분석과 더불어 기기와 애플리케이션의 익스플로테이션, 감사 프로젝트를 위한 침투 테스팅 보고서 작성도 배운다.

추천의 글

모바일폰은 현대를 살아가는 우리에게 없어서는 안 되는 것으로 대다수의 사람이 일상생활을 모바일폰에 완전히 의존하고 있다.
대부분의 모바일폰은 안드로이드 OS에서 실행되는데, 이는 안드로이드 OS에서 배포되는 수많은 애플리케이션과 개발자 커뮤니티의 증가 덕분이다.
모바일 기기에서만 안드로이드를 사용한다는 생각은 착각이다. 안드로이드 운영체제는 자동차, 카메라, 냉장고, 텔레비전, 게임기, 스마트 워치, 스마트 유리 등 많은 기기에서 일반적으로 사용된다.
이런 무분별한 사용은 위험에서 자유로울 수 없으므로 주요 관심사는 보안이다. 안드로이드 운영체제를 기반으로 하는 애플리케이션이 안전하다고 말할 수 없다. 일반 사용자가 자신이 사용하는 애플리케이션이 악성 프로그램이 아닌지 어떻게 알 수 있겠는가? 또 해커들이 악용할 수 있도록 개발됐는지 알 수 있겠는가? 이것은 해결해야 할 중요한 문제다.
정보보안의 관점에서 99.9%의 안전은 100%의 취약함을 의미한다.
지식은 힘이다. 우리는 보안 연구자 및 개발자로서 최신 공격 방식과 동향을 파악하기 위해 지속적으로 학습하고 연구해야 하며, 이 분야의 미래를 가능한 한 많이 예측해야 한다.
이는 귀중한 리소스와 자료를 더 효율적으로 만들어 내야 하는 끝없는 과정이다.
2011년에 클럽핵(ClubHack) 컨퍼런스에서 이 책의 저자인 아디트야를 처음 만났고, 그곳에서 우리 둘 다 모바일 보안에 관한 발표를 했다. 나는 그가 모바일 보안 분야에서, 실직적으로는 모바일 애플리케이션 평가 분야의 자산임을 얼마 지나지 않아 깨달았다.
이 책은 안드로이드의 기본 정보, 보안 모델, 아키텍처, 권한 모델 및 OS 동작 방식 등 모바일 보안 분야를 입문하는 보안 연구자와 개발자들이 반드시 알아야 할 중요한 정보를 쉽게 읽을 수 있게 집필했다고 생각한다.
이 책에서 언급된 툴은 모바일 보안 커뮤니티와 모바일 보안 연구 업계에서 사용하는 것들이다.
개인적으로 내가 가장 좋아하는 장은 안드로이드 포렌식이 기술된 부분이며 다음과 같다.

● 5장, ‘안드로이드 포렌식’에서 안드로이드 파일시스템에 대해 깊게 살펴보고, 어떻게 파일시스템에서 데이터를 추출하는지 배운다.
● 7장, ‘알려지지 않는 안드로이드 공격’에서 감염 경로와 웹뷰 컴포넌트에 대해 다룬다.
● 8장, ‘RM 익스플로테이션’에서 안드로이드 플랫폼의 ARM 기반 익스플로테이션에 대해 상세히 다룬다.

연구 및 교육 학습 과정을 즐기길 바랍니다!

-엘라드 샤피라(Elad Shapira) / 모바일 보안 연구원

이 책에서 다루는 내용

■ 기본적인 안드로이드 보안 구조와 권한 모델
■ 안드로이드 디버그 브리지(adb) 사용법
■ 보안 관점에서의 내부 안드로이드 애플리케이션
■ 안드로이드 애플리케이션 리버싱
■ 안드로이드 기기의 트래픽 분석
■ 안드로이드 포렌식과 데이터 획득 개념
■ OWASP 모바일 탑 10과 콘텐츠 제공자 유출, SQLite 인젝션, 안전하지 않는 데이터 저장, 웹뷰(WebView) 취약점을 포함한 애플리케이션 레벨의 취약점과 익스플로테이션
■ 안드로이드 애플리케이션 감사 프로젝트를 위한 침투 테스팅 보고서 작성

이 책의 대상 독자

안드로이드 보안이나 안드로이드 애플리케이션 감사에 입문하려는 독자를 위한 책이다. 안드로이드 애플리케이션 보안의 가장 기본적인 수준부터 고급 수준까지 다루기 때문에 안드로이드 개발자가 아니어도 괜찮다. 만약 독자가 개발자라면 이 책에서 배운 기술을 이용해 안드로이드 애플리케이션의 취약점을 피하고 보안 코드 작성법을 배울 수 있다.

이 책의 구성

1장, ‘안드로이드 보안 시작’에서는 기본적인 안드로이드 보안 구조에 대해 설명한다. 권한 모델과 애플리케이션의 권한이 적용되는 방법을 다룬다. 또한, 달빅(Dalvik) 가상 환경과 애플리케이션 APK 기본 사항에 대해서도 알아본다.

2장, ‘침투 환경 구성’에서는 안드로이드 침투 테스팅을 위한 환경 구축 과정을 자세히 제공한다. 안드로이드 디버그 브리지와 안드로이드 침투 테스팅에 필요한 중요 툴을 다룬다.

3장, ‘리버싱과 안드로이드 앱 감사’에서는 안드로이드 애플리케이션을 리버싱하는 데에 사용되는 방법과 기술을 다룬다. 안드로이드 애플리케이션 감사를 위해 침투 테스터들에게 도움이 되는 툴을 설명하고 안드로이드 애플리케이션에 존재하는 다양한 종류의 취약점(사용자의 데이터를 위험하게 만드는 것들)을 알아본다.

4장, ‘안드로이드 기기의 트래픽 분석’에서는 안드로이드 기기 애플리케이션의 트래픽 차단을 다룬다. 트래픽을 가로채는 능동적/수동적인 방법과 HTTP/HTTPS 네트워크 트래픽도 알아본다. 안드로이드 플랫폼에서 애플리케이션 감사를 위한 유용한 과정 중 하나인 트래픽 캡처와 서비스 분석 방법도 살펴본다.

5장, ‘안드로이드 포렌식’에서는 안드로이드 포렌식에 대한 기본적인 설명을 시작으로 안드로이드 기반 스마트폰에서 데이터 추출에 대한 다양한 기술을 제공한다. 논리적/물리적인 포렌식 데이터 수집과 데이터 추출 과정을 쉽게 하는 툴도 다룬다.

6장, ‘SQLite 사용’에서는 데이터를 저장하기 위해 안드로이드가 사용하는 SQLite 데이터 베이스에 대해 깊이 있는 지식을 얻을 수 있다. 종종 개발자의 실수로 인해 SQLite 쿼리가 처리되지 않은 입력 값을 받아들이거나 적절한 권한 없이 사용될 경우 인젝션 공격에 이르게 한다.

7장, ‘알려지지 않은 안드로이드 공격’에서는 안드로이드 침투 테스팅에 도움이 되는 알려지지 않은 다양한 기술을 알아본다. 웹뷰(WebView) 취약점과 익스플로테이션(exploitation), 정상적인 애플리케이션의 감염, 크로스 애플리케이션 스크립팅과 같은 주제를 포함한다.

8장, ‘ARM 익스플로테이션’에서는 요즘 대부분의 스마트폰에서 사용 중인 ARM 플랫폼에 대한 익스플로테이션 지식을 소개한다. ARM 어셈블리와 버퍼 오버플로우, Ret2Libc, ROP에 대해서도 배운다.

9장, ‘침투 테스트 보고서 작성’에서는 안드로이드 애플리케이션 감사를 위한 보고서 작성 방법에 대해 간단히 설명한다. 침투 테스팅 보고서의 다양한 요소들을 하나씩 설명하며 직접 침투 테스팅 보고서를 작성할 수 있게 돕는다.

저자/역자 소개

지은이의 말

안드로이드는 전체 스마트폰 시장의 절반 이상을 차지하며 오늘날 가장 인기 있는 스마트폰 운영체제 중 하나다. 넓은 소비자 층과 개발자 커뮤니티의 절대적인 지지로 공식 플레이 스토어에만 백만 개 이상의 애플리케이션이 존재한다.
2005년 공식 출시된 후 지난 몇 년간 많은 인기를 얻었다. 요즘 안드로이드는 스마트폰뿐 아니라 전차책 리더와 텔레비전, 임베디드 기기 같은 다양한 장치에서도 찾을 수 있다. 하지만 안드로이드 기반의 기기를 사용하는 사용자들이 늘어남에 따라 보안에 대한 의문도 많이 제기되고 있는 것도 사실이다. 대부분의 경우 컴퓨터보다 스마트폰에서 더 많은 연락처와 기밀 기업문서, 사진 같은 민감한 정보가 사용되고 있기 때문이다.
안드로이드 플랫폼 자체의 보안 문제 외에도 스마트폰의 안드로이드 애플리케이션에는 개인 정보의 침해로 이어질 수 있는 많은 취약점이 존재한다. 이 책은 이러한 보안 결함에 대한 이해와 더불어 어떻게 이 취약점을 발견하고 해결할 것인가에 대한 설명을 제공한다.

지은이 소개

아디트야 굽타(Aditya Gupta)

모바일 보안 회사인 Attify의 설립자이자 트레이너로 대표적인 모바일 보안 전문가다. 익스플로테이션을 위한 안드로이드 프레임워크의 공동 제작자 겸 수석 개발자로, 안드로이드, iOS, 블랙베리와 BYOD 엔터프라이즈 보안을 비롯한 모바일 기기 분야에서 심도 있는 연구를 수행하고 있다.
또한 구글, 페이스북, 페이팔, 애플, 마이크로 소프트, 어도비, 스카이프 등과 같은 많은 웹사이트에서 심각한 웹 애플리케이션 보안 결함을 발견했다. 이전 직장인 Rediff.com에서 웹 애플리케이션 보안과 보안 자동화를 리드하는 역할을 담당했고, 기관의 이슈를 처리하기 위해 여러 내부 보안 툴도 개발했다. XYSEC에서 VAPT와 모바일 보안 분석을 수행하기 위해 노력했으며, 인도의 여러 기관과 개인 고객들에게 모바일 보안과 익스플로테이션, 익스플로잇 개발과 고급 웹 애플리케이션 해킹에 대한 교육과 서비스를 제공했다.
인도의 오픈 보안 커뮤니티인 Null의 멤버로서, 방갈로르와 뭄바이 지부에서 정기적인 모임에 참여하고 Humla 세션에 기여하며 활발한 활동을 하고 있다. 또한 BlackHat, Syscan, Toorcon, PhDays, OWASP AppSec, ClubHack, Nullcon, ISACA 같은 다양한 보안 컨퍼런스에서 수시로 발표와 교육을 진행한다.
현재 애플리케이션 감사 서비스와 교육을 제공하고 있으며 이메일(adi@attify.com) 또는 트위터(@adi1391)를 통해 연락할 수 있다.

옮긴이의 말

대부분의 안드로이드 기기는 보안에 취약해 해킹 위험에 노출되어 있으며 이는 약 10억대로 추산된다고 한다. 스마트폰 시대로 들어서면서 안드로이드 앱을 악용한 해킹 사례는 지속적으로 늘어날 전망으로 이를 보호하기 위해서 안드로이드 애플리케이션 개발자 및 정보보안 담당자들은 미리 취약점을 발견해 분석하고 대응해야 한다.
이 책은 안드로이드 보안 구조와 환경 세팅, 침투 테스팅을 수행하기 위한 다양한 툴의 실습과 방법을 자세히 설명하고 있어 안드로이드 침투 테스팅을 처음 시작하는 사람들에게 적합하다. 침투테스터의 관점에서의 다양한 안드로이드 공격 요소를 실습하고 침투 보고서 작성법까지 다루므로 안드로이드 보안 입문자에게 이 책을 추천한다.

옮긴이 소개

김예솔

정보보안회사에서 약 3년간 해외 고객을 대상으로 통합보안관리 시스템(ESM)의 기술지원을 담당했고 현재는 게임회사에서 테크니컬 라이터로 영문 기술문서 작성과 모바일 QA를 담당하고 있다. 에이콘출판사에서 펴낸 『Cuckoo 샌드박스를 활용한 악성코드 분석』(2014)을 번역했다.

목차

목차
  • 1장 안드로이드 보안 시작
    • 안드로이드 개론
    • 안드로이드 자세히 알아보기
    • 샌드박스와 권한 모델
    • 애플리케이션 서명
    • 안드로이드 시작 프로세스
    • 요약

  • 2장 침투 환경 구성
    • 개발 환경 구성
      • 안드로이드 가상 기기 만들기
    • 안드로이드 침투 테스팅에 유용한 유틸리티
      • 안드로이드 디버그 브리지
      • Burp Suite
      • APKTool
    • 요약

  • 3장 리버싱과 안드로이드 앱 감사
    • 안드로이드 애플리케이션의 APK 구성 요소
    • 안드로이드 애플리케이션 리버싱
    • Apktool을 이용한 안드로이드 애플리케이션 리버싱
    • 안드로이드 애플리케이션 감사
    • 콘텐츠 제공자 유출
    • 취약한 파일 저장 장치
      • 경로 탐색 취약점 또는 로컬 파일 포함
      • 클라이언트 측의 인젝션 공격
    • 모바일 OWASP 탑 10 취약점
    • 요약

  • 4장 안드로이드 기기의 트래픽 분석
    • 안드로이드 트래픽 가로채기
    • 안드로이드 트래픽을 분석하는 방법
      • 수동 분석
      • 능동 분석
    • HTTPS 프록시 가로채기
      • SSL 트래픽을 가로채는 또 다른 방법
    • 패킷 캡처로 민감한 파일 추출
    • 요약

  • 5장 안드로이드 포렌식
    • 포렌식의 종류
    • 파일시스템
      • 안드로이드 파일시스템 파티션
    • 데이터 추출을 위한 dd 툴 사용하기
      • 사용자 정의 복구 이미지 사용하기
    • Andriller를 이용한 애플리케이션의 데이터 추출
    • AFLogical을 이용한 연락처와 통화 내역, 문자 메시지 추출
    • 수동으로 애플리케이션 데이터베이스를 덤프하기
    • Logcat 로깅
    • Backup을 이용한 애플리케이션의 데이터 추출
    • 요약

  • 6장 SQLite 사용
    • SQLite 자세히 알기
      • SQLite를 이용한 간단한 애플리케이션 분석
    • 보안 취약점
    • 요약

  • 7장 알려지지 않은 안드로이드 공격
    • 안드로이드 웹뷰 취약점
      • 애플리케이션에서 웹뷰 사용
      • 취약점 식별
    • 합법적인 APK 감염시키기
    • 광고 라이브러리 취약점
    • 안드로이드 크로스 애플리케이션 스크립팅
    • 요약

  • 8장 ARM 익스플로테이션
    • ARM 구조 소개
      • 실행 모드
    • 환경 설정
    • 스택 기반의 버퍼 오버플로우
    • 리턴 지향 프로그래밍
    • 안드로이드 루팅 익스플로잇
    • 요약

  • 9장 침투 테스트 보고서 작성
    • 침투 테스팅 보고서의 기본 사항
    • 침투 테스팅 보고서 작성
      • 내용 요약
      • 취약점
      • 작업 범위
      • 사용된 툴
      • 테스팅 방법론
      • 해결 방안
      • 결론
      • 부록
    • 요약

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안