CN115550062A - 一种恶意请求的检测方法、装置、电子设备及存储介质 - Google Patents

一种恶意请求的检测方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115550062A
CN115550062A CN202211471451.4A CN202211471451A CN115550062A CN 115550062 A CN115550062 A CN 115550062A CN 202211471451 A CN202211471451 A CN 202211471451A CN 115550062 A CN115550062 A CN 115550062A
Authority
CN
China
Prior art keywords
request
target
digit
segment
sample
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.)
Granted
Application number
CN202211471451.4A
Other languages
English (en)
Other versions
CN115550062B (zh
Inventor
宋冲亚
何树果
朱震
张福
程度
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Shengxin Network Technology Co ltd
Original Assignee
Beijing Shengxin Network Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Shengxin Network Technology Co ltd filed Critical Beijing Shengxin Network Technology Co ltd
Priority to CN202211471451.4A priority Critical patent/CN115550062B/zh
Publication of CN115550062A publication Critical patent/CN115550062A/zh
Application granted granted Critical
Publication of CN115550062B publication Critical patent/CN115550062B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本申请提供了一种恶意请求的检测方法、装置、电子设备及存储介质,涉及信息安全领域,所述检测方法包括:获取目标请求,确定目标请求的长度;基于目标请求的长度,对目标请求进行切分处理,得到至少一个请求片段;针对每个请求片段,对该请求片段进行编码处理,得到该请求片段对应的目标向量;将该请求片段对应的目标向量输入至预先训练好的检测模型中进行检测,得到该目标向量的检测结果;在每个请求片段对应的目标向量的检测结果中,若任意一个目标向量的检测结果指示为异常,则将目标请求确定为恶意请求。采用本申请提供的技术方案能够提高恶意请求检测的准确性以及效率。

Description

一种恶意请求的检测方法、装置、电子设备及存储介质
技术领域
本申请涉及信息安全的技术领域,尤其是涉及一种恶意请求的检测方法、装置、电子设备及存储介质。
背景技术
在网络安全领域中,攻击者经常将注入攻击的语句掺杂进访问请求中(客户端与服务器端通信的文本),从而使攻击内容能够在受害者解析原有内容时被一并执行;所以,受害者需要在获取访问请求时对访问请求进行检测,确定访问请求是否是带有攻击的恶意请求。
目前,恶意请求的检测方法主要基于规则和词法;规则的优点在于撰写简单且运行效率高,最大的缺点是任何规则都可以被绕过;基于词法的方法会先根据结构化查询语言SQL的语法和关键词对待检测内容(恶意请求)的语义进行提炼,而后通过匹配预设语义来确定检测结果。上述两种方法均存在如下共同缺陷:(1)检测所依赖预设规则/语义的维护成本高、更新迟滞、内容冲突;(2)对预设外的规则/语义检测能力为零;(3)误报率和漏报率双高;(4)检测速度随预设规则/语义数量的递增而递减;因此,如何检测恶意请求,成为了亟待解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种恶意请求的检测方法、装置、电子设备及存储介质,能够通过将目标请求进行切分以及编码处理后,得到目标请求对应的多个目标向量,将多个目标向量输入检测模型中得到每个目标向量的检测结果,若任意一个目标向量的检测结果指示异常,则目标请求是带有注入攻击的恶意请求,提高了恶意请求检测的准确性以及效率。
本申请主要包括以下几个方面:
第一方面,本申请实施例提供了一种恶意请求的检测方法,所述检测方法包括:
获取目标请求,并基于所述目标请求,确定所述目标请求的长度;
基于所述目标请求的长度,对所述目标请求进行切分处理,得到至少一个请求片段;
针对每个请求片段,对该请求片段进行编码处理,得到该请求片段对应的目标向量;
将该请求片段对应的目标向量输入至预先训练好的检测模型中进行检测,得到该目标向量的检测结果;
在每个请求片段对应的目标向量的检测结果中,若任意一个目标向量的检测结果指示为异常,则将所述目标请求确定为恶意请求。
进一步的,通过以下步骤得到训练好的检测模型:
获取第一样本集合、第二样本集合以及请求样本集合;其中,所述第一样本集合是多个第一语句样本的集合;所述第一语句样本是包括注入攻击的结构化查询语句的样本;所述第二样本集合是多个第二语句样本的集合;所述第二语句样本是不包括注入攻击的结构化查询语句的样本;所述请求样本集合是多个访问请求样本的集合;所述访问请求样本是不包括注入攻击的访问请求的样本;
将所述请求样本集合中的每个访问请求样本进行切分处理,得到每个访问请求样本的访问请求片段;
对所述每个访问请求样本的每个访问请求片段进行编码处理,得到每个访问请求样本的每个访问请求片段对应的请求向量;
将所述第一样本集合中的每个第一语句样本进行编码处理,得到每个第一语句样本对应的第一语句样本向量;
将所述第二样本集合中的每个第二语句样本进行编码处理,得到每个第二语句样本对应的第二语句样本向量;
将所述每个访问请求样本的每个访问请求片段对应的请求向量、所述每个第一语句样本对应的第一语句样本向量以及所述每个第二语句样本对应的第二语句样本向量输入至检测模型中,得到训练好的检测模型。
进一步的,所述基于所述目标请求的长度,对所述目标请求进行切分处理,得到至少一个请求片段的步骤,包括:
基于所述目标请求的长度,确定所述目标请求的长度是否小于预设长度;
若小于,则将所述目标请求确定为请求片段;
若不小于,则将所述目标请求按照所述预设长度进行切分处理,得到至少一个请求片段。
进一步的,所述将所述目标请求按照所述预设长度进行切分处理,得到至少一个请求片段的步骤,包括:
将所述目标请求按照所述预设长度进行切分处理,得到N个长度均为所述预设长度的请求片段;其中,N为所述目标请求的长度与所述预设长度的商值取整后的数值;
将N与所述预设长度的乘积,确定为所述目标请求的切分总长度;
将所述目标请求的长度与所述目标请求的切分总长度的差值,确定为所述目标请求进行切分处理后的未切分部分的长度;
确定所述未切分部分的长度是否小于所述预设长度与预设系数的乘积;
若小于,则将所述未切分部分拼接在第N个请求片段的末尾作为第N个请求片段,得到N个请求片段;
若不小于,则将所述未切分部分确定为第N+1个请求片段,得到N+1个请求片段。
进一步的,所述针对每个请求片段,对该请求片段进行编码处理,得到该请求片段对应的目标向量的步骤,包括:
针对每个请求片段,获取该请求片段中的预定关键词、单词、数字以及符号;
基于该请求片段中包含的预定关键词、单词、数字以及符号,在预设编码映射关系中确定出所述预定关键词对应的数字编码、所述单词对应的数字编码、所述数字对应的数字编码以及所述符号对应的数字编码;
基于该请求片段中所述预定关键词、单词、数字以及符号的组成顺序,将该请求片段中所述预定关键词对应的数字编码、所述单词对应的数字编码、所述数字对应的数字编码以及所述符号对应的数字编码按照所述组成顺序进行拼接,得到拼接后的编码字符串;
获取初始向量,基于所述拼接后的编码字符串对所述初始向量进行处理,得到该请求片段对应的目标向量。
进一步的,所述获取初始向量,基于所述拼接后的编码字符串对所述初始向量进行处理,得到该请求片段对应的目标向量的步骤,包括:
获取初始向量以及所述初始向量中每一位的元素值;
将所述编码字符串中的第一位数字作为当前数字,将所述当前数字与预设系数的乘积,作为第一元素;
将所述第一元素与所述初始向量中的第当前数字位的元素值的加和,更新为所述初始向量中的第当前数字位的元素值;
基于所述编码字符串中所述当前数字的后M位中每一位数字以及当前数字在所述编码字符串中的位数,更新所述初始向量;其中,M是所述预设系数与数字一的差值;
将所述编码字符串中的当前数字的下一位数字作为当前数字,继续更新所述初始向量,直到所述当前数字为所述编码字符串的最后一位数字时,将更新后的初始向量确定为该请求片段对应的目标向量。
进一步的,所述基于所述编码字符串中所述当前数字的后M位中每一位数字以及当前数字在所述编码字符串中的位数,更新所述初始向量的步骤,包括:
基于所述编码字符串中所述当前数字的后M位中每一位数字,将所述M位中的第一位数字作为当前目标数字,获取所述当前目标数字在所述编码字符串中的位数;
将所述预设系数与所述当前目标数字在所述编码字符串中的位数的差值,确定为第一参数,并将所述第一参数与所述当前数字在所述编码字符串中的位数的加和,确定为第二参数;
将所述第二参数与所述当前目标数字的乘积,确定为第三参数;
将所述第三参数与所述初始向量中的第当前数字位的元素值的加和,更新为所述初始向量中的第当前数字位的元素值;
将所述第二参数与所述当前数字的乘积,确定为第四参数;
将所述第四参数与所述初始向量中的第当前目标数字位的元素值的加和,更新为所述初始向量中的第当前目标数字位的元素值;
将所述当前目标数字的下一位数字作为当前目标数字,继续更新所述初始向量,直至所述当前目标数字为所述M位中的最后一位数字。
第二方面,本申请实施例还提供了一种恶意请求的检测装置,所述检测装置包括:
获取模块,用于获取目标请求,并基于所述目标请求,确定所述目标请求的长度;
切分模块,用于基于所述目标请求的长度,对所述目标请求进行切分处理,得到至少一个请求片段;
编码模块,用于针对每个请求片段,对该请求片段进行编码处理,得到该请求片段对应的目标向量;
检测模块,用于将该请求片段对应的目标向量输入至预先训练好的检测模型中进行检测,得到该目标向量的检测结果;
确定模块,用于在每个请求片段对应的目标向量的检测结果中,若任意一个目标向量的检测结果指示为异常,则将所述目标请求确定为恶意请求。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的恶意请求的检测方法的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述的恶意请求的检测方法的步骤。
本申请实施例提供的一种恶意请求的检测方法、装置、电子设备及存储介质,所述检测方法包括:获取目标请求,并基于所述目标请求,确定所述目标请求的长度;基于所述目标请求的长度,对所述目标请求进行切分处理,得到至少一个请求片段;针对每个请求片段,对该请求片段进行编码处理,得到该请求片段对应的目标向量;将该请求片段对应的目标向量输入至预先训练好的检测模型中进行检测,得到该目标向量的检测结果;在每个请求片段对应的目标向量的检测结果中,若任意一个目标向量的检测结果指示为异常,则将所述目标请求确定为恶意请求。
这样,采用本申请提供的技术方案能够通过将目标请求进行切分以及编码处理后,得到目标请求对应的多个目标向量,将多个目标向量输入检测模型中得到每个目标向量的检测结果,若任意一个目标向量的检测结果指示异常,则目标请求是带有注入攻击的恶意请求,提高了恶意请求检测的准确性以及效率。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种恶意请求的检测方法的流程图;
图2示出了本申请实施例所提供的另一种恶意请求的检测方法的流程图;
图3示出了本申请实施例所提供的一种恶意请求检测流程的示意图;
图4示出了本申请实施例所提供的一种恶意请求的检测装置的结构示意图之一;
图5示出了本申请实施例所提供的一种恶意请求的检测装置的结构示意图之二;
图6示出了本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中的附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应当理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的全部其他实施例,都属于本申请保护的范围。
为了使得本领域技术人员能够使用本申请内容,结合特定应用场景“恶意请求的检测”,给出以下实施方式,对于本领域技术人员来说,在不脱离本申请的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。
本申请实施例下述方法、装置、电子设备或计算机可读存储介质可以应用于任何需要检测恶意请求的场景,本申请实施例并不对具体的应用场景作限制,任何使用本申请实施例提供的一种恶意请求的检测方法、装置、电子设备及存储介质的方案均在本申请保护范围内。
值得注意的是,结构化查询语言SQL是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;而将窃取数据的SQL语句插入到正常SQL语句的行为被称为SQL注入攻击。在网络安全领域中,攻击者经常将SQL注入语句掺杂进HTTP请求中(客户端与服务器端通信的文本),从而使攻击内容能够在受害者解析原有内容时被一并执行。
目前,主流的两种SQL注入检测方法分别基于规则和词法;规则的优点在于撰写简单且运行效率高,最大的缺点是任何规则都可以被绕过;基于词法的方法会先根据SQL的语法和关键词对待检测内容(恶意请求)的语义进行提炼,而后通过匹配预设语义来确定检测结果。上述两种方法均存在如下共同缺陷:(1)检测所依赖预设规则/语义的维护成本高、更新迟滞、内容冲突;(2)对预设外的规则/语义检测能力为零;(3)误报率和漏报率双高;(4)检测速度随预设规则/语义数量的递增而递减;进一步说,鉴于HTTP请求的长度往往远大于SQL注入语句(即非SQL语句在被检文本中的占比很高),上述两种方法在此类高噪声场景下由于规则会匹配噪声以及真实语义会在词法解析的过程中被噪声混淆甚至淹没的原因,而导致检测的准确率会进一步降低;因此,如何检测恶意请求,成为了亟待解决的问题。
基于此,本申请提出了一种恶意请求的检测方法、装置、电子设备及存储介质,所述检测方法包括:获取目标请求,并基于所述目标请求,确定所述目标请求的长度;基于所述目标请求的长度,对所述目标请求进行切分处理,得到至少一个请求片段;针对每个请求片段,对该请求片段进行编码处理,得到该请求片段对应的目标向量;将该请求片段对应的目标向量输入至预先训练好的检测模型中进行检测,得到该目标向量的检测结果;在每个请求片段对应的目标向量的检测结果中,若任意一个目标向量的检测结果指示为异常,则将所述目标请求确定为恶意请求。
这样,采用本申请提供的技术方案能够通过将目标请求进行切分以及编码处理后,得到目标请求对应的多个目标向量,将多个目标向量输入检测模型中得到每个目标向量的检测结果,若任意一个目标向量的检测结果指示异常,则目标请求是带有注入攻击的恶意请求,提高了恶意请求检测的准确性以及效率。
为便于对本申请进行理解,下面结合具体实施例对本申请提供的技术方案进行详细说明。
请参阅图1,图1为本申请实施例所提供的一种恶意请求的检测方法的流程图,如图1中所示,所述检测方法,包括:
S101、获取目标请求,并基于所述目标请求,确定所述目标请求的长度;
该步骤中,目标请求可以是HTTP请求,确定HTTP请求的长度。
S102、基于所述目标请求的长度,对所述目标请求进行切分处理,得到至少一个请求片段;
需要说明的是,基于目标请求的长度,对目标请求进行切分处理,得到至少一个请求片段的步骤,包括:
S1021、基于所述目标请求的长度,确定所述目标请求的长度是否小于预设长度;
S1022、若小于,则将所述目标请求确定为请求片段;
S1023、若不小于,则将所述目标请求按照所述预设长度进行切分处理,得到至少一个请求片段。
该步骤中,预设长度可以是根据历史经验或者实验数据预先设置的;将预设长度设定为一个正整数WT,若目标请求的长度LT小于WT,则不切分目标请求,将目标请求整体作为一个请求片段;否则,将目标请求进行切分。
需要说明的是,将目标请求按照预设长度进行切分处理,得到至少一个请求片段的步骤,包括:
1)、将所述目标请求按照所述预设长度进行切分处理,得到N个长度均为所述预设长度的请求片段;
2)、将N与所述预设长度的乘积,确定为所述目标请求的切分总长度;
3)、将所述目标请求的长度与所述目标请求的切分总长度的差值,确定为所述目标请求进行切分处理后的未切分部分的长度;
4)、确定所述未切分部分的长度是否小于所述预设长度与预设系数的乘积;
5)、若小于,则将所述未切分部分拼接在第N个请求片段的末尾作为第N个请求片段,得到N个请求片段;
6)、若不小于,则将所述未切分部分确定为第N+1个请求片段,得到N+1个请求片段。
该步骤中,N为目标请求的长度LT与预设长度WT的商值取整后的数值,即目标请求进行切分后得到的请求片段的个数,公式如下:
Figure M_221122111745723_723461001
其中,“⌊⌋”符号为向下取整,即当LT/WT的计算结果不为整数时取小于计算结果的整数;这里将目标请求切分成N段,每段是长度为WT的请求片段,如果目标请求未切分部分的长度LS小于预设长度WT与预设系数R的乘积(即
Figure M_221122111745803_803491001
),则将未切分部分追加到第N段的末尾,将追加后的整体(即第N段的请求片段+未切分部分)更新为第N段的请求片段,此时,目标请求进行切分处理后,得到了N个请求片段;否则,则将未切分部分单独作为一段请求片段,即第N+1段的请求片段,此时,目标请求进行切分处理后,得到了N+1个请求片段。
这里,预设系数可以是根据历史经验或者实验数据预先设置的,预设系数的取值区间可以是介于(0,1)的小数(例如默认值0.3);未切分部分的长度计算公式如下:
Figure M_221122111745866_866506001
其中,LS为目标请求未切分部分的长度,LT为目标请求的长度,WT为预设长度,N为长度均为预设长度的请求片段的个数,
Figure M_221122111745944_944648001
为目标请求的切分总长度。
S103、针对每个请求片段,对该请求片段进行编码处理,得到该请求片段对应的目标向量;
需要说明的是,针对每个请求片段,对该请求片段进行编码处理,得到该请求片段对应的目标向量的步骤,包括:
S1031、针对每个请求片段,获取该请求片段中的预定关键词、单词、数字以及符号;
S1032、基于该请求片段中包含的预定关键词、单词、数字以及符号,在预设编码映射关系中确定出所述预定关键词对应的数字编码、所述单词对应的数字编码、所述数字对应的数字编码以及所述符号对应的数字编码;
S1033、基于该请求片段中所述预定关键词、单词、数字以及符号的组成顺序,将该请求片段中所述预定关键词对应的数字编码、所述单词对应的数字编码、所述数字对应的数字编码以及所述符号对应的数字编码按照所述组成顺序进行拼接,得到拼接后的编码字符串;
该步骤中,编码字符串可以是由若干数字组成的,编码字符串中的每一数字编码由目标请求中的预定关键词、单词、数字以及符号分别与编码的映射关系确定;这里,单词是由若干连续字母字符组成且前后有一或多个空格,数字是由若干连续数字字符组成,符号是由非字母和数字的字符组成,在查找与编码的映射关系时,单词、数字、符号皆被当作一个对象映射一个数字编码,对于一串交替出现单词、数字、符号的连续字符,如果其在预定的关键词集合中,则在查找与编码的映射关系时将整个字符串作为一个预定关键词;例如,该连续字符在ISO/IEC DIS 9075-xx系列标准文件中被定义为SQL关键词,则在查找与编码的映射关系时将整个字符串作为一个SQL关键词,否则,将位于每一符号前的连续字母/数字字符作为一个常规的单词/数字在编码的映射关系中确定出对应的数字编码。
示例性的,编码的映射关系可以如下表所示:
编码的映射关系表
Figure P_221122111745975_975882001
这里,针对每个请求片段,确定出该请求片段中每个预定关键词对应的数字编码、每个单词对应的数字编码、每个数字对应的数字编码以及每个符号对应的数字编码,将这些数字编码按照预定关键词、单词、数字以及符号在请求片段中的组成顺序依次进行拼接,将数字编码拼接后的字符串确定为编码字符串。
S1034、获取初始向量,基于所述拼接后的编码字符串对所述初始向量进行处理,得到该请求片段对应的目标向量。
该步骤中,初始向量可以是由多个元素值组成的向量,每个元素值可以是0,通过编码字符串对初始向量进行处理,得到目标向量;示例性的,初始向量由15个元素组成,每个元素的元素值为0,通过编码字符串对初始向量进行处理,将处理后的初始向量确定为目标向量,这里的目标向量由15个元素组成,每个元素的元素值为非负整数。
需要说明的是,获取初始向量,基于拼接后的编码字符串对初始向量进行处理,得到该请求片段对应的目标向量的步骤,包括:
1)、获取初始向量以及所述初始向量中每一位的元素值;
2)、将所述编码字符串中的第一位数字作为当前数字,将所述当前数字与预设系数的乘积,作为第一元素;
3)、将所述第一元素与所述初始向量中的第当前数字位的元素值的加和,更新为所述初始向量中的第当前数字位的元素值;
4)、基于所述编码字符串中所述当前数字的后M位中每一位数字以及当前数字在所述编码字符串中的位数,更新所述初始向量;其中,M是所述预设系数与数字一的差值;
该步骤中,首先,获取初始向量,获取的初始向量有多位的元素值,每一位的元素值可以均为零,也就是将初始向量中的全部元素置零;然后,进行外循环的步骤,即遍历编码字符串中的每一位数字,将当前数字记作TC1,将当前数字在编码字符串中的位数(位置)记作FS,将当前数字TC1与预设系数WF的乘积(即TC1×WF)作为第一元素,将第一元素与初始向量的第TC1位的元素值进行累加,并更新初始向量;其次,进行内循环的步骤,即遍历当前数字后的 WF-1 (即M)位数字,对初始变量进行处理,完成内循环后,进入下述步骤5),将编码字符串中的当前数字的下一位数字作为当前数字,继续进行外循环的步骤以及内循环的步骤,直到所述当前数字为编码字符串的最后一位数字时,将此次内循环结束后得到的初始向量确定为该请求片段对应的目标向量。
需要说明的是,基于编码字符串中当前数字的后M位中每一位数字以及当前数字在编码字符串中的位数,更新初始向量的步骤,包括:
(1)、基于所述编码字符串中所述当前数字的后M位中每一位数字,将所述M位中的第一位数字作为当前目标数字,获取所述当前目标数字在所述编码字符串中的位数;
(2)、将所述预设系数与所述当前目标数字在所述编码字符串中的位数的差值,确定为第一参数,并将所述第一参数与所述当前数字在所述编码字符串中的位数的加和,确定为第二参数;
(3)、将所述第二参数与所述当前目标数字的乘积,确定为第三参数;
(4)、将所述第三参数与所述初始向量中的第当前数字位的元素值的加和,更新为所述初始向量中的第当前数字位的元素值;
(5)、将所述第二参数与所述当前数字的乘积,确定为第四参数;
(6)、将所述第四参数与所述初始向量中的第当前目标数字位的元素值的加和,更新为所述初始向量中的第当前目标数字位的元素值;
(7)、将所述当前目标数字的下一位数字作为当前目标数字,继续更新所述初始向量,直至所述当前目标数字为所述M位中的最后一位数字。
该步骤中,上述步骤(1)-(7)为内循环的步骤,具体的,遍历当前数字后的 WF-1(即M)位数字并做如下操作:从当前数字的后M位的第一位数字开始遍历,将被遍历的数字(即当前目标数字)记作TC2,将当前目标数字在编码字符串中的位数(即位置)记作FC,计算WF-FC+FS的计算结果,将该计算结果记作DF,其中,预设系数WF与FC的差值是第一参数,即第一参数=WF-FC,第一参数与当前数字在编码字符串中的位数FS的加和是第二参数,即第二参数DF=WF-FC+FS;将第二参数DF与当前目标数字TC2的乘积,确定为第三参数,即第三参数=TC2×DF,将第三参数与初始向量的第TC1位的元素值进行累加,并更新初始向量;将第二参数DF与当前数字TC1的乘积,确定为第四参数,即第四参数=TC1×DF,将第四参数与初始向量的第TC2位的元素值进行累加,并更新初始向量;将当前目标数字的下一位数字作为当前目标数字,继续内循环的遍历,直至当前目标数字为M位中的最后一位数字时,在该次内循环结束后,跳出内循环,执行下述步骤5)进入下一次的外循环。
5)、将所述编码字符串中的当前数字的下一位数字作为当前数字,继续更新所述初始向量,直到所述当前数字为所述编码字符串的最后一位数字时,将更新后的初始向量确定为该请求片段对应的目标向量。
S104、将该请求片段对应的目标向量输入至预先训练好的检测模型中进行检测,得到该目标向量的检测结果;
需要说明的是,得到训练好的检测模型的步骤请参阅图2,图2为本申请实施例所提供另一种恶意请求的检测方法的流程图,如图2中所示,通过以下步骤得到训练好的检测模型:
S201、获取第一样本集合、第二样本集合以及请求样本集合;
该步骤中,第一样本集合是多个第一语句样本的集合;所述第一语句样本是包括注入攻击的结构化查询语句的样本;所述第二样本集合是多个第二语句样本的集合;所述第二语句样本是不包括注入攻击的结构化查询语句的样本;所述请求样本集合是多个访问请求样本的集合;所述访问请求样本是不包括注入攻击的访问请求的样本;
示例性的,收集如下样本集,任一样本不可同时出现在多个样本集中, 第一样本集合QB1,QB1是多个包含SQL注入攻击的SQL语句的集合;第二样本集合QW1,QW1是多个不含SQL注入攻击的SQL语句的集合;请求样本集合QW2,QW2是多个不含SQL注入攻击的HTTP请求的集合。
S202、将所述请求样本集合中的每个访问请求样本进行切分处理,得到每个访问请求样本的访问请求片段;
该步骤中,将请求样本集合QW2中每个访问请求样本进行切分处理,切分成若干个访问请求片段,这里的访问请求样本的切分处理方式与上述目标请求切分成至少一个请求片段的方式一致,在此不再赘述。
S203、对所述每个访问请求样本的每个访问请求片段进行编码处理,得到每个访问请求样本的每个访问请求片段对应的请求向量;
S204、将所述第一样本集合中的每个第一语句样本进行编码处理,得到每个第一语句样本对应的第一语句样本向量;
S205、将所述第二样本集合中的每个第二语句样本进行编码处理,得到每个第二语句样本对应的第二语句样本向量;
S206、将所述每个访问请求样本的每个访问请求片段对应的请求向量、所述每个第一语句样本对应的第一语句样本向量以及所述每个第二语句样本对应的第二语句样本向量输入至检测模型中,得到训练好的检测模型。
该步骤中,将上述步骤S202得到的请求样本集合QW2中每个访问请求样本的每个访问请求片段、第一样本集合QB1中的每个第一语句样本以及第二样本集合QW1中的每个第二语句样本分别进行编码处理,以得到对应的向量,这里的编码处理方式与上述目标请求的每个请求片段进行编码处理以得到对应的目标向量的方式一致,在此不再赘述;将得到的多个向量组成分别对应第一样本集合QB1、第二样本集合QW1、请求样本集合QW2的向量集VB1、VW1、VW2,将向量集VB1、VW1、VW2输入至检测模型进行训练,检测模型可以是机器学习模型M(例如LSTM),得到训练好的检测模型;这里,检测模型的具体训练方法为现有技术,在此不再赘述。
S105、在每个请求片段对应的目标向量的检测结果中,若任意一个目标向量的检测结果指示为异常,则将所述目标请求确定为恶意请求。
示例性的,若是检测的若干目标向量中有任一目标向量被检测为SQL注入攻击,则判定对应的目标请求为恶意请求;请参阅图3,图3为本申请实施例所提供的一种恶意请求检测流程的示意图,如图3所示,接收目标请求,例如HTTP请求,将HTTP请求切分成n段请求片段,分别为请求片段1、请求片段2、……、请求片段n;将这n个请求片段中的每个请求片段进行编码,分别得到请求片段1对应的编码1、请求片段2对应的编码2、……、请求片段n对应的编码n;将每个编码进行转换,得到每个编码对应的目标向量,分别为编码1对应的目标向量1、编码2对应的目标向量2、……、编码n对应的目标向量n;将这n个目标向量输入至检测模型中进行检测,得到每个目标向量对应的检测结果,在这n个检测结果中,若存在任意一个检测结果指示为异常,则将目标请求(HTTP请求)确定为恶意请求,若所有检测结果指示均为正常,则将目标请求(HTTP请求)确定为正常请求。
本申请实施例提供的一种恶意请求的检测方法,所述检测方法包括:获取目标请求,并基于所述目标请求,确定所述目标请求的长度;基于所述目标请求的长度,对所述目标请求进行切分处理,得到至少一个请求片段;针对每个请求片段,对该请求片段进行编码处理,得到该请求片段对应的目标向量;将该请求片段对应的目标向量输入至预先训练好的检测模型中进行检测,得到该目标向量的检测结果;在每个请求片段对应的目标向量的检测结果中,若任意一个目标向量的检测结果指示为异常,则将所述目标请求确定为恶意请求。
这样,采用本申请提供的技术方案能够通过将目标请求进行切分以及编码处理后,得到目标请求对应的多个目标向量,将多个目标向量输入检测模型中得到每个目标向量的检测结果,若任意一个目标向量的检测结果指示异常,则目标请求是带有注入攻击的恶意请求,提高了恶意请求检测的准确性以及效率。
基于同一申请构思,本申请实施例中还提供了与上述实施例提供一种恶意请求的检测方法对应的一种恶意请求的检测装置,由于本申请实施例中的装置解决问题的原理与本申请上述实施例一种恶意请求的检测方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
请参阅图4、图5,图4为本申请实施例所提供的一种恶意请求的检测装置的结构示意图之一,图5为本申请实施例所提供的一种恶意请求的检测装置的结构示意图之二,如图4中所示,所述检测装置410包括:
获取模块411,用于获取目标请求,并基于所述目标请求,确定所述目标请求的长度;
切分模块412,用于基于所述目标请求的长度,对所述目标请求进行切分处理,得到至少一个请求片段;
编码模块413,用于针对每个请求片段,对该请求片段进行编码处理,得到该请求片段对应的目标向量;
检测模块414,用于将该请求片段对应的目标向量输入至预先训练好的检测模型中进行检测,得到该目标向量的检测结果;
确定模块415,用于在每个请求片段对应的目标向量的检测结果中,若任意一个目标向量的检测结果指示为异常,则将所述目标请求确定为恶意请求。
可选的,如图5所示,所述检测装置410还包括训练模块416,所述训练模块416用于:
获取第一样本集合、第二样本集合以及请求样本集合;其中,所述第一样本集合是多个第一语句样本的集合;所述第一语句样本是包括注入攻击的结构化查询语句的样本;所述第二样本集合是多个第二语句样本的集合;所述第二语句样本是不包括注入攻击的结构化查询语句的样本;所述请求样本集合是多个访问请求样本的集合;所述访问请求样本是不包括注入攻击的访问请求的样本;
将所述请求样本集合中的每个访问请求样本进行切分处理,得到每个访问请求样本的访问请求片段;
对所述每个访问请求样本的每个访问请求片段进行编码处理,得到每个访问请求样本的每个访问请求片段对应的请求向量;
将所述第一样本集合中的每个第一语句样本进行编码处理,得到每个第一语句样本对应的第一语句样本向量;
将所述第二样本集合中的每个第二语句样本进行编码处理,得到每个第二语句样本对应的第二语句样本向量;
将所述每个访问请求样本的每个访问请求片段对应的请求向量、所述每个第一语句样本对应的第一语句样本向量以及所述每个第二语句样本对应的第二语句样本向量输入至检测模型中,得到训练好的检测模型。
可选的,所述切分模块412具体用于:
基于所述目标请求的长度,确定所述目标请求的长度是否小于预设长度;
若小于,则将所述目标请求确定为请求片段;
若不小于,则将所述目标请求按照所述预设长度进行切分处理,得到至少一个请求片段。
可选的,所述切分模块412在用于将所述目标请求按照所述预设长度进行切分处理,得到至少一个请求片段时,所述切分模块412具体用于:
将所述目标请求按照所述预设长度进行切分处理,得到N个长度均为所述预设长度的请求片段;其中,N为所述目标请求的长度与所述预设长度的商值取整后的数值;
将N与所述预设长度的乘积,确定为所述目标请求的切分总长度;
将所述目标请求的长度与所述目标请求的切分总长度的差值,确定为所述目标请求进行切分处理后的未切分部分的长度;
确定所述未切分部分的长度是否小于所述预设长度与预设系数的乘积;
若小于,则将所述未切分部分拼接在第N个请求片段的末尾作为第N个请求片段,得到N个请求片段;
若不小于,则将所述未切分部分确定为第N+1个请求片段,得到N+1个请求片段。
可选的,所述编码模块413具体用于:
针对每个请求片段,获取该请求片段中的预定关键词、单词、数字以及符号;
基于该请求片段中包含的预定关键词、单词、数字以及符号,在预设编码映射关系中确定出所述预定关键词对应的数字编码、所述单词对应的数字编码、所述数字对应的数字编码以及所述符号对应的数字编码;
基于该请求片段中所述预定关键词、单词、数字以及符号的组成顺序,将该请求片段中所述预定关键词对应的数字编码、所述单词对应的数字编码、所述数字对应的数字编码以及所述符号对应的数字编码按照所述组成顺序进行拼接,得到拼接后的编码字符串;
获取初始向量,基于所述拼接后的编码字符串对所述初始向量进行处理,得到该请求片段对应的目标向量。
可选的,所述编码模块413在用于获取初始向量,基于所述拼接后的编码字符串对所述初始向量进行处理,得到该请求片段对应的目标向量时,所述编码模块413具体用于:
获取初始向量以及所述初始向量中每一位的元素值;
将所述编码字符串中的第一位数字作为当前数字,将所述当前数字与预设系数的乘积,作为第一元素;
将所述第一元素与所述初始向量中的第当前数字位的元素值的加和,更新为所述初始向量中的第当前数字位的元素值;
基于所述编码字符串中所述当前数字的后M位中每一位数字以及当前数字在所述编码字符串中的位数,更新所述初始向量;其中,M是所述预设系数与数字一的差值;
将所述编码字符串中的当前数字的下一位数字作为当前数字,继续更新所述初始向量,直到所述当前数字为所述编码字符串的最后一位数字时,将更新后的初始向量确定为该请求片段对应的目标向量。
可选的,所述编码模块413在用于基于所述编码字符串中所述当前数字的后M位中每一位数字以及当前数字在所述编码字符串中的位数,更新所述初始向量时,所述编码模块413具体用于:
基于所述编码字符串中所述当前数字的后M位中每一位数字,将所述M位中的第一位数字作为当前目标数字,获取所述当前目标数字在所述编码字符串中的位数;
将所述预设系数与所述当前目标数字在所述编码字符串中的位数的差值,确定为第一参数,并将所述第一参数与所述当前数字在所述编码字符串中的位数的加和,确定为第二参数;
将所述第二参数与所述当前目标数字的乘积,确定为第三参数;
将所述第三参数与所述初始向量中的第当前数字位的元素值的加和,更新为所述初始向量中的第当前数字位的元素值;
将所述第二参数与所述当前数字的乘积,确定为第四参数;
将所述第四参数与所述初始向量中的第当前目标数字位的元素值的加和,更新为所述初始向量中的第当前目标数字位的元素值;
将所述当前目标数字的下一位数字作为当前目标数字,继续更新所述初始向量,直至所述当前目标数字为所述M位中的最后一位数字。
本申请实施例提供的一种恶意请求的检测装置,所述检测装置包括:获取模块,用于获取目标请求,并基于所述目标请求,确定所述目标请求的长度;切分模块,用于基于所述目标请求的长度,对所述目标请求进行切分处理,得到至少一个请求片段;编码模块,用于针对每个请求片段,对该请求片段进行编码处理,得到该请求片段对应的目标向量;检测模块,用于将该请求片段对应的目标向量输入至预先训练好的检测模型中进行检测,得到该目标向量的检测结果;确定模块,用于在每个请求片段对应的目标向量的检测结果中,若任意一个目标向量的检测结果指示为异常,则将所述目标请求确定为恶意请求。
这样,采用本申请提供的技术方案能够通过将目标请求进行切分以及编码处理后,得到目标请求对应的多个目标向量,将多个目标向量输入检测模型中得到每个目标向量的检测结果,若任意一个目标向量的检测结果指示异常,则目标请求是带有注入攻击的恶意请求,提高了恶意请求检测的准确性以及效率。
请参阅图6,图6为本申请实施例所提供的一种电子设备的结构示意图。如图6中所示,所述电子设备600包括处理器610、存储器620和总线630。
所述存储器620存储有所述处理器610可执行的机器可读指令,当电子设备600运行时,所述处理器610与所述存储器620之间通过总线630通信,所述机器可读指令被所述处理器610执行时,可以执行如上述图1以及图2所示方法实施例中的恶意请求的检测方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1以及图2所示方法实施例中的恶意请求的检测方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种恶意请求的检测方法,其特征在于,所述检测方法包括:
获取目标请求,并基于所述目标请求,确定所述目标请求的长度;
基于所述目标请求的长度,对所述目标请求进行切分处理,得到至少一个请求片段;
针对每个请求片段,对该请求片段进行编码处理,得到该请求片段对应的目标向量;
将该请求片段对应的目标向量输入至预先训练好的检测模型中进行检测,得到该目标向量的检测结果;
在每个请求片段对应的目标向量的检测结果中,若任意一个目标向量的检测结果指示为异常,则将所述目标请求确定为恶意请求。
2.根据权利要求1所述的检测方法,其特征在于,通过以下步骤得到训练好的检测模型:
获取第一样本集合、第二样本集合以及请求样本集合;其中,所述第一样本集合是多个第一语句样本的集合;所述第一语句样本是包括注入攻击的结构化查询语句的样本;所述第二样本集合是多个第二语句样本的集合;所述第二语句样本是不包括注入攻击的结构化查询语句的样本;所述请求样本集合是多个访问请求样本的集合;所述访问请求样本是不包括注入攻击的访问请求的样本;
将所述请求样本集合中的每个访问请求样本进行切分处理,得到每个访问请求样本的访问请求片段;
对所述每个访问请求样本的每个访问请求片段进行编码处理,得到每个访问请求样本的每个访问请求片段对应的请求向量;
将所述第一样本集合中的每个第一语句样本进行编码处理,得到每个第一语句样本对应的第一语句样本向量;
将所述第二样本集合中的每个第二语句样本进行编码处理,得到每个第二语句样本对应的第二语句样本向量;
将所述每个访问请求样本的每个访问请求片段对应的请求向量、所述每个第一语句样本对应的第一语句样本向量以及所述每个第二语句样本对应的第二语句样本向量输入至检测模型中,得到训练好的检测模型。
3.根据权利要求1所述的检测方法,其特征在于,所述基于所述目标请求的长度,对所述目标请求进行切分处理,得到至少一个请求片段的步骤,包括:
基于所述目标请求的长度,确定所述目标请求的长度是否小于预设长度;
若小于,则将所述目标请求确定为请求片段;
若不小于,则将所述目标请求按照所述预设长度进行切分处理,得到至少一个请求片段。
4.根据权利要求3所述的检测方法,其特征在于,所述将所述目标请求按照所述预设长度进行切分处理,得到至少一个请求片段的步骤,包括:
将所述目标请求按照所述预设长度进行切分处理,得到N个长度均为所述预设长度的请求片段;其中,N为所述目标请求的长度与所述预设长度的商值取整后的数值;
将N与所述预设长度的乘积,确定为所述目标请求的切分总长度;
将所述目标请求的长度与所述目标请求的切分总长度的差值,确定为所述目标请求进行切分处理后的未切分部分的长度;
确定所述未切分部分的长度是否小于所述预设长度与预设系数的乘积;
若小于,则将所述未切分部分拼接在第N个请求片段的末尾作为第N个请求片段,得到N个请求片段;
若不小于,则将所述未切分部分确定为第N+1个请求片段,得到N+1个请求片段。
5.根据权利要求1所述的检测方法,其特征在于,所述针对每个请求片段,对该请求片段进行编码处理,得到该请求片段对应的目标向量的步骤,包括:
针对每个请求片段,获取该请求片段中的预定关键词、单词、数字以及符号;
基于该请求片段中包含的预定关键词、单词、数字以及符号,在预设编码映射关系中确定出所述预定关键词对应的数字编码、所述单词对应的数字编码、所述数字对应的数字编码以及所述符号对应的数字编码;
基于该请求片段中所述预定关键词、单词、数字以及符号的组成顺序,将该请求片段中所述预定关键词对应的数字编码、所述单词对应的数字编码、所述数字对应的数字编码以及所述符号对应的数字编码按照所述组成顺序进行拼接,得到拼接后的编码字符串;
获取初始向量,基于所述拼接后的编码字符串对所述初始向量进行处理,得到该请求片段对应的目标向量。
6.根据权利要求5所述的检测方法,其特征在于,所述获取初始向量,基于所述拼接后的编码字符串对所述初始向量进行处理,得到该请求片段对应的目标向量的步骤,包括:
获取初始向量以及所述初始向量中每一位的元素值;
将所述编码字符串中的第一位数字作为当前数字,将所述当前数字与预设系数的乘积,作为第一元素;
将所述第一元素与所述初始向量中的第当前数字位的元素值的加和,更新为所述初始向量中的第当前数字位的元素值;
基于所述编码字符串中所述当前数字的后M位中每一位数字以及当前数字在所述编码字符串中的位数,更新所述初始向量;其中,M是所述预设系数与数字一的差值;
将所述编码字符串中的当前数字的下一位数字作为当前数字,继续更新所述初始向量,直到所述当前数字为所述编码字符串的最后一位数字时,将更新后的初始向量确定为该请求片段对应的目标向量。
7.根据权利要求6所述的检测方法,其特征在于,所述基于所述编码字符串中所述当前数字的后M位中每一位数字以及当前数字在所述编码字符串中的位数,更新所述初始向量的步骤,包括:
基于所述编码字符串中所述当前数字的后M位中每一位数字,将所述M位中的第一位数字作为当前目标数字,获取所述当前目标数字在所述编码字符串中的位数;
将所述预设系数与所述当前目标数字在所述编码字符串中的位数的差值,确定为第一参数,并将所述第一参数与所述当前数字在所述编码字符串中的位数的加和,确定为第二参数;
将所述第二参数与所述当前目标数字的乘积,确定为第三参数;
将所述第三参数与所述初始向量中的第当前数字位的元素值的加和,更新为所述初始向量中的第当前数字位的元素值;
将所述第二参数与所述当前数字的乘积,确定为第四参数;
将所述第四参数与所述初始向量中的第当前目标数字位的元素值的加和,更新为所述初始向量中的第当前目标数字位的元素值;
将所述当前目标数字的下一位数字作为当前目标数字,继续更新所述初始向量,直至所述当前目标数字为所述M位中的最后一位数字。
8.一种恶意请求的检测装置,其特征在于,所述检测装置包括:
获取模块,用于获取目标请求,并基于所述目标请求,确定所述目标请求的长度;
切分模块,用于基于所述目标请求的长度,对所述目标请求进行切分处理,得到至少一个请求片段;
编码模块,用于针对每个请求片段,对该请求片段进行编码处理,得到该请求片段对应的目标向量;
检测模块,用于将该请求片段对应的目标向量输入至预先训练好的检测模型中进行检测,得到该目标向量的检测结果;
确定模块,用于在每个请求片段对应的目标向量的检测结果中,若任意一个目标向量的检测结果指示为异常,则将所述目标请求确定为恶意请求。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行如权利要求1至7任一所述的恶意请求的检测方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述的恶意请求的检测方法的步骤。
CN202211471451.4A 2022-11-23 2022-11-23 一种恶意请求的检测方法、装置、电子设备及存储介质 Active CN115550062B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211471451.4A CN115550062B (zh) 2022-11-23 2022-11-23 一种恶意请求的检测方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211471451.4A CN115550062B (zh) 2022-11-23 2022-11-23 一种恶意请求的检测方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN115550062A true CN115550062A (zh) 2022-12-30
CN115550062B CN115550062B (zh) 2023-03-07

