Android安全攻防实践pdf下载

Android安全攻防实践百度网盘pdf下载

作者:
简介:Android安全攻防实践
出版社:人民邮电出版社
出版时间:2018-04-01
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

编辑推荐
  移动安全是当下热门的话题之一。作为市场上杰出的移动操作系统,安卓拥有极其广泛的用户基础,大量的个人数据和商业数据都存储在安卓移动设备上。移动设备给人们带来了娱乐、商业、个人生活,同时也带来了新的风险,针对移动设备和移动应用的攻击日益增加。作为用户群庞大的平台,安卓自然成为攻击者首要的攻击目标。本书将深入研究各种安全攻击技术,以便帮助开发人员、渗透测试人员以及终端用户了解安卓安全的基本原理。
内容简介
  本书以搭建安卓安全所需的实验环境开篇,首先介绍了ROOT安卓设备的常用工具和技术,并分析了安卓应用的基本架构,接着从数据存储、服务器端、客户端等方面讲解了安卓应用可能面临的安全风险,最后给出了一些避免恶意攻击的方法。另外,本书还涉及了多个案例,步骤详实,通俗易懂。
作者简介
  作者简介:
  Srinivasa Rao Kotipalli
  美国花旗银行副总裁助理,曾先后担任印度塔塔咨询服务公司安全工程师和Condition Zebra公司信息安全工程师。在Web应用渗透测试基础设施滲透测试和移动应用滲透测试等领域经验丰富。
  Mohammed A.Imran
  美国Zendesk公司高级软件安全工程师,主要负责静态应用安全測试、交互式应用安全测试、渗透测试和风险评估等工作。他擅长渗透测试、漏洞评估、安全代码审查和威胁建模。
  译者简介:
  李骏
  软件工程师,多年移动应用开发经验,现任职于北京某手机游戏开发公司。
