掌桥专利:专业的专利平台
掌桥专利
首页

漏洞信息处理方法、装置、设备及可读存储介质

文献发布时间:2024-04-18 19:58:53


漏洞信息处理方法、装置、设备及可读存储介质

技术领域

本申请涉及数据处理领域,尤其涉及一种漏洞信息处理方法、装置、设备及可读存储介质。

背景技术

随着计算机技术的飞速发展,互联网系统中的漏洞也越来越多,如何对大量漏洞信息进行快速、有效的处理,成了当下急需解决的问题。

目前,用户对漏洞信息处理后,会对漏洞的攻击路径(例如存在漏洞集合{A,B,C},则可能存在的多个攻击路径包括A->B->C,A->C->B,B->C>A等)进行模拟,但由于有些漏洞在实际使用中并不会被触发,因此会出现有些攻击路径在实际使用中是不存在的,但技术人员仍然会对不存在的攻击路径进行研究,浪费时间和精力。

发明内容

本申请的主要目的在于提供一种漏洞信息处理方法、装置、设备及可读存储介质,本申请通过计算漏洞的拟合度值并与预设拟合度值相比较,以确定漏洞的可利用性,并在模拟漏洞攻击路径时将不能利用的漏洞排除在外,旨在解决现有的如何更高效的判断漏洞是否可以触发,以提高模拟漏洞攻击路径的准确性。

为实现上述目的,本申请提供一种漏洞信息处理方法,所述方法包括:

获取网络靶场中漏洞的字段信息;

基于所述字段信息,确定所述漏洞的可利用性;

若所述漏洞具有可利用性,则基于所述字段信息,生成所述漏洞的利用关系图,以供用户基于所述利用关系图对所述漏洞的攻击路径进行演练。

示例性地,所述基于所述字段信息,确定所述漏洞的可利用性,包括:

基于所述字段信息,计算所述漏洞的拟合度值;

若所述拟合度值大于或等于所述预设拟合度值,则所述漏洞具有所述可利用性。

示例性地,所述基于所述字段信息,计算所述漏洞的拟合度值,包括:

生成第一预设数量的第一验证载荷,其中,所述第一验证载荷是符合所述字段信息中漏洞利用前置实现的漏洞利用条件;

对各所述第一验证载荷进行混淆处理,并记录混淆次数;

将各所述第一验证载荷对应的验证值赋值为预设数值,并从所述第一验证载荷中确定第二验证载荷,记录所述第二验证载荷的载荷数量;

基于所述第一预设数量、所述混淆次数、所述预设数值以及所述载荷数量,计算所述拟合度值。

示例性地,所述将各所述第一验证载荷对应的验证值赋值为预设数值,并从所述第一验证载荷中确定第二验证载荷,记录所述第二验证载荷的载荷数量,包括:

遍历各所述第一验证载荷;

将遍历到的第一验证载荷输入所述漏洞,得到所述漏洞的实际利用结果;

若所述实际利用结果与所述字段信息中的预期利用效果一致,则将所述遍历到的第一验证载荷对应的所述验证值赋值为预设数值,同时将所述遍历到的第一验证载荷确定为第二验证载荷,并记录所述第二验证载荷的载荷数量。

示例性地,所述基于所述字段信息,计算所述漏洞的拟合度值之前,包括:

生成第二预设数量的第三验证载荷,其中所述第三验证载荷是不符合所述字段信息中漏洞利用前置实现的漏洞利用条件;

遍历所述第三验证载荷;

将遍历到的第三验证载荷输入所述漏洞,得到所述漏洞的实际利用结果;

若所述实际结果与所述字段信息中的预期利用结果一致,则输出报错信息,以供所述用户对所述字段信息进行修改。

示例性地,所述基于所述字段信息,生成所述漏洞的利用关系图,包括:

从所述字段信息中获取所述漏洞的输入信息与输出信息;

若所述输入信息与所述输出信息相同,则将所述漏洞作为关系图节点,并连接所述关系图节点,生成所述漏洞的利用关系图。

示例性地,所述获取网络靶场中漏洞的字段信息,包括:

获取所述漏洞的特征数据;

对所述特征数据进行分类处理,得到所述字段信息。

示例性地,为实现上述目的,本申请还提供一种漏洞信息处理装置,所述装置包括:

第一获取模块,用于获取网络靶场中漏洞的字段信息;

确定模块,用于基于所述字段信息,确定所述漏洞的可利用性;

第一生成模块,用于若所述漏洞具有可利用性,则基于所述字段信息,生成所述漏洞的利用关系图,以供用户基于所述利用关系图对所述漏洞的攻击路径进行演练。

示例性地,为实现上述目的,本申请还提供一种漏洞信息处理设备,所述设备包括:存储器、处理器和存储在所述存储器上并可在所述处理器上运行的所述漏洞信息处理程序,所述漏洞信息处理程序被所述处理器执行时实现如上述的漏洞信息处理方法的步骤。

示例性地,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有漏洞信息处理程序,所述漏洞信息处理程序被处理器执行时实现如上述的漏洞信息处理方法的步骤。

与现有技术中,模拟漏洞攻击路径时无法将不能触发的漏洞排除在外,模拟出的漏洞攻击路径不符合实际需求相比,本申请通过获取网络靶场中漏洞的字段信息;基于所述字段信息,确定所述漏洞的可利用性;若所述漏洞具有可利用性,则基于所述字段信息,生成所述漏洞的利用关系图,以供用户基于所述利用关系图对所述漏洞的攻击路径进行演练,以提高模拟漏洞路径的准确性。本申请避免了将不能触发的漏洞包括在模拟的漏洞攻击路径中,而是通过计算漏洞的拟合度值,并与预设的拟合度值相比较,若拟合度值小于预设拟合度值,则确定漏洞不具有可利用性,从而在模拟漏洞攻击路径时将不能利用的漏洞排除在外,然后由具有可利用性的漏洞生成漏洞利用关系图,以供用户对漏洞的攻击路径进行演练。因此,本申请避免了在模拟漏洞攻击路径时考虑不能利用的漏洞,导致模拟出的漏洞攻击路径存在不能利用的情况,进而提高了模拟漏洞攻击路径的准确性。

附图说明

图1是本申请漏洞信息处理方法第一实施例的流程示意图;

图2是本申请漏洞信息处理方法优选实施例的装置示意图;

图3是本申请漏洞信息处理方法优选实施例的漏洞关系示意图;

图4是本申请漏洞信息处理方法优选实施例的漏洞关系网络节点图;

图5是本申请实施例方案涉及的硬件运行环境的结构示意图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供一种漏洞信息处理方法,参照图1和图2,图1为本申请漏洞信息处理方法第一实施例的流程示意图,图2为本申请漏洞信息处理方法中模型训练的流程示意图。

本申请实施例提供了漏洞信息处理方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,漏洞信息处理方法包括:

步骤S110,获取网络靶场中漏洞的字段信息。

