一种实时更新虚拟补丁的方法和装置与流程

文档序号:12362912阅读:1799来源:国知局
一种实时更新虚拟补丁的方法和装置与流程

本申请涉及信息安全领域,特别涉及实时更新虚拟补丁的方法和装置。



背景技术:

计算机的安全已由最初的物理安全,随后的网络安全发展到现在的应用安全。传统的IT补丁修复流程不能及时地修补漏洞,因此IT人员转为使用虚拟补丁来摆脱补丁管理困境。虚拟补丁技术通过控制受影响的应用程序的输入或输出,来改变或消除漏洞。利用虚拟补丁的修复策略,IT人员可以减少补丁修复和软件维护的频率,实现显著的成本节省。

现有技术中,在保护项内容发生修改时,需重新扫描保护项的全部保护子项,确认是否存在漏洞,再根据扫描出的漏洞自动生成虚拟补丁规则,更新虚拟补丁规则集。虽然针对保护项的漏洞定制化虚拟补丁规则,且将更新虚拟补丁规则的过程自动化,但其更新过程慢。在保护项过于复杂的情况下,不能及时生成有效的虚拟补丁规则,可能因虚拟补丁规则集更新不及时而遭受到安全威胁。



技术实现要素:

有鉴于此,本申请提供一种实时更新虚拟补丁的方法和装置,用于解决在保护项过于复杂的情况下,现有技术不能及时生成有效的虚拟补丁规则,可能因虚拟补丁规则集更新不及时而遭受到安全威胁的问题。

具体地,本申请是通过如下技术方案实现的:

一种实时更新虚拟补丁的方法,包括:

增量扫描保护项中发生更新的保护子项;

针对所述保护项中发生更新的保护子项进行漏洞扫描;

为扫描到的漏洞生成虚拟补丁规则,并将所述虚拟补丁规则添加到预设的虚拟补丁规则集,以对所述虚拟补丁规则集进行更新。

在所述实时更新虚拟补丁的方法中,增量扫描保护项中发生更新的保护子项,包括:

实时检测用户的操作行为,确定用户新增的保护子项,用户修改的保护子项,以及用户删除的保护子项;

定时扫描所述保护项中的保护子项,通过周期性比对各保护子项中的内容是否发生更新,确定所述保护项中新增的保护子项,发生修改的保护子项,以及删除的保护子项。

在所述实时更新虚拟补丁的方法中,还包括:

将确定出的新增的保护子项标记为新增状态,并添加到预设的扫描队列中;

将确定出的发生修改的保护子项标记为修改状态,并添加到预设的扫描队列中;

将漏洞结果集合中保存的与确定出的删除的保护子项对应的漏洞标记为删除状态。

在所述实时更新虚拟补丁的方法中,针对所述保护项中发生更新的保护子项进行漏洞扫描,包括:

当所述扫描队列中存在保护子项时,对所述扫描队列中的保护子项进行漏洞扫描,并将扫描到的漏洞和对应的所述保护子项、以及为所述保护子项标记的状态添加到漏洞结果集合。

在所述实时更新虚拟补丁的方法中,为扫描到的漏洞生成虚拟补丁规则,并将所述虚拟补丁规则添加到预设的虚拟补丁规则集,以对所述虚拟补丁规则集进行更新,包括:

针对所述漏洞结果集合中标记为删除状态的保护子项的漏洞,删除预设的虚拟补丁规则集中保存的与该保护子项对应的虚拟补丁规则;

针对所述漏洞结果集合中标记为新增状态的保护子项的漏洞,生成对应的虚拟补丁规则,并将生成的所述虚拟补丁规则添加到所述虚拟补丁规则集;

针对所述漏洞结果集合中标记为修改状态的保护子项的漏洞,生成对应的虚拟补丁规则,并将生成的所述虚拟补丁规则添加到所述虚拟补丁规则集。

一种实时更新虚拟补丁的装置,包括:

扫描单元,用于增量扫描保护项中发生更新的保护子项;

漏洞扫描单元,用于针对所述保护项中发生更新的保护子项进行漏洞扫描;

生成单元,用于为扫描到的漏洞生成虚拟补丁规则,并将所述虚拟补丁规则添加到预设的虚拟补丁规则集,以对所述虚拟补丁规则集进行更新。

在所述实时更新虚拟补丁的装置中,所述扫描单元,具体用于:

实时检测用户的操作行为,确定用户新增的保护子项,用户修改的保护子项,以及用户删除的保护子项;

