CN115801456B - 网络攻击检测方法、装置、电子设备及存储介质 - Google Patents

网络攻击检测方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115801456B
CN115801456B CN202310047999.4A CN202310047999A CN115801456B CN 115801456 B CN115801456 B CN 115801456B CN 202310047999 A CN202310047999 A CN 202310047999A CN 115801456 B CN115801456 B CN 115801456B
Authority
CN
China
Prior art keywords
input data
object navigation
data
network attack
attack detection
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.)
Active
Application number
CN202310047999.4A
Other languages
English (en)
Other versions
CN115801456A (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.)
Tianyi Cloud Technology Co Ltd
Original Assignee
Tianyi Cloud 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 Tianyi Cloud Technology Co Ltd filed Critical Tianyi Cloud Technology Co Ltd
Priority to CN202310047999.4A priority Critical patent/CN115801456B/zh
Publication of CN115801456A publication Critical patent/CN115801456A/zh
Application granted granted Critical
Publication of CN115801456B publication Critical patent/CN115801456B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Machine Translation (AREA)

Abstract

本发明提供了网络攻击检测方法、装置、电子设备及存储介质,涉及网络防护技术领域。该方法包括:获取输入数据;输入数据包括:至少一个对象导航图语言表达式;获取所述输入数据中各个所述对象导航图语言表达式,是否均符合对象导航图语言表达式的语法规范的结果数据;统计所述输入数据中的注入特征数据;将所述输入数据对应的所述结果数据和所述注入特征数据,输入预设的网络攻击检测模型,得到所述输入数据是否包括对象导航图语言表达式注入的检测结果。本发明提供了针对OGNL表达式注入这一网络攻击的检测方法,且检测准确率较高,漏检测率较低,可以提升对于OGNL表达式注入的防护能力,检测实时性更好。

Description

