移动设备应用的灰盒测试与评估的三步走
2013年06月24日 15:39供稿中心:兆隆教育
摘要:
所谓移动设备应用的灰盒测试是指,将传统的源代码检查(白盒测试)与前期测试(黑盒测试)结合起来的一种技术。测试人员必须检查应用程序的代码库,审查关键功能代码,审查常见的错误编码或非法编码方法。此外,测试人员还可以执行黑盒测试来审查应用,并根据所
所谓移动设备应用的灰盒测试是指,将传统的源代码检查(白盒测试)与前期测试(黑盒测试)结合起来的一种技术。测试人员必须检查应用程序的代码库,审查关键功能代码,审查常见的错误编码或非法编码方法。此外,测试人员还可以执行黑盒测试来审查应用,并根据所确认的漏洞定位找到代码库中的目标代码。
为什么要执行移动应用的灰盒测试与评估呢?答案很简单:找到高风险代码;确认漏洞的根本原因。
灰盒测试应当遵循如下三大步骤:
一、威胁建模
威胁建模可以使测试团队首先确认有可能对移动应用产生较大影响的威胁。测试人员在这个阶段的主要目的是区分特定应用组件或代码的优先顺序。测试团队通过理解应用程序架构的文档资料,应当逐渐熟知移动应用的基本架构和使用情况。
收集信息
通过与移动应用的开发团队协作,测试团队应当获得有助于帮助其理解移动应用的设计和功能的文档资料。这些文档资料中所描述的细节,可以为威胁建模过程中的所有步骤提供基础。
执行侦察和应用映射
理解移动应用如何实现其功能对于创建移动应用模型至关重要。在此阶段,测试团队应当人工检查移动应用的实例。然后,团队应当检查移动应用的匿名部分和认证部分,同时关注处理敏感数据和功能的部分。在此阶段,要提供架构、配置、过程、用户、技术等各方面的证明文件,以利于下一阶段的使用。
需要重点关注并用于下一阶段针对性测试的方面有:管理界面、敏感信息的传输、外部或第三方应用的接口、移动协议(如SMS、MMS、WAP等)的使用。
测试团队应当记录在此期间的每一种请求和响应,以便于使用本地代理工具和网络嗅探工具进行日后分析。
定义系统和可信边界
在检查的下一阶段,评估团队应当构建一个移动应用及数据流程图中的系列过程的可视化模型。数据流程图要确认系统边界和围绕移动应用的每一个组件的可信边界。确认系统边界可以使测试团队初步明确数据流入或流出系统或其组件(即数据入口和出口点)的所有位置。随后,在代码检查阶段,测试团队应当检验在每一个系统边界是否执行了适当的验证和编码技术。与此类似,确定可信边界可以查明测试团队能够检验代码中的认证和授权部分。
将威胁映射到功能
在定义了所有的流程图要素后,测试团队应当将所有要素映射到资产威胁,其目的在于定义移动应用中的“热点”,进而可以构建一个测试计划。在针对性的代码检查阶段,测试团队应当全面测试计划中的每一个项目。