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

攻击检测方法、装置、介质及设备与流程

2022-04-09 12:10:02 来源:中国专利 TAG:


1.本技术属于网络技术与安全技术领域,具体涉及一种攻击检测方法、攻击检测装置、计算机可读介质及电子设备。


背景技术:

2.随着信息化技术的发展,针对核心信息系统和关键信息基础设施的安全事件频发,很多攻击手法可能以片段的碎片化形式隐藏在请求中,难以被现有的防范网络攻击的方法检测出来,从而使得防护失效。
3.在此背景下,如何有效地检测出隐藏在请求中的攻击片段,是目前亟需解决的技术问题。
4.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本技术的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

5.本技术的目的在于提供一种攻击检测方法、攻击检测装置、计算机可读介质及电子设备,至少在一定程度上解决如何有效地检测出隐藏请求中的攻击片段的技术问题。
6.本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。
7.根据本技术实施例的一个方面,提供一种攻击检测方法,所述攻击检测方法包括:
8.获取待检测请求序列,并对待检测请求序列进行分词处理,得到所述待检测请求序列的分词;
9.对所述分词进行编码处理,得到所述分词对应的序列编码;
10.对所述序列编码进行特征提取,得到第一隐层特征;
11.获取预训练的片段定位器,所述片段定位器用于定位所述待检测请求序列中预设数量个的具有预设特征的片段;
12.对所述第一隐层特征和所述片段定位器进行特征提取,得到第二隐层特征;
13.对所述第二隐层特征进行回归处理,得到所述待检测请求序列的攻击片段的片段起点位置、片段终点位置以及片段类型,所述片段类型用于表示片段的攻击类型。
14.根据本技术实施例的一个方面,提供一种攻击检测装置,所述攻击检测装置包括:
15.分词模块,被配置为获取待检测请求序列,并对待检测请求序列进行分词处理,得到所述待检测请求序列的分词;
16.编码模块,被配置为对所述分词进行编码处理,得到所述分词对应的序列编码;
17.第一特征提取模块,被配置为对所述序列编码进行特征提取,得到第一隐层特征;
18.定位器获取模块,被配置为获取预训练的片段定位器,所述片段定位器用于定位所述待检测请求序列中预设数量个的具有预设特征的片段;
19.第二特征提取模块,被配置为对所述第一隐层特征和所述片段定位器进行特征提
取,得到第二隐层特征;
20.回归模块,被配置为对所述第二隐层特征进行回归处理,得到所述待检测请求序列的攻击片段的片段起点位置、片段终点位置以及片段类型,所述片段类型用于表示片段的攻击类型。
21.在本技术的一些实施例中,基于以上技术方案,所述第一特征提取模块包括:
22.第一特征提取单元,被配置为将所述序列编码输入到预训练的机器学习模型的编码特征提取器中,得到所述第一隐层特征;
23.所述第二特征提取模块,包括:
24.第二特征提取单元,被配置为将所述第一隐层特征和所述片段定位器输入到预训练的机器学习模型的解码特征提取器中,得到第二隐层特征。
25.在本技术的一些实施例中,基于以上技术方案,所述攻击检测装置还包括:
26.训练单元,被配置为将训练请求序列输入到所述机器学习模型中,以所述训练请求序列中各个攻击片段的片段起点位置、片段终点位置以及片段类型作为输出,对所述机器学习模型进行训练。
27.在本技术的一些实施例中,基于以上技术方案,所述攻击检测装置还包括:
28.第一损失值计算单元,被配置为根据模型输出的攻击片段的位置与所述训练请求序列中实际的攻击片段的位置计算第一损失值,所述第一损失值用于表示模型输出的攻击片段的位置与所述训练请求序列中实际的攻击片段的位置的差异;
29.第二损失值计算单元,被配置为根据模型输出的攻击片段的片段类型与所述训练请求序列中实际的攻击片段的片段类型计算第二损失值,所述第二损失值用于表示模型输出的攻击片段的片段类型与所述训练请求序列中实际的攻击片段的片段类型的差异;
30.综合损失值计算单元,被配置为对所述第一损失值和所述第二损失值进行加权求和得到综合损失值;
31.训练结束单元,被配置为当所述综合损失值小于预设值时,结束对所述机器学习模型的训练。
32.在本技术的一些实施例中,基于以上技术方案,所述第一损失值计算单元包括:
33.匹配关系获取子单元,被配置为当所述根据模型输出的攻击片段的位置与所述训练请求序列中实际的攻击片段的位置的对应关系无法确定时,得到模型输出的攻击片段的位置与所述训练请求序列中实际的攻击片段的位置的多个匹配关系;
34.备选第一损失值计算子单元,被配置为根据各个匹配关系分别计算对应的备选第一损失值;
35.第一损失值确定子单元,被配置为将各个所述备选第一损失值中最小的值作为所述第一损失值。
36.在本技术的一些实施例中,基于以上技术方案,所述综合损失值计算单元包括:
37.初始化子单元,被配置为初始化第一权重、第二权重和修正参数;
38.权重确定单元,被配置为将所述第一权重作为所述第一损失值的权重,将所述第二权重作为所述第二损失值的权重;
39.中间值获取子单元,被配置为将所述第一损失值与所述第一权重相乘,将所述第二损失值与所述第二权重相乘,将所述第一损失值与所述第一权重相乘得到的值与所述第
二损失值与所述第二权重相乘得到的值相加得到中间值;
40.修正子单元,被配置为通过与所述修正参数相加或相乘的方式,对所述中间值进行修正,得到所述综合损失值。
41.在本技术的一些实施例中,基于以上技术方案,所述片段定位器包括请求数量参数、攻击片段数量参数以及向量维数参数,其中,所述请求数量参数、所述攻击片段数量参数以及所述向量维数参数均在模型训练过程中优化,其中,所述请求数量参数用于表示所述待检测请求序列所包括的预计请求条数,所述攻击片段数量参数用于表示所述待检测请求序列中所包括的攻击片段的预计数量,所述向量维度参数用于表示预训练得到的机器学习模型的运算向量的向量维数。
42.根据本技术实施例的一个方面,提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如以上技术方案中的攻击检测方法。
43.根据本技术实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器被配置为经由执行可执行指令来执行如以上技术方案中的攻击检测方法。
44.根据本技术实施例的一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上技术方案中的攻击检测方法。
45.在本技术实施例提供的技术方案中,获取待检测请求序列,并对待检测请求序列进行分词处理,得到待检测请求序列的分词;对分词进行编码处理,得到分词对应的序列编码;对序列编码进行特征提取,得到第一隐层特征;获取预训练的片段定位器,对第一隐层特征和片段定位器进行特征提取,得到第二隐层特征;对第二隐层特征进行回归处理,得到待检测请求序列的攻击片段的片段起点位置、片段终点位置以及片段类型;从而,能够通过对待检测请求序列的序列编码进行特征提取,并且对得到的第一隐层特征和片段定位器再进行特征提取,再对得到的第二隐层特征进行回归处理,实现对于攻击片段的片段位置和片段类型的预测,能够有效地检测出隐藏在请求中的攻击片段,进而能够提高对于网络攻击的防范效果。
46.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
47.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
48.图1示意性地示出了应用本技术技术方案的示例性装置架构框图。
49.图2示意性地示出了本技术某些实施方式的攻击检测方法的步骤流程图。
50.图3示意性地示出了本技术某实施例在对机器学习模型进行训练的过程中还可以包括的步骤流程。
51.图4示意性地示出了本技术某实施例中根据模型输出的攻击片段的位置与训练请求序列中实际的攻击片段的位置计算第一损失值的步骤流程图。
52.图5示意性地示出了本技术某实施例中对第一损失值和第二损失值进行加权求和得到综合损失值的步骤流程图。
53.图6示意性地示出了本技术某实施例中对待检测请求序列进行攻击片段检测的具体流程图。
54.图7示意性地示出了本技术实施例提供的攻击检测装置的结构框图。
55.图8示意性地示出了用于实现本技术实施例的电子设备的结构框图。
具体实施方式
56.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本技术将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
57.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本技术的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本技术的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本技术的各方面。
58.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
59.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
60.图1示意性地示出了应用本技术技术方案的示例性装置架构框图。
61.如图1所示,装置架构100可以包括终端设备110、网络120和服务器130。终端设备110可以包括智能手机、平板电脑、笔记本电脑、台式电脑等各种电子设备。服务器130可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式装置,还可以是提供云计算服务的云服务器。网络120可以是能够在终端设备110和服务器130之间提供通信链路的各种连接类型的通信介质,例如可以是有线通信链路或者无线通信链路。
62.根据实现需要,本技术实施例中的装置架构可以具有任意数目的终端设备、网络和服务器。例如,服务器130可以是由多个服务器设备组成的服务器群组。另外,本技术实施例提供的技术方案可以应用于终端设备110,也可以应用于服务器130,或者可以由终端设备110和服务器130共同实施,本技术对此不做特殊限定。
63.举例而言,服务器130上可以搭载了本技术实施方式的攻击检测方法,终端设备110通过互联网发送消息与服务器130或其他服务器、客户端进行交互,服务器130可以实施本技术实施方式的攻击检测方法,获取待检测请求序列,并对待检测请求序列进行分词处理,得到待检测请求序列的分词;对分词进行编码处理,得到分词对应的序列编码;对序列编码进行特征提取,得到第一隐层特征;获取预训练的片段定位器,对第一隐层特征和片段
定位器进行特征提取,得到第二隐层特征;对第二隐层特征进行回归处理,得到待检测请求序列的攻击片段的片段起点位置、片段终点位置以及片段类型;从而,能够通过对待检测请求序列的序列编码进行特征提取,并且对得到的第一隐层特征和片段定位器再进行特征提取,再对得到的第二隐层特征进行回归处理,实现对于攻击片段的片段位置和片段类型的预测,能够有效地检测出隐藏在请求中的攻击片段,进而能够提高对于网络攻击的防范效果。
64.其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
65.下面结合具体实施方式对本技术提供的攻击检测方法做出详细说明。
66.图2示意性地示出了本技术某些实施方式的攻击检测方法的步骤流程图。该攻击检测方法的执行主体可以是终端设备,也可以是服务器等,本技术对此不设限。如图2所示,该攻击检测方法主要可以包括如下步骤s210~步骤s260。
67.s210.获取待检测请求序列,并对待检测请求序列进行分词处理,得到待检测请求序列的分词。
68.待检测请求序列可以为组成待检测的网络请求的文本序列。对待检测请求序列进行分词处理,便于后续对分词进行编码。
69.待检测请求中可能会包含多种类型的多个攻击片段。在网站web攻击中,一个恶意请求request的payload中可能包含多种类型的攻击,相关的攻击行为可能分散在payload中的多个片段中。
70.s220.对分词进行编码处理,得到分词对应的序列编码。
71.对分词进行编码处理,具体地,可以是对分词进行词嵌入编码,得到各个分词对应的词向量,并将待检测请求序列中各个词向量形成的序列作为分词对应的序列编码。
72.s230.对序列编码进行特征提取,得到第一隐层特征。
73.对序列编码进行特征提取,得到第一隐层特征,具体地,第一隐层特征可以用第一张量表示。
74.在以上实施例的基础上,步骤s230的对序列编码进行特征提取,得到第一隐层特征,可以进一步包括以下步骤:
75.将序列编码输入到预训练的机器学习模型的编码特征提取器中,得到第一隐层特征。
76.具体地,预训练的机器学习模型可以为transformer、bert等机器学习模型,本技术对此不作限制。编码特征提取器可以为transformer的encoder特征提取器。
77.在以上实施例的基础上,在步骤“将序列编码输入到预训练的机器学习模型的编码特征提取器中,得到第一隐层特征”之前,可以进一步包括以下步骤:
78.将训练请求序列输入到机器学习模型中,以训练请求序列中各个攻击片段的片段起点位置、片段终点位置以及片段类型作为输出,对机器学习模型进行训练。
79.由此,能够通过对机器学习模型进行训练,得到预训练的机器学习模型,便于利用模型对待检测请求进行攻击片段的位置检测和类型检测。
80.图3示意性地示出了本技术某实施例在对机器学习模型进行训练的过程中还可以包括的步骤流程。在以上实施例的基础上,在对机器学习模型进行训练的过程中,还可以包括以下步骤310~步骤s340:
81.310.根据模型输出的攻击片段的位置与训练请求序列中实际的攻击片段的位置计算第一损失值,第一损失值用于表示模型输出的攻击片段的位置与训练请求序列中实际的攻击片段的位置的差异;
82.320.根据模型输出的攻击片段的片段类型与训练请求序列中实际的攻击片段的片段类型计算第二损失值,第二损失值用于表示模型输出的攻击片段的片段类型与训练请求序列中实际的攻击片段的片段类型的差异;
83.330.对第一损失值和第二损失值进行加权求和得到综合损失值;
84.340.当综合损失值小于预设值时,结束对机器学习模型的训练。
85.综合损失值loss取值可以由片段位置预测损失liou(用于度量n个预测敏感片段边界和真实样本边界的差异)与分类预测损失lcross-entropy(用于度量预测敏感攻击类别与真实样本类别的差异)的加权求和值,由此,能够给同时考虑了攻击片段定位和类别判断的准确性,进而能够提高攻击片段的检测的整体的准确性,具有更好的检测效果。
86.图4示意性地示出了本技术某实施例中根据模型输出的攻击片段的位置与训练请求序列中实际的攻击片段的位置计算第一损失值的步骤流程图。如图4所示,在以上实施例的基础上,步骤s410的根据模型输出的攻击片段的位置与训练请求序列中实际的攻击片段的位置计算第一损失值,可以进一步包括以下步骤s410~步骤s430。
87.s410.当根据模型输出的攻击片段的位置与训练请求序列中实际的攻击片段的位置的对应关系无法确定时,得到模型输出的攻击片段的位置与训练请求序列中实际的攻击片段的位置的多个匹配关系;
88.s420.根据各个匹配关系分别计算对应的备选第一损失值;
89.s430.将各个备选第一损失值中最小的值作为第一损失值。
90.由此,能够在根据模型输出的攻击片段的位置与训练请求序列中实际的攻击片段的位置的对应关系无法确定时,将多个匹配关系中的最优的匹配关系对应的损失值,也即最优的损失值,作为第一损失值,可以理解,多个匹配关系中仅有一个是正确的匹配关系,正确的匹配关系下一般会具有最小的损失值,从而,能够在根据模型输出的攻击片段的位置与训练请求序列中实际的攻击片段的位置的对应关系无法确定时,仍能具有较好的训练和检测效果。
91.图5示意性地示出了本技术某实施例中对第一损失值和第二损失值进行加权求和得到综合损失值的步骤流程图。如图5所示,在以上实施例的基础上,步骤s430的对第一损失值和第二损失值进行加权求和得到综合损失值,可以进一步包括以下步骤s510~步骤s540。
92.s510.初始化第一权重、第二权重和修正参数;
93.s520.将第一权重作为第一损失值的权重,将第二权重作为第二损失值的权重;
94.s530.将第一损失值与第一权重相乘,将第二损失值与第二权重相乘,将第一损失
值与第一权重相乘得到的值与第二损失值与第二权重相乘得到的值相加得到中间值;
95.s540.通过与修正参数相加或相乘的方式,对中间值进行修正,得到综合损失值。
96.由此,通过与修正参数相加或相乘的方式,对中间值进行修正,得到综合损失值,能够提高对攻击片段的片段位置和片段类型的预测的准确度,从而能够提高对于网络攻击的防范效果。
97.s240.获取预训练的片段定位器,片段定位器用于定位待检测请求序列中预设数量个的具有预设特征的片段。
98.在以上实施例的基础上,在某些实施方式中,片段定位器包括请求数量参数、攻击片段数量参数以及向量维数参数,其中,请求数量参数、攻击片段数量参数以及向量维数参数均在模型训练过程中优化,其中,请求数量参数用于表示待检测请求序列所包括的预计请求条数,攻击片段数量参数用于表示待检测请求序列中所包括的攻击片段的预计数量,向量维度参数用于表示预训练得到的机器学习模型的运算向量的向量维数。
99.s250.对第一隐层特征和片段定位器进行特征提取,得到第二隐层特征。
100.具体地,在多层transformer decoder中,将片段定位器作为其中一个输入,将第一隐层特征作为另一个输入,得到第二隐层特征。具体实施例中,片段定位器可以以张量的形式表示,第一隐层特征也可以以张量的形式表示,以便于片段定位器与第一隐层特征之间可以进行计算。
101.在以上实施例的基础上,步骤s250的对第一隐层特征和片段定位器进行特征提取,得到第二隐层特征,可以进一步包括以下步骤:
102.将第一隐层特征和片段定位器输入到预训练的机器学习模型的解码特征提取器中,得到第二隐层特征。
103.具体地,机器学习模型的解码特征提取器可以是transformer的decoder特征提取器。由此,能够将片段定位器作为其中一个输入,将第一隐层特征作为另一个输入,得到第二隐层特征,便于后续理由第二隐层特征得到片段序列中片段位置的偏移量,以及片段的攻击类型。
104.s260.对第二隐层特征进行回归处理,得到待检测请求序列的攻击片段的片段起点位置、片段终点位置以及片段类型,片段类型用于表示片段的攻击类型。
105.由此,则通过构造一个具有多层特征提取功能的transformer encoder-decoder模型,实现多个攻击片段的定位,以及片段的攻击类型的检测,能够有效地检测出隐藏在请求中的攻击片段,进而能够提高对于网络攻击的防范效果。
106.图6示意性地示出了本技术某实施例中对待检测请求序列进行攻击片段检测的具体流程图。如图6所示,先对待检测请求序列进行预处理,例如,获取request payload序列后,对request payload序列进行分词处理,并对分词进行token&position编码及embedding形成向量化的序列输入,也即文本编码,该文本编码的张量形状可以为第一张量形状p1:
107.p1:(batch_size,seq_lenth,vocab_size pos_unit)。
108.其中,batch_size为每批训练数据样本数量,seq_lenth为待检测请求request payload的分词序列长度,vocab_size为分词的词向量token的词库规模(即one-hot向量编码长度),pos_unit为位置编码position的编码长度。
109.具体地,request payload序列的数据来源可以是流量/日志采集、http协议解析、解码过滤)等。分词处理可以是将待检测请求序列切分为字或子词等,本技术对此不作限制。
110.然后,将文本编码输入到构造的多层transformer encoder中,通过自注意力(self-attention)机制提取输入的request payload向量化序列的第一隐层特征,第一隐层特征张量形状可以为第二张量形状p2:
111.p2:(batch_size,seq_lenth,h_encoder)
112.其中,batch_size为每批训练数据样本数量,seq_lenth为request payload分词序列长度,h_encoder为每个分词经过transformer encoder的向量表示维数。
113.接着通过多层transformer decoder对第一隐层特征和预训练的片段定位器进行特征提取,得到第二隐层特征。其中,片段定位器中设置给定数目n个(n大于单条request中可能出现的敏感攻击片段个数)的预计检测出的敏感片段数量。在对片段定位器的训练过程中,可以对片段定位器进行随机的初始化,当训练结束够,片段定位器的参数也随着transformer的优化而变化,最后得到固定的最优参数。从而,在模型和片段定位器上线预测时,模型通过encoder-decoder注意力机制在decoder中对第一隐层特征和片段定位器进行特征提取,得到第二隐层特征。其中,片段定位器的张量形状可以为第三张量形状:
114.p3:(batch_size,n,h_encoder)
115.其中,batch_size为每批训练数据样本数量,n为预计检测到的敏感片段数量,h_encoder为前述分词经过transformer encoder的向量表示维数,由于第二张量形状p2的batch_size和第三张量形状p3的batch_size相同,第二张量形状p2的h_encoder和第三张量形状p3的h_encoder相同,由此,能够通过张量形状的设置确保片段定位器的张量形状p3可以与transformer encoder输出的第二张量形状p2之间进行encoder-decoder attention计算。接着,通过多层transformer decoder对第一隐层特征和预训练的片段定位器进行特征提取,得到的第二隐层特征的张量形状可以为p4:
116.p4:(batch_size,n,h_decoder)
117.其中,batch_size为每批训练数据样本数量,n为检测得到的敏感片段数量,h_decoder为每个敏感片段经过transformer decoder的向量表示维数。
118.最后,可以对第二隐层特征通过ffn回归得到n个片段的片段起点位置的偏移量start、片段终点位置的偏移量end、以及片段所属的攻击类型type。
119.在对模型的训练过程中,还需要对模型输出的n个片段的片段起点位置的偏移量start、片段终点位置的偏移量end、以及片段所属的攻击类型type并与真实攻击片段进行匹配和损失计算,得到综合损失值loss。
120.综合损失值loss可以为片段位置预测iou损失l
iou
(用于度量n个预测敏感片段边界和真实样本边界最优匹配后的差异,即第一损失值)与分类预测交叉熵损失l
cross-entropy
(用于度量预测敏感攻击类别与真实样本类别的差异,即第二损失值)的综合值。
121.综合损失值loss的计算公式可以如下:
[0122][0123]
其中,σ1和σ2均为噪声参数,可以在经过初始化后,在模型训练的多任务学习过程
中优化得到,用来平衡训练期间各个任务特定损失l
iou
和l
cross-entropy
。或者,在其他实施方式中,也可以采用其他的权重进行加权平均求和计算得到第一损失值和第二损失值,得到综合损失值。
[0124]
由此,将综合损失值loss设定为2个预测任务(片段位置的预测和片段攻击类型的预测)的平衡损失,再对模型进行训练,能够提高预测任务整体的准确度。
[0125]
可以理解,相关技术中,将仅攻击检测视为分类任务,仅能输出请求包含攻击类型,不能定位到具体敏感片段。或者,可以将检测攻击敏感片段视为nlp中的抽取式阅读理解任务,但也只能对某种攻击类型输出一个敏感片段。而本技术实施例的攻击检测方法,可以实现对请求中的多个攻击片段的定位,以及各个攻击片段的攻击类型的检测,由此,能够实现了单个请求中可能存在的复杂攻击行为的完整信息预测。
[0126]
应当注意,尽管在附图中以特定顺序描述了本技术中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
[0127]
以下介绍本技术的装置实施例。图7示意性地示出了本技术实施例提供的攻击检测装置的结构框图。本技术实施例提供的攻击检测装置可以用于执行本技术上述实施例中的攻击检测方法。如图7所示,攻击检测装置700包括:
[0128]
分词模块710,被配置为获取待检测请求序列,并对待检测请求序列进行分词处理,得到待检测请求序列的分词;
[0129]
编码模块720,被配置为对分词进行编码处理,得到分词对应的序列编码;
[0130]
第一特征提取模块730,被配置为对序列编码进行特征提取,得到第一隐层特征;
[0131]
定位器获取模块740,被配置为获取预训练的片段定位器,片段定位器用于定位待检测请求序列中预设数量个的具有预设特征的片段;
[0132]
第二特征提取模块750,被配置为对第一隐层特征和片段定位器进行特征提取,得到第二隐层特征;
[0133]
回归模块760,被配置为对第二隐层特征进行回归处理,得到待检测请求序列的攻击片段的片段起点位置、片段终点位置以及片段类型,片段类型用于表示片段的攻击类型。
[0134]
在本技术的一些实施例中,基于以上各实施例,第一特征提取模块包括:
[0135]
第一特征提取单元,被配置为将序列编码输入到预训练的机器学习模型的编码特征提取器中,得到第一隐层特征;
[0136]
第二特征提取模块,包括:
[0137]
第二特征提取单元,被配置为将第一隐层特征和片段定位器输入到预训练的机器学习模型的解码特征提取器中,得到第二隐层特征。
[0138]
在本技术的一些实施例中,基于以上各实施例,攻击检测装置还包括:
[0139]
训练单元,被配置为将训练请求序列输入到机器学习模型中,以训练请求序列中各个攻击片段的片段起点位置、片段终点位置以及片段类型作为输出,对机器学习模型进行训练。
[0140]
在本技术的一些实施例中,基于以上各实施例,攻击检测装置还包括:
[0141]
第一损失值计算单元,被配置为根据模型输出的攻击片段的位置与训练请求序列
中实际的攻击片段的位置计算第一损失值,第一损失值用于表示模型输出的攻击片段的位置与训练请求序列中实际的攻击片段的位置的差异;
[0142]
第二损失值计算单元,被配置为根据模型输出的攻击片段的片段类型与训练请求序列中实际的攻击片段的片段类型计算第二损失值,第二损失值用于表示模型输出的攻击片段的片段类型与训练请求序列中实际的攻击片段的片段类型的差异;
[0143]
综合损失值计算单元,被配置为对第一损失值和第二损失值进行加权求和得到综合损失值;
[0144]
训练结束单元,被配置为当综合损失值小于预设值时,结束对机器学习模型的训练。
[0145]
在本技术的一些实施例中,基于以上各实施例,第一损失值计算单元包括:
[0146]
匹配关系获取子单元,被配置为当根据模型输出的攻击片段的位置与训练请求序列中实际的攻击片段的位置的对应关系无法确定时,得到模型输出的攻击片段的位置与训练请求序列中实际的攻击片段的位置的多个匹配关系;
[0147]
备选第一损失值计算子单元,被配置为根据各个匹配关系分别计算对应的备选第一损失值;
[0148]
第一损失值确定子单元,被配置为将各个备选第一损失值中最小的值作为第一损失值。
[0149]
在本技术的一些实施例中,基于以上各实施例,综合损失值计算单元包括:
[0150]
初始化子单元,被配置为初始化第一权重、第二权重和修正参数;
[0151]
权重确定单元,被配置为将第一权重作为第一损失值的权重,将第二权重作为第二损失值的权重;
[0152]
中间值获取子单元,被配置为将第一损失值与第一权重相乘,将第二损失值与第二权重相乘,将第一损失值与第一权重相乘得到的值与第二损失值与第二权重相乘得到的值相加得到中间值;
[0153]
修正子单元,被配置为通过与修正参数相加或相乘的方式,对中间值进行修正,得到综合损失值。
[0154]
在本技术的一些实施例中,基于以上各实施例,片段定位器包括请求数量参数、攻击片段数量参数以及向量维数参数,其中,请求数量参数、攻击片段数量参数以及向量维数参数均在模型训练过程中优化,其中,请求数量参数用于表示待检测请求序列所包括的预计请求条数,攻击片段数量参数用于表示待检测请求序列中所包括的攻击片段的预计数量,向量维度参数用于表示预训练得到的机器学习模型的运算向量的向量维数。
[0155]
本技术各实施例中提供的攻击检测装置的具体细节已经在对应的方法实施例中进行了详细的描述,此处不再赘述。
[0156]
图8示意性地示出了用于实现本技术实施例的电子设备的结构框图。
[0157]
需要说明的是,图8示出的电子设备800仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0158]
如图8所示,电子设备800包括中央处理器801(central processing unit,cpu),其可以根据存储在只读存储器802(read-only memory,rom)中的程序或者从存储部分808加载到随机访问存储器803(random access memory,ram)中的程序而执行各种适当的动作
和处理。在随机访问存储器803中,还存储有系统操作所需的各种程序和数据。中央处理器801、在只读存储器802以及随机访问存储器803通过总线804彼此相连。输入/输出接口805(input/output接口,即i/o接口)也连接至总线804。
[0159]
以下部件连接至输入/输出接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至输入/输出接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
[0160]
特别地,根据本技术的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理器801执行时,执行本技术的系统中限定的各种功能。
[0161]
需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0162]
附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规
定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0163]
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0164]
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本技术实施方式的方法。
[0165]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。
[0166]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
再多了解一些

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

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

相关文献