网络攻击检测方法、装置、电子设备及存储介质
技术领域
本发明属于网络防护技术领域,特别是涉及网络攻击检测方法、装置、电子设备及存储介质。
背景技术
随着网络的快速发展,网络安全问题日渐严峻,其中,对象导航图语言(ObjectGraph Navigation Language,OGNL)表达式注入是危害较大的一种网络攻击。攻击者通过OGNL表达式注入可以恶意存取Java对象的任意属性、调用Java对象的方法以及实现类型转换等。
然而,目前还没有针对OGNL表达式注入这一网络攻击的检测方法,因此,需要针对OGNL表达式注入这一网络攻击提供检测方法。
发明内容
本发明提供一种网络攻击检测方法、装置、电子设备及存储介质,旨在解决目前还没有针对OGNL表达式注入这一网络攻击的检测方法的问题。
第一方面,本发明提供一种网络攻击检测方法,包括:
获取输入数据;所述输入数据包括:至少一个对象导航图语言表达式;
获取所述输入数据中各个所述对象导航图语言表达式,是否均符合对象导航图语言表达式的语法规范的结果数据;
统计所述输入数据中的注入特征数据;
将所述输入数据对应的所述结果数据和所述注入特征数据,输入预设的网络攻击检测模型,得到所述输入数据是否包括对象导航图语言表达式注入的检测结果。
第二方面,本发明提供一种网络攻击检测装置,包括:
输入数据获取模块,用于获取输入数据;所述输入数据包括:至少一个对象导航图语言表达式;
结果数据获取模块,用于获取所述输入数据中各个所述对象导航图语言表达式,是否均符合对象导航图语言表达式的语法规范的结果数据;
统计模块,用于统计所述输入数据中的注入特征数据;
检测模块,用于将所述输入数据对应的所述结果数据和所述注入特征数据,输入预设的网络攻击检测模型,得到所述输入数据是否包括对象导航图语言表达式注入的检测结果。
第三方面,本发明提供一种电子设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述网络攻击检测方法。
第四方面,本发明提供一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述网络攻击检测方法。
在本发明实施例中,获取输入数据中各个对象导航图语言表达式,是否均符合对象导航图语言表达式的语法规范的结果数据,统计该输入数据中的注入特征数据,将输入数据对应的结果数据和注入特征数据,输入预设的网络攻击检测模型,得到该输入数据是否包括对象导航图语言表达式注入的检测结果,就是提供了针对OGNL表达式注入这一网络攻击的检测方法。同时,输入数据对应的结果数据和注入特征数据这些多维数据,与OGNL表达式注入相关性更高,则对于OGNL表达式注入的检测准确率较高,漏检测率较低,可以提升对于OGNL表达式注入的防护能力。并且,上述检测只要获取到输入数据就进行,检测实时性较好。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种网络攻击检测方法的步骤流程图;
图2是本发明实施例提供的另一种网络攻击检测方法的步骤流程图;
图3是本发明实施例提供的一种网络攻击检测装置的结构图;
图4是本发明实施例提供的一种网络攻击检测的流程示意图;
图5是本发明实施例提供的另一种网络攻击检测的流程示意图;
图6是本发明实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的一种网络攻击检测方法的步骤流程图,参照图1所示,该方法可以包括如下步骤。
步骤101,获取输入数据;所述输入数据包括:至少一个对象导航图语言表达式。
输入数据可以是流量数据等,用于获取应用服务等。输入数据包括有至少一个OGNL(ObjectGraph Navigation Language,对象导航图语言)表达式。本发明实施例对于输入数据具体包括几个OGNL表达式不作具体限定。
OGNL是一种功能强大的表达式语言,用来获取和设置 java对象的属性,它旨在提供一个更高抽象度语法来对java对象图进行导航。OGNL具有三要素:表达式(Expression)、Root 对象和上下文环境(Context),表达式是整个OGNL的核心内容,所有的OGNL操作都是针对表达式解析后进行的,通过表达式来告诉 OGNL 操作到底要干些什么。因此,表达式其实是一个带有语法含义的字符串,整个字符串将规定操作的类型和内容。
步骤102,获取所述输入数据中各个所述对象导航图语言表达式,是否均符合对象导航图语言表达式的语法规范的结果数据。
OGNL表达式其实是一个带有语法含义的字符串,而且,OGNL表达式也具有对应的语法规范,因此,该步骤就是确定该输入数据中的各个OGNL表达式是否符合OGNL表达式的语法规范,或者说,确定输入数据中的各个OGNL表达式的语法合法性。在该输入数据中的各个OGNL表达式均符合OGNL表达式的语法规范,该输入数据对应的结果数据才是符合语法规范,否则,该输入数据对应的结果数据就不符合语法规范。
可选的,该步骤102可以包括:在该输入数据中各个对象导航图语言表达式,均生成抽象语法树(abstract syntax tree,AST)的情况下,将该输入数据对应的结果数据,确定为该输入数据中各个所述对象导航图语言表达式,均符合对象导航图语言表达式的语法规范,通过该方式,可以简单确定出该结果数据。
具体的,AST 就是一个自上而下的树形结构,每一层有一个或多个节点组成,每个节点有一个 type 属性表示节点的类型。如果一个OGNL表达式能够按照类似自上而下组合形成合法AST树的话,就是语法合法或者语法规范,反之,语法不合法或者语法不规范。
可选的,该步骤102可以包括:获取该输入数据中各个OGNL表达式,是否均符合OGNL中巴科斯范式(Backus-Naur Form,BNF)规定的语法规范的结果数据。BNF是用来描述语法的一种形式体系,是一种典型的元语言,又称巴科斯-诺尔形式。BNF用于描述语言的形式范式,使用构建块和构建规则来描述语言的语法。BNF范式通常用于编程语言和文本文件格式。它不仅能严格地表示语法规则,而且所描述的语法是与上下文无关的。它具有语法简单,表示明确,便于语法分析和编译的特点。BNF表示语法规则的方式为:非终结符用尖括号括起。每条规则的左部是一个非终结符,右部是由非终结符和终结符组成的一个符号串,中间一般以
Figure SMS_1
分开。具有相同左部的规则可以共用一个左部,各右部之间以直竖/>
Figure SMS_2
隔开。获取该输入数据中各个OGNL表达式,是否均符合OGNL中BNF规定的语法规范的结果数据,可以简单、准确的确定得到该结果数据。
可选的,前述获取该输入数据中各个OGNL表达式,是否均符合OGNL中BNF规定的语法规范的结果数据,可以包括:基于LALR(Look- Ahead LR)语法分析器,获取该输入数据中各个OGNL表达式,是否均符合OGNL表达式中BNF规定的语法规范的结果数据,基于LALR易于获得上述结果数据。
更为具体的,可以是对输入数据,先进行分词获得词法单元(token),后使用LALR分析器,确定是否均符合OGNL表达式中BNF规定的语法规范的结果数据。其中,Look-Ahead表示向前看,L代表对输入进行从左到右的检查,R代表反向构造出最右推导序列。LALR分析的任务是在token序列基础上,分析这些序列能否组合成各类语法短语,如程序、语句、函数声明表达式等等。其中分词步骤可以基于有限状态自动机,对输入流进行扫描分词处理,将输入数据转换成token。这些tokens将作为后续LALR分析器的输入。可以使用flex工具语言和bison工具语言实现上述功能,上述两种工具语言与程序语言具有良好的适配度,且具有很好的工具强壮性,同时flex工具语言和bison工具语言相互配合较好。
步骤103,统计所述输入数据中的注入特征数据。
此处的注入特征数据是指输入数据中与OGNL表达式注入这一网络攻击相关的特征数据。
可选的,步骤103可以包括:下述子步骤中的至少一种。
子步骤S1,统计所述输入数据中的所有敏感函数的第一总数量,占所述输入数据中的所有函数的第二总数量的第一占比。
该敏感函数可以包括:OGNL中,会引发危险的函数,此处的危险可以包括:敏感信息泄露、数据损坏、执行任一代码中的至少一种。通常情况下敏感函数较多,则OGNL表达式注入这一网络攻击的概率可能更大,因此将该第一占比作为一维注入特征数据可以提升OGNL表达式注入这一网络攻击检测的准确性。
具体可以是,统计得到该输入数据中的所有敏感函数的第一总数量,并统计得到该输入数据中的所有函数的第二总数量,用第一总数量,除以该第二总数量,就得到了该第一占比。
子步骤S2,统计所述输入数据中的所有运算符的第三总数量,占所述输入数据中的所有字符的第四总数量的第二占比。
运算符与OGNL表达式注入这一网络攻击息息相关,因此将该第二占比作为一维注入特征数据可以提升OGNL表达式注入这一网络攻击检测的准确性。
具体可以是,统计得到该输入数据中的运算符的第三总数量,并统计得到该输入数据中的所有字符的第四总数量,用第三总数量,除以该第四总数量,就得到了该第二占比。该输入数据中的运算符包括:该输入数据中的基本运算符和特殊运算符,即包括该输入数据中的所有运算符。OGNL表达式支持Java运算,该输入数据中的运算符可以包括:
Figure SMS_3
Figure SMS_4
等。
子步骤S3,统计所述输入数据中,平均每个对象导航图语言表达式中的所有函数声明的第一总次数。
函数声明的作用是把函数的名字、函数类型以及形参类型、个数和顺序通知编译系统,以便在调用该函数时系统按此进行对照检查(例如函数名是否正确,实参与形参的类型和个数是否一致)。每个对象导航图语言表达式中的所有函数声明的次数与OGNL表达式注入这一网络攻击息息相关,因此将该第一总次数作为一维注入特征数据,可以提升OGNL表达式注入这一网络攻击检测的准确性。
可选的,该第一总次数的获得可以包括下述步骤:统计该输入数据中,每个OGNL表达式中的所有函数声明的第三总次数,将该输入数据对应的所有第三总次数求和,得到第一和值,用该第一和值,除以该输入数据中,所有对象导航图语言表达式的第五总数量,得到该输入数据中,平均每个OGNL表达式中的所有函数声明的第一总次数,简便准确得到了该第一总次数。
例如,该输入数据一共包括3个OGNL表达式,各个OGNL表达式中所有函数声明的第三总次数分别为2次、3次、4次,则,该第一和值即为:2+3+4=9,9/3=3。即,该输入数据中,平均每个OGNL表达式中的所有函数声明的第一总次数即为3。
子步骤S4,统计所述输入数据中,平均每个对象导航图语言表达式中的所有函数调用的第二总次数。
OGNL表达式中函数调用次数较多,该OGNL表达式中含有OGNL表达式注入这一网络攻击的风险可能也较高,将该第二总次数作为一维注入特征数据,可以提升OGNL表达式注入这一网络攻击检测的准确性。
可选的,该第二总次数的获得可以包括下述步骤:统计该输入数据中,每个OGNL表达式中的所有函数调用的第四总次数,将该输入数据对应的所有第四总次数求和,得到第二和值,用该第二和值,除以该输入数据中,所有OGNL表达式的第五总数量,得到该输入数据中,平均每个OGNL表达式中的所有函数调用的第二总次数,简便准确得到了该第一总次数。
例如,该输入数据一共包括3个OGNL表达式,各个OGNL表达式中所有函数调用的第四总次数分别为1次、3次、5次,则,该第二和值即为:1+3+5=9,9/3=3。即,该输入数据中,平均每个OGNL表达式中的所有函数调用的第二总次数即为3。
可选的,该步骤103可以包括:基于命令执行环境(webshell)的统计学检测(NeoPI),统计该输入数据中的注入特征数据。NeoPI统计学特征包括:重合指数、文件熵、最长单词、恶意特征、压缩比。这些特征都与OGNL表达式这一网络检测是否有恶意息息相关,采用该方式统计注入特征数据可以提升网络检测的准确性。
可选的,该步骤103可以包括:在该输入数据对应的结果数据为该输入数据中所有OGNL表达式,均符合OGNL表达式的语法规范的情况下,统计该输入数据中的注入特征数据,在该输入数据中所有OGNL表达式,均符合OGNL表达式的语法规范的情况下,则,该输入数据的语法合法,然后才统计该输入数据中的注入特征数据,可以减少无效工作量。具体的,通常情况下,若输入数据中至少一个OGNL表达式,不符合OGNL表达式的语法规范的情况下,基本可以认为该输入数据无效或不合法,则无需统计该输入数据中的注入特征数据。
步骤104,将所述输入数据对应的所述结果数据和所述注入特征数据,输入预设的网络攻击检测模型,得到所述输入数据是否包括对象导航图语言表达式注入的检测结果。
该预设的网络攻击检测模型是提前训练好的,在将输入数据对应的结果数据和注入特征数据,输入该预设的网络攻击检测模型,可以输出该输入数据是否包括OGNL表达式注入的检测结果。
可选的,该预设的网络攻击检测模型包括:线性回归(Logistic Regression,LR)模型。LR模型是一种处理二分类问题的模型。在输入数据的OGNL表达式注入攻击检测场景中,把因变量y分为正类和负类。其中正类表示是OGNL表达式注入的输入数据,负类表示无OGNL表达式注入危害的输入数据。则因变量y∈{0, 1},其中0表示负类,1表示正类。LR模型的函数形式是下述公式(1)。
Figure SMS_5
使得
Figure SMS_6
时,预测/>
Figure SMS_7
,而当/>
Figure SMS_8
时,预测/>
Figure SMS_9
。其中x代表输入数据对应的结果数据和注入特征数据,/>
Figure SMS_10
代表输入数据对应的结果数据和注入特征数据分别对应的权重形成的矩阵,T代表前述矩阵的转置。g(z)代表sigmoid函数,公式为下述公式(2)。
Figure SMS_11
所以线性回归模型就是下述公式(3)。
Figure SMS_12
采用线性回归模型,得到该输入数据是否包括对象导航图语言表达式注入的检测结果,易于实现,且计算速度快,检测结果较为准确。
在本发明实施例中,获取输入数据中各个对象导航图语言表达式,是否均符合对象导航图语言表达式的语法规范的结果数据,统计该输入数据中的注入特征数据,将输入数据对应的结果数据和注入特征数据,输入预设的网络攻击检测模型,得到该输入数据是否包括对象导航图语言表达式注入的检测结果,就是提供了针对OGNL表达式注入这一网络攻击的检测方法。同时,输入数据对应的结果数据和注入特征数据这些多维数据,与OGNL表达式注入相关性更高,则对于OGNL表达式注入的检测准确率较高,召回率也较高,漏检测率较低,可以提升对于OGNL表达式注入的防护能力。并且,上述检测只要获取到输入数据就进行,检测实时性更好。
图2是本发明实施例提供的另一种网络攻击检测方法的步骤流程图,参照图2所示,该方法可以包括如下步骤。
步骤201,获取输入数据;所述输入数据包括:至少一个对象导航图语言表达式。
步骤202,获取所述输入数据中各个所述对象导航图语言表达式,是否均符合对象导航图语言表达式的语法规范的结果数据。
步骤203,统计所述输入数据中的注入特征数据。
步骤201至步骤203可以对应参照前述步骤101至步骤103,且能达到相同或相似的有益效果,为了避免重复,此处不再赘述。
步骤204,将获取的历史输入数据作为第一样本数据,训练得到所述预设的网络攻击检测模型。
就是采用历史输入数据训练得到前述预设的网络攻击检测模型。可选的,预设的网络攻击检测模型包括:线性回归模型。此处可以参照前述相关记载,且能达到相同或相似的有益效果,为了避免重复,此处不再赘述。
步骤205,将所述输入数据对应的所述结果数据和所述注入特征数据,输入预设的网络攻击检测模型,得到所述输入数据是否包括对象导航图语言表达式注入的检测结果。
步骤205可以对应参照前述步骤104,且能达到相同或相似的有益效果,为了避免重复,此处不再赘述。
步骤206,将所述输入数据作为第二样本数据,更新所述预设的网络攻击检测模型。
将前述输入数据作为第二样本数据,进而实时更新该预设的网络攻击检测模型,一方面有丰富的数据来源提升预设的网络攻击检测模型的鲁棒性,另一方面依托于实时数据更新,也可以便捷实现预设的网络攻击检测模型参数的实时更新,便于迭代更新。
需要说明的是,该方法还可以和云平台大数据结合,位于云平台的公网上的应用更容易遭受OGNL表达式注入这一网络攻击。例如,目前,银行、保险公司、电子商务零售商等各大企业纷纷上云,暴露在功率的裸Web(WorldWide Web,全球广域网)更容易遭受OGNL表达式注入这一网络攻击,导致个人和企业机密数据泄露、资金损失、业务中断等安全问题,对各企业造成严重影响。该方法还可以和云平台大数据结合,云平台大数据可以提供更多、更丰富的第一样本数据,使得训练得到的预设的网络攻击检测模型更为准确,鲁棒性更好,而且云平台大数据可以提供更多、更丰富的第二样本数据,可以便捷、快速实现预设的网络攻击检测模型参数的更新迭代等。
图3是本发明实施例提供的一种网络攻击检测装置的结构图。本发明还提供了一种网络攻击检测装置,参照图3所示,该装置包括:输入数据获取模块301,用于获取输入数据;所述输入数据包括:至少一个对象导航图语言表达式;
结果数据获取模块302,用于获取所述输入数据中各个所述对象导航图语言表达式,是否均符合对象导航图语言表达式的语法规范的结果数据;
统计模块303,用于统计所述输入数据中的注入特征数据;
检测模块304,用于将所述输入数据对应的所述结果数据和所述注入特征数据,输入预设的网络攻击检测模型,得到所述输入数据是否包括对象导航图语言表达式注入的检测结果。
可选的,所述统计模块303,包括下述子模块中的至少一种:第一统计子模块,用于统计所述输入数据中的所有敏感函数的第一总数量,占所述输入数据中的所有函数的第二总数量的第一占比;第二统计子模块,用于统计所述输入数据中的所有运算符的第三总数量,占所述输入数据中的所有字符的第四总数量的第二占比;第三统计子模块,用于统计所述输入数据中,平均每个对象导航图语言表达式中的所有函数声明的第一总次数;第四统计子模块,用于统计所述输入数据中,平均每个对象导航图语言表达式中的所有函数调用的第二总次数。
可选的,所述统计模块303,包括:第五统计子模块,用于基于命令执行环境的统计学检测,统计所述输入数据中的注入特征数据。
可选的,所述统计模块303,包括:第六统计子模块,用于在所述结果数据为所述输入数据中所有所述对象导航图语言表达式,均符合对象导航图语言表达式的语法规范的情况下,统计所述输入数据中的注入特征数据。
可选的,所述网络攻击检测装置还包括:训练模块,用于将获取的历史输入数据作为第一样本数据,训练得到所述预设的网络攻击检测模型。
可选的,所述网络攻击检测装置还包括:更新模块,用于将所述输入数据作为第二样本数据,更新所述预设的网络攻击检测模型。
可选的,所述预设的网络攻击检测模型包括:线性回归模型。
可选的,所述结果数据获取模块302,包括:第一结果数据获取子模块,用于在所述输入数据中各个所述对象导航图语言表达式,均生成抽象语法树的情况下,将所述输入数据对应的结果数据,确定为所述输入数据中各个所述对象导航图语言表达式,均符合对象导航图语言表达式的语法规范。
可选的,所述结果数据获取模块302,包括:第二结果数据获取子模块,用于获取所述输入数据中各个所述对象导航图语言表达式,是否均符合对象导航图语言表达式中巴科斯范式,规定的语法规范的结果数据。
可选的,所述第二结果数据获取子模块,包括:结果数据获取单元,用于基于LALR语法分析器,获取所述输入数据中各个所述对象导航图语言表达式,是否均符合对象导航图语言表达式中巴科斯范式,规定的语法规范的结果数据。
可选的,所述第三统计子模块,包括:第一统计单元,用于统计所述输入数据中,每个所述对象导航图语言表达式中的所有函数声明的第三总次数;第一求和单元,用于将所述输入数据对应的所有所述第三总次数求和,得到第一和值;第一总次数获取单元,用于用所述第一和值,除以所述输入数据中,所有对象导航图语言表达式的第五总数量,得到所述输入数据中,平均每个对象导航图语言表达式中的所有函数声明的第一总次数。
可选的,所述第四统计子模块,包括:第二统计单元,用于统计所述输入数据中,每个所述对象导航图语言表达式中的所有函数调用的第四总次数;第二求和单元,用于将所述输入数据对应的所有所述第四总次数求和,得到第二和值;第二总次数获取单元,用于用所述第二和值,除以所述输入数据中,所有对象导航图语言表达式的第五总数量,得到所述输入数据中,平均每个对象导航图语言表达式中的所有函数调用的第二总次数。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,本发明实施例中获取的各种信息、数据,均是在得到信息/数据持有方授权的情况下获取的。
下面结合具体实施例进一步解释说明本申请。
图4是本发明实施例提供的一种网络攻击检测的流程示意图。图5是本发明实施例提供的另一种网络攻击检测的流程示意图。参照图4所示,对云平台现有OGNL表达式注入这一类型的网络攻击的输入数据集进行标注。
参照图4、图5所示,对历史输入数据进行扫描分词处理,转换成token。将得到的token序列输入到LALR语法分析器,依据OGNL的BNF范式规定的语法规范,确定token序列流是否均符合OGNL的BNF范式规定的语法规范,得到历史输入数据对应的结果数据。
参照图4、图5所示,通过NeoPI统计得到前述历史输入数据中的注入特征数据。更为具体的,该步骤可以包括:通过NeoPI统计得到历史输入数据中的所有敏感函数的第一总数量,占该历史输入数据中的所有函数的第二总数量的第一占比,通过NeoPI统计得到该历史输入数据中的所有运算符的第三总数量,占该历史输入数据中的所有字符的第四总数量的第二占比,通过NeoPI统计得到该历史输入数据中,平均每个对象导航图语言表达式中的所有函数声明的第一总次数,通过NeoPI统计得到该历史输入数据中,平均每个对象导航图语言表达式中的所有函数调用的第二总次数。
参照图4、图5所示,基于历史输入数据对应的结果数据、上述第一占比、第二占比、第一总次数、第二总次数,训练线性回归模型,得到预设的网络攻击检测模型。图4中上方虚线方框或框出的部分主要是训练得到预设的网络攻击检测模型的部分。
参照图4、图5所示,获取输入数据,然后对该输入数据执行与历史输入数据相同的操作,直至得到该输入数据对应的结果数据、上述第一占比、第二占比、第一总次数、第二总次数。然后将该输入数据对应的结果数据、上述第一占比、第二占比、第一总次数、第二总次数输入训练好的预设的网络攻击检测模型,得到该输入数据是否包括OGNL表达式注入的检测结果。参照图5所示,将该检测结果上报云平台。在具有OGNL表达式注入的输入数据的条数,大于预设条数的情况下,安全报警。需要说明的是,该预设条数可以根据实际需要设定,本发明对此不作具体限定。
参照图4所示,以输入数据对应的结果数据、上述第一占比、第二占比、第一总次数、第二总次数更新前述训练好的预设的网络攻击检测模型。图4中下方虚线方框或框出的部分主要是网络攻击检测,以及对于预设的网络攻击检测模型的部分更新迭代的部分。
图6是本发明实施例提供的一种电子设备的结构图,本发明还提供了一种电子设备,参见图6,包括:处理器901、存储器902以及存储在所述存储器上并可在所述处理器上运行的计算机程序9021,所述处理器执行所述程序时实现前述实施例的网络攻击检测方法。
本发明还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述实施例的网络攻击检测方法。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明的排序设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明所涉及的用户信息(包括但不限于用户的设备信息、用户个人信息等)、相关数据等均为经用户授权或经各方授权后的信息。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (14)