定时扫描所述保护项中的保护子项,通过周期性比对各保护子项中的内容是否发生更新,确定所述保护项中新增的保护子项,发生修改的保护子项,以及删除的保护子项。

在所述实时更新虚拟补丁的装置中,所述扫描单元,进一步用于:

将确定出的新增的保护子项标记为新增状态,并添加到预设的扫描队列中;

将确定出的发生修改的保护子项标记为修改状态,并添加到预设的扫描队列中;

将漏洞结果集合中保存的与确定出的删除的保护子项对应的漏洞标记为删除状态。

在所述实时更新虚拟补丁的装置中,所述漏洞扫描单元,具体用于:

当所述扫描队列中存在保护子项时,对所述扫描队列中的保护子项进行漏洞扫描,并将扫描到的漏洞和对应的所述保护子项、以及为所述保护子项标记的状态添加到漏洞结果集合。

在所述实时更新虚拟补丁的装置中,所述生成单元,具体用于:

针对所述漏洞结果集合中标记为删除状态的保护子项的漏洞,删除预设的虚拟补丁规则集中保存的与该保护子项对应的虚拟补丁规则;

针对所述漏洞结果集合中标记为新增状态的保护子项的漏洞,生成对应的虚拟补丁规则,并将生成的所述虚拟补丁规则添加到所述虚拟补丁规则集;

针对所述漏洞结果集合中标记为修改状态的保护子项的漏洞,生成对应的虚拟补丁规则,并将生成的所述虚拟补丁规则添加到所述虚拟补丁规则集。

在本申请实施例中,通过扫描保护项中发生更新的保护子项,针对发生更新的保护子项进行漏洞扫描,并为扫描到的漏洞生成对应的虚拟补丁规则后添加至虚拟补丁规则集;由于采用了虚拟补丁规则的增量更新机制,可以避免在保护项中的保护子项发生更新后对保护项中的保护子项进行整体扫描,从而可以大幅度提升虚拟补丁规则集的更新速度,降低了保护项由于虚拟补丁规则集更新不及时而遭受到安全威胁的概率。

附图说明

图1是本申请示出的一种实时更新虚拟补丁的方法的流程图;

图2是本申请示出的一种实时更新虚拟补丁的装置的逻辑框图;

图3是本申请示出的一种实时更新虚拟补丁的装置的硬件结构图。

具体实施方式

为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对现有技术方案和本发明实施例中的技术方案作进一步详细的说明。

参见图1,为本申请一种实时更新虚拟补丁的方法的流程图,应用于服务器,所述方法包括以下步骤:

步骤101:增量扫描保护项中发生更新的保护子项。

步骤102:针对所述保护项中发生更新的保护子项进行漏洞扫描。

步骤103:为扫描到的漏洞生成虚拟补丁规则,并将所述虚拟补丁规则添加到预设的虚拟补丁规则集,以对所述虚拟补丁规则集进行更新。

如前所述,在现有技术中,保护项的内容发生更新时,需要扫描保护项中全部保护子项的漏洞,再根据漏洞生成虚拟补丁规则。当保护项非常复杂的情况下,全面扫描保护子项会花费许多时间,无法及时生成有效的虚拟补丁规则,可能因虚拟补丁规则集更新不及时而遭受到安全威胁。

在本实施例中,通过增量扫描确定保护项中发生更新的保护子项,针对发生更新的保护子项进行漏洞扫描,并基于扫描得到的漏洞自动生成虚拟补丁规则添加至虚拟补丁规则集,对所述虚拟补丁规则集进行更新。由于本实施例中,采用了虚拟补丁规则的增量更新机制,可以避免在保护项中的保护子项发生更新后,对保护项中的保护子项进行整体扫描,从而使漏洞扫描的扫描对象的范围减小,可明显提高更新虚拟规则补丁集的效率。

在本例中,通过实时检测和定时扫描相结合的扫描方式,来增量扫描保护项中发生更新的保护子项,从而可以缩小后续需要进行漏洞扫描的保护子项的范围,可以有效提高学习效率和准确率,确保发生更新的保护子项都被检查出来。

一方面,实时检测是针对用户的操作行为的检测,通过实时检测用户的操作行为,可以第一时间扫描到用户在保护项上手动更新的保护子项。

其中,实时检测分为以下三种情况:

第一种:实时确定用户在保护项上新增的保护子项,将该保护子项标记为新增状态,并将该保护子项添加到扫描队列中。上述扫描队列是放置后续需要进行漏洞扫描的保护子项的队列。

第二种:实时确定用户在保护项上修改的保护子项,将该保护子项标记为修改状态,并将该保护子项添加到扫描队列中。

