您可以使用 Bluemix AppScan Mobile Analyzer 服务扫描任何 Android 应用程序,即使该应用程序不是使用 Bluemix 开发的应用程序,您可以免费使用该服务 30 天。本教程将重点介绍如何使用 AppScan Mobile Analyzer 服务来扫描一个使用 IBM Bluemix Mobile Data 服务开发的样例 Android 应用程序,还将介绍如何根据扫描报告采取正确的行动。
- 使用您注册的 Bluemix ID 和密码登录 Bluemix。
- 使用所提供的任何样板文件在 Bluemix 中创建一个应用程序。在本示例中,我们使用了 Node.js Cache Web Starter 样板文件。
- 选择 Node.js Cache Web Starter,为应用程序命名(在我们的示例中,将它命名为mymobilescan),然后单击 CREATE。
- 在创建应用程序之后,需要将 AppScan Mobile Analyzer 服务绑定到该应用程序。在 SDK for Node.js下,单击 CREATE。
- 接下来,选择 ADD A SERVICE。
- 在 Security目录下,选择 AppScan Mobile Analyzer。
- 接下来,要将服务与 mobileappscan应用程序绑定在一起。在 AppScan Mobile Analyzer下,选择 App并为它提供一个 Service name。
- 在创建此应用程序之后,就做好了扫描任何 Android 移动应用程序的准备。
步骤 2. 开发一个样例 Android 移动应用程序
尽管 AppScan Mobile Analyzer 能够扫描任何 Android 移动应用程序,本教程将重点介绍如何扫描 sampleapp,该应用程序是使用 IBM Bluemix Mobile Data 服务开发的。
- 安装 Eclipse ADT 和 Android SDK。
- 安装 DevOps Services Eclipse 插件。(参阅 "设置 Eclipse、Git 和 Rational Team Concert Desktop Clients 来访问 IBM DevOps Services",获得一个有用的教程。)
- 从 DevOps Services 下载
sampleapp
项目。该项目基于 Android 4.3, Release 19。 - 构建项目并通过运行该项目获得
sampleapp.apk
文件,或者将它导出为一个 Android 应用程序。这个样例应用程序在一个屏幕中获得输入,并在另一个屏幕中显示这些输入。 - 从 Bluemix mobileappscanWeb 应用程序选择 AppScan Mobile Analyzer服务。单击BROWSE,并选择 android 应用程序文件
sampleapp.apk
来进行扫描。 - 为该扫描命名并单击 Upload APK file。在完成上传操作之后,就会开始扫描。
- 扫描结果会显示在服务中。漏洞级别(High、Medium、Low 或 Informational)将被指明,这里还提供了十大开放 Web 应用程序安全项目 (OWASP) 列表上的已检测出的漏洞等级。
步骤 3. 解释扫描结果
在完成扫描后,您可以从该服务下载详细的报告。该报告是从一些细节信息开始的,比如由 IBM AppScan Dynamic Analyzer 创建的扫描名称、实际扫描名称、应用程序版本和扫描开始时间。然后,该报告还显示了已找出的 安全问题总结。

在我们的示例中,我们开发的样例文件有两个安全问题:
- Backup Flag Enabled(启用了备份标记)
- Debug Version Detected(检测到的调试版本)
问题 1:Backup Flag Enabled。AppScan 建议采用的解决办法是 将 android.allowBackup
属性设置为 false。

问题 2:Debug Version Detected。AppScan 建议采用的解决办法是 避免使用调试版本。

步骤 4. 修复漏洞并重新进行扫描
- 修复指出的漏洞:
问题 1:在 bin 目录下,打开 AndroidManifest.xml 文件,并将
android:allowBackup
参数更改为 false。问题 2:在 AndroidManifest.xml 文件中,删除下方显示的参数。
- 按照步骤 2 中的过程,使用上面修改后的参数重新构建 .apk 文件,然后重新进行扫描。您现在应该有一个干净的扫描在运行。
结束语
让我们来快速回顾一下学习的内容。我们使用 IBM Bluemix Mobile Data 服务开发了一个样例 Android 应用程序,然后将 .apk 文件上传到 Bluemix 进行扫描。为了扫描应用程序中的漏洞,我们使用了 Bluemix AppScan Mobile Analyzer 服务。我们还介绍了如何读取和扫描结果,以及如何对已检测到的漏洞采取纠正措施。
按照本教程的指导,您可以让任何 Android 应用程序都变得更加安全。
BLUEMIX SERVICE USED IN THIS TUTORIAL:AppScan Mobile Analyzer 可以帮助您识别 Android 应用程序中的安全问题,从而帮助您保障它们的安全。