《攻击检测规则生成方法、装置、电子设备及存储介质.pdf》由会员分享,可在线阅读,更多相关《攻击检测规则生成方法、装置、电子设备及存储介质.pdf(25页珍藏版)》请在专利查询网上搜索。
1、(19)国家知识产权局(12)发明专利申请(10)申请公布号 (43)申请公布日 (21)申请号 202310762490.8(22)申请日 2023.06.26(71)申请人 北京天融信网络安全技术有限公司地址 100085 北京市海淀区上地东路1号院3号楼四层 申请人 北京天融信科技有限公司北京天融信软件有限公司(72)发明人 秦续强于秉轩秦纪伟(74)专利代理机构 北京超凡宏宇专利代理事务所(特殊普通合伙)11463专利代理师 唐正瑜(51)Int.Cl.H04L 9/40(2022.01)(54)发明名称一种攻击检测规则生成方法、装置、电子设备及存储介质(57)摘要本申请提供一种攻击检。
2、测规则生成方法、装置、电子设备及存储介质,该方法包括:获取攻击特征集合;所述攻击特征集合包括第一流向攻击特征,以及每一所述第一流向攻击特征的协议关键字;根据所述第一流向攻击特征的所述协议关键字,获取所述第一流向攻击特征对应的第二流向攻击特征;基于所述第二流向攻击特征对所述攻击特征集合中的攻击特征进行扩充,获得更新攻击特征集合;所述更新攻击特征集合包括更新后的攻击特征;基于所述更新后的攻击特征,以及所述更新后的攻击特征对应的所述协议关键字,生成攻击检测规则;所述攻击检测规则用于检测流量数据是否为网络攻击数据。通过将第一流向攻击特征和第二流向攻击特征关联,生成双向检测规则。权利要求书2页 说明书1。
3、9页 附图3页CN 116614306 A2023.08.18CN 116614306 A1.一种攻击检测规则生成方法,其特征在于,包括:获取攻击特征集合;所述攻击特征集合包括第一流向攻击特征,以及每一所述第一流向攻击特征的协议关键字;根据所述第一流向攻击特征的所述协议关键字,获取所述第一流向攻击特征对应的第二流向攻击特征;基于所述第二流向攻击特征对所述攻击特征集合中的攻击特征进行扩充,获得更新攻击特征集合;所述更新攻击特征集合包括更新后的攻击特征;基于所述更新后的攻击特征,以及所述更新后的攻击特征对应的所述协议关键字,生成攻击检测规则;所述攻击检测规则用于检测流量数据是否为网络攻击数据。2.。
4、根据权利要求1所述的方法,其特征在于,所述根据所述第一流向攻击特征的所述协议关键字,获取所述第一流向攻击特征对应的第二流向攻击特征,包括:从流量日志中获取包含所述协议关键字的执行命令集,以及所述执行命令集对应的执行结果数据集;基于所述协议关键字,将所述执行命令集和所述第一流向攻击特征进行关联分析,获取所述第一流向攻击特征对应的目标执行结果;根据所述目标执行结果,获得所述第一流向攻击特征对应的所述第二流向攻击特征。3.根据权利要求2所述的方法,其特征在于,所述基于所述协议关键字,将所述执行命令集和所述第一流向攻击特征进行关联分析,获取所述第一流向攻击特征对应的目标执行结果,包括:将所述执行命令中。
5、的协议关键词,和所述第一流向攻击特征的协议关键字进行匹配,获得与所述第一流向攻击特征相关联的目标执行命令;根据目标执行命令,在所述执行结果数据集中确定所述第一流向攻击特征对应的所述目标执行结果。4.根据权利要求2所述的方法,其特征在于,所述根据所述目标执行结果,获得所述第一流向攻击特征对应的所述第二流向攻击特征,包括:若所述目标执行结果表征执行成功,则从所述流量日志中确定所述第一流向攻击特征对应的攻击成功报文;从所述攻击成功报文中提取出所述第一流向攻击特征对应的所述第二流向攻击特征;所述第二流向攻击特征包括状态码、响应体的类或响应体的函数中的至少一项。5.根据权利要求1所述的方法,其特征在于,。
6、所述获取攻击特征集合,包括:根据流量日志的传输协议确定所述协议关键字;基于所述协议关键字对预先获取的网络流量数据进行信息提取,生成训练数据;所述训练数据包括攻击训练数据和安全训练数据;对所述训练数据进行训练,获得攻击检测模型;通过所述攻击检测模型,对待检测数据进行检测,从待检测数据中确定预测攻击数据;根据所述预测攻击数据和所述攻击数据,生成所述攻击特征集合。6.根据权利要求1所述的方法,其特征在于,所述基于所述更新后的攻击特征,以及所述更新后的攻击特征对应的所述协议关键字,生成攻击检测规则,包括:将所述更新后的攻击特征转换为预设格式数据;权利要求书1/2 页2CN 116614306 A2根据。
7、所述预设格式数据,以及所述更新后的攻击特征对应的所述协议关键字,按照预设的规则生成语法,生成所述攻击检测规则。7.根据权利要求16任一所述的方法,其特征在于,在所述基于所述更新后的攻击特征,以及所述更新后的攻击特征对应的所述协议关键字,生成攻击检测规则之后,所述方法还包括:利用检测引擎对所述攻击检测规则进行校验,确认所述攻击检测规则的语法是否正确;若所述攻击检测规则的语法正确,则通过所述检测引擎利用验证流量数据,输出所述攻击检测规则的命中结果;所述命中结果用于表征所述攻击检测规则检测所述流量数据是否为网络攻击数据的准确性。8.一种攻击检测规则生成装置,其特征在于,包括:获取攻击特征模块,用于获。
8、取攻击特征集合;所述攻击特征集合包括第一流向攻击特征,以及每一所述第一流向攻击特征的协议关键字;关联模块,用于根据所述第一流向攻击特征的所述协议关键字,获取所述第一流向攻击特征对应的第二流向攻击特征;扩充特征模块,用于基于所述第二流向攻击特征对所述攻击特征集合中的攻击特征进行扩充,获得更新攻击特征集合;所述更新攻击特征集合包括更新后的攻击特征;规则生成模块,用于基于所述更新后的攻击特征,以及所述更新后的攻击特征对应的所述协议关键字,生成攻击检测规则;所述攻击检测规则用于检测流量数据是否为网络攻击数据。9.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读。
9、指令,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一所述的方法。10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任一所述的方法。权利要求书2/2 页3CN 116614306 A3一种攻击检测规则生成方法、装置、电子设备及存储介质技术领域0001本申请涉及网络安全领域,具体而言,涉及一种攻击检测规则生成方法、装置、电子设备及存储介质。背景技术0002随着互联网的持续发展,各种网络攻击手段层出不穷,为网络安全带来极大挑战。为了保障企业的网络安全,及时发现网络攻击至关重要,为进一步分析、应急处置、取证溯源等。
10、争取到更多宝贵时间。目前,通过检测类安全设备发现网络攻击是最常见的方式,而安全设备中内置的检测规则是检测的核心。目前的网络攻击检测规则,根据网络流量请求报文中的漏洞生成,攻击特征单一,这样生成的网络攻击检测规则检测准确率较低。发明内容0003本发明实施例的目的在于一种攻击检测规则生成方法、装置、电子设备及存储介质,将第一流向攻击特征和第二流向攻击特征相关联,不仅针对网络流量请求报文中的攻击特征生成网络攻击检测规则,还会根据对应的响应部分报文的攻击特征,生成网络攻击检测规则,提高网络攻击检测规则的准确性。0004第一方面,本申请实施例提供了一种攻击检测规则生成方法,包括:获取攻击特征集合;所述攻。
11、击特征集合包括第一流向攻击特征,以及每一所述第一流向攻击特征的协议关键字;根据所述第一流向攻击特征的所述协议关键字,获取所述第一流向攻击特征对应的第二流向攻击特征;基于所述第二流向攻击特征对所述攻击特征集合中的攻击特征进行扩充,获得更新攻击特征集合;所述更新攻击特征集合包括更新后的攻击特征;基于所述更新后的攻击特征,以及所述更新后的攻击特征对应的所述协议关键字,生成攻击检测规则;所述攻击检测规则用于检测流量数据是否为网络攻击数据。0005在上述的实现过程中,通过将第一流向攻击特征和其对应的第二流向攻击特征相关联,利用第二流向攻击特征对攻击特征集合中的攻击特征进行扩充,获得更新攻击特征集合,提高。
12、攻击特征的丰富度和覆盖率;利用网络流量请求报文中的攻击特征,以及响应部分报文的攻击特征,生成网络攻击检测规则,由于请求报文和响应报文相关联,可以确定攻击成功的攻击特征,提高检测规则检出网络攻击的准确性。0006可选的,在本申请实施例中,根据第一流向攻击特征的协议关键字,获取第一流向攻击特征对应的第二流向攻击特征,包括:从流量日志中获取包含协议关键字的执行命令集,以及执行命令集对应的执行结果数据集;基于协议关键字,将执行命令集和第一流向攻击特征进行关联分析,获取第一流向攻击特征对应的目标执行结果;根据目标执行结果,获得第一流向攻击特征对应的第二流向攻击特征。0007在上述的实现过程中,通过流量日。
13、志中的执行命令集及其对应的执行结果数据集,从执行结果数据集中确定第一流向攻击特征的目标执行结果,进而可以确定第一流向攻击特征对应的第二流向攻击特征,以使根据相关联的攻击特征生成双向检测规则。说明书1/19 页4CN 116614306 A40008可选的,在本申请实施例中,基于协议关键字,将执行命令集和第一流向攻击特征进行关联分析,获取第一流向攻击特征对应的目标执行结果,包括:将执行命令中的协议关键词,和第一流向攻击特征的协议关键字进行匹配,获得与第一流向攻击特征相关联的目标执行命令;根据目标执行命令,在执行结果数据集中确定第一流向攻击特征对应的目标执行结果。0009在上述的实现过程中,通过流。
14、量日志中执行命令中的协议关键词,和第一流向攻击特征的协议关键字,实现将第一流向攻击特征和执行结果数据集相关联,确定与第一流向攻击特征对应的目标执行结果。0010可选的,在本申请实施例中,根据目标执行结果,获得第一流向攻击特征对应的第二流向攻击特征,包括:若目标执行结果表征执行成功,则从流量日志中确定第一流向攻击特征对应的攻击成功报文;从攻击成功报文中提取出第一流向攻击特征对应的第二流向攻击特征;第二流向攻击特征包括状态码、响应体的类或响应体的函数中的至少一项。0011在上述的实现过程中,通过目标执行结果从流量日志中确定第一流向攻击特征对应的攻击成功报文,定位到攻击成功的漏洞攻击报文。再从攻击成。
15、功报文中提取出第一流向攻击特征对应的第二流向攻击特征,实现第一流向攻击特征和第二流向攻击特征相关联,提高攻击特征的丰富度。0012可选的,在本申请实施例中,获取攻击特征集合,包括:根据流量日志的传输协议确定协议关键字;基于协议关键字对预先获取的网络流量数据进行信息提取,生成训练数据;训练数据包括攻击训练数据和安全训练数据;对训练数据进行训练,获得攻击检测模型;通过攻击检测模型,对待检测数据进行检测,从待检测数据中确定预测攻击数据;根据预测攻击数据和攻击数据,生成攻击特征集合。0013在上述的实现过程中,通过对攻击数据和安全数据进行信息提取获得训练数据,并利用训练数据对模型继续训练获得攻击检测模。
16、型。通过攻击检测模型对待检测数据进行检测,预测出待检测数据中表征攻击数据的预测攻击数据,利用预测攻击数据对攻击特征集合进行更新,获得攻击特征集合,使得攻击特征集合中的数据更加丰富,通过模型的使用提高了获取样本集的效率,并且通过机器学习提升网络攻击检测规则的检测准确度。0014可选的,在本申请实施例中,基于更新后的攻击特征,以及更新后的攻击特征对应的协议关键字,生成攻击检测规则,包括:将更新后的攻击特征转换为预设格式数据;根据预设格式数据,以及更新后的攻击特征对应的协议关键字,按照预设的规则生成语法,生成攻击检测规则。0015在上述的实现过程中,利用更新之后的攻击特征集合和按照预设的规则生成语法。
17、,提高了网络攻击检测规则的生成效率。根据第一流向攻击特征和第二流向攻击特征分别生成请求侧的攻击检测规则和响应侧的攻击检测规则,实现双向检测规则的生成,改善响应侧的网络攻击漏检测的问题,提高发现网络攻击的准确率和检出率。0016可选的,在本申请实施例中,在基于更新后的攻击特征,以及更新后的攻击特征对应的协议关键字,生成攻击检测规则之后,方法还包括:利用检测引擎对攻击检测规则进行校验,确认攻击检测规则的语法是否正确;若攻击检测规则的语法正确,则通过检测引擎利用验证流量数据,输出攻击检测规则的命中结果;命中结果用于表征攻击检测规则检测流量数据是否为网络攻击数据的准确性。说明书2/19 页5CN 11。
18、6614306 A50017在上述的实现过程中,通过对已经生成的攻击检测规则进行语法校验以及命中校验,提高攻击检测规则的准确性,使得攻击检测规则检测到网络攻击的准确率更高,自动化地识别和处理正常和异常网络行为,同时降低误报率。0018第二方面,本申请实施例还提供了一种攻击检测规则生成装置,包括:获取攻击特征模块,用于获取攻击特征集合;所述攻击特征集合包括第一流向攻击特征,以及每一所述第一流向攻击特征的协议关键字;关联模块,用于根据所述第一流向攻击特征的所述协议关键字,获取所述第一流向攻击特征对应的第二流向攻击特征;扩充特征模块,用于基于所述第二流向攻击特征对所述攻击特征集合中的攻击特征进行扩充。
19、,获得更新攻击特征集合;所述更新攻击特征集合包括更新后的攻击特征;规则生成模块,用于基于所述更新后的攻击特征,以及所述更新后的攻击特征对应的所述协议关键字,生成攻击检测规则;所述攻击检测规则用于检测流量数据是否为网络攻击数据。0019第三方面,本申请实施例还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。0020第四方面,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上面描述的方法。0021采用本申请提供攻击检测规则生成方法、装置、电子设备及存储。
20、介质,通过将第一流向攻击特征和其对应的第二流向攻击特征相关联,利用第二流向攻击特征对攻击特征集合中的攻击特征进行扩充,获得更新攻击特征集合,提高攻击特征的丰富度和覆盖率;利用网络流量请求报文中的攻击特征,以及响应部分报文的攻击特征,生成网络攻击检测规则,提高网络攻击检测规则的准确性。附图说明0022为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。0023图1为本申请实施例提供的一种攻。
21、击检测规则生成方法的流程示意图;0024图2为本申请实施例提供的一种训练数据预处理方法;0025图3为本申请实施例提供的网络攻击检测规则的自动化生成及分析验证方法;0026图4为本申请实施例提供的攻击检测规则生成装置的结构示意图;0027图5为本申请实施例提供的电子设备的结构示意图。具体实施方式0028下面将结合附图对本申请技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本申请的技术方案,因此只作为示例,而不能以此来限制本申请的保护范围。0029除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中所使用的术语只是为了描述具体的实。
22、施例的目的,说明书3/19 页6CN 116614306 A6不是旨在于限制本申请。0030在本申请实施例的描述中,技术术语“第一”、“第二”等仅用于区别不同对象,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量、特定顺序或主次关系。在本申请实施例的描述中,“多个”的含义是两个及以上,除非另有明确具体的限定。0031传统的网络攻击检测规则仅根据网络流量请求报文中的已知攻击特征生成,即规则生成与该网络流量请求对应的响应报文无关。这样生成的网络攻击检测规则,仅能检测出请求报文中存在该漏洞的报文,可能存在该攻击行为,但并不确定该请求报文中携带的攻击特征是否攻击成功,该攻击行为是否命。
23、中。0032因此,网络攻击检测规则检出真正攻击成功的漏洞的准确率并不高,并且在检测出网络攻击之后,也不能确定该网络攻击的告警结果。进一步的,现有方法生成的网络攻击检测规则,对于响应报文中的攻击行为可能存在检测不出的情况。0033申请人通过研究发现,在网络请求报文存在攻击特征,且攻击成功的情况下,其对应的响应报文也会存在一些对应的攻击特征,基于这一发现,本申请实施例提供一种攻击检测规则生成方法,将上行攻击特征和与之对应的下行攻击特征相关联,即将请求报文对应的响应报文的攻击特征同样作为生成规则的特征,实现双向网络攻击检测规则的生成。提高攻击特征的丰富度和覆盖率,进而提高网络攻击检测规则的准确率。0。
24、034并且在上行攻击特征和下行攻击特征关联之后,若检测出存在网络攻击的请求报文,可以通过相关联的下行攻击特征,预先确定该漏洞对应的网络攻击结果,提高了网络安全性。0035请参见图1示出的本申请实施例提供的一种攻击检测规则生成方法的流程示意图。本申请实施例提供的攻击检测规则生成方法可以应用于电子设备,该电子设备可以包括终端以及服务器;其中终端具体可以为智能手机、平板电脑、计算机、个人数字助理(Personal Digital Assitant,PDA)等;服务器具体可以为应用服务器,也可以为Web服务器。该攻击检测规则生成方法可以包括:0036步骤S110:获取攻击特征集合;攻击特征集合包括第一。
25、流向攻击特征,以及每一第一流向攻击特征的协议关键字。0037步骤S120:根据第一流向攻击特征的协议关键字,获取第一流向攻击特征对应的第二流向攻击特征。0038步骤S130:基于第二流向攻击特征对攻击特征集合中的攻击特征进行扩充,获得更新攻击特征集合;更新攻击特征集合包括更新后的攻击特征。0039步骤S140:基于更新后的攻击特征,以及更新后的攻击特征对应的协议关键字,生成攻击检测规则;攻击检测规则用于检测流量数据是否为网络攻击数据。0040在步骤S110中,攻击特征集合为多个攻击特征组成的集合,攻击特征集合的形式可以为攻击特征表、攻击特征文本或攻击特征向量等。攻击特征中可以包括威胁名称、攻击。
26、类型、数据流向、攻击特征及协议关键字等信息。以攻击特征表为例,可以将威胁名称、攻击类型、数据流向、攻击特征及协议关键字作为攻击特征表的列标签,攻击特征表中的一行数据表征一条攻击特征数据。0041攻击特征集合包括第一流向攻击特征,其中,第一流向表征攻击特征的数据流向,数据流向包括上行和下行;上行指的是从客户端或终端设备发送数据到服务器或其他网络说明书4/19 页7CN 116614306 A7服务端的方向;下行则是从服务器或其他网络服务端返回数据给客户端或终端设备的方向。0042第一流向攻击特征可以为上行攻击的攻击特征,也可以为下行攻击的攻击特征。上行攻击通常指从移动设备到基站或服务器的数据传输。
27、中可能发生的网络攻击;下行攻击通常指从基站或服务器到移动设备的数据传输中可能发生的网络攻击。可以理解的,攻击特征集合还可以同时包括上行攻击特征和下行攻击特征。0043第一流向攻击特征的协议关键字是基于流量日志中的协议确定,不用的协议可以具有不同的协议关键字。以HTTP协议为例,HTTP协议关键字可以包括路径、参数和编码内容等。0044攻击特征的获取方式可以为:从网络中获取数据包(packet)和流(flow)等相关的网络流量数据,使用特征提取算法从表征网络攻击数据的流量数据中提取有用的信息作为攻击特征。具体例如,收集网络攻击Payload(有效载荷)、PoC(Proof of Concept,。
28、概念验证)、Exp(Exploit,利用)等信息,采用编程语言将特征提取方法写入脚本语言,通过脚本语言将上述收集到的信息进行特征提取,获得攻击特征。0045在步骤S120中,以第一流向攻击特征为上行攻击特征,第二流向攻击特征为下行攻击特征为例。从流量日志中可以获取到命令执行结果数据集,命令执行结果数据集可以确定执行成功的报文,第一流向攻击特征可以确定包含该攻击特征的报文,因此,将攻击特征集合中的第一流向攻击特征和命令执行结果数据集进行关联分析,可以确定攻击成功报文,从攻击成功报文中可以提取出第二流向攻击特征。第二流向攻击特征即为上行攻击特征对应的下行攻击特征。0046关联分析具体例如,流量日志。
29、中包括第一流向攻击特征和第一流向攻击特征的协议关键字,流量日志中还包括执行命令集和其对应的命令执行结果数据集。执行命令中也包括协议关键字,因此,可以基于协议关键字将第一流向攻击特征和命令执行结果数据集相关联。0047基于命令执行结果定位到上行攻击特征的攻击成功报文,从攻击成功报文中获取响应报文内容,再从响应报文内容中获取第一流向攻击特征对应的第二流向攻击特征。0048在步骤S130中,在攻击特征集合中补充第二流向攻击特征,第二流向攻击特征的列标签与第一流向攻击特征的列标签相同。以攻击特征表为例,可以以不同的行区分不同流向的攻击特征,具体例如可以在攻击特征表中将第二流向攻击特征写入,并添加对应的。
30、列信息,实现攻击特征表的扩充,获得更新攻击特征集合。0049更新攻击特征集合包括更新后的攻击特征,更新后的攻击特征可以为第一流向攻击特征和第二流向攻击特征的并集。0050在步骤S140中,在获取到更新后的攻击特征之后,根据更新后的攻击特征和其对应的协议关键字,按照规则语法结构生成网络检测规则。例如,使用规则语法结构将收集到的更新后的攻击特征和协议关键字整合到一起。攻击检测规则用于检测流量数据是否为网络攻击数据。0051在一个可选的实施例中,由于更新后的攻击特征既包括第一流向攻击特征也包括第二流向攻击特征,因此可以根据第一流向攻击特征和第二流向攻击特征分别生成请求侧的攻击检测规则和响应侧的攻击检。
31、测规则,实现双向检测规则的生成。利用双向检测规则说明书5/19 页8CN 116614306 A8对网络数据进行检测,改善响应侧的网络攻击漏检测的问题,提高发现网络攻击的准确率和检出率。0052在上述的实现过程中,通过将第一流向攻击特征和其对应的第二流向攻击特征相关联,利用第二流向攻击特征对攻击特征集合中的攻击特征进行扩充,获得更新攻击特征集合,提高攻击特征的丰富度和覆盖率;利用网络流量请求报文中的攻击特征,以及响应部分报文的攻击特征,生成网络攻击检测规则,由于请求报文和响应报文相关联,可以确定攻击成功的攻击特征,提高检测规则检出网络攻击的准确性。0053可选的,在本申请实施例中,根据第一流向。
32、攻击特征的协议关键字,获取第一流向攻击特征对应的第二流向攻击特征,包括:从流量日志中获取包含协议关键字的执行命令集,以及执行命令集对应的执行结果数据集;基于协议关键字,将执行命令集和第一流向攻击特征进行关联分析,获取第一流向攻击特征对应的目标执行结果;根据目标执行结果,获得第一流向攻击特征对应的第二流向攻击特征。0054在具体的实现过程中:流量日志是指记录网络访问流量的日志。流量日志的获取方式具体可以为:在流量监测点部署流量采集器及检测引擎,流量采集器用于收集全流量数据和告警流量数据,检测引擎可以用于规则周期性测试。将收集的流量数据解析为流量日志,流量日志内容可以包括时间戳、攻击IP及端口、目。
33、标IP及端口、协议关键字及其内容等。0055从流量日志中获取包含协议关键字的执行命令集,以及执行命令集对应的执行结果数据集。命令执行结果数据集的获取方式可以为:使用批处理命令,在多台主机自动执行命令集,并记录每一命令执行结果,对比每条命令执行的多个结果内容,保留相同内容,生成命令执行结果数据集。示例性的,ipconfig是一个Windows操作系统中的命令行工具,用于显示计算机的网络配置信息。例如ipconfig命令执行结果保留的相同内容可以为:Windows IP配置、以太网适配器、连接特定的DNS后缀、本地链接IPv6地址、IPv4地址、子网掩码和默认网关等信息。0056基于协议关键字,可。
34、以将第一流向攻击特征和命令执行结果数据集关联起来,进而可以确定第一流向攻击特征对应的目标执行结果。通过命令执行结果数据集可以确定攻击成功的报文,通过第一流向攻击特征可以确定包含该攻击特征的报文,因此,确定第一流向攻击特征对应的目标执行结果,即可确定第一流向攻击特征的告警结果。0057获取到目标执行结果之后,在流量日志中通过关联分析定位到攻击成功报文,提取出第一流向攻击特征对应的第二流向攻击特征。0058在上述的实现过程中,通过流量日志中的执行命令集及其对应的执行结果数据集,从执行结果数据集中确定第一流向攻击特征的目标执行结果,进而可以确定第一流向攻击特征对应的第二流向攻击特征,以使根据相关联的。
35、攻击特征生成双向检测规则。0059可选的,在本申请实施例中,基于协议关键字,将执行命令集和第一流向攻击特征进行关联分析,获取第一流向攻击特征对应的目标执行结果,包括:将执行命令中的协议关键词,和第一流向攻击特征的协议关键字进行匹配,获得与第一流向攻击特征相关联的目标执行命令;根据目标执行命令,在执行结果数据集中确定第一流向攻击特征对应的目标执行结果。0060在具体的实现过程中:在流量日志通过命令执行结果数据集中能确定执行成功的说明书6/19 页9CN 116614306 A9报文,但这些执行成功的报文可能并非攻击成功的报文,也有可能是运维或运营人员操作命令成功或执行命令成功。第一流向攻击特征可。
36、以查找到存在该攻击特征的报文,该报文的执行结果可以为攻击成功也可以为攻击失败,只有在确定执行结果为攻击成功的情况下,才可以从攻击成功的报文中提取出第二流向攻击特征。0061可见,仅通过执行结果数据集或第一流向攻击特征其中一个并不能确定第一流向攻击特征是否攻击成功,也不能定位到攻击成功的报文。因此,需要将第一流向攻击特征和执行结果数据集进行关联分析,通过关联成功之后确定的目标执行结果,确定攻击成功的报文。0062将第一流向攻击特征和执行结果数据集进行关联分析的过程例如:基于关键词将执行命令和第一流向攻击特征进行关联分析,例如将执行命令中的协议关键词,和第一流向攻击特征的协议关键字进行匹配,匹配成。
37、功的执行命令即为第一流向攻击特征相关联的目标执行命令。根据目标执行命令,在执行结果数据集中确定该目标执行命令对应的目标执行结果,即为第一流向攻击特征对应的目标执行结果。0063在上述的实现过程中,通过流量日志中执行命令中的协议关键词,和第一流向攻击特征的协议关键字,实现将第一流向攻击特征和执行结果数据集相关联,确定与第一流向攻击特征对应的目标执行结果。0064可选的,在本申请实施例中,根据目标执行结果,获得第一流向攻击特征对应的第二流向攻击特征,包括:若目标执行结果表征执行成功,则从流量日志中确定第一流向攻击特征对应的攻击成功报文;从攻击成功报文中提取出第一流向攻击特征对应的第二流向攻击特征;。
38、第二流向攻击特征包括状态码、响应体的类或响应体的函数中的至少一项。0065在具体的实现过程中:若目标执行结果表征执行成功,则通过目标执行结果从流量日志中确定第一流向攻击特征对应的攻击成功报文。再从攻击成功报文中获取响应部分的报文,对该响应部分的报文进行提取,提取出第一流向攻击特征对应的第二流向攻击特征。第二流向攻击特征包括状态码、响应体的类或响应体的函数中的至少一项。0066在获取到第二流向攻击特征之后,可以在攻击特征表中补充对应的第二流向攻击特征,获得更新攻击特征集合。以攻击特征表为例,如表1所示的更新攻击特征表,更新攻击特征表中可以新增“响应状态码(statuscode)”和“响应体(re。
39、sponsebody)”两列。第二行数据为第一流向攻击特征“Spring任意命令执行漏洞M1”对应的第二流向攻击特征;第二行数据为第一流向攻击特征“Spring任意命令执行漏洞M2”对应的第二流向攻击特征。说明书7/19 页10CN 116614306 A10006700680069表1更新攻击特征表0070在一个可选的实施例中,若目标执行结果表征执行失败,即第一流向攻击特征攻说明书8/19 页11CN 116614306 A11击失败,则流量日志中没有攻击成功报文,进而无法提取出第一流向攻击特征对应的第二流向攻击特征。在第一流向攻击特征无法和第二流向攻击特征进行关联的情况下,则无需使用第二流。
40、向攻击特征度攻击特征集合进行扩充,可以选择根据第一流向攻击特征生成攻击检测规则。0071在上述的实现过程中,通过目标执行结果从流量日志中确定第一流向攻击特征对应的攻击成功报文,实现定位到攻击成功的漏洞攻击报文。再从攻击成功报文中提取出第一流向攻击特征对应的第二流向攻击特征,实现第一流向攻击特征和第二流向攻击特征相关联,提高攻击特征的丰富度。0072可选的,在本申请实施例中,获取攻击特征集合,包括:根据流量日志的传输协议确定协议关键字;基于协议关键字对预先获取的网络流量数据进行信息提取,生成训练数据;训练数据包括攻击训练数据和安全训练数据;对训练数据进行训练,获得攻击检测模型;通过攻击检测模型,。
41、对待检测数据进行检测,从待检测数据中确定预测攻击数据;根据预测攻击数据和攻击数据,生成攻击特征集合。0073在具体的实现过程中:将收集的流量数据解析为流量日志,流量日志包括协议关键字。以HTTP协议为例,如表2所示,表2为HTTP协议解析结构及协议关键字。说明书9/19 页12CN 116614306 A12007400750076表2HTTP协议解析结构及协议关键字0077预先获取的网络流量数据包括正常流量数据和攻击数据;其中攻击数据可以为Payload、PoC和Exp。获取攻击数据的方式可以为:通过已有威胁情报源收集并存储攻击说明书10/19 页13CN 116614306 A13Payl。
42、oad、PoC和Exp,威胁情报源如GitHub、各安全厂商漏洞管理、安全监测平台、漏洞分享文章或攻击脚本等。此类网络流量数据信息可以通过网上的漏洞分析分享文章、也可在本地复现或客户现场收集等方式进行收集,文件存储命名格式可以为“威胁名称+攻击类型”。参见表3示出的攻击类型配置表,攻击类型配置表包括收集到的攻击数据的攻击类型、攻击类型对应的中文名称和威胁等级。0078说明书11/19 页14CN 116614306 A1400790080表3攻击类型配置表对采集到的正常流量数据和攻击数据进行信息提取,生成训练数据。可以基于协议关键字,通过训练数据生成初始化攻击特征表,该初始化特征表中的数据用于。
43、训练攻击检测模型。0081信息提取以及生成初始化特征表的过程具体例如,将上述获取到的Payload、PoC说明书12/19 页15CN 116614306 A15和Exp等训练数据,按照协议关键字进行拆分,拆分之后以文本形式记录至表格,生成初始化攻击特征表。初始化攻击特征表包括威胁名称、攻击类型、数据流向、攻击特征及协议关键字。以HPPT协议为例,HTTP协议关键字包括路径、参数、编码内容等,将攻击数据中对应的协议关键字部分的内容拆分出来,并对各个拆分出的内容进行提取和存储。如表4为初始化攻击特征表,其中,每一行数据代表一个攻击数据的不同数据流向(请求响应),例如下表中为一个样本的上下行(请求。
44、响应)内容,相同威胁名称的不同样本采用M1、M2序列进行区分。008200830084表4初始化攻击特征表0085将训练数据中攻击训练数据和安全训练数据分别添加训练标签,训练标签可以是说明书13/19 页16CN 116614306 A16正常业务数据和攻击数据,还可以将攻击训练数据的训练标签设置为攻击类型。将添加好标签的训练数据输入预设的网络模型,通过机器学习算法对已输入的样本和标签进行训练,训练后生成攻击检测模型。攻击检测模型用于对输入数据进行识别,输出是否为攻击数据;攻击检测模型还可以用于预测攻击数据的攻击类型。其中,机器学习算法包括但不限于XGBoost(eXtreme Gradien。
45、t Boosting)、朴素贝叶斯算法(Naive Bayesian algorithm)或多层感知机(Multilayer Perceptron)等。0086在获取到攻击检测模型之后,可以利用攻击检测模型对待检测数据进行检测,待检测数据可以是一些未知样本流量数据。通过攻击检测模型可以预测出待检测数据中的表征攻击数据的预测攻击数据,利用这些预测攻击数据扩大样本数量。0087根据预测攻击数据和攻击数据,生成攻击特征集合,攻击特征集合包括攻击特征表。生成攻击特征表的过程具体例如,将预测攻击数据根据协议关键字进行拆分,获得表数据;将表数据中每一协议关键字对应的内容,与初始化攻击特征表中的对应的协议关。
46、键字的内容进行比对,获取到差异部分,将差异部分添加至初始化攻击特征表;添加时可以通过逗号将差异部分与原始内容分隔开。添加之后的攻击特征表如表5所示:008800890090表5攻击特征表0091请参见图2示出的本申请实施例提供的一种训练数据预处理方法。0092作为一个可选的实施例,训练数据包括攻击训练数据和安全训练数据,其中攻击训练数据作为黑样本,安全训练数据为白样本。0093将攻击样本数据和正常业务访问数据进行预处理,预处理可以包括解码操作、统一字符大小写和去重等操作中的至少一项;解码操作例如Base64解码或URL解码等。0094以Spring任意命令执行漏洞M1为例:原始样本为“5B23。
47、this.getClass().forName(E28098java.lang.RuntimeE28099)3BgetRuntime().exec”;将原始样本的字符转小写处理“5b23this.getclass().forname(e28098java.lang.runtimee28099)3bgetruntime().exec”;然后进行URL解码,获得“#this.getclass().forname(java.lang.runtime);getruntime().exec”,即完成了该条攻击样本数据的预处理操作。0095将上述预处理完的样本,使用NGram建模,以2Gram为例进行拆词。
48、并去重,生成多个词的组合。使用TFIDF模型,将文本转换成数值矩阵,每一行表示样本数,每一列表示一说明书14/19 页17CN 116614306 A17个词,样本中不重复的词的数量,则表示矩阵的列数。TFIDF模型可以对文本集合中的某个词语在每个文档出现的频率进行统计。0096可以根据统计数据对相同的样本数据进行去重,还可以根据生成的多个词的组合生成的样本集,扩大样本数量。0097上述示例中只有一个样本,样本包含50个不同的词,故输出一个1*50的矩阵。其中TFIDFTF*IDF,TF表示词或攻击特征在文档中出现的次数,IDF反映词或攻击特征在文档中出现的频率。0098可以将预处理之后的训练。
49、数据划分为样本集和测试集。划分比例根据实际需求确定,例如样本为80集,测试集为20;或样本为70集,测试集为30。0099预处理之后的数据,可以避免重复数据生成相同的规则,提高训练数据的精度,提高规则生成的效率。0100在上述的实现过程中,通过对攻击数据和安全数据进行信息提取获得训练数据,并利用训练数据对模型继续训练获得攻击检测模型。通过模型对待检测数据进行检测,预测出待检测数据中表征攻击数据的预测攻击数据,利用预测攻击数据对攻击特征集合进行更新,使得攻击特征集合中的数据更加丰富。以及通过模型的使用提高了获取样本集的效率,并且通过机器学习提升网络攻击检测规则的检测准确度。0101可选的,在本申。
50、请实施例中,基于更新后的攻击特征,以及更新后的攻击特征对应的协议关键字,生成攻击检测规则,包括:将更新后的攻击特征转换为预设格式数据;根据预设格式数据,以及更新后的攻击特征对应的协议关键字,按照预设的规则生成语法,生成攻击检测规则。0102在具体的实现过程中:将上述实施例中由预测攻击数据和攻击数据,生成的攻击特征集合中的攻击特征进行数据转换,获得预设格式数据,转换格式可以为json格式,也可以为其他格式。0103将预设格式数据发送规则生成模块,根据协议关键字自动按照规则语法结构生成网络攻击双向检测规则。具体例如,规则生成语法格式可以为:“(msg:;协议关键字1;content:协议关键字匹配。