1.一种网络攻击检测方法,其特征在于,所述方法包括:
获取输入数据;所述输入数据包括:至少一个对象导航图语言表达式;
获取所述输入数据中各个所述对象导航图语言表达式,是否均符合对象导航图语言表达式的语法规范的结果数据;
统计所述输入数据中的注入特征数据;
将所述输入数据对应的所述结果数据和所述注入特征数据,输入预设的网络攻击检测模型,得到所述输入数据是否包括对象导航图语言表达式注入的检测结果;
所述统计所述输入数据中的注入特征数据,包括下述步骤中的至少一种:
统计所述输入数据中的所有敏感函数的第一总数量,占所述输入数据中的所有函数的第二总数量的第一占比;
统计所述输入数据中的所有运算符的第三总数量,占所述输入数据中的所有字符的第四总数量的第二占比;
统计所述输入数据中,平均每个对象导航图语言表达式中的所有函数声明的第一总次数;
统计所述输入数据中,平均每个对象导航图语言表达式中的所有函数调用的第二总次数。
2.根据权利要求1所述的网络攻击检测方法,其特征在于,所述统计所述输入数据中的注入特征数据,包括:
基于命令执行环境的统计学检测,统计所述输入数据中的注入特征数据。
3.根据权利要求1所述的网络攻击检测方法,其特征在于,所述统计所述输入数据中的注入特征数据,包括:
在所述结果数据为所述输入数据中所有所述对象导航图语言表达式,均符合对象导航图语言表达式的语法规范的情况下,统计所述输入数据中的注入特征数据。
4.根据权利要求1至3中任一所述的网络攻击检测方法,其特征在于,所述将所述输入数据对应的所述结果数据和所述注入特征数据,输入预设的网络攻击检测模型,得到所述输入数据是否包括对象导航图语言表达式注入的检测结果之前,所述方法还包括:
将获取的历史输入数据作为第一样本数据,训练得到所述预设的网络攻击检测模型。
5.根据权利要求4所述的网络攻击检测方法,其特征在于,所述方法还包括:
将所述输入数据作为第二样本数据,更新所述预设的网络攻击检测模型。
6.根据权利要求4所述的网络攻击检测方法,其特征在于,所述预设的网络攻击检测模型包括:线性回归模型。
7.根据权利要求1至3中任一所述的网络攻击检测方法,其特征在于,所述获取所述输入数据中各个所述对象导航图语言表达式,是否均符合对象导航图语言表达式的语法规范的结果数据,包括:
在所述输入数据中各个所述对象导航图语言表达式,均生成抽象语法树的情况下,将所述输入数据对应的结果数据,确定为所述输入数据中各个所述对象导航图语言表达式,均符合对象导航图语言表达式的语法规范。
8.根据权利要求1至3中任一所述的网络攻击检测方法,其特征在于,所述获取所述输入数据中各个所述对象导航图语言表达式,是否均符合对象导航图语言表达式的语法规范的结果数据,包括:
获取所述输入数据中各个所述对象导航图语言表达式,是否均符合对象导航图语言表达式中巴科斯范式规定的语法规范的结果数据。
9.根据权利要求8所述的网络攻击检测方法,其特征在于,所述获取所述输入数据中各个所述对象导航图语言表达式,是否均符合对象导航图语言表达式中巴科斯范式规定的语法规范的结果数据,包括:
基于LALR语法分析器,获取所述输入数据中各个所述对象导航图语言表达式,是否均符合对象导航图语言表达式中巴科斯范式规定的语法规范的结果数据。
10.根据权利要求1所述的网络攻击检测方法,其特征在于,所述统计所述输入数据中,平均每个对象导航图语言表达式中的所有函数声明的第一总次数,包括:
统计所述输入数据中,每个所述对象导航图语言表达式中的所有函数声明的第三总次数;
将所述输入数据对应的所有所述第三总次数求和,得到第一和值;
用所述第一和值,除以所述输入数据中,所有对象导航图语言表达式的第五总数量,得到所述输入数据中,平均每个对象导航图语言表达式中的所有函数声明的第一总次数。
11.根据权利要求1所述的网络攻击检测方法,其特征在于,所述统计所述输入数据中,平均每个对象导航图语言表达式中的所有函数调用的第二总次数,包括:
统计所述输入数据中,每个所述对象导航图语言表达式中的所有函数调用的第四总次数;
将所述输入数据对应的所有所述第四总次数求和,得到第二和值;
用所述第二和值,除以所述输入数据中,所有对象导航图语言表达式的第五总数量,得到所述输入数据中,平均每个对象导航图语言表达式中的所有函数调用的第二总次数。
12.一种网络攻击检测装置,其特征在于,包括:
输入数据获取模块,用于获取输入数据;所述输入数据包括:至少一个对象导航图语言表达式;
结果数据获取模块,用于获取所述输入数据中各个所述对象导航图语言表达式,是否均符合对象导航图语言表达式的语法规范的结果数据;
统计模块,用于统计所述输入数据中的注入特征数据;
检测模块,用于将所述输入数据对应的所述结果数据和所述注入特征数据,输入预设的网络攻击检测模型,得到所述输入数据是否包括对象导航图语言表达式注入的检测结果;
所述统计模块,包括下述子模块中的至少一种:
第一统计子模块,用于统计所述输入数据中的所有敏感函数的第一总数量,占所述输入数据中的所有函数的第二总数量的第一占比;
第二统计子模块,用于统计所述输入数据中的所有运算符的第三总数量,占所述输入数据中的所有字符的第四总数量的第二占比;
第三统计子模块,用于统计所述输入数据中,平均每个对象导航图语言表达式中的所有函数声明的第一总次数;
第四统计子模块,用于统计所述输入数据中,平均每个对象导航图语言表达式中的所有函数调用的第二总次数。
13.一种电子设备,其特征在于,包括:
处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至11中任一所述的网络攻击检测方法。
14.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行权利要求1至11中任一所述的网络攻击检测方法。
CN202310047999.4A 2023-01-31 2023-01-31 网络攻击检测方法、装置、电子设备及存储介质 Active CN115801456B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310047999.4A CN115801456B (zh) 2023-01-31 2023-01-31 网络攻击检测方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310047999.4A CN115801456B (zh) 2023-01-31 2023-01-31 网络攻击检测方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN115801456A CN115801456A (zh) 2023-03-14
CN115801456B true CN115801456B (zh) 2023-06-23

