软件安全测试技术和工具的研究
2017-09-07张蕾
张蕾
摘 要:软件在给人类快速普及和带来便利的同时,软件安全漏洞的存在也会对公司和个人造成重大经济损失,甚至危害到人身安全。本文针对不同的测试对象、源代码、移动APP和web,分别介绍对应的测试方法和工具。
关键词:安全测试;源代码;移动APP安全;web安全;测试工具
中图分类号:TP311 文献标识码:A
0.引言
在软件行业快速发展的同时,安全测试逐渐得到人们的重视。根据测试对象的不同,安全测试也需要采用不同的方法。本文重点介绍适用于源代码、移动APP和web的安全测试方法和工具。
1.源代码安全测试
静态分析技术在安全审计方面有着举足轻重的地位,代码级安全的实质就是要保护信息系统或信息网络中的信息资源从最底层免受各种类型的威胁、干扰和破坏。目前源代码静态扫描工具有Its4、Rats、Flawfinder、Splint、Cppcheck等,这里简要介绍下fortify工具。
Fortify SCA 是一个静态的、白盒的软件源代码安全测试工具。它通过内置的五大主要分析引擎:数据流、语义、结构、控制流、配置流等对应用软件的源代码进行静态的分析,分析的过程中与它特有的软件安全漏洞规则集进行全面地匹配、查找,从而将源代码中存在的安全漏洞扫描出来,并给予整理报告。
Fortify源代碼扫描结果如图1所示。
2.移动APP安全测试
随着移动应用软件的快速发展,恶意软件和病毒等方面的安全事件也大幅增长。针对移动APP的安全测试包括:安装包测试、敏感信息测试、软键盘劫持、账户安全、数据通信安全、组件安全测试、服务器接口。目前流行的移动APP安全测试小工具有dex2jar、jd_gui、drozer等。这里介绍一下移动应用风险评估系统MARS。
MARS具备“即插即用、随时测试、自动流程”的特色,支持现在移动应用的几种形态:APP、微信公众号、Web(H5)方式。通过专项测试平台、android测试终端、ios测试终端,自集成无线网络测试环境等设备的整合,可以实现一站式全功能覆盖的移动应用安全性测试。MARS除了对客户端、通信管道、后台服务器端进行全面的安全检测,也可以对用户的业务操作进行检测(短信炸弹、验证码安全等),大幅度提高移动应用APP安全检测能力。
MARS报告展示如图2所示。
3.web安全测试
Web应用安全漏洞分为服务器端漏洞和客户端漏洞[4]。目前企业组织面临的最严重的Web漏洞包括:注入、失效的身份认证和会话管理、跨站脚本、敏感信息泄露等。Web安全漏洞扫描工具层出不穷,常见的有webinspect、skipfish、w3af、WVS、IBM AppScan等,AppScan工具最为流行。
AppScan是一个在所有级别应用上提供全面纠正任务的工具,提供中文支持。AppScan扫描Web应用的基础架构,进行安全漏洞测试并提供可行的报告和建议。
AppScan扫描结果如图3所示。
结语
本文针对源代码、移动APP和Web三个不同的测试对象,描述了不同的测试方法和适用工具,希望能够对广大从业者有所参考。
参考文献
[1]王斌.基于Fortify SCA的隐通道分析技术的研究与实现[D]. 北京理工大学,2016.
[2]罗琴灵.基于静态检测的代码审计技术研究[D].贵州大学,2015.
[3]邱鹏.移动APP测试实战[M].北京:机械工业出版社,2015.
[4]索亮.对主流扫描工具漏洞检测能力的测试与分析[J].信息安全技术,2010(6):120-128.
[5]张楠.Web应用安全漏洞扫描技术研究[D].浙江大学,2015.