第三种:实时确定用户在保护项上删除的保护子项,可以将该保护子项的记录标记为删除状态。

例如:用户打开某个网站后,针对用户在该网站上的操作在操作日志上生成对应的记录,该网站的每个页面即为各个保护子项,各个保护子项都有对应的记录。用户打开一个页面,可以视为新增一个保护子项,在操作日志上生成该页面的记录,并标记为新增状态。用户在该网站上对某一个主题的内容作先后两次筛选得到的页面,后一次获得的页面在操作日志上生成记录,并标记为修改状态。操作日志中的上述两个页面都会加入到扫描队列中。用户在关闭一个原来一直开着的页面,可以视为删除一个保护子项,在操作日志上生成该页面的记录,并标记为删除状态。

另一方面,定时扫描是针对保护项中保护子项的内容的检测,通过周期性地扫描保护项中的保护子项,每一轮扫描完成,可以将扫描到的保护子项与上一轮扫描到的保护子项进行内容比较,从而确定各保护子项中的内容是否发生更新,并确定保护项中内容发生更新的保护子项。

其中,定时扫描分为以下三种情况:

第一种:定时扫描保护项中的保护子项,将扫描到的保护子项与上一轮扫描到的保护子项进行内容比较,将多出的保护子项标记为新增状态,并将该保护子项添加到扫描队列中。

第二种:定时扫描保护项中的保护子项,将扫描到的保护子项与上一轮扫描到的保护子项进行内容比较,将内容发送修改的保护子项标记为修改状态,并将该保护子项添加到扫描队列中。

第三种:定时扫描保护项中的保护子项,将扫描到的保护子项与上一轮扫描到的保护子项进行内容比较,当发现上一轮扫描结果中的某一个保护子项在这一轮消失时,可以将该保护子项的记录标记为删除状态。

例如:周期性地扫描某个网站服务器中的内容,服务器中存储的每一个内容单元(比如:文本、图片、链接)和每一段构成网站的程序都是该网站的保护子项,各个保护子项在网站日志中都有记录。当定时扫描的一轮完成,根据扫描结果比较上一轮的扫描结果,如果网站更新了一个程序,在网站日志上生成该程序的记录,并标记为新增状态。当定时扫描的一轮完成,根据扫描结果比较上一轮的扫描结果,如果网站修改了一个程序,在网站日志上生成该程序的记录,并标记为修改状态。网站日志中的上述两个程序都会加入到扫描队列中。当定时扫描的一轮完成,根据扫描结果比较上一轮的扫描结果,如果网站的某一个程序清除了,在网站日志原来的该程序的记录标记为删除状态。

由此可见,通过实时监测扫描用户的操作行为对保护项中的保护子项造成的更新,而定时扫描则是周期性地检查出保护项中发生更新的保护子项。两种方式结合,把遗漏发生更新的保护子项的概率降低到最小,确保发生更新的保护子项都被检查出来。

在本例中,如果保护项存在发生更新的保护子项,则将扫描上述保护子项,查找出发生更新的上述保护子项存在的漏洞。因此前已扫描出发生更新的保护子项,需要扫描的保护子项的范围缩小,可以更快地查找出漏洞。

其中,扫描漏洞分为以下两种情况:

第一种:针对此前被加入到扫描队列中新增或修改的保护子项进行漏洞扫描,将扫描出的漏洞及对应漏洞的保护子项、该保护子项的状态添加到漏洞结果集合。

第二种:针对此前定时扫描出的已被删除的保护子项,可以将该保护子项的记录和该保护子项的状态添加到漏洞结果集合,以将漏洞结果集合中存储的与已被删除的保护子项对应的漏洞标记为删除状态。

例如:针对某个网站扫描队列中新增或修改的程序,可以通过网站攻击事件触发上述程序中的漏洞,扫描获取漏洞,将扫描出的漏洞以及对应漏洞的程序在网站日志中的记录、该程序的状态添加到漏洞结果集合。针对网站日志中标记为删除状态的程序,将该程序在网站日志中的记录和该程序的状态添加到漏洞结果集合,并将漏洞结果集合中与该程序对应的漏洞标记为删除状态。

在本例中,为扫描出的保护子项的漏洞生成虚拟补丁规则,并将上述虚拟补丁规则添加到虚拟补丁规则集,以对虚拟补丁规则集进行及时更新。

