一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于SDLC的软件开发安全测试方法及系统与流程

2022-03-23 03:36:51 来源:中国专利 TAG:

基于sdlc的软件开发安全测试方法及系统
技术领域
1.本发明涉及计算机技术,尤其涉及一种基于sdlc的软件开发安全测试方法及系统。


背景技术:

2.软件系统开发全生命周期(sdlc)又称软件生命周期或者系统开发生命周期,是指软件从产生到报废的全生命周期。软件系统开发全生命周期的每个阶段都涉及到安全性问题,在开发过程中考虑安全性问题可以帮助研发人员节约大量的bug修复时间。然而,现有技术中,由于研发人员对软件开发安全质量重视不足,软件开发过程中的安全测试技术手段有限,主要集中在软件特性的定性上,对于软件生命周期中和软件的质量问题最为密切相关的几个阶段缺乏对定量指标的提取,同时也未形成科学严谨的开发安全测试技术方案。


技术实现要素:

3.本发明主要目的在于,提供一种基于sdlc的软件开发安全测试方法及系统,以解决现有技术对于软件生命周期中和软件的质量问题最为密切相关的几个阶段缺乏对定量指标的提取,同时也未形成科学严谨的开发安全测试技术方案的问题。
4.本发明是通过如下技术方案实现的:基于sdlc的软件开发安全测试方法,包括如下步骤:在软件生命周期的各阶段提取软件源代码;根据预设的有价值数据识别所述软件源代码中的有价值代码;根据所述有价值代码确定可能的恶意用户需求;根据所述恶意用户需求,对所述软件源代码执行安全测试,测试方法包括:根据所述恶意用户需求,扫描所述软件源代码中可能被恶意用户利用的漏洞;根据所述恶意用户需求生成故障模拟程序,并将所述故障模拟程序注入所述软件源代码中以测试所述软件源代码的安全性。
5.进一步地,所述根据所述恶意用户需求,扫描所述软件源代码中可能被恶意用户利用的漏洞,包括:根据所述恶意用户需求制定扫描策略;根据所述扫描策略对所述软件源代码进行自动化扫描;利用平台可视化环境审计扫描结果,并生成审计报告。
6.进一步地,所述根据所述恶意用户需求生成故障模拟程序,并将所述故障模拟程序注入所述软件源代码中以测试所述软件源代码的安全性,包括:根据所述恶意用户需求生成故障模拟程序;将所述故障模拟程序独立封装成镜像,并以单独进程形式运行在所述软件源代码的主业务容器旁;
通过在所述软件源代码的主业务容器内修改环境变量的方式将所述故障模拟程序注入所述软件源代码的主业务容器中,并测试所述软件源代码的安全性。
7.进一步地,所述基于sdlc的软件开发安全测试方法还包括:在所述软件源代码运行时,分析其行为和上下文信息,以检测恶意输入或恶意行为。
8.基于sdlc的软件开发安全测试系统,包括:软件源代码提取模块,用于在软件生命周期的各阶段提取软件源代码;有价值代码识别模块,用于根据预设的有价值数据识别所述软件源代码中的有价值代码;恶意用户需求确定模块,用于根据所述有价值代码确定可能的恶意用户需求;安全测试模块,用于根据所述恶意用户需求,对所述软件源代码执行安全测试,所述安全测试模块具体包括:漏洞扫描模块,用于根据所述恶意用户需求,扫描所述软件源代码中可能被恶意用户利用的漏洞;故障模拟模块,用于根据所述恶意用户需求生成故障模拟程序,并将所述故障模拟程序注入所述软件源代码中以测试所述软件源代码的安全性。
9.进一步地,所述漏洞扫描模块包括:扫描策略制定模块,用于根据所述恶意用户需求制定扫描策略;自动化扫描模块,用于根据所述扫描策略对所述软件源代码进行自动化扫描;扫描结果审计模块,用于利用平台可视化环境审计扫描结果,并生成审计报告。
10.进一步地,所述故障模拟模块包括:故障模拟程序生成模块,用于根据所述恶意用户需求生成故障模拟程序;故障模拟程序封装模块,用于将所述故障模拟程序独立封装成镜像,并以单独进程形式运行在所述软件源代码的主业务容器旁;故障模拟程序注入模块,用于通过在所述软件源代码的主业务容器内修改环境变量的方式将所述故障模拟程序注入所述软件源代码的主业务容器中,并测试所述软件源代码的安全性。
11.进一步地,所述基于sdlc的软件开发安全测试系统还包括:应用行为分析模块,用于在所述软件源代码运行时,分析其行为和上下文信息,以检测恶意输入或恶意行为。
12.与现有技术相比,本发明通过从提取的软件源代码中识别出有价值代码,并根据有价值代码确定可能的恶意用户需求,再根据恶意用户需求对软件源代码执行安全测试,具体包括漏洞扫描和故障模拟,从恶意用户角度对软件生命周期的各阶段进行安全测试,能够提取出与软件质量问题最为密切相关的重要指标进行检测分析,从而高效地检测出软件生命周期各阶段的源代码漏洞,确保软件开发安全性。
附图说明
13.图1是本发明基于sdlc的软件开发安全测试方法的总体流程示意图;图2是本发明基于sdlc的软件开发安全测试方法步骤s4的子步骤示意图;
图3是本发明基于sdlc的软件开发安全测试方法步骤s4子步骤中漏洞扫描的流程示意图;图4是本发明基于sdlc的软件开发安全测试方法步骤s4子步骤中故障模拟的流程示意图;图5是本发明基于sdlc的软件开发安全测试系统的总体组成示意图;图6是本发明基于sdlc的软件开发安全测试系统中安全测试模块的组成示意图;图7是本发明安全测试模块中漏洞扫描模块的组成示意图;图8是本发明安全测试模块中故障模拟模块的组成示意图。
具体实施方式
14.为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步详细说明。
15.如图1所示,本发明实施例提供的基于sdlc的软件开发安全测试方法包括如下步骤:步骤s1:在软件生命周期的各阶段提取软件源代码;步骤s2:根据预设的有价值数据识别软件源代码中的有价值代码;步骤s3:根据有价值代码确定可能的恶意用户需求;步骤s4:根据恶意用户需求,对软件源代码执行安全测试,如图2所示,测试方法包括:步骤s41:根据恶意用户需求,扫描软件源代码中可能被恶意用户利用的漏洞;步骤s42:根据恶意用户需求生成故障模拟程序,并将故障模拟程序注入软件源代码中以测试软件源代码的安全性。
16.在步骤s2中,有价值代码用于为下一步加入恶意用户需求做准备。根据软件类型、用途的不同,有价值代码也可能不同。有价值代码是指那些能够反映出对恶意用户有价值的信息的代码,包括但不限于能够反映出产品信息、订单信息、用户信息、支付信息、身份信息、地址信息、通讯方式信息、银行账号信息等信息的代码。确定了软件源代码中的有价值代码后,就可以据此确定出恶意用户需求,并根据恶意用户需求对软件源代码执行安全测试。
17.本发明实施例中的安全测试主要包括漏洞扫描和故障模拟两大模块。其中,对于漏洞扫描,如图3所示,根据恶意用户需求,扫描软件源代码中可能被恶意用户利用的漏洞包括:步骤s411:根据恶意用户需求制定扫描策略;步骤s412:根据扫描策略对软件源代码进行自动化扫描;步骤s413:利用平台可视化环境审计扫描结果,并生成审计报告。
18.在上述步骤的基础上,还可以利用网络平台提供的知识库对软件安全漏洞、代码质量缺陷等多方面的知识进行自主学习,以提高软件源代码漏洞的修复能力。
19.对于故障模拟,如图4所示,根据恶意用户需求生成故障模拟程序,并将故障模拟程序注入软件源代码中以测试软件源代码的安全性,包括:步骤s421:根据恶意用户需求生成故障模拟程序;
步骤s422:将故障模拟程序独立封装成镜像,并以单独进程形式运行在软件源代码的主业务容器旁;步骤s423:通过在软件源代码的主业务容器内修改环境变量的方式将故障模拟程序注入软件源代码的主业务容器中,并测试软件源代码的安全性。
20.通过将故障模拟程序独立封装成镜像,并以单独进程形式运行在软件源代码的主业务容器旁,当不需要该故障模拟程序时,其不会影响到软件源代码的正常业务运行,当需要该故障模拟程序模拟产生错误时,由于与软件源代码主业务容器同处于一个集群之中,因此该故障模拟程序模拟出的错误能够被集群视为业务应用所在集群产生而被监测到。
21.在本实施例中,基于sdlc的软件开发安全测试方法还包括:步骤s5:在软件源代码运行时,分析其行为和上下文信息,以检测恶意输入或恶意行为。
22.通过该步骤,软件源代码开始运行时就分析该软件源代码应用行为和上下文信息,防止恶意输入或恶意行为的产生。通过对软件源代码应用行为的监控,无须人为干预就能够发现攻击活动并及时修复。
23.基于本发明提供的软件开发安全测试方法,本发明实施例还提供了一种基于sdlc的软件开发安全测试系统。如图5所示,该基于sdlc的软件开发安全测试系统包括:软件源代码提取模块1,用于在软件生命周期的各阶段提取软件源代码;有价值代码识别模块2,用于根据预设的有价值数据识别软件源代码中的有价值代码;恶意用户需求确定模块3,用于根据有价值代码确定可能的恶意用户需求;安全测试模块4,用于根据恶意用户需求,对软件源代码执行安全测试,如图6所示,安全测试模块4具体包括:漏洞扫描模块41,用于根据恶意用户需求,扫描软件源代码中可能被恶意用户利用的漏洞;故障模拟模块42,用于根据恶意用户需求生成故障模拟程序,并将故障模拟程序注入软件源代码中以测试软件源代码的安全性。
24.如图7所示,漏洞扫描模块41包括:扫描策略制定模块411,用于根据恶意用户需求制定扫描策略;自动化扫描模块412,用于根据扫描策略对软件源代码进行自动化扫描;扫描结果审计模块413,用于利用平台可视化环境审计扫描结果,并生成审计报告。
25.如图8所示,故障模拟模块42包括:故障模拟程序生成模块421,用于根据恶意用户需求生成故障模拟程序;故障模拟程序封装模块422,用于将故障模拟程序独立封装成镜像,并以单独进程形式运行在软件源代码的主业务容器旁;故障模拟程序注入模块423,用于通过在软件源代码的主业务容器内修改环境变量的方式将故障模拟程序注入软件源代码的主业务容器中,并测试软件源代码的安全性。
26.在本发明实施例中,基于sdlc的软件开发安全测试系统还包括:应用行为分析模块,用于在软件源代码运行时,分析其行为和上下文信息,以检测
恶意输入或恶意行为。
27.上述实施例仅为优选实施例,并不用以限制本发明的保护范围,在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献