创维E900-S四川黑盒8G高安版纯净
程序人生

如何对移动应用进行黑盒测试

  多数移动应用程序采用何种开发技术,都会给本地设备和企业带来不同的风险,因而在部署之前需要对其实施软件测试和评估。本文首先讨论黑盒测试技术和策略。

  在评估基于Web的移动应用时,我们建议评估者以匿名用户的身份来执行测试,并使用多种经认证的用户角色的特权。因为基于Web的应用是通过互联网来访问的,测试团队应当使用PC上的传统浏览器和标准的应用安全评估工具。

  在评估过程中,为了确认基础架构水平的漏洞,应当对Web服务器进行扫描。这种扫描的结果应当用于确认常见的应用程序问题。评估者还可以利用人工技术,充分利用所确认的漏洞,并对自动化工具常常遗漏的授权缺陷和业务逻辑进行测试。这一点尤其重要!

  此外,企业应当对网站执行“非入侵性”分析,其中包括通过镜像整个站点来检查内容,然后检查客户端的代码漏洞。使用分析阶段所产生的输入,私有的专用工具应当动态地测试Web服务器的组件,用以检查常见的Web服务器和Web应用漏洞,如SQL 注入漏洞、跨站脚本、跨站请求伪造等。此外,还应当利用商业化的工具来执行漏洞扫描。

  在确认了漏洞之后,为了利用漏洞,测试人员应当执行测试。此外,还有可能有如下内容:不安全的cookie处理,绕过认证,操纵表单欺诈,URL协议处理程序,基于位置的服务,敏感信息泄露,应用逻辑欺骗等。

  在黑盒测试结束时,应当执行漏洞评估,并根据每个漏洞所带来的风险进行评级。

  为移动设备开发的应用程序带来了传统应用所没有的新的测试挑战。例如,移动设备对低级过程和例外日志拥有有限的直接访问权。移动设备还支持应用程序与GPS、相机、蓝牙、WAP,以及传统PC中所没有的其它技术进行交互。为解决这些困难,企业应使用如下的两种测试方法:

  模拟器测试:每一种平台都向开发人员提供了应用开发的SDK,并提供了用于测试和调试的不同型号设备的模拟器。这些工具还允许测试人员在各种配置和设备中分析和测试应用程序,而没有物理设备的限制。模拟器测试的一个好处是,代码并不需要由一个可信方来签署就可以在模拟器中运行。

  物理设备测试:对物理设备的测试提供了在模拟器中测试所没有的许多功能,如SMS、GPS、相机、蓝牙等。不过,由于缺乏对底层操作系统和应用签名要求,这种测试又受到了一定限制。

  根据移动应用的功能,测试人员应在模拟器或客户端提供的物理设备中执行测试,或兼而有之。在测试过程中,测试者应确认应用的功能,并针对任何内部的逻辑控制和外部连接。因为移动应用在许多方面是不同的,应当使用下面的步骤来测试每一种应用:

  应当人工检查应用程序,确认其功能和应用程序访问不同组件的方法。评估团队应当重点关注如何确认外部的网络连接,以及、用户输入和许可等问题。

  移动应用有许多连接到外部源的方式。测试者应当使用代理工具和网络嗅探器,用来监视每一个请求和响应。还要记录数据通信,以便于日后的分析。如果应用程序使用了蓝牙或其它连接,为了捕获数据通信,开发团队应当使移动设备与一个服务器进行配对使用。

  由于应用程序的使用,数据可能存在于多个不同的位置。用户或非授权方有可能通过各种方式访问敏感信息或应用。评估应当确认敏感信息在何处产生,并分析如下情形中如何保护数据:由于用户交互而提交给应用的用户输入;用于输入到应用程序中的文件;在正常使和应用期间产生的文件;由于程序的例外进程所生产的应用程序日志;应用程序和设备(它们有可能将敏感数据放在非正常的或非法的位置)的缓存机制;通过网络连接而从外部服务器获得的数据。

  只要条件允许,就应当对应用程序进行反编译,其目的是为了检查有可能使应用程序的漏洞被利用的危险方法,如检查是否有缓冲区溢出问题。虽然许多移动平台是基于Java的,但它们自己的编译器与传统的安全工具并不兼容。如今许多平台都有其反编译器,如黑莓和安卓,苹果也提供了一个反编译器。这些工具能够深入分析应用程序的逻辑,并可以进行有限的静态代码分析。

  任何时候都应当保护静态数据和传输中的数据,使其不被未获得授权的人员访问。测试人员应当检查移动设备和任何网络服务器的通信加密情况,检查应用程序是否将文件保存到了设备上,或在备份过程中是否发生过转移。

  利用在漏洞确认阶段所收集的信息,测试人员应当通过以下步骤,尝试利用所确认的漏洞:

  由于可用性的限制,移动应用使用许多新的认证技术,如清除模式,其目的是为了减少口令的复杂性。为了测试是否可以绕过认证控制或访问其它用户的数据,测试者应当测试移动应用的认证机制。在通过认证之后,测试者应当检查应用程序的会话管理。通过观察应用程序如何跟踪、记录用户,测试人员可以评估是否能够重新进行会话或是否可以跳转到另一个用户会线、授权

  设备的授权许可应当专门定义,这种控制可以防止设备进一步访问设备或其功能。在应用程序环境中,还应当测试没有得到许可的正常用户是否能够访问某些功能。

  通过规定应用程序的输入区域,并观察输出,安全评估就可以判定在其它特定应用的用户浏览器中,是否能够插入并执行客户端的JavaScript。此操作可以使某用户捕获其它用户的会话机密或应用的用户名和口令等。

  许多应用程序收集关于用户的使用数据。这种数据有可能过度冒犯用户的隐私。测试人员应当检查这种数据,判定应用程序收集并保存了哪些数据以及如何访问这些数据。测试人员还应当测试未经授权的用户或第三方是否能够访问这种数据。

  本文阐述了黑盒测试的基本要点,但如果开发人员在开发过程中能够牢记安全第一的原则,遵循最佳的开发实践,在发布软件之前,积极检查并修正错误,反复测试,将极大地减轻测试人员的负担。

  比特软件信息化周刊提供以数据库、操作系统和管理软件为重点的全面软件信息化产业热点、应用方案推荐、实用技巧分享等。以最新的软件资讯,最新的软件技巧,最新的软件与服务业内动态来为IT用户找到软捷径。

  比特商务周刊是一个及行业资讯、深度分析、企业导购等为一体的综合性周刊。其中,与中国计量科学研究院合力打造的比特实验室可以为商业用户提供最权威的采购指南。是企业用户不可缺少的智选周刊!

  比特网络周刊向企业网管员以及网络技术和产品使用者提供关于网络产业动态、技术热点、组网、建网、网络管理、网络运维等最新技术和实用技巧,帮助网管答疑解惑,成为网管好帮手。

  比特服务器周刊作为比特网的重点频道之一,主要关注x86服务器,RISC架构服务器以及高性能计算机行业的产品及发展动态。通过最独到的编辑观点和业界动态分析,让您第一时间了解服务器行业的趋势。

  比特存储周刊长期以来,为读者提供企业存储领域高质量的原创内容,及时、全面的资讯、技术、方案以及案例文章,力求成为业界领先的存储媒体。比特存储周刊始终致力于用户的企业信息化建设、存储业务、数据保护与容灾构建以及数据管理部署等方面服务。

  比特安全周刊通过专业的信息安全内容建设,为企业级用户打造最具商业价值的信息沟通平台,并为安全厂商提供多层面、多维度的媒体宣传手段。与其他同类网站信息安全内容相比,比特安全周刊运作模式更加独立,对信息安全界的动态新闻更新更快。

  新闻中心以独特视角精选一周内最具影响力的行业重大事件或圈内精彩故事,为企业级用户打造重点突出,可读性强,商业价值高的信息共享平台;同时为互联网、IT业界及通信厂商提供一条精准快捷,渗透力强,覆盖面广的媒体传播途径。

  比特云计算周刊关注云计算产业热点技术应用与趋势发展,全方位报道云计算领域最新动态。为用户与企业架设起沟通交流平台。包括IaaS、PaaS、SaaS各种不同的服务类型以及相关的安全与管理内容介绍。

  比特CIO俱乐部周刊以大量高端CIO沙龙或专题研讨会以及对明星CIO的深入采访为依托,汇聚中国500强CIO的集体智慧。旨为中国杰出的CIO提供一个良好的互融互通 、促进交流的平台,并持续提供丰富的资讯和服务,探讨信息化建设,推动中国信息化发展引领CIO未来职业发展。

  IT专家新闻邮件长期以来,以定向、分众、整合的商业模式,为企业IT专业人士以及IT系统采购决策者提供高质量的原创内容,包括IT新闻、评论、专家答疑、技巧和白皮书。此外,IT专家网还为读者提供包括咨询、社区、论坛、线下会议、读者沙龙等多种服务。

  X周刊是一份IT人的技术娱乐周刊,给用户实时传递I最新T资讯、IT段子、技术技巧、畅销书籍,同时用户还能参与我们推荐的互动游戏,给广大的IT技术人士忙碌工作之余带来轻松休闲一刻。