具体而言,漏洞结果集合中标记为删除状态的漏洞对应的虚拟补丁规则已经没有作用,所以删除上述虚拟补丁规则。针对漏洞结果集合中标记为新增状态的保护子项,根据上述保护子项的漏洞生成虚拟补丁规则,并将上述虚拟补丁规则添加到虚拟补丁规则集。针对漏洞结果集合中标记为修改状态的保护子项,根据上述保护子项的漏洞生成虚拟补丁规则,并将上述虚拟补丁规则添加到虚拟补丁规则集;将修改状态的保护子项的漏洞生成虚拟补丁规则,可以依次执行前述针对删除状态的保护子项的记录的方式和针对新增状态的保护子项的方式。

例如:某个网站的网站日志中标记为删除状态的程序,因该程序已被删除,该程序对应的漏洞也就不存在了,所以针对该程序对应的漏洞的虚拟补丁规则没有用了,所以在虚拟补丁规则集中删除该程序对应的漏洞的虚拟补丁规则。针对操作日志或网站日志中标记为新增状态的程序,根据该程序的漏洞生成虚拟补丁规则,并将上述虚拟补丁规则添加到虚拟补丁规则集,以应对漏洞可能产生的风险。操作日志或网站日志中标记为修改状态的程序,该程序可以理解为是将修改前的程序删除后,重新产生的一个程序。因此,可以先删除修改前的程序的漏洞对应的虚拟补丁规则,再根据现在的程序的漏洞重新生成虚拟补丁规则,并将上述虚拟补丁规则添加到虚拟补丁规则集。

由上述实施例可见,通过扫描保护项中发生更新的保护子项,针对发生更新的保护子项进行漏洞扫描,并为扫描到的漏洞生成对应的虚拟补丁规则后添加至虚拟补丁规则集;由于采用了虚拟补丁规则的增量更新机制,可以避免在保护项中的保护子项发生更新后对保护项中的保护子项进行整体扫描,从而可以大幅度提升虚拟补丁规则集的更新速度,降低了保护项由于虚拟补丁规则集更新不及时而遭受到安全威胁的概率。

与本发明实时更新虚拟补丁的方法的实施例相对应,本发明还提供了用于执行上述方法实施例的装置的实施例。

参见图2,为本发明实时更新虚拟补丁的装置的一个实施例框图:

如图2所示,该实时更新虚拟补丁的装置20包括:

扫描单元210,用于增量扫描保护项中发生更新的保护子项。

漏洞扫描单元220,用于针对所述保护项中发生更新的保护子项进行漏洞扫描。

生成单元230,用于为扫描到的漏洞生成虚拟补丁规则,并将所述虚拟补丁规则添加到预设的虚拟补丁规则集,以对所述虚拟补丁规则集进行更新。

在本例中,所述扫描单元210,具体用于:

实时检测用户的操作行为,确定用户新增的保护子项,用户修改的保护子项,以及用户删除的保护子项。

定时扫描所述保护项中的保护子项,通过周期性比对各保护子项中的内容是否发生更新,确定所述保护项中新增的保护子项,发生修改的保护子项,以及删除的保护子项。

在本例中,所述扫描单元210,进一步用于:

将确定出的新增的保护子项标记为新增状态,并添加到预设的扫描队列中。

将确定出的发生修改的保护子项标记为修改状态,并添加到预设的扫描队列中。

将漏洞结果集合中保存的与确定出的删除的保护子项对应的漏洞标记为删除状态。

在本例中,所述漏洞扫描单元220,具体用于:

当所述扫描队列中存在保护子项时,对所述扫描队列中的保护子项进行漏洞扫描,并将扫描到的漏洞和对应的所述保护子项、以及为所述保护子项标记的状态添加到漏洞结果集合。

在本例中,所述生成单元230,具体用于:

针对所述漏洞结果集合中标记为删除状态的保护子项的漏洞,删除预设的虚拟补丁规则集中保存的与该保护子项对应的虚拟补丁规则。

针对所述漏洞结果集合中标记为新增状态的保护子项的漏洞,生成对应的虚拟补丁规则,并将生成的所述虚拟补丁规则添加到所述虚拟补丁规则集。

针对所述漏洞结果集合中标记为修改状态的保护子项的漏洞,生成对应的虚拟补丁规则,并将生成的所述虚拟补丁规则添加到所述虚拟补丁规则集。

与前述实时更新虚拟补丁的方法的实施例相对应,本申请还提供了实时更新虚拟补丁的装置的实施例。

本申请实时更新虚拟补丁的装置的实施例可以应用在服务器上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在服务器的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本申请实时更新虚拟补丁的装置所在服务器的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的服务器通常根据该实时更新虚拟补丁的装置的实际功能,还可以包括其他硬件,对此不再赘述。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1