漏洞是指一个系统存在的弱点或缺陷,系统对特定威胁攻击或危险事件的敏感性,或进行攻击的威胁作用的可能性。漏洞可能来自应用软件或操作系统设计时的缺陷或编码时产生的错误,也可能来自业务在交互处理过程中的设计缺陷或逻辑流程上的不合理之处。这些缺陷、错误或不合理之处可能被有意或无意地利用,从而对一个组织的资产或运行造成不利影响,如信息系统被攻击或控制,重要资料被窃取,用户数据被篡改,系统被作为入侵其他主机系统的跳板。从目前发现的漏洞来看,应用软件中的漏洞远远多于操作系统中的漏洞,特别是WEB(World Wide Web,全球广域网)应用系统中的漏洞更是占信息系统漏洞中的绝大多数。

字段信息用于描述漏洞的具体信息,包括但不限于漏洞的名称、软件版本信息、漏洞的利用条件、预期利用效果、实际利用结果、预期利用结果以及实际利用结果等。字段信息是一种标准化机器语言信息,具有通用性,可以推广到不同类型的网络靶场。获取字段信息的方式可以是将预先搜集的漏洞特征数据搜集好输入计算机模型中,经过计算机模型处理后自动生成的;也可以是直接接受用户输入的字段信息,具体获取方式,本实施例不作限定。

示例性地,所述获取网络靶场中漏洞的字段信息,包括:

获取所述漏洞的特征数据。

对所述特征数据进行分类处理,得到所述字段信息。

特征数据是指漏洞的初始信息,该初始信息通常是用自然语言对漏洞的相关特征进行描述,不具有通用性。漏洞的特征数据一般来源于漏洞数据库,其中漏洞数据库可以是CVE(Common Vulnerabilities&Exposures,通用漏洞披露),也可以是CNVD(ChinaNational Vulnerability Database,国家信息安全漏洞共享平台)。

字段信息是通过将搜集到的漏洞特征信息输入至预先训练好的计算机模型中,经过计算机模型将自然语言的特征信息转化为机器语言并进行分类处理后生成的。

分类处理包括两种方法,即数据清洗和数据分类两部分。数据清洗主要使用自然语言对数据进行处理得到自然文本信息,数据分类是对得到的自然文本信息进行分类加工处理,得到字段信息。例如,先通过数据清洗过滤那些由于关键信息缺失导致不可利用的漏洞信息,随后在通过数据分类对数据进行聚合去重、压缩、排序等操作,得到漏洞的字段信息。

可以理解,从漏洞数据库中搜集漏洞的全部特征信息后,将特征信息输入到预先训练好的计算机模型中,计算模型先对特征数据进行数据清洗处理,再进行分类处理,得到漏洞的字段信息。数据清洗主要目的是为了过滤那些缺少关键信息的漏洞,分类处理的目的是将特征信息进行分类并根据分类后的数据之间的关系,生成流动的字段信息。

步骤S120,基于所述字段信息,确定所述漏洞的可利用性。

漏洞在产生之后,可能由于各种各样的原因导致漏洞虽然存在但不能被利用。例如,某些漏洞由于运行环境的改变导致漏洞无法触发,又或者是利用漏洞的前置条件在实际应用中已经被技术攻克,无法触发该漏洞。因此,需要在实际应用中需要将不具有利用性的漏洞剔除出去。

示例性地,所述基于所述字段信息,确定所述漏洞的可利用性,包括:

基于所述字段信息,计算所述漏洞的拟合度值。

若所述拟合度值大于或等于所述预设拟合度值,则所述漏洞具有所述可利用性。

拟合度值是用于表示漏洞是否具有可利用性的,当拟合度值大于或者等于预设拟合度值时,表示该漏洞具有可利用性;当拟合度值小于预设拟合度值时,表示该漏洞不具有可利用性。

预设拟合度值是根据对网络靶场中漏洞可用性产生的大量数据进行计算分析后得到的,其值可以是1,也可以是2,具体数据,本实施例不作限定。

可以理解,此前,判断漏洞的可利用性在具体应用中没有量化标准,因此,本申请通过将漏洞的字段信息利用计算机算法转化为一个确定的拟合度值,并与预设的拟合度值进行比较,从而精确的确定漏洞是否具有可利用性,为判断漏洞的可利用性提供了量化标准。

示例性地,所述基于所述字段信息,计算所述漏洞的拟合度值,包括:

生成第一预设数量的第一验证载荷,其中,所述第一验证载荷是符合所述字段信息中漏洞利用前置实现的漏洞利用条件。

第一预设数量可以是10,也可以是20,本实施来不作具体限定。

漏洞利用前置实现是用于描述漏洞利用时所需要的具体实现条件,是漏洞利用前置条件的具象化描述,例如漏洞利用前置条件是权限提升,则漏洞利用前置实现就是获取管理员权限。

第一验证载荷是漏洞的实际触发条件,用于验证漏洞的实际利用结果与预期利用效果是否一致。

对各所述第一验证载荷进行混淆处理,并记录混淆次数。

将各所述第一验证载荷对应的验证值赋值为预设数值,并从所述第一验证载荷中确定第二验证载荷,记录所述第二验证载荷的载荷数量。

示例性地,所述将各所述第一验证载荷对应的验证值赋值为预设数值,并从所述第一验证载荷中确定第二验证载荷,记录所述第二验证载荷的载荷数量,包括:

遍历各所述第一验证载荷。

将遍历到的第一验证载荷输入所述漏洞,得到所述漏洞的实际利用结果。

若所述实际利用结果与所述字段信息中的预期利用效果一致,则将所述遍历到的第一验证载荷对应的所述验证值赋值为预设数值,同时将所述遍历到的第一验证载荷确定为第二验证载荷,并记录所述第二验证载荷的载荷数量。

第一验证载荷对应的验证值用于计算漏洞的拟合度值,通常当第一验证载荷作用下产生的实际利用结果与预期利用结果一致时,将验证值赋值为1;当实际利用结果与预期利用结果不一致时,将验证值赋值为-1

预设数值可以是1,也可以是-1,本实施例不作具体限定。

第二验证载荷是第一验证载荷中的一部分,当第一验证载荷作用在漏洞上产生的实际利用效果与预期利用效果一致时,该第一验证载荷标记则满足第二验证载荷,挑选出满足条件的第一验证载荷标记为第二验证载荷,并记录第二验证载荷的载荷数量。

可以理解,将生成的多个第一验证载荷逐个输入到漏洞中,记录每一个第一验证载荷所产生的实际利用效果,将产生的多个实际利用效果与对应的预期利用效果相比较,挑选出实际利用效果与预期利用效果相一致时对应的第一验证载荷,将该第一验证载荷标记为第二验证载荷,并记录第二验证载荷对应的载荷数量。同时,将满足条件的第一验证载荷对应的验证值赋值为1,将不满足条件的第一验证载荷对应的验证值赋值为-1。

基于所述第一预设数量、所述混淆次数、所述预设数值以及所述载荷数量,计算所述拟合度值。

可以理解,拟合度值具体的计算方式为,将混淆次数与载荷数量相乘后进行求和,在与载荷数量和第一预设数量的比值相乘,得到拟合度值。将得到的拟合度值与预设的拟合度值进行比较,以此来判断漏洞是否具有可利用性。本申请通过将判断漏洞可利用性量化为数值进行比较,可以统一判断漏洞可利用性的标准,并且能够精确判断漏洞是否具有可利用性。