目录
版权信息
前言
致谢
第1章 实验环境搭建
1.1 安装工具
1.2 Android Studio
1.3 安装安卓虚拟机
1.4 配置安卓虚拟机
1.5 adb入门
1.6 小结
第2章 安卓ROOT
2.1 什么是ROOT
2.2 锁定的和已解锁的boot loader
2.3 官方recovery和第三方recovery
2.4 ROOT流程和安装第三方ROM
2.5 ROOT三星Note 2手机
2.6 向手机刷入第三方ROM
2.7 小结
第3章 安卓应用的基本构造
3.1 安卓应用的基础知识
3.2 安卓应用的组件
3.3 从命令行编译DEX文件
3.4 应用运行时发生了什么
3.5 理解应用沙盒
3.6 小结
第4章 安卓应用攻击概览
4.1 安卓应用简介
4.2 理解应用攻击面
4.3 客户端存在的威胁
4.4 后端存在的威胁
4.5 移动应用测试与安全指南
4.6 自动化工具
4.7 识别攻击面
4.8 QARK
4.9 小结
第5章 数据存储与数据安全
5.1 什么是数据存储
5.2 共享首选项
5.3 SQLite数据库
5.4 内部存储
5.5 外部存储
5.6 用户字典缓存
5.7 不安全的数据存储——NoSQL数据库
5.8 备份技术
5.9 确保数据安全
5.10 小结
第6章 服务器端攻击
6.1 不同类型的移动应用及其威胁模型
6.2 移动应用服务器端的攻击面
6.3 移动后端测试方法
6.4 小结
第7章 客户端攻击——静态分析技术
7.1 攻击应用组件
7.2 使用QARK进行静态分析
7.3 小结
第8章 客户端攻击——动态分析技术
8.1 使用Drozer进行安卓应用自动化测试
8.2 Cydia Substrate简介
8.3 使用Introspy进行运行时监控与分析
8.4 使用Xposed框架进行hook
8.5 使用Frida进行动态插桩
8.6 基于日志的漏洞
8.7 WebView攻击
8.8 小结
第9章 安卓恶意软件
安卓恶意软件会做些什么
9.1 编写安卓恶意软件
9.2 注册权限
9.3 恶意应用分析
9.4 自动化分析工具
9.5 小结
第10章 针对安卓设备的攻击
10.1 中间人攻击
10.2 来自提供网络层访问的应用的威胁
10.3 利用现有漏洞
10.4 恶意软件
10.5 绕过锁屏
10.6 从SD卡拉取数据
10.7 小结
前言
  前言
  移动安全是当下最热门的话题之一。作为市场上领先的移动操作系统,安卓拥有极其广泛的用户基础,大量的个人数据和商业数据都存储在安卓移动设备上。移动设备给人们带来了娱乐、商业、个人生活,同时也带来了新的风险,针对移动设备和移动应用的攻击日益增加。作为用户群最大的平台,安卓自然成为攻击者首选的攻击目标。本书将深入研究各种攻击技术,以便帮助开发人员、渗透测试人员以及终端用户了解安卓安全的基本原理。
  内容概述
  第1章“实验环境搭建”是本书的基础部分。这一章将会指导读者搭建一个环境,其中囊括了后面各章所需的所有工具。对于不了解安卓安全技术的读者来说,这一章属于基础入门部分,将指导他们安装安卓安全所需的一系列工具。
  第2章“安卓ROOT”介绍ROOT安卓设备的常见技术。这一章将介绍ROOT的基础知识,并分析其利弊,之后讨论安卓的分区布局、boot loader 以及boot loader解锁技术等话题。这一章将指导读者如何ROOT自己的设备,并了解ROOT概念的来龙去脉。
  第3章“安卓应用的基本构造”概述安卓应用的内部构造。应用在底层是如何构造的,当它们被安装到设备上时是什么样子,又是如何运行的,等等,了解这些知识非常有必要,而这也正是这一章所涵盖的内容。
  第4章“安卓应用攻击概览”概述安卓的攻击面。这一章将讨论安卓应用、安卓设备以及安卓应用结构体系中其他组件可能遭受的攻击。更重要的是,指导读者针对通过网络与数据库通信的传统应用构建一个简易威胁模型。了解应用可能遭受的攻击对于理解渗透测试的测试内容十分重要。这一章对上述内容进行了高度概括,只包含少量技术细节。
  第5章“数据存储与数据安全”介绍评估安卓应用数据存储安全的常见技术。数据存储是安卓应用开发中最重要的部分之一。这一章将首先讨论开发者在本地存储数据时所使用的不同技术,以及这些技术对安全性的影响。然后,具体阐述开发者所选用的数据存储技术对安全性的影响。
  第6章“服务器端攻击”概述在服务器端安卓应用的攻击面。这一章将高度概括安卓应用后端可能遭受的攻击,并包含了少量的技术细节,因为大部分服务器端漏洞都与Web攻击有关。OWASP测试和开发者指南已经详细介绍了Web攻击。
  第7章“客户端攻击——静态分析技术”从静态应用安全测试(SAST)的角度介绍各种客户端攻击。静态分析是一种通过可轻易获得的安卓逆向工具来鉴别安卓应用漏洞的通用技术。这一章还将讨论一些用于对安卓应用进行静态分析的自动化测试工具。
  第8章“客户端攻击——动态分析技术”将介绍动态应用安全测试(DAST)中用于评估和利用安卓应用客户端漏洞的一些常用工具和技术。另外,还会讨论Xposed、Frida等在运行时操控应用的工具。
  第9章“安卓恶意软件”将介绍创建和分析安卓恶意软件的常用基础技术。这一章将首先介绍传统安卓恶意软件的特征,然后讨论如何创建一个简单的恶意软件,并用于在受感染的手机上给攻击者一个反弹shell。最后讨论安卓恶意软件的分析技术。
  第10章“针对安卓设备的攻击”试图帮助用户在日常使用中免受攻击,譬如在咖啡店和机场连接免费Wi-Fi时,如何免受攻击。这一章还将解释为什么ROOT安卓设备和安装未知来源的应用是不安全的。
  阅读准备
  为了在阅读本书的同时能亲自体验,读者需要安装下列软件。下载链接和安装步骤将在后面说明。
  ●Android Studio
  ●安卓模拟器
  ●Burp Suite
  ●Apktool
  ●Dex2jar
  ●JD-GUI
  ●Drozer
  ●GoatDroid
  ●QARK
  ●Cydia Substrate
  ●Introspy
  ●Xposed框架
  ●Frida
  读者对象
  本书适合想了解安卓安全的读者,对软件工程师、QA专业人员、初级及中级安全专业人士都有帮助。如果有一些安卓编程基础更佳。
  排版约定
  在本书中,你会看到一些不同的文本样式,用以区分不同类型的信息。下面举例说明一些样式的具体含义。
  文中的代码、数据库表名、用户输入等将使用如下样式:“内容提供程序使用标准的insert()、query()、update()和delete()等方法来获取应用数据。”
  代码段的格式如下:
  @Override
  public void onReceivedSslError(WebView view, SslErrorHandler handler,
  SslError error)
  {
   handler.proceed();
  }
  代码段中需要重点关注的部分将会加粗:
  if(!URL.startsWith("file:")) {
  命令行输入和输出格式如下:
  $ adb forward tcp:27042 tcp:27042
  $ adb forward tcp:27043 tcp:27043
  此图标表示警告或重要提示。
  此图标表示提示和技巧。
  读者反馈
  我们非常欢迎读者的反馈。让我们知道你对本书的想法——喜欢哪些部分,或不喜欢哪些部分。你的反馈将会帮助我们开发能够真正被大家充分利用的图书。
  你可以发送邮件到feedback@packtpub.com进行反馈,并在邮件主题中注明书名。
  如果你对某一个主题有专业的见解,而且有兴趣创作或者为一本书做出贡献,请参考我们在www.packtpub.com/authors上的作者指南。
  用户支持及说明
  我们将为本书的读者提供最大的帮助,使读者能从本书中获得最大的收获。本书旨在深入研究各种攻击技术,任何未经所有者许可而攻击其系统的做法均属非法行为。
  下载示例代码
  读者可以通过账号从//www.packtpub.com/support,并注册账号,所有文件将会通过邮件直接发送给你。
  可以按照下面的步骤下载代码文件:
  (1)使用你的邮箱和邮箱密码登录我们的网站或者注册账号;
  (2)将鼠标移动到网站顶部的SUPPORT选项卡;
  (3)点击Code Downloads & Errata;
  (4)在搜索框输入书名;
  (5)选中你要下载代码文件的图书;
  (6)在下拉菜单中选择购买渠道;
  (7)点击Code Download。
  也可以访问本书在Packt出版社官方网站的页面,点击网页上的Code Files按钮进行下载。你可以通过在搜索框中输入书名找到该页面。注意,你要登录Packt账号才能下载。
  文件下载完成后,使用下列软件的最新版将下载的文件解压或导出。
  ●Windows平台:WinRAR/7-Zip
  ●Mac平台:Zipeg/iZip/UnRarX
  ●Linux平台:7-Zip/PeaZip
  我们也在GitHub上托管了本书的代码:https://github.com/PacktPublishing/上找到。赶紧前往查看吧!
  勘误表
  尽管我们尽了最大的努力来保证书中内容的准确性,但差错还是在所难免。如果你发现了书中的错误,不论是正文还是代码,并且能够反馈给我们,我们将十分感激。这么做不仅能解决其他读者的困惑,也能帮助我们在本书后续版本中进行改进。如果你发现了错误,可以访问//www.packtpub.com/submit-errata,选择相应的图书,点击Errata Submission Form链接,填写勘误详情。一旦勘误审核通过,你的提交将会被接受,并上传到我们的网站或者添加到现有勘误表中。
  查看之前读者提交的勘误表,请访问https://www.packtpub.com/books/content/support,并在搜索框中输入书名查询。所需的信息将会显示在Errata下面。
  盗版行为
  对于所有媒体而言,网络盗版行为是一个长期存在的问题。对Packt而言,我们将严格保护自身的版权和许可证。如果你在网络上发现Packt作品的任何非法副本,请立即将网址或网站名称告诉我们,以便我们采取补救措施。
  请将涉嫌盗版的链接通过邮件发送至copyright@packtpub.com。
  感谢读者保护我们的作者,保护我们为读者提供有价值内容的能力。
  读者提问
  如果读者对于本书内容有任何疑问,可以通过邮箱questions@packtpub.com联系我们,我们将尽最大的努力帮助读者解决问题。
  电子书
  扫描如下二维码,即可购买本书电子版。
精彩书摘
  在本章中,我们将搭建一个实验环境,其中包含后续章节所需的各种工具。对于不了解安卓安全技术的读者来说,本章属于基础入门部分。它将指导我们安装所需的一系列安卓安全工具。
  下面是本章将要讨论的主要内容。
  ●设置安卓环境
  ●安装应用评估所需的工具
  ●安装评估移动设备后端安全所需的工具
  ●安装易受攻击的应用
  ●Android Debug Bridge(adb)介绍
  本节将介绍后续章节会用到的各种工具。首先,安装用于开发安卓应用的Android Studio;然后,创建一个安卓虚拟机(AVD);最后,安装用于评估安卓应用和设备安全性的必要工具。本节介绍的大部分安装步骤都是针对Windows平台的,如果是针对其他平台的工具,会特别指出。
  像Android Studio和Burp Suite这样的工具都离不开Java。因此,先从下面的链接下载并安装Java:https://java.com/zh_CN/download/。
  下面是安装Java的步骤。
  (1)运行安装程序。
  (2)如果需要修改安装路径,勾选Change按钮,选择目标文件夹。否则,保留默认设置即可。点击Next按钮,会出现如下图所示的界面。
  (3)点击Next按钮,进入安装界面。
  (4)出现如下图所示的界面表示安装完成。
  (5)点击Close按钮,完成安装。打开新的命令提示符并运行下面的命令,可检查Java的安装情况。到这里,就完成了本书第一个工具的安装。
  下一个要安装的工具是Android Studio。Android Studio基于IntelliJ IDEA,是安卓应用开发的官方IDE。在Android Studio出现之前,Eclipse曾是安卓应用开发的IDE。Android Studio于2013年5月发布了0.1版,从此进入了早期预览阶段;2014年6月发布了0.8版,进入Beta测试阶段;2014年12月发布第一个稳定版:1.0版。
  请从下面的网址中下载并安装Android Studio:https://developer.android.com/sdk/index.html。
  (1)下载Android Studio并运行安装程序。
  (2)点击Next直到出现下图中的界面。
  这个窗口展示了可安装的工具选项。建议全选,并安装Android SDK、Android Virtual Device和Intel@HAXM。Intel@HAXM能为Android Studio中的x86模拟器提供硬件加速和必需的支持。
  (3)点击I Agree同意许可协议,并继续安装。
精彩插图