Family

ID=85429343

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310047999.4A Active CN115801456B (zh) 2023-01-31 2023-01-31 网络攻击检测方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115801456B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194606A (zh) * 2018-07-05 2019-01-11 百度在线网络技术(北京)有限公司 攻击检测系统、方法、计算机设备及存储介质
CN110266669A (zh) * 2019-06-06 2019-09-20 武汉大学 一种Java Web框架漏洞攻击通用检测与定位的方法及系统
WO2021196691A1 (zh) * 2020-03-31 2021-10-07 华为技术有限公司 一种网络攻击检测方法及装置
CN113645224A (zh) * 2021-08-09 2021-11-12 杭州安恒信息技术股份有限公司 一种网络攻击检测方法、装置、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194606A (zh) * 2018-07-05 2019-01-11 百度在线网络技术(北京)有限公司 攻击检测系统、方法、计算机设备及存储介质
CN110266669A (zh) * 2019-06-06 2019-09-20 武汉大学 一种Java Web框架漏洞攻击通用检测与定位的方法及系统
WO2021196691A1 (zh) * 2020-03-31 2021-10-07 华为技术有限公司 一种网络攻击检测方法及装置
CN113645224A (zh) * 2021-08-09 2021-11-12 杭州安恒信息技术股份有限公司 一种网络攻击检测方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN115801456A (zh) 2023-03-14