步骤S130,若所述漏洞具有可利用性,则基于所述字段信息,生成所述漏洞的利用关系图,以供用户基于所述利用关系图对所述漏洞的攻击路径进行演练。

示例性地,所述基于所述字段信息,生成所述漏洞的利用关系图,包括:

从所述字段信息中获取所述漏洞的输入信息与输出信息。

若所述输入信息与所述输出信息相同,则将所述漏洞作为关系图节点,并连接所述关系图节点,生成所述漏洞的利用关系图。

漏洞的输入信息可以是漏洞的利用前置条件,也可以是漏洞的利用前置实现。本实施例不作具体限定。

漏洞的输出信息可以是漏洞的预期利用效果,可以是漏洞的预期利用结果。

漏洞的预期利用效果是漏洞在利用前置条件作用下,可能产生的预期效果,因此漏洞预期利用效果与漏洞利用前置条件对应。漏洞的预期利用结果是漏洞在利用前置实现作用下产生的预期结果,因此漏洞预期利用效果与漏洞利用前置实现对应。例如,漏洞利用前置条件是权限提升,则漏洞利用前置实现则是获取管理员权限;在权限提升作用下产生的预期利用效果是信息泄露,则在获取管理员权限作用下产生的预期利用结果是管理员的信息泄露。即漏洞利用前置条件和漏洞预期利用效果包括的范围很广,但漏洞利用前置实现和漏洞预期利用结果是在具体某一个特定场景下的具体条件和结果。

可以理解,若漏洞1的预期利用效果与漏洞2的漏洞利用前置条件相同时,则表示漏洞1可以作为漏洞2的触发条件,漏洞1与漏洞2之间存在关联关系,因此,基于此关联关系,将漏洞1与漏洞2作为关系网的节点,并且连接漏洞1和漏洞2。将此方法类推至所有漏洞后,就能够绘制漏洞的预期利用效果图。

同样的,若漏洞1的预期利用结果与漏洞2的漏洞利用前置实现相同,则也表示漏洞1可以作为漏洞2的触发条件,漏洞1与漏洞2之间存在关联关系,因此,基于此关联关系,将漏洞1与漏洞2作为关系网的节点,并且连接漏洞1和漏洞2。将此方法类推至所有漏洞后,就能够绘制漏洞的预期利用结果图。

基于上述的预期利用效果图和预期利用结果图,用户可以在网络靶场中对漏洞的攻击路径进行模拟,以便针对性的对漏洞的攻击路径进行研究和修复。

示例性地,所述基于所述字段信息,计算所述漏洞的拟合度值之前,包括:

生成第二预设数量的第三验证载荷,其中所述第三验证载荷是不符合所述字段信息中漏洞利用前置实现的漏洞利用条件。

第二预设数量可以是5,也可以是10,具体数值本实施例不作限定。

第三验证载荷是漏洞的实际触发条件,用于验证漏洞的字段信息是否存在错误。

遍历所述第三验证载荷。

将遍历到的第三验证载荷输入所述漏洞,得到所述漏洞的实际利用结果。

若所述实际结果与所述字段信息中的预期利用结果一致,则输出报错信息,以供所述用户对所述字段信息进行修改。

可以理解,字段信息是由计算机模型生成的,可能存在错误的情况,因此,在根据字段信息计算拟合度值之前,需要对字段信息进行校验,确定生成的字段信息是否正确。

将生成的不符合漏洞利用前置实现的第三验证载荷输入至漏洞,对比得到的实际利用结果与预期利用结果,若实际利用结果与预期利用结果一致,则表明字段信息存在错误。因为,第三验证载荷是不符合漏洞利用前置实现的,由第三验证载荷产生的实际利用结果与预期利用结果也应当是不相同的,所以,若实际利用结果与预期利用结果一致,则表明字段信息存在错误,需要输出报错信息以提醒用户对字段信息进行修改。

与现有技术中,模拟漏洞攻击路径时无法将不能触发的漏洞排除在外,模拟出的漏洞攻击路径不符合实际需求相比,本申请通过获取网络靶场中漏洞的字段信息;基于所述字段信息,确定所述漏洞的可利用性;若所述漏洞具有可利用性,则基于所述字段信息,生成所述漏洞的利用关系图,以供用户基于所述利用关系图对所述漏洞的攻击路径进行演练,以提高模拟漏洞路径的准确性。本申请避免了将不能触发的漏洞包括在模拟的漏洞攻击路径中,而是通过计算漏洞的拟合度值,并与预设的拟合度值相比较,若拟合度值小于预设拟合度值,则确定漏洞不具有可利用性,从而在模拟漏洞攻击路径时将不能利用的漏洞排除在外,然后由具有可利用性的漏洞生成漏洞利用关系图,以供用户对漏洞的攻击路径进行演练。因此,本申请避免了在模拟漏洞攻击路径时考虑不能利用的漏洞,导致模拟出的漏洞攻击路径存在不能利用的情况,进而提高了模拟漏洞攻击路径的准确性。

下面结合一个优选的实施例,对上述实施例中涉及到的内容进行说明。

本申请提出一种漏洞信息处理方法,该方法包括:

步骤a,搜集漏洞的所有数据信息,根据所有数据信息,生成漏洞植入描述文件。

参照图2,图2为本申请漏洞信息处理方法优选实施例的装置示意图。本申请提供了一种漏洞植入描述文件生成的方法与装置,主要适用于网络靶场,该装置分为漏洞信息搜集单元、漏洞信息处理单元、漏洞信息验证单元、漏洞关系生成单元和漏洞集成单元。

由于漏洞信息收集来源较多,可能出现某一漏洞信息来自多个漏洞信息数据库的情况,不同来源的漏洞信息表示方式不相同,而从媒体网站、个人/组织博客、社交平台(Facebook,推特,微信群,朋友圈)等渠道搜集的漏洞信息一般为非结构化语言,主要是面向人阅读和理解,缺少漏洞复现的关键信息,无法直接用于对漏洞可利用性进行验证,甚至可能出现针对同一漏洞存在漏洞信息相互矛盾的情况,无法准确判断涉及到的漏洞在特定场景下是否可以成功被利用。

本申请提出了一种标准化、结构化、面向机器处理的VISF(VulnerabilityIntegration Specification File,漏洞植入描述文件)的定义和生成方法,该方法具有通用性,可推广到不同类型的网络靶场中,对靶标中存在的漏洞的关键信息进行搜集处理并生成标准化文件。VISF的定义如下:

1、漏洞通用编号(Common Vulnerabilities Number,CVN):用于描述漏洞在主流漏洞数据库的编号,其中数据库可以是CVE(Common Vulnerabilities&Exposures,通用漏洞披露),CVE类似于是一个字典表,其为广泛认同的信息安全漏洞或者已经暴露出来的弱点给出一个公共的名称;也可以是CNVD(China National Vulnerability Database,国家信息安全漏洞共享平台)。

2、漏洞描述编号(Vulnerability Description Number,VDN),用于描述漏洞在本申请中的编号,编号规则为场景序号、靶标序号、漏洞序号,例如scene1target11(scene,场景;target,靶标)。

