CN112286571A - 漏洞修复方法、装置及存储介质 - Google Patents
漏洞修复方法、装置及存储介质 Download PDFInfo
- Publication number
- CN112286571A CN112286571A CN202011027763.7A CN202011027763A CN112286571A CN 112286571 A CN112286571 A CN 112286571A CN 202011027763 A CN202011027763 A CN 202011027763A CN 112286571 A CN112286571 A CN 112286571A
- Authority
- CN
- China
- Prior art keywords
- security
- vulnerability
- security vulnerabilities
- repair
- application software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000008439 repair process Effects 0.000 claims abstract description 135
- 230000008569 process Effects 0.000 claims abstract description 28
- 238000001514 detection method Methods 0.000 claims abstract description 25
- 238000011161 development Methods 0.000 claims abstract description 21
- 238000012423 maintenance Methods 0.000 claims abstract description 20
- 238000004590 computer program Methods 0.000 claims description 18
- 238000013528 artificial neural network Methods 0.000 claims description 11
- 238000012549 training Methods 0.000 claims description 11
- 238000012790 confirmation Methods 0.000 claims description 9
- 238000005067 remediation Methods 0.000 claims 1
- 230000003111 delayed effect Effects 0.000 abstract description 7
- 238000004891 communication Methods 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000012360 testing method Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 239000000243 solution Substances 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000035515 penetration Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供一种漏洞修复方法、装置及存储介质。在本申请实施例中,在开发运维一体化系统开发应用软件流程中,针对当前阶段中的应用软件进行安全检测;若安全检测的结果指示当前阶段存在安全漏洞,则预估修复所述安全漏洞的修复时间;若预估出的修复时间大于当前阶段的最大可允许修复时间,则至多对其中部分安全漏洞执行漏洞修复操作。由此,尽可能地保证修复安全漏洞时不拖延应用软件的开发周期,确保应用软件按照约定的交付时间如期交付,实现应用软件的交付速度和安全性的兼容。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种漏洞修复方法、装置及存储介质。
背景技术
为方便开发者快速、可靠地构建和交付应用软件,常常基于开发一体化开发运维应用软件。为提高系统部署的稳定性和安全性,在基于开发运维一体化系统开发应用软件流程的每个阶段都会执行安全检测,若检测出安全漏洞,会立即执行漏洞修复操作。然而,漏洞修复操作可能会延长应用软件的开发周期,导致应用软件无法按照约定的交付时间交付。
发明内容
本申请的多个方面提供一种漏洞修复方法、装置及存储介质,用以尽可能地保证修复安全漏洞时不拖延应用软件的开发周期,确保应用软件按照约定的交付时间如期交付,实现应用软件的交付速度和安全性的兼容。
本申请实施例提供一种漏洞修复方法,包括:
在开发运维一体化系统开发应用软件流程中,针对当前阶段中的应用软件进行安全检测;
若安全检测的结果指示当前阶段存在安全漏洞,则预估修复所述安全漏洞的修复时间;
若所述预估出的修复时间大于当前阶段的最大可允许修复时间,则至多对其中部分安全漏洞执行漏洞修复操作。
本申请实施例还提供一种漏洞修复装置,包括:存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:
在开发运维一体化系统开发应用软件流程中,针对当前阶段中的应用软件进行安全检测;
若安全检测的结果指示当前阶段存在安全漏洞,则预估修复所述安全漏洞的修复时间;
若所述预估出的修复时间大于当前阶段的最大可允许修复时间,则至多对其中部分安全漏洞执行漏洞修复操作。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被处理器执行时,致使所述处理器实现上述漏洞修复方法中的步骤。
本申请实施例提供的漏洞修复方法、装置及存储介质,在开发运维一体化系统开发应用软件流程中,针对当前阶段中的应用软件进行安全检测;若安全检测的结果指示当前阶段存在安全漏洞,则预估修复所述安全漏洞的修复时间;若预估出的修复时间大于当前阶段的最大可允许修复时间,则至多对其中部分安全漏洞执行漏洞修复操作。由此,尽可能地保证修复安全漏洞时不拖延应用软件的开发周期,确保应用软件按照约定的交付时间如期交付,实现应用软件的交付速度和安全性的兼容。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例提供的一种漏洞修复方法的流程示意图;
图2为本申请一示例性实施例提供的又一种漏洞修复方法的流程示意图;
图3为本申请一示例性实施例提供的一种漏洞修复装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请一示例性实施例提供的一种漏洞修复方法的流程示意图。如图1所示,该方法包括如下步骤:
101、在开发运维一体化系统开发应用软件流程中,针对当前阶段中的应用软件进行安全检测。
102、若安全检测的结果指示当前阶段存在安全漏洞,则预估修复安全漏洞的修复时间。
103、若预估出的修复时间大于当前阶段的最大可允许修复时间,则至多对其中部分安全漏洞执行漏洞修复操作。
在本申请实施例中,开发运维一体化系统能够促进软件开发人员(Dev)和IT运维技术人员(Ops)之间沟通合作的文化、运动或惯例,改善团队之间的协作关系,保证软件产品功能及时实现、成功部署和稳定使用。该开发运维一体化系统可以是任意的系统,例如为DevOps(Development Operations,开发运维一体化)系统。为便于理解,本申请实施例以DevOps系统为例进行说明,但并不说明仅限于DevOps系统。
在现有的基于DevOps开发应用软件的流程中,一般包括但不限于需求分析、编码构建、测试、发布以及运维等几个阶段。随着信息安全的要求越来越高,在基于DevOps开发应用软件的流程中的每个阶段,都会引入相对应的安全机制。每个阶段的安全机制可以规避每个阶段可能发生的安全风险,减少安全漏洞的发生,进而使得各阶段的应用软件尽可能地少发生安全问题,减少修复安全问题所花费的时间,还能够在保证安全性的前提下促进交付效率的提升。在不同阶段,具有不同的安全机制,每个阶段的安全机制根据实际情形制定。
例如,针对需求分析阶段,在阶段前期通过安全培训同步落实应用安全设计规范、安全编码规范等提高项目人员的安全意识及建立项目人员的安全知识体系。通过检查表checklist由设计人员自查是否符合设计规范。
在需求提出时候通过对设计文档中业务场景进行自动化学习,决定是否需要引入安全机制进行安全评估。业务场景例如包括但不限于:交易场景、用户管理场景、文件上传场景、即时通信及信息发布场景。可以对各个业务场景中一个或多个环节进行分析,确定各环节是否需要引入安全机制进行安全评估。以交易场景为例,该交易场景包括交易环节、绑定银行卡环节、开通快捷支付环节、订单查询删除环节、账户余额环节。如果上述环节仅仅是图片修改、文案修改,则不需要引入安全机制进行安全评估。而上述各环节涉及到账号、密码等修改时,则需要进行引入安全机制进行安全评估。
例如,针对编码构建,当进入编码构建阶段后通过系统自动识别开发的应用软件的项目中是否有一些特定模块,特定模块例如为交易模块、订单模块、登录认证模块,在识别出存在一些特定模块时,且该项目的代码变更率较大时,可以确认需要该项目在编码构建阶段需要进行安全扫描测试。
具体而言,在开发人员编码过程及提交过程中,实时分析是否调用已知存在安全风险的代码组件,如存在则直接提示并阻断提交;如不存在,则可以使用诸如SAST(StaticApplication Security Testing,静态应用程序安全测试)工具、DAST(DynamicApplication Security Testing,动态应用程序安全测试)工具来对编译构建阶段的安全漏洞进行检测。
例如,针对发布阶段,可以采用现有的渗透测试对待发布的应用软件进行全面的渗透测试,以及采用现有的漏洞扫描工具对待发布的应用软件进行全面的漏洞扫描。最终完成安全评估后通过发布系统部署经安全基线及安全加固后的标准化处理主机、中间件、数据库。
例如,在运维阶段,可以采用SAST(Static Application Security Testing,静态应用程序安全测试)工具、DAST(Dynamic Application Security Testing,动态应用程序安全测试)工具、渗透测试工具、漏洞扫描工具对应用软件进行安全漏洞检测。
在本实施例中,在开发运维一体化系统开发应用软件流程中,每个阶段还可以采用与该阶段相应的安全机制对该阶段的应用软件进行安全检测。每个阶段的安全机制在检测出安全漏洞时,会识别安全漏洞的种类。例如,安全漏洞的种类分别为软件设计错误、逻辑判断错误、缓存区溢出错误、SQL注入漏洞、Cookie修改错误、隐藏字段修改、跨站脚本攻击等。需要指出的是,在开发应用软件流程中的每个阶段融入相应的安全机制进行安全检测是现有技术。
具体而言,针对每个阶段,当该阶段的安全检测的结果指示该阶段存在安全漏洞时,并不会立即直接执行漏洞修复操作,而是会对修复安全漏洞的修复时间进行预估,在预估出的修复时间大于该阶段的最大可允许修复时间时,会选择对部分的安全漏洞执行漏洞修复操作,对部分的安全漏洞放弃执行漏洞修复操作,以使得安全漏洞修复所花费的时间不大于该阶段的最大可允许修复时间,进而尽可能地保证修复安全漏洞时不拖延应用软件的开发周期,确保应用软件按照约定的交付时间如期交付,实现应用软件的交付速度和安全性的兼容。
在本实施例中,每个阶段的最大可允许修复时间是根据大量的试验数据确定的。可以理解的是,修复该阶段的安全漏洞所花费的最长时间为最大可允许修复时间;当修复该阶段的安全漏洞所花费的时间大于对应的最大可允许修复时间时,可能会拖延应用软件的开发周期;当修复该阶段的安全漏洞所花费的时间不大于对应的最大可允许修复时间时,不会拖延应用软件的开发周期。
可以理解的是,当前阶段的应用软件可能检测出一个安全漏洞,也可能检测出多个安全漏洞。针对当前阶段的应用软件被检测出多个安全漏洞,则在预估修复安全漏洞的修复时间时,预估的是修复当前阶段的全部安全漏洞所需花费的时间。
需要指出的是,对未执行漏洞修复操作的其他部分安全漏洞并不是不再执行漏洞修复操作,可以等到应用软件如期交付后再进行修复。
在一可选实施例中,如图1所示,漏洞修复方法还包括步骤:
104、若预估出的修复时间不大于最大可允许修复时间,则对全部安全漏洞执行漏洞修复操作。
在本实施例中,当预估出的修复时间不大于最大可允许修复时间时,说明修改全部的安全漏洞不会拖延应用软件的开发周期,这时,可以对全部安全漏洞执行漏洞修复操作,以提高应用软件的安全性。
本申请实施例提供的漏洞修复方法,在开发运维一体化系统开发应用软件流程中,针对当前阶段中的应用软件进行安全检测;若安全检测的结果指示当前阶段存在安全漏洞,则预估修复安全漏洞的修复时间;若预估出的修复时间大于当前阶段的最大可允许修复时间,则至多对其中部分安全漏洞执行漏洞修复操作。由此,尽可能地保证修复安全漏洞时不拖延应用软件的开发周期,确保应用软件按照约定的交付时间如期交付,实现应用软件的交付速度和安全性的兼容。
图2为本申请一示例性实施例提供的又一种漏洞修复方法的流程示意图。如图2所示,该方法包括如下步骤:
201、在开发运维一体化系统开发应用软件流程中,针对当前阶段中的应用软件进行安全检测。
本实施例中的步骤201的实现方式与上述实施例中的步骤101的实现方式相同,在此不再赘述。
202、若安全检测的结果指示当前阶段存在安全漏洞,则预估修复安全漏洞的修复时间。
本实施例中的步骤202的实现方式与上述实施例中的步骤102的实现方式相同,在此不再赘述。
203、若预估出的修复时间大于当前阶段的最大可允许修复时间,则在检测出多个安全漏洞时,确定多个安全漏洞中每个安全漏洞的严重等级。
204、从多个安全漏洞中选择严重等级最高的N个安全漏洞,且N个安全漏洞的修复时间总和不大于最大可允许修复时间。
205、对N个安全漏洞执行漏洞修复操作,N为大于等于1的整数。
在实际情形中,检测出的安全漏洞的数量可能大于1个,若全部的安全漏洞进行修复,可能花费的时间比较长,会严重延长应用软件的交付时间。而不对全部的安全漏洞进行修复,很可能极大地降低应用软件的安全性,拖累系统的稳定性。因此,很有必要有针对性地选择部分的安全漏洞进行修复,以更好地实现应用软件的交付速度和安全性的兼容。
在本实施例中,为了较为客观、准确地选择执行漏洞修复操作的安全漏洞,可以基于安全漏洞的严重等级,从检测出的多个安全漏洞中选择严重等级最高的N个安全漏洞执行漏洞修复操作,而对N个安全漏洞之外的其他安全漏洞不执行漏洞修复操作。可以理解的是,基于安全漏洞的严重等级选择执行漏洞修复操作的安全漏洞,能够保证检测出的全部的安全漏洞中问题比较严重的一些安全漏洞优先被修复,问题较轻的另一些安全漏洞暂时不进行修复。
具体而言,安全漏洞的严重等级划分视实际情形而定,例如,严重等级按严重程度从高到低可以分为高危、中危、低危三个等级。在实际应用时,可以对海量的已发生的安全漏洞对系统的安全性的影响进行分析,确定每种安全漏洞的严重等级,并制定安全漏洞与其严重等级的对应关系。如此,便可基于安全漏洞与其严重等级的对应关系确定检测出的安全漏洞的严重等级。
在本实施例中,选择出的N个安全漏洞的修复时间的总和不大于当前阶段的最大可允许修复时间。在选择N个安全漏洞时,可以先预估出每个安全漏洞的修复时间,再按照严重等级从高到低的顺序,依次累加各个安全漏洞的修复时间的总和,直至修复时间的总和不大于当前阶段的最大可允许修复时间,完成N个安全漏洞的选择。
例如,检测出的多个安全漏洞的数量为10个,预估出这10个安全漏洞中每个安全漏洞的修复时间。按照严重等级从高到低的顺序,依次累加各个安全漏洞的修复时间,直至累加的和不大于当前阶段的最大可允许修复时间,完成N个安全漏洞的选择,N例如为2。
在选择N个安全漏洞时,还可以按照严重等级从高到低的顺序,依次选择安全漏洞,并预估每次选择出的安全漏洞的修复时间,以及对选择出的各个安全漏洞的修复时间进行累加,根据累加的和是否大于当前阶段的最大可允许修复时间确定是否继续选择安全漏洞。
例如,按照严重等级从高到低的顺序,选择第1个安全漏洞后,预估第1个安全漏洞的修复时间,并第1个安全漏洞的修复时间不大于当前阶段的最大可允许修复时间,则选择第2个安全漏洞,预估第2个安全漏洞的修复时间,并将第1个安全漏洞和第2个安全漏洞的修复时间进行累加,若累加的总和不大于当前阶段的最大可允许修复时间,则继续选择选择第3个安全漏洞,预估第3个安全漏洞的修复时间,并将第1个安全漏洞、第2个安全漏洞和第3个安全漏洞的修复时间进行累加,若累加的总和大于当前阶段的最大可允许修复时间,则将第1个和第2个安全漏洞确定为需要执行漏洞修复操作的安全漏洞,第3个安全漏洞及之后的各个安全漏洞确定为暂时不需要执行漏洞修复操作的安全漏洞,这时,N等于2。
在一可选实施例中,如图2所示,漏洞修复方法还包括步骤:
206、若预估出的修复时间不大于最大可允许修复时间,则对全部安全漏洞执行漏洞修复操作。
本实施例中的步骤206的实现方式与上述实施例中的步骤104的实现方式相同,在此不再赘述。
本申请实施例提供的漏洞修复方法,在当前阶段对应用软件检测出多个安全漏洞时,能够对全部的安全漏洞中问题比较严重的一些安全漏洞优先被修复,问题较轻的另一些安全漏洞暂时不进行修复。由此,尽可能的降低发生延长应用软件的交付时间的情形的概率,同时,尽可能地避免应用软件的安全性的降低,实现应用软件的交付速度和安全性的兼容。
在图2所示实施例的基础上,可选的,在执行完开发应用软件流程的最后一个阶段后,若尚未达到应用软件交付时间,则对N个安全漏洞之外的其他安全漏洞执行漏洞修复操作。
在本实施例中,若开发运维一体化系统开发应用软件执行完流程中的最后一个阶段后,这时,若离应用软件交付时间还有一段时间,则可以利用这段时间对N个安全漏洞之外的其他安全漏洞执行修复。当然,可以理解的是,其他安全漏洞是之前没有执行过漏洞修复操作的安全漏洞,修复其他安全漏洞的修复时间总和不能大于上述时间,即不能因为修复其他安全漏洞导致无法如期交付应用软件。
在图2所示实施例的基础上,可选的,还可以向审批人员输出N个安全漏洞之外其它安全漏洞及其严重等级,以使审批人员确认是否可以放弃其它安全漏洞的修复操作;若接收到审批人员的确认指令,则对N个安全漏洞执行漏洞修复操作;若接收到审批人员的非确认指令,从非确认指令中解析出审批人员确定的必选安全漏洞,并对N个安全漏洞和必选安全漏洞执行漏洞修复操作。
在本实施例中,必选安全漏洞可以理解为由审批人员从N个安全漏洞之外的其它安全漏洞中选择出来的必须要修复的安全漏洞,该必选安全漏洞假如不修复的话,可能会对系统的稳定性产生较大的干扰。
在实际情形中,有些N个安全漏洞之外的其它安全漏洞不修复的话可能会对系统的稳定性产生较大的干扰。为此,还可以引入人工干预的方式管控是否对N个安全漏洞之外的其他安全漏洞执行放弃漏洞修复操作,由此,尽可能地避免一些会极大地影响系统稳定性的安全漏洞被遗漏修复,保证尽可能不对系统的稳定性产生较大的干扰。
在上述实施例的基础上,可选的,若对当前阶段的应用软件检测出的安全漏洞的数量为1个,则至多对其中部分安全漏洞执行漏洞修复操作可以理解为不对该安全漏洞执行漏洞修复操作。
在上述实施例的基础上,可选的,在至多对其中部分安全漏洞执行漏洞修复操作之后,还包括:检测应用软件在当前阶段的系统稳定性;若系统稳定性不满足预设的稳定性要求,则对未执行漏洞修复操作的其它安全漏洞执行漏洞修复操作。
在实际应用中,系统稳定性是评价软件质量的一个重要目标。可以通过一些监控指标来检测应用软件在当前阶段的系统稳定性,监控指标例如包括但并限于为CPU(central processing unit,中央处理器)负载、磁盘使用情况、磁盘I/O繁忙情况、内存使用情况。具体而言,可以为每个监控指标设定一个对应的指标阈值,预设的稳定性要求可以理解为每个监控指标的当前指标值不超过设定的指标阈值。当每个监控指标的当前指标值不超过设定的指标阈值,说明应用软件在当前阶段的系统稳定性满足预设的稳定性要求。当存在一个或多个监控指标的当前指标值超过设定的指标阈值,说明应用软件在当前阶段的系统稳定性不满足预设的稳定性要求。
在本实施例中,若对当前阶段检测出的部分安全漏洞执行漏洞修复操作之后,在检测出应用软件在当前阶段的系统稳定性不满足预设的稳定性要求,很可能是由于未对检测出的部分安全漏洞执行漏洞修复操作导致的,这时,出于维护系统稳定性的考虑,应该对未执行漏洞修复操作的其它安全漏洞执行漏洞修复操作。
需要指出的是,在对未执行漏洞修复操作的其它安全漏洞执行漏洞修复操作时,可以是对全部的其它安全漏洞执行漏洞修复操作,也可以是对部分的其它安全漏洞执行漏洞修复操作。在能重新使得系统稳定性满足预设的稳定性要求时,应当尽量对部分的其它安全漏洞执行漏洞修复操作,以尽可能地降低发生严重拖延应用软件交付时间的事件发生的概率。
在上述实施例的基础上,可选的,预估修复安全漏洞的修复时间包括:根据训练好的预估模型预估修复安全漏洞的修复时间,其中,预估模型为采用训练数据训练神经网络得到,训练数据包括样本安全漏洞的种类及其修复时间。
在本实施例中,采用基于训练神经网络得到预估模型可以实现更为准确地预估修复安全漏洞的修复时间。其中,神经网络包括但并限于卷积神经网络(ConvolutionalNeural Networks,CNN)、循环神经网络(Recurrent Neural Networks,RNN)、长短期记忆网络(Long Short-Term Memory,LSTM)。
预估模型是根据多个不同种类的样本安全漏洞及其修复时间训练得到的。具体而言,可以收集海量的不同种类的样本安全漏洞及其修复时间,将收集到的每种样本安全漏洞的修复时间作为该样本安全漏洞的标注结果。依次将每个样本安全漏洞的种类作为待训练的神经网络的输入参数,以及将每个样本安全漏洞的标注结果作为待训练的神经网络的期望输出结果,不断地训练神经网络,直至神经网络的损失函数收敛,以完成预估模型的训练。其中,损失函数可以是任意的损失函数。优先地,为了提高模型的预测准确性,损失函数可以为交叉熵代价函数。有关训练神经网络的更多技术详见相关技术。
训练好的预估模型能够根据输入的安全漏洞的种类预估所输入的安全漏洞修复所需花费的时间。在开发运维一体化系统开发应用软件流程中当前阶段,若当前阶段的应用软件被检测出多个安全漏洞,则利用预估模型依次预估每个安全漏洞修复所需花费的时间,对由预估模型预估出的每个安全漏洞修复所需花费的时间进行累加,累加的和为修复当前阶段的全部安全漏洞所需花费的时间。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤101至步骤103的执行主体可以为设备A;又比如,步骤101和102的执行主体可以为设备A,步骤103的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图3为本申请一示例性实施例提供的一种漏洞修复装置的结构示意图。如图3所示,该装置包括:包括:存储器11和处理器12。
存储器11,用于存储计算机程序,并可被配置为存储其它各种数据以支持在处理器上的操作。这些数据的示例包括用于在处理器上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器11可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器12,与存储器11耦合,用于执行存储器11中的计算机程序,以用于:
在开发运维一体化系统开发应用软件流程中,针对当前阶段中的应用软件进行安全检测;
若安全检测的结果指示当前阶段存在安全漏洞,则预估修复安全漏洞的修复时间;
若预估出的修复时间大于当前阶段的最大可允许修复时间,则至多对其中部分安全漏洞执行漏洞修复操作。
进一步的,处理器12还用于:若预估出的修复时间不大于最大可允许修复时间,则对全部安全漏洞执行漏洞修复操作。
进一步的,若检测出多个安全漏洞,处理器12在至多对其中部分安全漏洞执行漏洞修复操作时,具体用于:
确定多个安全漏洞中每个安全漏洞的严重等级;
从多个安全漏洞中选择严重等级最高的N个安全漏洞,且N个安全漏洞的修复时间总和不大于最大可允许修复时间;
对N个安全漏洞执行漏洞修复操作,N为大于等于1的整数。
进一步的,处理器12还用于:在执行完开发应用软件流程的最后一个阶段后,若尚未达到应用软件交付时间,则对N个安全漏洞之外的其他安全漏洞执行漏洞修复操作。
进一步的,处理器12还用于:
向审批人员输出N个安全漏洞之外其它安全漏洞及其严重等级,以使审批人员确认是否可以放弃其它安全漏洞的修复操作;
若接收到审批人员的确认指令,则对N个安全漏洞执行漏洞修复操作;
若接收到审批人员的非确认指令,从非确认指令中解析出审批人员确定的必选安全漏洞,并对N个安全漏洞和必选安全漏洞执行漏洞修复操作。
若安全漏洞为1个,进一步的,处理器12在至多对其中部分安全漏洞执行漏洞修复操作时,具体用于:不对安全漏洞执行漏洞修复操作。
进一步的,处理器12在预估修复安全漏洞的修复时间时,具体用于:
根据训练好的预估模型预估修复安全漏洞的修复时间,其中,预估模型为采用训练数据训练神经网络得到,训练数据包括样本安全漏洞及其修复时间。
进一步的,处理器12在至多对其中部分安全漏洞执行漏洞修复操作之后,还用于:
检测应用软件在当前阶段的系统稳定性;
若系统稳定性不满足预设的稳定性要求,则对未执行漏洞修复操作的其它安全漏洞执行漏洞修复操作。
图3所示装置可以执行上述实施例的方法,本实施例未详细描述的部分,可参考对上述实施例的相关说明。该技术方案的执行过程和技术效果参见上述实施例中的描述,在此不再赘述。
进一步,如图3所示,该装置还包括:通信组件13、显示器14、电源组件15、音频组件16等其它组件。图3中仅示意性给出部分组件,并不意味着处理器只包括图3所示组件。另外,图3中虚线框所示组件为可选组件,而非必选组件,具体可视漏洞修复装置的具体实现形态而定。如果漏洞修复装置实现为笔记本电脑、平板、手机等终端设备,则可以包含图3中虚线框所示组件;如果漏洞修复装置实现为常规服务器、云服务器或服务器阵列等服务端设备,则不包含图3中虚线框所示组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由处理器执行的各步骤。
上述图3中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G/LTE、5G等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
上述图3中的显示器包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
上述图3中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
上述图3中的音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种漏洞修复方法,其特征在于,包括:
在开发运维一体化系统开发应用软件流程中,针对当前阶段中的应用软件进行安全检测;
若安全检测的结果指示当前阶段存在安全漏洞,则预估修复所述安全漏洞的修复时间;
若所述预估出的修复时间大于当前阶段的最大可允许修复时间,则至多对其中部分安全漏洞执行漏洞修复操作。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述预估出的修复时间不大于所述最大可允许修复时间,则对全部安全漏洞执行漏洞修复操作。
3.根据权利要求1所述的方法,其特征在于,若检测出多个安全漏洞,则所述至多对其中部分安全漏洞执行漏洞修复操作包括:
确定所述多个安全漏洞中每个安全漏洞的严重等级;
从多个安全漏洞中选择严重等级最高的N个安全漏洞,且N个安全漏洞的修复时间总和不大于所述最大可允许修复时间;
对所述N个安全漏洞执行漏洞修复操作,N为大于等于1的整数。
4.根据权利要求3所述的方法,其特征在于,还包括:
在执行完开发应用软件流程的最后一个阶段后,若尚未达到应用软件交付时间,则对N个安全漏洞之外的其他安全漏洞执行漏洞修复操作。
5.根据权利要求3所述的方法,其特征在于,还包括:
向审批人员输出N个安全漏洞之外其它安全漏洞及其严重等级,以使所述审批人员确认是否可以放弃其它安全漏洞的修复操作;
若接收到审批人员的确认指令,则对所述N个安全漏洞执行漏洞修复操作;
若接收到审批人员的非确认指令,从所述非确认指令中解析出审批人员确定的必选安全漏洞,并对所述N个安全漏洞和必选安全漏洞执行漏洞修复操作。
6.根据权利要求1-5任一项所述的方法,其特征在于,若安全漏洞为1个,则所述至多对其中部分安全漏洞执行漏洞修复操作包括:
不对所述安全漏洞执行漏洞修复操作。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述预估修复所述安全漏洞的修复时间包括:
根据训练好的预估模型预估修复所述安全漏洞的修复时间,其中,所述预估模型为采用训练数据训练神经网络得到,所述训练数据包括样本安全漏洞及其修复时间。
8.根据权利要求1-5任一项所述的方法,其特征在于,在至多对其中部分安全漏洞执行漏洞修复操作之后,还包括:
检测应用软件在当前阶段的系统稳定性;
若所述系统稳定性不满足预设的稳定性要求,则对未执行漏洞修复操作的其它安全漏洞执行漏洞修复操作。
9.一种漏洞修复装置,其特征在于,包括:存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:
在开发运维一体化系统开发应用软件流程中,针对当前阶段中的应用软件进行安全检测;
若安全检测的结果指示当前阶段存在安全漏洞,则预估修复所述安全漏洞的修复时间;
若所述预估出的修复时间大于当前阶段的最大可允许修复时间,则至多对其中部分安全漏洞执行漏洞修复操作。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被处理器执行时,致使所述处理器实现权利要求1-8任一项所述漏洞修复方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011027763.7A CN112286571A (zh) | 2020-09-25 | 2020-09-25 | 漏洞修复方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011027763.7A CN112286571A (zh) | 2020-09-25 | 2020-09-25 | 漏洞修复方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112286571A true CN112286571A (zh) | 2021-01-29 |
Family
ID=74421430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011027763.7A Pending CN112286571A (zh) | 2020-09-25 | 2020-09-25 | 漏洞修复方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112286571A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114356772A (zh) * | 2022-01-05 | 2022-04-15 | 瀚云科技有限公司 | 安全测试方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761156A (zh) * | 2013-12-13 | 2014-04-30 | 北京同有飞骥科技股份有限公司 | 一种针对文件系统的在线修复方法 |
CN105635121A (zh) * | 2015-12-23 | 2016-06-01 | 赛尔网络有限公司 | 一种基于厂商的漏洞严重等级分布统计方法、装置与系统 |
CN106611126A (zh) * | 2016-12-22 | 2017-05-03 | 西北大学 | 一种漏洞严重性评估及修补方法 |
CN107133181A (zh) * | 2017-06-13 | 2017-09-05 | 北京航空航天大学 | 一种差分小波神经网络软件故障预测技术的构建方法 |
CN109284220A (zh) * | 2018-10-12 | 2019-01-29 | 深信服科技股份有限公司 | 集群故障恢复时长估算方法、装置、设备及存储介质 |
CN110413305A (zh) * | 2019-06-06 | 2019-11-05 | 奇安信科技集团股份有限公司 | 精细化的漏洞修复管理方法、装置及电子设备 |
CN111538994A (zh) * | 2020-04-20 | 2020-08-14 | 中科三清科技有限公司 | 一种系统安全检测及修复方法、装置、存储介质及终端 |
-
2020
- 2020-09-25 CN CN202011027763.7A patent/CN112286571A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761156A (zh) * | 2013-12-13 | 2014-04-30 | 北京同有飞骥科技股份有限公司 | 一种针对文件系统的在线修复方法 |
CN105635121A (zh) * | 2015-12-23 | 2016-06-01 | 赛尔网络有限公司 | 一种基于厂商的漏洞严重等级分布统计方法、装置与系统 |
CN106611126A (zh) * | 2016-12-22 | 2017-05-03 | 西北大学 | 一种漏洞严重性评估及修补方法 |
CN107133181A (zh) * | 2017-06-13 | 2017-09-05 | 北京航空航天大学 | 一种差分小波神经网络软件故障预测技术的构建方法 |
CN109284220A (zh) * | 2018-10-12 | 2019-01-29 | 深信服科技股份有限公司 | 集群故障恢复时长估算方法、装置、设备及存储介质 |
CN110413305A (zh) * | 2019-06-06 | 2019-11-05 | 奇安信科技集团股份有限公司 | 精细化的漏洞修复管理方法、装置及电子设备 |
CN111538994A (zh) * | 2020-04-20 | 2020-08-14 | 中科三清科技有限公司 | 一种系统安全检测及修复方法、装置、存储介质及终端 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114356772A (zh) * | 2022-01-05 | 2022-04-15 | 瀚云科技有限公司 | 安全测试方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109255486B (zh) | 一种策略配置的优化方法及装置 | |
EP4124944B1 (en) | Intelligent cloud management based on profile | |
AU2018201941A1 (en) | Automated program code analysis and reporting | |
CN110442712B (zh) | 风险的确定方法、装置、服务器和文本审理系统 | |
US20170161179A1 (en) | Smart computer program test design | |
US10664390B2 (en) | Optimizing execution order of system interval dependent test cases | |
CN107436844B (zh) | 一种接口用例合集的生成方法及装置 | |
CN109359118B (zh) | 一种数据写入方法及装置 | |
US10459835B1 (en) | System and method for controlling quality of performance of digital applications | |
US9632921B1 (en) | Validation using scenario runners | |
US10452508B2 (en) | Managing a set of tests based on other test failures | |
US10999433B2 (en) | Interpretation of user interaction using model platform | |
CN107045475B (zh) | 测试方法和装置 | |
US11093882B2 (en) | System and method for a cognitive it change request evaluator | |
CN112346965B (zh) | 测试用例分配方法、装置及存储介质 | |
US10546279B2 (en) | Scenario based logging | |
US20170075786A1 (en) | Functional test automation of mobile applications interacting with native stock applications | |
CN112286571A (zh) | 漏洞修复方法、装置及存储介质 | |
US20150135015A1 (en) | Cloud auto-test system, method and non-transitory computer readable storage medium of the same | |
US20200169477A1 (en) | Cognitive Balancing IT Ecosystems | |
US11354110B2 (en) | System and method using natural language processing to synthesize and build infrastructure platforms | |
US20230130550A1 (en) | Methods and systems for providing automated predictive analysis | |
CN107229487B (zh) | 代码处理方法及装置 | |
CN115048996A (zh) | 质量评估模型训练和使用方法、设备及存储介质 | |
US20220122038A1 (en) | Process Version Control for Business Process Management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information |
Inventor after: Liu Huanhuan Inventor after: Wu Xiaohu Inventor before: Liu Huanhuan |
|
CB03 | Change of inventor or designer information | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210129 |
|
RJ01 | Rejection of invention patent application after publication |