Family

ID=84721394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211471451.4A Active CN115550062B (zh) 2022-11-23 2022-11-23 一种恶意请求的检测方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115550062B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113141373A (zh) * 2021-04-30 2021-07-20 平安普惠企业管理有限公司 检测异常入侵的方法、装置、设备和存储介质
CN113343235A (zh) * 2021-06-17 2021-09-03 长沙市智为信息技术有限公司 基于Transformer的应用层恶意有效负载检测方法、系统、设备及介质
CN113542252A (zh) * 2021-07-11 2021-10-22 北京长亭科技有限公司 Web攻击的检测方法、检测模型和检测装置
CN113987496A (zh) * 2021-11-04 2022-01-28 北京天融信网络安全技术有限公司 恶意攻击检测的方法、装置、电子设备及可读存储介质
US20220046039A1 (en) * 2020-08-07 2022-02-10 EMC IP Holding Company LLC Method, device, and computer program product for abnormality detection

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220046039A1 (en) * 2020-08-07 2022-02-10 EMC IP Holding Company LLC Method, device, and computer program product for abnormality detection
CN113141373A (zh) * 2021-04-30 2021-07-20 平安普惠企业管理有限公司 检测异常入侵的方法、装置、设备和存储介质
CN113343235A (zh) * 2021-06-17 2021-09-03 长沙市智为信息技术有限公司 基于Transformer的应用层恶意有效负载检测方法、系统、设备及介质
CN113542252A (zh) * 2021-07-11 2021-10-22 北京长亭科技有限公司 Web攻击的检测方法、检测模型和检测装置
CN113987496A (zh) * 2021-11-04 2022-01-28 北京天融信网络安全技术有限公司 恶意攻击检测的方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN115550062B (zh) 2023-03-07