3、漏洞类型(Vulnerability Type,VT),用于描述漏洞的种类,侧重于漏洞造成的效果,如信息泄露漏洞、弱口令漏洞。

4、漏洞利用难度评分(Vulnerability Exploitability Score,VES),用于描述漏洞的利用难度,在数量上对其进行量化,评分标准参考CVSS(Common VulnerabilityScoring System,通用漏洞评分系统)中漏洞利用难度评分。

5、漏洞所依赖基础软件名称(Vulnerability Dependency Software Name,VSN),用于描述存在该漏洞软件的名称。

6、漏洞所依赖基础软件版本(Vulnerability Dependency Software Version,VSV),用于描述存在该漏洞软件的详细版本号。

7、漏洞所依赖基础软件的操作系统信息(Vulnerability Dependency SoftwareOperating System,VSOS),用于描述漏洞利用时所依赖的操作系统信息。

8、漏洞内部连通性(Vulnerability Internal Connectivity,VIC),用于描述该漏洞与同一靶标中的其他漏洞之间存在漏洞利用依赖关系。

9、漏洞外部连通性(Vulnerability External Connectivity,VEC),用于描述该漏洞与网络中其他靶标上的漏洞之间存在漏洞利用依赖关系。

10、漏洞利用前置条件(Exploit Dependency Precondition,EDP),用于描述漏洞被利用时所需要的必要满足基础配置之外的条件,如需要权限提升。

11、漏洞利用前置实现(Exploit Dependency Implementation,EDI),用于描述漏洞利用时所需要的必要满足基础配置之外的具体实现条件,是漏洞利用前置条件的具象化描述,如获取管理员的权限。

12、漏洞利用(Exploit,EXP),利用具体漏洞的攻击手段或方法。例如:基于报错信息注入的SQL(Structured Query Language,结构化查询语言,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统)注入漏洞利用。

13、漏洞利用预期效果(Expected Effect Of Exploit,EEE),用于描述漏洞被利用后的预期的漏洞利用效果,如信息泄露。

14、漏洞利用预期结果(Expected Result Of Exploit,ERE),用于描述漏洞被利用后的预期的漏洞利用结果,是漏洞利用效果的具象化描述,如信息泄露下的管理员账号密钥泄露。

在VISF中关键字段为:漏洞内部连通性、漏洞外部连通性、漏洞利用前置条件、漏洞利用前置实现、漏洞利用预期效果与漏洞利用预期结果。其中漏洞利用前置条件、漏洞利用预期效果以漏洞在靶场中造成的影响为导向,按照主流的漏洞分类方法进行定义,是对漏洞产生影响的抽象总结,如信息泄露。漏洞利用前置实现、漏洞利用预期结果是对漏洞前置条件、漏洞预期效果的具体化,是对漏洞产生影响的抽象总结,如信息泄露中的管理员账户密钥泄露。

漏洞植入描述文件(VISF)中的漏洞内部连通性、漏洞外部连通性字段是由网络靶场的具体设计决定的,用来描述同一场景下不同漏洞间的相互依赖关系。需要注意的是漏洞间存在依赖关系,需要从漏洞效果的角度出发,通过对大量网络靶场中常见的漏洞数据进行分析,发现漏洞的漏洞利用预期结果与漏洞利用前置实现类型相同,漏洞利用预期效果与漏洞利用前置条件类型相同,因此这为按照实现效果对漏洞进行分类提供了基础。可以利用该分类方法对网络靶场中常见的漏洞效果进行分类;而在不同类型的靶场中,虽然漏洞的利用方式和实现方法存在差异,但是仍然可以对网络靶场中所有的漏洞按照实现效果进行分类,可以将其作为标准推广到所有的网络靶场中,见部分常见漏洞效果分类。采用该分类方法可以发现网络靶场中同一场景下的不同漏洞之间可能存在的相互关系,如同一场景中存在漏洞A和漏洞B,若A、B存在依赖关系,用符号A→B进行描述。需注意的是描述符号是有向的,由该漏洞的漏洞预期利用效果指向其他漏洞的漏洞利用前置条件,或者由该漏洞的漏洞预期利用结果指向其他漏洞的漏洞利用前置实现。

漏洞内部连通性即该漏洞与同一靶标中的其他漏洞存在漏洞利用依赖关系,如同一靶标中存在漏洞1和漏洞2,漏洞1的漏洞利用预期效果为信息泄露,漏洞2的漏洞利用前置条件为信息泄露,则可标记为1→2,即漏洞1和2在利用时存在依赖关系。

漏洞外部连通性即该漏洞与网络中其他靶标上的漏洞存在漏洞利用依赖关系,如在靶标A中存在漏洞1的漏洞预期利用效果为信息泄露,同一场景下的靶标B中存在漏洞2的漏洞利用前置条件为信息泄露,则可标记为A_1→B_2,即A靶标中的漏洞1和B靶标中的漏洞2在利用时存在依赖关系。

漏洞信息搜集单元根据提供的靶场某一场景中涉及到的所有的基础软件名称及版本信息,使用爬虫技术依次对涉及到的具体版本的软件可能包含的所有漏洞信息进行搜集。搜集过程侧重于漏洞在网络靶场中进行复现及漏洞利用前后的关键信息,利用主流漏洞信息数据库进行漏洞信息搜集,例如CVE、CNVD等。根据提供的软件名称及版本信息,搜集其中包含的一个或多个目标漏洞的相关信息,通过对目标漏洞的基础软件的官方维护社区及开源仓库获取官方提供的漏洞信息,例如官方维护的Git(Github,开源的分布式版本控制系统)仓库、官网发布的信息内容等。利用互联网检索关于目标漏洞的技术分享文章以及个人技术博客等,对漏洞信息进行补充。将两部分搜集到的信息发送给漏洞信息处理单元,需要明确本申请关注于网络靶场的演练环境,不考虑DDOS(Distributed Denial ofService,分布式拒绝服务攻击,是指处于不同位置的多个攻击者同时向一个或数个目标发动攻击,或者一个攻击者控制了位于不同位置的多台机器并利用这些机器对受害者同时实施攻击。由于攻击的发出点是分布在不同地方的,这类攻击称为分布式拒绝服务攻击,其中的攻击者可以有多个)等破坏性漏洞。

漏洞信息处理单元是对漏洞信息搜集单元搜集到的海量数据进行处理及分类,处理方法分为数据清洗和数据分类两部分。数据清洗主要使用自然语言对数据进行处理得到自然文本信息,再对得到的自然文本信息进行加工处理。例如,使用RE(RegularExpression,正则表达式)过滤非常规字符以及分离中文字符和英文字符;对数据进行预处理,过滤那些由于关键信息缺失导致不可利用的漏洞信息,随后对数据进行聚合去重、压缩、排序等操作将得到的处理后的数据输入到数据分类模块。其中正则表达式,又称规则表达式,计算机科学的一个概念,正则表达式通常被用来检索、替换那些符合某个规则的文本,例如,正则表达式描述了一种字符串匹配的模式,则其可以实现检查一个串是否含有某种子串,或者将匹配的子串替换,又或者从某个串中取出符合某个条件的子串等。

