一种软件安全测试方法技术领域
本发明公开一种软件安全测试方法,属于软件测试领域。
背景技术
软件安全性测试是检验软件中已存在的软件安全措施是否有效的测试,是保证系统安全性的重要手段。随着软件应用领域的日益广泛,及在重要领域如航空、核工业、医疗等的软件事故的发生,软件安全问题也越来越受到重视。软件安全性测试可以分为安全功能测试和安全漏洞测试两个方面。安全功能测试是在软件的需求分析阶段就定制软件的安全功能需求,明确软件的安全功能,在软件的验收阶段测试软件的相关功能实现与否。软件主要的安全性功能需求包括数据的私密性和完整性、访问控制、安全管理等。安全漏洞是指软件系统中存在的可被恶意代码或外来攻击利用的缺陷,目前的代码审查工具就是针对此类测试。目前国内进行的软件安全性测试,基本上都是通过使用工具进行基础的扫描,可检测的漏洞范围受限,与本行业的安全规则适用性限制,检测结果的效率和准确率参差不齐。
本发明提供一种软件安全测试方法,通过建立安全规则的模板,并依据模板创建待测软件安全规则库,导入已定义的软件安全规则库到软件安全漏洞扫描工具中,进行软件安全静态测试,形成初步的软件安全漏洞报告,针对初步的软件安全漏洞报告进行动静态方法相结合测试方法,提高软件安全测试的适用性、准确性。
发明内容
本发明针对现有技术中软件安全性测试,可检测的漏洞范围受限,与本行业的安全规则适用性限制,检测结果的效率和准确率参差不齐的问题,提供一种软件安全测试方法,提高软件安全测试的适用性、准确性。
本发明提出的具体方案是:
一种软件安全测试方法:
定义软件安全规则的模板,并依据模板创建待测软件安全规则库;
将软件安全规则库导入到软件安全漏洞扫描工具中,进行软件安全静态测试,形成初步软件安全漏洞报告;
依据初步软件安全漏洞报告,将漏洞筛选为明显漏洞与不确定漏洞,针对不确定漏洞,依据漏洞设计测试场景和测试用例,在相关代码中插入桩进行动态验证,动态执行代码,执行测试用例集,通过已插入桩的输出,来判定是否为真的漏洞。
针对明显漏洞反馈进行修改,修改后复测,仍有明显漏洞继续重复进行,直至修复漏洞。
所述安全规则包括规则标识码、规则名称、规则描述、适用语言、规则分类、风险等级、推荐解决方案。
所述安全规则与风险等级是1对1的关系,与推荐解决方案是多对1的关系。
本发明的有益之处是:
本发明提供一种软件安全测试方法,定义软件安全规则的模板,并依据模板创建待测软件安全规则库;将软件安全规则库导入到软件安全漏洞扫描工具中,进行软件安全静态测试,形成初步软件安全漏洞报告;依据初步软件安全漏洞报告,将漏洞筛选为明显漏洞与不确定漏洞,针对不确定漏洞,依据漏洞设计测试场景和测试用例,在相关代码中插入桩进行动态验证,动态执行代码,执行测试用例集,通过已插入桩的输出,来判定是否为真的漏洞。本发明通过建立安全规则的模板,并依据模板创建待测软件安全规则库,导入已定义的软件安全规则库到软件安全漏洞扫描工具中,进行软件安全静态测试,形成初步的软件安全漏洞报告,针对初步的软件安全漏洞报告进行动静态方法相结合测试方法,提高软件安全测试的适用性、准确性。
附图说明
图1本发明方法流程示意图。
具体实施方式
一种软件安全测试方法:
定义软件安全规则的模板,并依据模板创建待测软件安全规则库;
将软件安全规则库导入到软件安全漏洞扫描工具中,进行软件安全静态测试,形成初步软件安全漏洞报告;
依据初步软件安全漏洞报告,将漏洞筛选为明显漏洞与不确定漏洞,针对不确定漏洞,依据漏洞设计测试场景和测试用例,在相关代码中插入桩进行动态验证,动态执行代码,执行测试用例集,通过已插入桩的输出,来判定是否为真的漏洞。
根据上述方法及发明内容,参照附图,对本发明做进一步说明。
一种软件安全测试方法:
定义软件安全规则的模板,并依据模板创建待测软件安全规则库;其中所述安全规则包括规则标识码、规则名称、规则描述、适用语言、规则分类、风险等级、推荐解决方案;
而安全规则可以与风险等级是1对1的关系,与推荐解决方案是多对1的关系;其中创建安全规则的参与人员包括高级开发人员、项目经理、高级测试人员、业务资深者等;创建安全规则的方法不限于词法分析、语义分析、语法分析、控制流分析、数据流分析、模型匹配等;创建安全规则库的语言选择描述性强的通用语言,例如xml等等;
将软件安全规则库导入到软件安全漏洞扫描工具中,进行软件安全静态测试,形成初步软件安全漏洞报告;静态检测工具可以使用findbugs,AppScan等等;
依据初步软件安全漏洞报告,将漏洞筛选为明显漏洞与不确定漏洞;
针对明显漏洞可以反馈给开发人员进行修改修复,修改后继续进行复测,仍有明显漏洞则可继续重复进行修改-复测-再修改的流程,直至修复漏洞;
针对不确定漏洞,依据漏洞设计测试场景和测试用例,在相关代码中插入桩进行动态验证,动态执行代码,执行测试用例集,通过已插入桩的输出,来判定是否为真的漏洞。
进一步可形成筛选后的漏洞报告。
当然,初步软件安全漏洞报告会出现不存在漏洞情况,说明软件漏洞检测安全。
综上,本发明提通过建立安全规则的模板,并依据模板创建待测软件安全规则库,导入已定义的软件安全规则库到软件安全漏洞扫描工具中,进行软件安全静态测试,形成初步的软件安全漏洞报告,针对初步的软件安全漏洞报告进行动静态方法相结合测试方法,提高软件安全测试的适用性、准确性。