Similar Documents

Publication Publication Date Title
CN110020422B (zh) 特征词的确定方法、装置和服务器
CN107918604B (zh) 一种中文的分词方法及装置
CN104778158A (zh) 一种文本表示方法及装置
CN109189888B (zh) 电子装置、侵权分析的方法及存储介质
CN102171702A (zh) 机密信息的检测
CN108363686A (zh) 一种字符串分词方法、装置、终端设备及存储介质
CN112381038B (zh) 一种基于图像的文本识别方法、系统和介质
CN106909575B (zh) 文本聚类方法和装置
CN106933824B (zh) 在多个文档中确定与目标文档相似的文档集合的方法和装置
US20200342037A1 (en) System and method for search discovery
CN111079437B (zh) 一种实体识别方法、电子设备及存储介质
CN115186647A (zh) 文本相似度的检测方法、装置、电子设备及存储介质
CN111930610B (zh) 软件同源性检测方法、装置、设备及存储介质
CN106933818A (zh) 一种快速的多关键字文本匹配方法及装置
CN115550062B (zh) 一种恶意请求的检测方法、装置、电子设备及存储介质
CN109902162B (zh) 基于数字指纹的文本相似性的识别方法、存储介质及装置
CN116756382A (zh) 检测敏感字符串的方法、装置、设置及存储介质
CN113468866B (zh) 非标准json串的解析方法及装置
CN115796146A (zh) 一种文件对比方法及装置
CN112733523B (zh) 文档发送方法、装置、设备及存储介质
US20220107919A1 (en) Computerized systems and methods of data compression
CN115186650A (zh) 数据检测方法及相关装置
Ge et al. A novel file carving algorithm for docker container logs recorded by json-file logging driver
CN114238564A (zh) 一种信息检索方法、装置、电子设备及存储介质
KR101452638B1 (ko) 유사 문자열 검색 방법 및 장치

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
GR01 Patent grant
GR01 Patent grant