数据分类模块是对输入的数据进行分类,其主要使用计算机模型对数据进行分类。通过对漏洞信息的关键字段进行定义,并使用数学运算符和布尔关系计算符生成的规则,将定义的关键字段与相对应的文本信息进行匹配,将产生的数据输入到训练好的规则匹配模型中,得到目标漏洞的VISF(除VIC和VEC之外)的所有字段,将得到的数据转换为规定格式的文件并发送到漏洞信息验证单元进行验证,其中规定的格式可以是yml(YAMLAin't a Markup Language,YAML不是一种标记语言,其通常以.yml作为后缀),也可以是json(JavaScript Object Notation,JS对象简谱)。

其中,规则匹配模型训练的方法是,使用NLTK(Natural Language Toolkit,自然语言处理工具包)等分词工具对文本进行分词和词性标注,通过词与上下文、上下文与词的关系,有效地将词映射为低维稠密的向量,然后提供一个根据漏洞植入描述文件定义的字段建立的计算机学习匹配模型,该模型预先对大量已标注字段(即已分类好)的中文或英文单词或者文本数据进行训练,并不断调整参数以获得更加准确的匹配。

步骤b,利用漏洞植入描述文件,验证漏洞的可利用性。

漏洞信息验证单元对经过漏洞信息处理单元处理后的信息进行验证,本申请面向网络靶场,漏洞侧重于攻防演练场景中常见的漏洞,需保证漏洞真实存在并可以在网络靶场中对漏洞环境进行复现。

该单元采用动态漏洞验证的方法,通过结合漏洞类型,对漏洞在多次验证载荷下产生的实际结果与预期结果的GOF(Goodness Of Fit,拟合度)为判断条件,对漏洞的可利用性进行验证。例如,SQL注入漏洞:需获取数据库中敏感数据;CSRF(Cross-site requestforgery跨站请求伪造)漏洞:需修改特定用户信息;XSS(Cross Site Scripting,跨站脚本攻击)漏洞:需回传特定用户cookie(网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息);任意文件上传漏洞:需在指定文件夹上传特定命名文件;任意文件下载漏洞:需下载指定文件夹中的文件;任意文件读取漏洞:需读取指定文件夹中的文件内容;任意文件包含漏洞:需在指定文件夹下创建特定命名文件。

该单元由基础验证载荷自生成模块、监控模块、计算模块组成,VISF中EXP漏洞利用、EDI漏洞利用前置实现、ERE漏洞利用预期结果,是该单元的输入值。该单元的核心为基础验证载荷自生成模块,该模块提供了一套针对不同类型漏洞的验证载荷默认模板,默认模板由核心载荷和可变载荷组成,其中核心载荷由EXP提供,可变载荷受EDI影响,在EDI作为限定条件下对其他可变字符进行随机化混淆生成基础验证载荷;默认模板的字符混淆次数为1次,验证载荷的复杂程度会随着混淆次数增加而增加,可以通过设置混淆次数的来调节验证载荷的复杂度。

监控模块相当于靶场的管理员,其可以利用靶场的特殊性,在靶场中部署漏洞可利用性检测工具,通过靶标中内置的监控代理程序对漏洞在验证载荷下产生的结果进行检测。不同于攻击者视角,监控模块可以更加准确的对漏洞产生的效果进行检测,将检测结果输出给计算模块。

计算模块通过对监控模块输出的信息进行计算,通过量化处理对漏洞可利用性进行验证。为了计算的精确性,需要生成两种验证载荷:符合EDI的验证载荷和不符合EDI的验证载荷,与之对应的漏洞实际利用结果也分为两种:符合ERE的漏洞实际利用结果,不符合ERE的漏洞实际利用结果。

1、若在符合EDI的验证载荷下漏洞产生的实际利用结果符合ERE,则作为GOF(拟合度)中的加分项;若在符合EDI的验证载荷下漏洞产生的实际结果不符合ERE,则作为GOF中的减分项。

2、若在不符合EDI的验证载荷下漏洞产生的实际利用结果符合ERE,则表明VISF中的信息出错,模块将进行报错处理,提示用户需要退回前置步骤重新处理信息或引入人工验证对VISF进行修改;若在不符合EDI的验证载荷下漏洞产生的实际结果不符合ERE,则GOF中该项不加分也不减分。

具体操作为,基础验证载荷自生成模块生成N个不符合EDI的验证载荷,若在某个验证载荷下漏洞产生的实际利用结果符合ERE,则报错提示用户需对VISF进行修改。若全部通过测试则进行下一步GOF计算。此步骤是为了检测VISF信息的准确性,以用于后续的GOF计算。

检测完成后,基础验证载荷自生成模块又生成N个符合EDI的验证载荷对漏洞进行验证,并按下述公式计算GOF值。

GOF=(S/N)×Σ(C

其中,N表示符合EDI的验证载荷的个数,S表示N个验证载荷中有S个达到预期效果,预期效果是指在验证载荷作用下,产生的漏洞实际利用结果符合ERE,X

由公式可知,如果S越大,C

经过对靶场中漏洞可用性所产生的大量数据进行计算分析,计算出一个阈值GOFt,将计算出的值与阈值进行比对,若大于或等于阈值,则可认定该漏洞在特定场景下可利用,反之则认定该漏洞在特定场景下不可利用。当完成对目标漏洞的验证后,将得到的结果进行处理,并将结果反馈于漏洞信息存储单元,没有通过验证的漏洞信息将会被标记为未通过验证,并将结果输入到漏洞信息存储单元。

漏洞信息存储单元是对漏洞信息处理单元输出内容进行存储,本单元以适应网络靶场为出发点,存储的漏洞信息为网络靶场提供服务。该单元按靶场的场景和特定软件存在的漏洞对漏洞信息进行分类存储。例如靶场A涉及到D1、D2和D3三个靶标,D1中存在漏洞D1v1和D1v2,D2中存在漏洞D2v1,D3中存在漏洞D3v1,则存储单元按照ScenA={D1[D1v1,D1v2],D2[D2v1],D3[D3v1]}对漏洞信息进行存储。若用户需要对信息进行查询时,输入场景A,则返回D1、D2、D3涉及到的全部漏洞信息;输入靶标D1则会返回D1V1和D1V2的漏洞信息。

步骤c,在漏洞具有可利用性时,生成漏洞利用关系图。

漏洞关系生成单元以漏洞信息存储单元中存储的数据为基础。将ScenA={D1[D1v1,D1v2],D2[D2v1],D3[D3v1]}作为输入信息输入至漏洞关系生成单元,经过处理后得到漏洞的核心字段信息:内部连通性和漏洞外部连通性。即按上述实例,需输入漏洞存储单元中的中所涉及到的全部漏洞信息至漏洞关系生成单元,由该生成单元生成漏洞内部连通性和漏洞外部连通性的数据信息。

漏洞内部连通性即该漏洞与同一靶标中的其他漏洞存在漏洞利用依赖关系;漏洞外部连通性即该漏洞与网络中其他靶标上的漏洞存在漏洞利用依赖关系,同时漏洞外部连通性受靶标间连通性影响。该核心字段信息用于描述该漏洞与场景中其他不同的漏洞所有可能存在的关联关系。

漏洞集成单元以漏洞关系生成单元为基础,漏洞关系生成单元将场景中涉及到的所有漏洞植入描述文件输入到漏洞集成单元,分别以漏洞利用预期效果(EEE)和漏洞利用预期结果(ERE)为导向,生成两种不同类型的漏洞利用关系图:漏洞预期利用效果关系图、漏洞预期利用结果关系图。其中生成图的关键元素是:漏洞利用前置条件(EDP)、漏洞利用前置实现(EDI)、漏洞利用(Exp)、漏洞利用预期效果(EEE)、漏洞利用预期结果(ERE)。

漏洞预期利用效果关系图:以漏洞为节点,漏洞利用前置条件(EDP)和漏洞利用预期效果(EEE)作为节点的输入、输出边;漏洞预期利用结果关系图:以漏洞为节点,漏洞利用前置实现(EDI)和漏洞利用预期结果(ERE)作为节点的输入、输出边,。

漏洞预期利用效果图是网络靶场中演练方案的宏观表现,漏洞预期利用结果图是网络靶场中演练方案的具体实现表现。漏洞预期利用结果关系图基于漏洞预期利用效果关系图,同一漏洞预期利用效果关系图可以生成多个不同的漏洞预期利用结果关系图。

漏洞连通性评价作为本部分的核心内容,对不同漏洞的可利用方式进行判定。将网络靶场中同一场景中涉及到的所有漏洞按照节点的编号顺序,依次对每个节点进行操作,即用虚线的方式将该节点的输出边连接到其他节点的相同类型的输入边;通过对漏洞连通性进行评价,将漏洞间的逻辑关系转化为数量上可以进行量化的指标。用E

在此基础上生成漏洞预期利用效果关系图、漏洞预期利用结果关系图,漏洞预期利用效果图可以作为网络靶场中演练方案的蓝图,漏洞预期利用结果图可以作为网络靶场中演练方案的具体实现的指导图,利用生成的图可以标记出场景中所有可能存在的攻击路径,排除非预期攻击路径对演练产生的影响。

现给出如下实例:

在网络靶场1号场景中的靶标A的基础软件为bludit,版本号为3.12.0,漏洞信息搜集单元将bludit3.12.0作为关键信息,通过爬虫技术从不同数据源中搜集基础软件中所有的漏洞关键信息,如:

1、个人/组织博客

(1)、Bludit是一套开源的轻量级博客内容管理系统(CMS)。Bludit 3.12.0版本中存在路径遍历漏洞(路径遍历是指应用程序接收了未经合理校验的用户参数用于进行与文件读取查看相关操作,而该参数包含了特殊的字符(例如“..”和“/”),使用了这类特殊字符可以摆脱受保护的限制,越权访问一些受保护的文件、目录或者覆盖敏感数据)。在ubuntu18.04下搭建漏洞复现环境,攻击者可借助backup/plugin.php文件利用该漏洞下载任意文件。(来源:安全客)

(2)、Bludit 3.12.0版本中存在RCE漏洞。攻击者需在管路员权限下操作。(来源:CSDN)

(3)、Bludit是一套开源的轻量级博客内容管理系统(CMS)。Bludit 3.12.0版本中存在XSS漏洞,攻击者需要普通用户权限。(来源:百度贴吧)

2、CVE信息

描述:Bludit 3.12.0allows admins to use a/pluginbackupdownload?file=../directory traversal approach for arbitrary file download via backup/plugin.php.

Vector:CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N.

CWE:CWE22,路径名对受限目录的不正确限制(路径遍历)。

3、bludit官方维护仓库

修复信息::Hi,thanks for the report.I have made a pull request[#1215](https://github.com/bludit/bludit/pull/1215).

通过漏洞信息搜集单元,发现Bludit 3.12.0可能存在三个漏洞。

通过信息处理单元,对上述信息进行处理,生成三个漏洞信息,将漏洞依次标记为序号1、2、3,对于漏洞1,生成内容如下:

漏洞通用编号(CVN):CVE202015026

漏洞描述编号(VDN):scene1_targetM_1

漏洞类型(VT):信息泄露

漏洞利用难度评分(VES):3.0

漏洞所依赖基础软件名称(VSN):bludit

漏洞所依赖基础软版本(VSV),3.12.0

漏洞所依赖基础软件的操作系统信息(VSOS):ubuntu18.04

漏洞利用前置条件(EDP):需要提升权限

漏洞利用前置实现(EDI):需要获取管理员权限

漏洞利用(EXP):未过滤字符的路径遍历漏洞利用

漏洞利用预期效果(EEE):信息泄露

漏洞利用预期结果(ERE):获取服务器中敏感信息

经过漏洞信息验证单元,计算出该漏洞的GOF>GOFt,确定该漏洞可利用,将通过验证的漏洞1的信息发送给漏洞信息存储单元。

参照图3,图3为本申请漏洞信息处理方法优选实施例的漏洞关系示意图。依次完成对场景1中所有的漏洞信息处理后,漏洞信息存储单元将所涉及到的数据输入到漏洞关系生成单元,将场景1中涉及到的所有漏洞信息进行汇总处理。在靶标M中存在的已被验证的漏洞1、漏洞2的和漏洞3,且2和3的漏洞利用前置条件为信息泄露。同一场景中靶标N中存在漏洞1的漏洞利用前置条件为信息泄露,关系如图2所示。

将以上多来源的信息输入到漏洞信息处理单元进行处理,得到目标漏洞1的植入描述信息文件,生成内容如下:

漏洞通用编号(CVN):CVE202015026

漏洞描述编号(VDN):scene1_targetM_1

漏洞类型(VT):信息泄露

漏洞利用难度评分(VES):3.0

漏洞所依赖基础软件名称(VSN):bludit

漏洞所依赖基础软版本(VSV),3.12.0

漏洞所依赖基础软件的操作系统信息(VSOS):ubuntu18.04

漏洞内部连通性(VIC):VIC_M_1→VIC_M_2,VIC_M_1→VIC_M_3

漏洞外部连通性(VEC):VEC_targetM_1→VEC_targetN_1

漏洞利用前置条件(EDP):需要提升权限

漏洞利用前置实现(EDI):需要获取管理员权限

漏洞利用(EXP):未过滤字符的路径遍历漏洞利用

漏洞利用预期效果(EEE):信息泄露

漏洞利用预期结果(ERE):获取服务器中敏感信息

将漏洞关系生成单元所产生的场景1中所有漏洞输入给漏洞集成单元,现规定该场景中只有一个靶标,靶标中存在A、B、C三个漏洞,向漏洞集成单元输入A、B、C的漏洞植入描述文件,利用前置条件和漏洞预期效果分为1、2、3、4四种类型,则得到的漏洞预期利用效果关系图的过程如图3所示。

参照图4,图4为本申请漏洞信息处理方法优选实施例的漏洞关系网络节点图。根据图可以得到如下攻击路径:

1→A→2、2→B→3、2→B→1、1→C→4、2→C→4;

1→A→2→B→3、1→A→2→C→4、1→A→2→B→1→C→4和2→B→1→C→4。

同一漏洞利用预期效果关系图可以生成多个不同的漏洞预期结果关系图。举例如下,若存在漏洞A和B,A漏洞预期利用效果记作A1,A漏洞预期利用结果记作a1;B漏洞预期利用效果记作B1,B漏洞预期利用结果记作b1,其中a1是A1的一个实例化对象,b1是B1的一个实例化对象。

B漏洞利用的前置条件被A漏洞预期利用效果A1满足,则A漏洞利用的效果A1可能导致B漏洞预期利用效果B1成功,成功率记为ES_A1B1。

B漏洞利用的前置条件被A漏洞预期利用效果A1满足,则A漏洞利用的效果A1可能导致B漏洞预期利用结果b1成功,成功率记为ES_A1b1,且ES_A1B1>ES_A1b1。

B漏洞利用的前置实现被A漏洞预期利用结果a1满足,则A漏洞利用的结果a1可能导致B漏洞预期利用结果b1成功,成功率记为ES_a1b1,且ES_A1B1>ES_A1b1>ES_a1b1。

B漏洞利用的前置实现被A漏洞预期利用结果a1满足,则A漏洞利用的结果a1可能导致B漏洞预期利用效果B1成功,成功率记为ES_a1B1,且ES_A1B1>ES_a1B1>ES_a1b1。

B漏洞利用的前置条件无法被A漏洞利用预期效果A1满足,则A漏洞利用预期效果A1不可能导致B漏洞利用效果B1成功。

B漏洞利用的前置实现无法被A漏洞利用预期效果A1满足,则A漏洞利用预期效果A1不可能导致B漏洞利用结果b1成功。

B漏洞利用的前置条件无法被A漏洞利用预期结果a1满足,则A漏洞利用预期结果a1不可能导致B漏洞利用效果B1成功。

B漏洞利用的前置实现无法被A漏洞利用预期结果a1满足,则A漏洞利用预期结果a1不可能导致B漏洞利用结果b1成功。

即场景中的漏洞如果可以满足漏洞预期结果关系图,则一定可以满足漏洞利用预期效果关系图,但场景中的漏洞如果可以满足漏洞利用预期效果关系图,但不一定能满足漏洞预期结果关系图;漏洞利用预期效果图可以作为网络靶场中演练方案的蓝图,漏洞预期利用结果图可以作为网络靶场中演练方案的具体实现的指导图。

部分漏洞效果分类:

信息泄露:SQL注入、XSS、目录遍历、弱口令等均可导致敏信息泄露,攻击者可以通过漏洞获得信息。

后门漏洞:后门一般是指那些绕过安全性控制而获取对程序或系统访问权的程序方法。

弱口令:由常用数字、字母、字符等组合成的,容易被别人通过简单及平常的思维方式就能猜到的密码,利用弱口令结合计算机系统等漏洞可以做到入侵的事半功倍的效果。

文件包含:通过引入文件时,引用的文件名,用户可控,由于传入的文件名没有经过合理的校验,或者检验被绕过,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入。服务器通过PHP(Hypertext Preprocessor,超文本预处理器)的特性(函数)去包含任意文件时,由于要包含的这个文件来源过滤不严,从而可以去包含一个恶意文件,而我们可以构造这个恶意文件来达到邪恶的目的。

SSRF(Server-Side Request Forgery,服务端请求为伪造):一种由攻击者构造形成由服务器端发起请求的一个安全漏洞。一般情况下,攻击的目标是从外网无法访问的内部系统。SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL(Uniform Resource Locator,统一资源定位器)地址获取网页文本内容,加载指定地址的图片,下载等等。

未授权访问:需要安全配置或权限认证的地址、授权页面存在漏洞,导致其他用户可以直接访问,从而引发重要权限可被操作、数据库、网站目录等敏感信息泄露。

权限提升:利用系统中的安全漏洞或是别的方法使得自己突破了原来的限制,能够非法访问对方目录甚至是使得自己能够向管理员那样来获取整个系统控制,简称提权。

权限绕过:攻击者绕过权限认证对敏感内容或功能进行非授权访问。

注入漏洞:注入漏洞是因为字符过滤不严谨所造成的,可以得到管理员的账号密码等相关资料。

物理路径泄露:路径泄露是属于低风险等级一类的漏洞,它的危害一般被描述为“攻击者可以利用此漏洞得到的信息对系统进行进一步的攻击”,提供Web、FTP(FileTransfer Protocol,文件传输协议)、SMIP(Simple Mail Transfer Protocol,简单邮件传输协议)等公共服务的服务器都有可能出现物理路径泄露的问题。

目录遍历:由于web服务器或者web应用程序对用户输入的文件名称的安全性验证不足而导致的一种安全漏洞,使得攻击者通过利用一些特殊字符就可以绕过服务器的安全限制,访问任意的文件(可以使web根目录以外的文件),甚至执行系统命令。程序在实现上没有充分过滤用户输入的../之类的目录跳转符,导致恶意用户可以通过提交目录跳转来遍历服务器上的任意文件。

设计缺陷:产品在最初设计时由于未考虑全面,而使产品在使用中存在的一些潜在的漏洞。

逻辑漏洞:逻辑错误漏洞是指由于程序逻辑不严或逻辑太复杂,导致一些逻辑分支不能够正常处理或处理错误,一般出现在任意密码修改(没有旧密码验证)、越权访问、密码找回、交易支付金额。

配置错误:安全配置缺失/安全配置错误,信息系统的缺陷,如果被攻击者利用,以达到破坏信息系统可用性、完整性、保密性的目的。

会话预测漏洞:攻击者推断或猜测出会话凭证,劫持用户会话或仿冒用户,从而获得非授权访问。如在给用户传送的cookies(某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上经过加密的数据,由用户客户端计算机暂时或永久保存的信息)时,用户有可能利用该信息猜测到会话ID(Identity document,身份标识号)。如果成功利用该安全漏洞,恶意用户就可以获取其它合法用户的基于cookie的认证,从而利用该用户的权限进行破坏活动。

会话管理漏洞:Web应用程序允许重复使用会话凭证或会话ID,导致攻击者冒充其他用户身份。

不安全的直接对象引用:不安全的对象直接引用(Insecure direct objectreferences),指一个已经授权的用户,通过更改访问时的一个参数,从而访问到了原本其并没有得到授权的对象。当生成web页面时应用经常使用一个对象的准确名字或者键值。应用不经常检查用户是否对该目标对象有权限。这是由于一个不安全的直接对象引用漏洞导致的。

未验证的重定向和转发:Web应用程序在重定向至其他网页和网站时,接收不受信任的数据来确定目标网页,攻击者可将用户重定向至钓鱼或恶意网站,或访问未经授权的网页。

拒绝服务漏洞:攻击者想办法让目标机器停止提供服务或资源访问,是黑客常用的攻击手段之一。这些资源包括磁盘空间、内存、进程甚至网络带宽,从而阻止正常用户的访问。典型的拒绝服务攻击有如下两种形式:资源耗尽和资源过载。拒绝服务攻击大多是由于错误配置或者软件弱点导致的。

组件漏洞:指的是开发人员使用的组件含有漏洞,这些漏洞能被自动化工具发现和利用。然后攻击者根据需要定制攻击代码并实施攻击。

XML(Extensible Markup Language,可扩展标记语言)注入漏洞:如同HTML(HyperText Markup Language,超文本标记语言)脚本注入一样,在输出中包含攻击者提供的数据的地方,XML是容易受到攻击的。三种最常见的XML注入攻击是:XML数据注入、XSLT注入(Extensible Stylesheet Language Transformation,可扩展样式表语言转换)和XPath(Xml Path Language,XML路径语言)或XQuery(Xml Query Language,XML查询语言)注入。

暴力破解:因认证强度低于业务安全要求或登录页面未使用验证码校验机制,攻击者可以通过穷举方式自动猜测用户登录身份凭证,会话凭证以及未公开目录及文件名。

自动表单提交:攻击者使用表单提交工具,向登录、注册服务等表单自动提交信息的恶意行为。

不安全密码恢复机制:网站采用了不安全的密码恢复机制,攻击者可以通过暴力破解、安全问题猜测等手段绕过密码恢复机制,从而非法获得、更改或回复他人的密码。

非授权访问漏洞:简单说就是未经授权可以直接访问后台页面,具体说是因用户账号设计不合理或服务端未做权限校验,web应用未能有效执行授权检查,攻击者可以违反安全策略,执行权限之外的功能或者访问权限之外的数据或功能。

不恰当的错误处理:基于后台数据库的web应用在出现错误时会输出过于丰富的信息,比如错误类型,出现错误脚本的绝对路径,网页主目录的绝对路径,出现错误的sql语句及参数,软件的版本,系统的配置信息等。信息泄漏本身并不太重要,但结合其他漏洞可极大地提高攻击入侵的效率。

URL猜测:攻击者通过猜测不在正常网站目录树的URL链接,进一步实现越权访问

敏感信息泄漏:攻击者在实施攻击前收集应用程序信息,包括web服务器软件类型及版本,web应用程序编程语言、数据库版本、文件路径等信息。

目录遍历攻击漏洞:服务端将Web服务器路径直接输出到页面的隐藏表单中或其他地方,攻击者操纵输入参数使应用系统执行或透露任意文件内容,或对服务器任意文件目录进行读写删除等操作。

安全审计功能缺失漏洞:缺乏有效的安全审计功能,无法对应应用程序重要安全事件进行审计。

示例性的,本申请还提供漏洞信息处理装置,所述漏洞信息处理装置包括:

第一获取模块,用于获取网络靶场中漏洞的字段信息;

确定模块,用于基于所述字段信息,确定所述漏洞的可利用性;

第一生成模块,用于若所述漏洞具有可利用性,则基于所述字段信息,生成所述漏洞的利用关系图,以供用户基于所述利用关系图对所述漏洞的攻击路径进行演练。

示例性的,所述漏洞信息处理装置还包括:

第一计算模块,用于基于所述字段信息,计算所述漏洞的拟合度值;

判断模块,用于若所述拟合度值大于或等于所述预设拟合度值,则所述漏洞具有所述可利用性。

示例性的,所述漏洞信息处理装置还包括:

第二生成模块,用于生成第一预设数量的第一验证载荷,其中,所述第一验证载荷是符合所述字段信息中漏洞利用前置实现的漏洞利用条件;

混淆模块,用于对各所述第一验证载荷进行混淆处理,并记录混淆次数;

第一赋值模块,用于将各所述第一验证载荷对应的验证值赋值为预设数值,并从所述第一验证载荷中确定第二验证载荷,记录所述第二验证载荷的载荷数量;

第二计算模块,用于基于所述第一预设数量、所述混淆次数、所述预设数值以及所述载荷数量,计算所述拟合度值。

示例性的,所述漏洞信息处理装置还包括:

第一遍历模块,用于遍历各所述第一验证载荷;

第一输入模块,用于将遍历到的第一验证载荷输入所述漏洞,得到所述漏洞的实际利用结果;

第二赋值模块,用于若所述实际利用结果与所述字段信息中的预期利用效果一致,则将所述遍历到的第一验证载荷对应的所述验证值赋值为预设数值,同时将所述遍历到的第一验证载荷确定为第二验证载荷,并记录所述第二验证载荷的载荷数量。

示例性的,所述漏洞信息处理装置还包括:

第三生成模块,生成第二预设数量的第三验证载荷,其中所述第三验证载荷是不符合所述字段信息中漏洞利用前置实现的漏洞利用条件;

第二遍历模块,用于遍历所述第三验证载荷;

第二输入模块,用于将遍历到的第三验证载荷输入所述漏洞,得到所述漏洞的实际利用结果;

输出模块,用于若所述实际结果与所述字段信息中的预期利用结果一致,则输出报错信息,以供所述用户对所述字段信息进行修改。

示例性的,所述漏洞信息处理装置还包括:

第二获取模块,用于从所述字段信息中获取所述漏洞的输入信息与输出信息;

第四生成模块,用于若所述输入信息与所述输出信息相同,则将所述漏洞作为关系图节点,并连接所述关系图节点,生成所述漏洞的利用关系图。

示例性的,所述漏洞信息处理装置还包括:

第三获取模块,用于获取所述漏洞的特征数据;

分类模块,用于对所述特征数据进行分类处理,得到所述字段信息。

本申请漏洞信息处理装置具体实施方式与上述漏洞信息处理方法各实施例基本相同,在此不再赘述。

此外,本申请还提供一种漏洞信息处理设备。如图5所示,图5是本申请实施例方案涉及的硬件运行环境的结构示意图。

示例性的,图5即可为漏洞信息处理设备的硬件运行环境的结构示意图。

如图5所示,该漏洞信息处理设备可以包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501、通信接口502和存储器503通过通信总线504完成相互间的通信,存储器503,用于存放计算机程序;处理器501,用于执行存储器503上所存放的程序时,实现漏洞信息处理方法的步骤。

上述漏洞信息处理设备提到的通信总线504可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(ExtendedIndustry StandardArchitecture,EISA)总线等。该通信总线504可以分为地址总线、数据总线和控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口502用于上述漏洞信息处理设备与其他设备之间的通信。

存储器503可以包括随机存取存储器(Random Access Memory,RMD),也可以包括非易失性存储器(Non-Volatile Memory,NM),例如至少一个磁盘存储器。可选的,存储器503还可以是至少一个位于远离前述处理器501的存储装置。

上述的处理器501可以是通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本申请漏洞信息处理设备具体实施方式与上述漏洞信息处理方法各实施例基本相同,在此不再赘述。

此外,本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有漏洞信息处理程序,所述漏洞信息处理程序被处理器执行时实现如上所述的漏洞信息处理方法的步骤。

本申请计算机可读存储介质具体实施方式与上述漏洞信息处理方法各实施例基本相同,在此不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,设备,或者网络设备等)执行本申请各个实施例所述的方法。

以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

相关技术
  • 日志信息处理方法、装置、电子设备及可读存储介质
  • 信息处理方法、装置、电子设备及可读存储介质
  • 信息处理方法和装置、电子设备、计算机可读存储介质
  • 基于AR的信息处理方法、装置、设备及可读存储介质
  • 信息处理方法、装置、电子设备及计算机可读存储介质
  • 漏洞信息处理方法、装置、电子设备及可读存储介质
  • 漏洞信息确定方法、装置、计算机可读存储介质及设备
技术分类

06120116510137