Similar Documents

Publication Publication Date Title
CN110737899B (zh) 一种基于机器学习的智能合约安全漏洞检测方法
US9245125B2 (en) Duleak: a scalable app engine for high-impact privacy leaks
CN110602029B (zh) 一种用于识别网络攻击的方法和系统
US20120216177A1 (en) Generating Sound and Minimal Security Reports Based on Static Analysis of a Program
US8572747B2 (en) Policy-driven detection and verification of methods such as sanitizers and validators
CN110581864B (zh) 一种sql注入攻击的检测方法及装置
US20090055166A1 (en) Method, Computer Program and Apparatus for Analysing Symbols in a Computer System
CN113961930A (zh) Sql注入漏洞检测方法、装置及电子设备
CN112016138A (zh) 一种车联网自动化安全建模的方法、装置和电子设备
CN114328208A (zh) 代码检测方法及装置、电子设备、存储介质
CN112115326A (zh) 一种以太坊智能合约的多标签分类和漏洞检测方法
KR100670209B1 (ko) 파라미터 상태 추적을 통한 웹 응용프로그램 취약점의소스코드 분석 장치 및 방법
CN115801456B (zh) 网络攻击检测方法、装置、电子设备及存储介质
CN116450533A (zh) 用于应用程序的安全检测方法、装置、电子设备和介质
CN113904828B (zh) 接口的敏感信息检测方法、装置、设备、介质和程序产品
CN114285639B (zh) 一种网站安全防护方法及装置
CN112016057B (zh) 代码文件的隐私保护方法、评估方法及装置及电子设备
Satyanarayana et al. Static analysis tool for detecting web application vulnerabilities
Zhao et al. Research on smart contract evaluation method for open source blockchain
CN112883372B (zh) 跨站脚本攻击检测方法和装置
CN115412358B (zh) 网络安全风险评估方法、装置、电子设备及存储介质
CN113923193B (zh) 一种网络域名关联方法、装置、存储介质及电子设备
US20240045955A1 (en) Identifying security events in programming code for logging
CN117056347A (zh) Sql语句永真式注入检测方法、装置、计算机设备及存储介质
CN116781284A (zh) webshell检测方法、装置、设备和存储介质

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
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 100007 room 205-32, floor 2, building 2, No. 1 and No. 3, qinglonghutong a, Dongcheng District, Beijing

Patentee after: Tianyiyun Technology Co.,Ltd.

Address before: 100093 Floor 4, Block E, Xishan Yingfu Business Center, Haidian District, Beijing

Patentee before: Tianyiyun Technology Co.,Ltd.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20230314

Assignee: Dbappsecurity Co.,Ltd.

Assignor: Tianyiyun Technology Co.,Ltd.

Contract record no.: X2024990000089

Denomination of invention: Network attack detection methods, devices, electronic devices, and storage media

Granted publication date: 20230623

License type: Common License

Record date: 20240308