CN114282218A - 一种攻击检测方法、装置、电子设备及存储介质 - Google Patents
一种攻击检测方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114282218A CN114282218A CN202111592672.2A CN202111592672A CN114282218A CN 114282218 A CN114282218 A CN 114282218A CN 202111592672 A CN202111592672 A CN 202111592672A CN 114282218 A CN114282218 A CN 114282218A
- Authority
- CN
- China
- Prior art keywords
- data
- attack detection
- response message
- attack
- neural network
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 99
- 230000004044 response Effects 0.000 claims abstract description 75
- 238000000034 method Methods 0.000 claims abstract description 44
- 238000003062 neural network model Methods 0.000 claims abstract description 31
- 238000011176 pooling Methods 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 21
- 230000002159 abnormal effect Effects 0.000 claims description 20
- 238000013506 data mapping Methods 0.000 claims description 20
- 238000003066 decision tree Methods 0.000 claims description 13
- 230000015654 memory Effects 0.000 claims description 13
- 230000006399 behavior Effects 0.000 claims description 12
- 238000007637 random forest analysis Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012549 training Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 21
- 239000013598 vector Substances 0.000 description 21
- 238000013527 convolutional neural network Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000000306 recurrent effect Effects 0.000 description 8
- 238000000605 extraction Methods 0.000 description 6
- 238000002347 injection Methods 0.000 description 6
- 239000007924 injection Substances 0.000 description 6
- 125000004122 cyclic group Chemical group 0.000 description 5
- 244000035744 Hura crepitans Species 0.000 description 4
- 230000009471 action Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本申请提供一种攻击检测方法、装置、电子设备及存储介质,该方法包括:获取数据响应报文;对数据响应报文进行编码,获得编码数据;使用神经网络模型提取编码数据的数据特征,并对数据特征进行攻击检测,获得攻击检测结果。通过先对数据响应报文进行编码,获得编码数据;然后,使用神经网络模型提取编码数据的数据特征,并对数据特征进行攻击检测,避免了对请求数据进行攻击检测的情况。由于神经网络模型是使用数据响应报文训练的,而不是使用提交的请求数据训练的,因此,该神经网络模型能够预测攻击请求的未知特征,且使用该神经网络模型能够有效地检测出未知特征的攻击请求,从而提高了对命令执行攻击进行检测的准确率。
Description
技术领域
本申请涉及网络安全、机器学习和深度学习的技术领域,具体而言,涉及一种攻击检测方法、装置、电子设备及存储介质。
背景技术
命令执行攻击,是指用户在通过浏览器或其他辅助程序提交请求数据(包含攻击命令)给服务器时,由于服务器对请求数据中的攻击命令过滤不完全,导致服务器直接执行请求数据中的攻击命令,从而实现通过攻击命令来控制后台系统服务器。
目前,针对命令执行攻击进行检测的方法,大都是基于规则匹配的方法(例如正则表达式)对用户提交的请求数据进行检测,在实践过程中发现,这种方法只对已知特征的攻击请求进行检测时效果较好。然而,随着技术发展、应用系统的升级、服务更新或者新的安全漏洞等未知特征的攻击请求的出现,导致基于规则匹配的方法难以检测出未知特征的攻击请求。因此,目前针对命令执行攻击进行检测的准确率较低。
发明内容
本申请实施例的目的在于提供一种攻击检测方法、装置、电子设备及存储介质,用于改善对命令执行攻击进行检测的准确率较低的问题。
本申请实施例提供了一种攻击检测方法,包括:获取数据响应报文;对数据响应报文进行编码,获得编码数据;使用神经网络模型提取编码数据的数据特征,并对数据特征进行攻击检测,获得攻击检测结果。在上述的实现过程中,通过先对数据响应报文进行编码,获得编码数据;然后,使用神经网络模型提取编码数据的数据特征,并对数据特征进行攻击检测,避免了对请求数据进行攻击检测的情况。进一步地,由于神经网络模型是使用数据响应报文训练的,而不是使用提交的请求数据训练的,因此,该神经网络模型能够预测攻击请求的未知特征,且使用该神经网络模型能够有效地检测出未知特征的攻击请求,从而提高了对命令执行攻击进行检测的准确率。
可选地,在本申请实施例中,获取数据响应报文,包括:获取流量数据;使用网站应用防火墙WAF规则从流量数据匹配出异常请求报文;从流量数据中查找到与异常请求报文对应的数据响应报文。在上述的实现过程中,通过先使用网站应用防火墙WAF规则从流量数据匹配出异常请求报文,并从流量数据中查找到与异常请求报文对应的数据响应报文,从而避免了仅仅通过WAF规则来确定异常攻击的情况,从而提高了对命令执行攻击进行检测的准确率。
可选地,在本申请实施例中,对数据响应报文进行编码,获得编码数据,包括:获取跳字skip-gram模型对应的数据映射表;使用数据映射表对数据响应报文进行编码匹配,获得编码数据。在上述的实现过程中,通过获取跳字skip-gram模型对应的数据映射表,并使用数据映射表对数据响应报文进行编码匹配,由于连续skip-gram模型能够充分地表达字符含义与字符间的关系,从而降低数据特征提取的复杂度,有效地减少数据特征的提取时长,提升攻击检测的效率。
可选地,在本申请实施例中,神经网络模型包括:第一卷积层、第二卷积层和池化层;使用神经网络模型提取编码数据的数据特征,包括:使用第一卷积层对编码数据进行卷积处理,获得第一卷积特征;使用第二卷积层对第一卷积特征进行卷积处理,获得第二卷积特征;使用池化层对第二卷积特征进行池化处理,获得数据特征。在上述的实现过程中,通过采用连续的卷积神经网络模型对编码数据进行特征提取,获得卷积特征,再使用池化层(平均池化层或者最大池化层)对卷积特征进行优化,该编码数据是与数据响应报文中的命令执行返回结果对应的,从而尽可能充分地提取了命令执行返回结果对应的数据特征向量。
可选地,在本申请实施例中,对数据特征进行攻击检测,包括:使用随机森林或者梯度提升决策树GBDT对数据特征进行攻击检测。在上述的实现过程中,通过使用随机森林或者梯度提升决策树GBDT对数据特征进行攻击检测,由于GBDT算法以分类与回归树(Classification and Regression Trees,CART)作为基分类器,通过多棵树构建作为分学习器,所有分学习器的预测结果的残差作为下一轮分类器的训练值,并以顺序串行沿着残差减少的角度开展梯度迭代,通过对所有基学习器的训练结果进行加权求和,获得最后的分类器。这种方式分类器设计简单,训练速度也大大加快,与传统机器学习算法相比,在相对少的调参时间情况下,预测的准确率较高。
可选地,在本申请实施例中,在获得攻击检测结果之后,还包括:判断攻击检测结果是否是存在攻击行为;若是,则生成并输出预警信号。在上述的实现过程中,通过在攻击检测结果是存在攻击行为的情况下,生成并输出预警信号,从而避免了没有及时收到预警信号导致被攻击的问题,有效地提高了对命令执行攻击进行检测的效率。
本申请实施例还提供了一种攻击检测装置,包括:响应报文获取模块,用于获取数据响应报文;编码数据获得模块,用于对数据响应报文进行编码,获得编码数据;检测结果获得模块,用于使用神经网络模型提取编码数据的数据特征,并对数据特征进行攻击检测,获得攻击检测结果。
可选地,在本申请实施例中,响应报文获取模块,包括:报文数据获取模块,用于获取流量数据;异常报文匹配模块,用于使用网站应用防火墙WAF规则从流量数据匹配出异常请求报文;响应报文查找模块,用于从流量数据中查找到与异常请求报文对应的数据响应报文。
可选地,在本申请实施例中,编码数据获得模块,包括:数据映射获取模块,用于获取跳字skip-gram模型对应的数据映射表;数据编码匹配模块,用于使用数据映射表对数据响应报文进行编码匹配,获得编码数据。
可选地,在本申请实施例中,神经网络模型包括:第一卷积层、第二卷积层和池化层;检测结果获得模块,包括:第一卷积处理模块,用于使用第一卷积层对编码数据进行卷积处理,获得第一卷积特征;第二卷积处理模块,用于使用第二卷积层对第一卷积特征进行卷积处理,获得第二卷积特征;数据特征获得模块,用于使用池化层对第二卷积特征进行池化处理,获得数据特征。
可选地,在本申请实施例中,检测结果获得模块,包括:特征攻击检测模块,用于使用随机森林或者梯度提升决策树GBDT对数据特征进行攻击检测。
可选地,在本申请实施例中,攻击检测装置,还包括:检测结果判断模块,用于判断攻击检测结果是否是存在攻击行为;预警信号输出模块,用于若攻击检测结果是存在攻击行为,则生成并输出预警信号。
本申请实施例还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上面描述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请实施例中的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出的本申请实施例提供的攻击检测方法的流程示意图;
图2示出的本申请实施例提供的处理流量数据的过程示意图;
图3示出的本申请实施例提供的使用模型进行训练和攻击检测的过程示意图;
图4示出的本申请实施例提供的获得滑动窗口设置为5的训练数据的过程示意图;
图5示出的本申请实施例提供的生成并输出预警信号的流程示意图;
图6示出的本申请实施例提供的攻击检测装置的结构示意图;
图7示出的本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请实施例中的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请实施例的详细描述并非旨在限制要求保护的本申请实施例的范围,而是仅仅表示本申请实施例中的选定实施例。基于本申请实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
在介绍本申请实施例提供的攻击检测方法之前,先介绍本申请实施例中所涉及的一些概念:
入侵检测系统(Intrusion Detection Systems,IDS),是指依照一定的安全策略,通过软件或者硬件对网络和系统的运行状况进行监视,尽可能发现各种攻击企图、攻击行为或者攻击结果,以保证网络系统资源的机密性、完整性和可用性的软件系统。
网站应用防火墙(Web Application Firewall,WAF)系统,又被称为Web应用防护系统或者网站应用级入侵防御系统,是指通过执行一系列针对超文本传输协议(HyperText Transfer Protocol,HTTP)或者超文本传输安全协议(Hyper Text TransferProtocol Secure,HTTPS)的安全策略来专门为Web应用提供保护的一款产品。
卷积神经网络(Convolutional Neural Networks,CNN),是一种人工神经网络,人工神经网络的人工神经元可以响应周围单元,可以进行大型图像处理。
循环神经网络(Recurrent Neural Network,RNN),又称递归神经网络,是一类以序列数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递归神经网络(recursive neural network);循环神经网络的核心部分是一个有向图;该有向图展开中以链式相连的元素被称为循环单元(RNN cell);通常地,循环单元构成的链式连接可类比前馈神经网络中的隐含层(hidden layer),但在不同的论述中,循环神经网络的“层”可能指单个时间步的循环单元或所有的循环单元。
随机森林指的是利用多棵树对样本进行训练并预测的一种分类器,在机器学习中,随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。
梯度提升决策树(Gradient Boosting Decision Tree,GBDT),又被称为梯度增强决策树,又简称梯度提升树(Gradient Boosting Tree,GBT),又被称为梯度树提升(Gradient Tree Boosting,GTB),梯度提升回归树(Gradient Boosting RegressionTree,GBRT),多元加性回归树(Multiple Additive Regression Tree,MART)等,主要是指结合回归树和提升决策树(Boosting Decision Tree)的思想,并提出利用残差梯度来优化回归树的集成方法的模型。
结构化查询语言(Structured Query Language,SQL)注入是指因为后台SQL语句拼接了用户的输入,而且Web应用程序对用户输入数据的合法性没有判断和过滤,前端传入后端的参数是攻击者可控的,攻击者可以通过构造不同的SQL语句来实现对数据库的任意操作。
需要说明的是,本申请实施例提供的攻击检测方法可以被电子设备执行,这里的电子设备是指具有执行计算机程序功能的设备终端或者服务器,设备终端例如:智能手机、个人电脑、平板电脑、个人数字助理或者移动上网设备等。服务器是指通过网络提供计算服务的设备,服务器例如:x86服务器以及非x86服务器,非x86服务器包括:大型机、小型机和UNIX服务器。
下面介绍该攻击检测方法适用的应用场景,这里的应用场景包括但不限于:使用该攻击检测方法对HTTP或者HTTPS的数据响应报文进行攻击检测,从而确定该数据响应报文对应的HTTP或者HTTPS请求数据是否包含攻击命令等,提高对命令执行攻击进行检测的准确率。此处的HTTP或者HTTPS请求数据可以是通过浏览器或其他辅助程序提交的,当服务器对HTTP或者HTTPS请求数据过滤不完全时,就会导致服务器直接执行系统命令,从而可能会被攻击者通过命令执行来控制服务器。当然,在具体的实践过程中,还可以使用该攻击检测方法来增强安全产品的功能,这些安全产品包括但不限于:IDS系统、网络安全防护设备(Network Security Device,NSD)和蜜罐系统(Honey-Pot System)等等。
请参见图1示出的本申请实施例提供的攻击检测方法的流程示意图;该攻击检测方法的主要思路是,通过先对数据响应报文进行编码,获得编码数据;然后,使用神经网络模型提取编码数据的数据特征,并对数据特征进行攻击检测,避免了对请求数据进行攻击检测的情况。进一步地,由于神经网络模型是使用数据响应报文训练的,而不是使用提交的请求数据训练的,因此,该神经网络模型能够预测攻击请求的未知特征,且使用该神经网络模型能够有效地检测出未知特征的攻击请求,从而提高了对命令执行攻击进行检测的准确率。上述的攻击检测方法具体可以包括:
步骤S110:电子设备获取数据响应报文。
上述步骤S110的实施方式有很多种,包括但不限于如下几种:
第一种实施方式,从WAF规则匹配出异常请求报文,并找到该异常请求报文对应的数据响应报文,该实施方式可以包括:
步骤S111:获取流量数据。
上述步骤S111的流量数据的获取方式可以包括:第一种获取方式,电子设备(例如Web防火墙网关)接收其它终端设备(例如客户端通过浏览器)发送的流量数据,将流量数据存储至文件系统、数据库或移动存储设备中;第二种获取方式,获取预先存储的流量数据,具体例如:从文件系统、数据库或移动存储设备中获取流量数据;第三种获取方式,使用浏览器等软件获取互联网上的流量数据,或者使用其它应用程序访问互联网获取流量数据。
步骤S112:使用网站应用防火墙WAF规则从流量数据匹配出异常请求报文。
请参见图2示出的本申请实施例提供的处理流量数据的过程示意图;上述步骤S112的实施方式例如:使用网站应用防火墙WAF规则从流量数据匹配出异常请求报文;其中,此处的WAF规则可以是正则表达式(regular expression)构成的规则,此处的正则表达式又称规则表达式,正则表达式通常被用来检索、替换那些符合某个模式(pattern)的文本。
步骤S113:从流量数据中查找到与异常请求报文对应的数据响应报文。
上述步骤S113的实施方式例如:可以理解的是,电子设备(例如Web防火墙网关)在保存异常请求报文之后,还可以向该异常请求报文对应的服务器发送该异常请求报文,以使该服务器返回该异常请求报文对应的数据响应报文,那么同样也可以将该数据响应报文保存在数据库的流量数据中,此处的数据库可以采用关系型数据库或者非关系型数据库。其中,可以使用的关系型数据库例如:Mysql、PostgreSQL、Oracle和SQLSever等,可以使用的非关系型数据库包括:grakn数据库、Neo4j图数据库、Hadoop子系统HBase、MongoDB和CouchDB等。
可选地,在服务器返回该异常请求报文对应的数据响应报文之后,如果服务器使用了预设编码格式(Coding Format)对数据响应报文进行了编码,那么电子设备还可以使用该预设编码格式对数据响应报文进行解码,从而获得解码后的数据响应报文,解码后的数据响应报文中包括HTTP/HTTPS中的命令执行的返回结果数据,并将返回结果数据作为上面的数据响应报文,此处的预设编码格式包括但不限于:ASCII、ISO-8859-1、GB2312、GBK、UTF-8、UTF-16等等。可以理解的是,在具体实践过程中,还可以校验数据响应报文的完整性,例如该数据响应报文在经过一些特殊网络环境时,被分为多个数据片分别发送,那么此时需要等待接收完所有的数据片,并将所有的数据片组合为一个完整的数据响应报文。因此,在没有接收到所有数据片时,可以校验数据响应报文是否完整。
第二种实施方式,从蜜罐系统(Honey-Pot System)或者沙盒(SandBox)环境中获取请求报文对应的数据响应报文,该实施方式可以包括:为了服务器的安全,通常会将请求报文发送给蜜罐系统等或者沙盒环境获得数据响应报文,在验证数据响应报文安全之后,才正式处理该请求报文,因此,可以从蜜罐系统等或者沙盒环境中获取到该请求报文对应的数据响应报文。
在步骤S110之后,执行步骤S120:电子设备对数据响应报文进行编码,获得编码数据。
上面步骤S120的实施方式具体可以包括:
步骤S121:获取编码器模型对应的数据映射表。
上述步骤S121的实施方式例如:使用连续词袋(continuous-bag-of-words,CBOW)模型或者连续skip-gram模型(Continuous Skip-gram Model)作为编码器模型,使用该编码器模型对训练数据(例如很多数据响应报文)进行编码,获得数据映射表,该数据映射表是数据响应报文中的字符到编码向量一一映射的。在上述的实现过程中,上述的CBOW模型或者连续skip-gram模型能够充分地表达字符含义与字符间的关系,从而降低数据特征提取的复杂度,有效地减少数据特征的提取时长,提升攻击检测的效率。
步骤S122:使用数据映射表对数据响应报文进行编码匹配,获得编码数据。
上述步骤S122的实施方式例如:由于数据映射表是数据响应报文中的字符到编码向量一一映射的,因此,可以使用数据映射表对数据响应报文中的命令执行返回结果数据进行编码匹配,从而获得匹配该字符对应的编码向量,并将匹配出的多个编码向量确定为编码数据。
在步骤S120之后,执行步骤S130:电子设备使用神经网络模型提取编码数据的数据特征,并对数据特征进行攻击检测,获得攻击检测结果。
上述步骤S130的实施方式具体可以包括:
步骤S131:电子设备使用神经网络模型提取编码数据的数据特征。
其中,上述的神经网络模型具体可以采用卷积神经网络模型(CNN)或者循环神经网络(RNN),可以使用的循环神经网络(RNN)包括:长短期记忆(Long Short-Term Memory,LSTM)网络和双向长短记忆(Bidirectional Long Short-Term Memor,Bi-LSTM)网络等等。为了便于理解和说明,下面以卷积神经网络模型为例进行说明,该卷积神经网络模型可以包括:第一卷积层、第二卷积层和池化层。
上述步骤S131的实施方式有很多种包括但不限于:第一种实施方式,电子设备使用LeNet网络模型、AlexNet网络模型、VGG网络模型、GoogLeNet网络模型和ResNet网络模型等等卷积神经网络模型提取编码数据的数据特征;该实施方式例如:使用第一卷积层对编码数据进行卷积处理,获得第一卷积特征;使用第二卷积层对第一卷积特征进行卷积处理,获得第二卷积特征;使用池化层(平均池化层或者最大池化层)对第二卷积特征进行池化处理,获得数据特征。在上述的实现过程中,通过采用连续的卷积神经网络模型对编码数据进行特征提取,获得卷积特征,再使用池化层(平均池化层或者最大池化层)对卷积特征进行优化,该编码数据是与数据响应报文中的命令执行返回结果对应的,从而尽可能充分地提取了命令执行返回结果对应的数据特征向量。
步骤S132:对数据特征进行攻击检测,获得攻击检测结果。
上面步骤S132的实施方式例如:使用随机森林(Random Forest)或者梯度提升决策树GBDT对数据特征进行攻击检测,获得攻击检测结果;其中,此处的攻击检测结果是指攻击类型,攻击类型包括但不限于:正常报文(即无攻击的类别)、网页后门(WebShell)、文件注入攻击(又称文件包含漏洞)或者结构化查询语言(SQL)注入等等。上述的WebShell又称网站的后门工具,webshell就是以asp、php或者jsp等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。文件注入攻击是代码注入的其中一种,文件包含漏洞原理就是注入一段用户能控制的脚本或代码,并让服务器端执行,代码注入的典型代表就是文件包含(File inclusion)。文件包含可能会出现在jsp、php、asp等语言中。服务器通过函数去包含任意文件时,由于要包含的这个文件来源过滤不严,从而可以去包含一个恶意文件,从而可以构造这个恶意文件来达到非法目的。
可选地,在上面使用GBDT对数据特征进行攻击检测之前,还可以使用训练数据和训练标签对GBDT进行训练,此处的训练数据可以是事先已知的正常数据和异常数据,此处的训练标签可以是正常数据和异常数据进行分别加注标签的数据,然后使用标注好的训练数据和训练标签来训练GBDT模型,生成GBDT模型参数,从而得到训练后的GBDT。
在上述的实现过程中,通过先对数据响应报文进行编码,获得编码数据;然后,使用神经网络模型提取编码数据的数据特征,并对数据特征进行攻击检测,避免了对请求数据进行攻击检测的情况。进一步地,由于神经网络模型是使用数据响应报文训练的,而不是使用提交的请求数据训练的,因此,该神经网络模型能够预测攻击请求的未知特征,且使用该神经网络模型能够有效地检测出未知特征的攻击请求,从而提高了对命令执行攻击进行检测的准确率。
请参见图3示出的本申请实施例提供的使用模型进行训练和攻击检测的过程示意图;可选地,在具体的实践过程中,可以直接结合skip-gram模型、卷积神经网络模型(CNN)和梯度提升决策树GBDT来进行训练和攻击检测。在模型进行训练的过程中,使用skip-gram模型对数据响应报文中的命令执行返回结果数据进行编码,获得编码数据,然后,使用卷积神经网络模型(CNN)提取编码数据的数据特征,并使用梯度提升决策树GBDT对数据特征进行分类预测,直到所有直到损失值小于预设比例,即可完成模型训练;其中,上述的预设比例可以根据具体情况设置,例如设置为5%或者10%等。
请参见图4示出的本申请实施例提供的获得滑动窗口设置为5的训练数据的过程示意图;上述使用skip-gram模型的训练过程可以包括:首先,可以根据数据响应报文中的命令执行返回结果字段所有可能出现的字符构建组成skip-gram所需的字符表,该字符表可以表示为V,然后,假设ω为字符表V中的字符,d为字符向量的维数,则有w∈Rd是ω∈V的向量表示。根据设置滑动窗口大小得到训练数据(ω,c)。在目标字符ω的上下文中观察到字符c的概率为:其中,ω代表目标字符,小写的c代表窗口中的其中一个非目标字符,大写的C代表非目标字符c的向量表示,D代表窗口大小的尺寸,Pr(D=1|ω,c)代表在目标字符ω的上下文(窗口尺寸为1)中观察到字符c的概率,向量w代表目标字符ω的向量表示。在目标字符ω的上下文中未观察到字符c的概率为: 其中,ω代表目标字符,小写的c代表窗口中的其中一个非目标字符,大写的C代表非目标字符c的向量表示,D代表窗口大小的尺寸,Pr(D=0|ω,c)代表在目标字符ω的上下文(窗口尺寸为0)中观察到字符c的概率,向量w代表目标字符ω的向量表示。
上述skip-gram模型中的隐藏层是无激活函数的线性神经元,该skip-gram模型的输出层可以使用softmax激活函数,然后使用噪音对比估计(Noise ContrastiveEstimation,NCE)预测目标字符,并利用负采样技术,尽可能使得真实目标具有较高的概率,设置滑动窗口扫描得到的实验数据集D及相应的负采样随机数据集D′,则skip-gram模型中的目标函数可以设置为:J(θ)=∑ω.c∈DPr(D=1|ω,c)+∑ω.c∈D′Pr(D=0|ω,c),从而计算获得字符的稠密编码向量;其中,J(θ)代表目标函数,D代表窗口大小的尺寸,Pr(D=1|ω,c)代表在目标字符ω的上下文(窗口尺寸为1)中观察到字符c的概率,Pr(D=0|ω,c)代表在目标字符ω的上下文(窗口尺寸为0)中观察到字符c的概率,向量w代表目标字符ω的向量表示,小写的c代表窗口中的其中一个非目标字符;向量w′是字符ω的稠密编码向量,向量w是字符ω的one-hot向量,Wh为skip-gram模型训练结束时候所得隐藏层权重矩阵。
在模型进行攻击检测的过程中,也可以使用skip-gram模型对数据响应报文中的命令执行返回结果数据进行编码,获得编码数据,然后,使用卷积神经网络模型(CNN)提取编码数据的数据特征,并使用梯度提升决策树GBDT对数据特征进行攻击检测,获得攻击检测结果。在上述的实践结果可以表明,使用结合skip-gram模型、卷积神经网络模型(CNN)和梯度提升决策树GBDT的攻击检测方法来进行训练和攻击检测,可以在有限的训练数据的样本数量下,能够有效地降低对命令执行攻击进行检测的误报率,从而有效提高对命令执行攻击进行检测的准确率。
请参见图5示出的本申请实施例提供的生成并输出预警信号的流程示意图;可选地,在获得攻击检测结果之后,还可以在存在攻击行为的情况下生成并输出预警信号,生成并输出预警信号的具体过程可以包括:
步骤S210:判断攻击检测结果是否是存在攻击行为。
上述步骤S210的实施方式例如:电子设备编程语言编译或者解释的可执行程序判断攻击检测结果是否是存在攻击行为;其中,可以使用的编程语言例如:C、C++、Java、BASIC、JavaScript、LISP、Shell、Perl、Ruby、Python和PHP等等。
在步骤S210之后,执行步骤S220:若攻击检测结果是存在攻击行为,则生成并输出预警信号。
上述步骤S220的实施方式例如:若攻击检测结果是存在攻击行为,则电子设备根据攻击检测结果中的攻击类型生成预警信号,并通过传输控制协议(TransmissionControl Protocol,TCP)或者用户数据报协议(User Datagram Protocol,UDP)向终端设备发送预警信号,以使终端设备显示输出该预警信号。
请参见图6示出的本申请实施例提供的攻击检测装置的结构示意图;本申请实施例提供了一种攻击检测装置300,包括:
响应报文获取模块310,用于获取数据响应报文。
编码数据获得模块320,用于对数据响应报文进行编码,获得编码数据。
检测结果获得模块330,用于使用神经网络模型提取编码数据的数据特征,并对数据特征进行攻击检测,获得攻击检测结果。
可选地,在本申请实施例中,响应报文获取模块,包括:
报文数据获取模块,用于获取流量数据。
异常报文匹配模块,用于使用网站应用防火墙WAF规则从流量数据匹配出异常请求报文。
响应报文查找模块,用于从流量数据中查找到与异常请求报文对应的数据响应报文。
可选地,在本申请实施例中,编码数据获得模块,包括:
数据映射获取模块,用于获取跳字skip-gram模型对应的数据映射表。
数据编码匹配模块,用于使用数据映射表对数据响应报文进行编码匹配,获得编码数据。
可选地,在本申请实施例中,神经网络模型包括:第一卷积层、第二卷积层和池化层;检测结果获得模块,包括:
第一卷积处理模块,用于使用第一卷积层对编码数据进行卷积处理,获得第一卷积特征。
第二卷积处理模块,用于使用第二卷积层对第一卷积特征进行卷积处理,获得第二卷积特征。
数据特征获得模块,用于使用池化层对第二卷积特征进行池化处理,获得数据特征。
可选地,在本申请实施例中,检测结果获得模块,包括:
特征攻击检测模块,用于使用随机森林或者梯度提升决策树GBDT对数据特征进行攻击检测。
可选地,在本申请实施例中,攻击检测装置,还包括:
检测结果判断模块,用于判断攻击检测结果是否是存在攻击行为。
预警信号输出模块,用于若攻击检测结果是存在攻击行为,则生成并输出预警信号。
应理解的是,该装置与上述的攻击检测方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operating system,OS)中的软件功能模块。
请参见图7示出的本申请实施例提供的电子设备的结构示意图。本申请实施例提供的一种电子设备400,包括:处理器410和存储器420,存储器420存储有处理器410可执行的机器可读指令,机器可读指令被处理器410执行时执行如上的方法。
本申请实施例还提供了一种计算机可读存储介质430,该计算机可读存储介质430上存储有计算机程序,该计算机程序被处理器410运行时执行如上的方法。
其中,计算机可读存储介质430可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
本申请实施例提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅是示意性的,例如,附图中的流程图和框图显示了根据本申请实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以和附图中所标注的发生顺序不同。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这主要根据所涉及的功能而定。
另外,在本申请实施例中的各个实施例的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。此外,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上的描述,仅为本申请实施例的可选实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。
Claims (10)
1.一种攻击检测方法,其特征在于,包括:
获取数据响应报文;
对所述数据响应报文进行编码,获得编码数据;
使用神经网络模型提取所述编码数据的数据特征,并对所述数据特征进行攻击检测,获得攻击检测结果。
2.根据权利要求1所述的方法,其特征在于,所述获取数据响应报文,包括:
获取流量数据;
使用网站应用防火墙WAF规则从所述流量数据匹配出异常请求报文;
从所述流量数据中查找到与所述异常请求报文对应的所述数据响应报文。
3.根据权利要求1所述的方法,其特征在于,所述对所述数据响应报文进行编码,获得编码数据,包括:
获取跳字skip-gram模型对应的数据映射表;
使用所述数据映射表对所述数据响应报文进行编码匹配,获得所述编码数据。
4.根据权利要求1所述的方法,其特征在于,所述神经网络模型包括:第一卷积层、第二卷积层和池化层;所述使用神经网络模型提取所述编码数据的数据特征,包括:
使用所述第一卷积层对所述编码数据进行卷积处理,获得第一卷积特征;
使用所述第二卷积层对所述第一卷积特征进行卷积处理,获得第二卷积特征;
使用所述池化层对所述第二卷积特征进行池化处理,获得所述数据特征。
5.根据权利要求1所述的方法,其特征在于,所述对所述数据特征进行攻击检测,包括:
使用随机森林或者梯度提升决策树GBDT对所述数据特征进行攻击检测。
6.根据权利要求1-5任一所述的方法,其特征在于,在所述获得攻击检测结果之后,还包括:
判断所述攻击检测结果是否是存在攻击行为;
若是,则生成并输出预警信号。
7.一种攻击检测装置,其特征在于,包括:
响应报文获取模块,用于获取数据响应报文;
编码数据获得模块,用于对所述数据响应报文进行编码,获得编码数据;
检测结果获得模块,用于使用神经网络模型提取所述编码数据的数据特征,并对所述数据特征进行攻击检测,获得攻击检测结果。
8.根据权利要求7所述的装置,其特征在于,所述编码数据获得模块,包括:
数据映射获取模块,用于获取跳字skip-gram模型对应的数据映射表;
数据编码匹配模块,用于使用所述数据映射表对所述数据响应报文进行编码匹配,获得所述编码数据。
9.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处理器执行时执行如权利要求1至6任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111592672.2A CN114282218A (zh) | 2021-12-23 | 2021-12-23 | 一种攻击检测方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111592672.2A CN114282218A (zh) | 2021-12-23 | 2021-12-23 | 一种攻击检测方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114282218A true CN114282218A (zh) | 2022-04-05 |
Family
ID=80875002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111592672.2A Pending CN114282218A (zh) | 2021-12-23 | 2021-12-23 | 一种攻击检测方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114282218A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115225379A (zh) * | 2022-07-19 | 2022-10-21 | 华东理工大学 | 基于测量编码的电网虚假数据注入攻击检测方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111049786A (zh) * | 2018-10-12 | 2020-04-21 | 北京奇虎科技有限公司 | 一种网络攻击的检测方法、装置、设备及存储介质 |
CN111818052A (zh) * | 2020-07-09 | 2020-10-23 | 国网山西省电力公司信息通信分公司 | 基于cnn-lstm的工控协议同源攻击检测方法 |
CN113141360A (zh) * | 2021-04-21 | 2021-07-20 | 建信金融科技有限责任公司 | 网络恶意攻击的检测方法和装置 |
CN113691542A (zh) * | 2021-08-25 | 2021-11-23 | 中南林业科技大学 | 基于HTTP请求文本的Web攻击检测方法及相关设备 |
-
2021
- 2021-12-23 CN CN202111592672.2A patent/CN114282218A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111049786A (zh) * | 2018-10-12 | 2020-04-21 | 北京奇虎科技有限公司 | 一种网络攻击的检测方法、装置、设备及存储介质 |
CN111818052A (zh) * | 2020-07-09 | 2020-10-23 | 国网山西省电力公司信息通信分公司 | 基于cnn-lstm的工控协议同源攻击检测方法 |
CN113141360A (zh) * | 2021-04-21 | 2021-07-20 | 建信金融科技有限责任公司 | 网络恶意攻击的检测方法和装置 |
CN113691542A (zh) * | 2021-08-25 | 2021-11-23 | 中南林业科技大学 | 基于HTTP请求文本的Web攻击检测方法及相关设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115225379A (zh) * | 2022-07-19 | 2022-10-21 | 华东理工大学 | 基于测量编码的电网虚假数据注入攻击检测方法及装置 |
CN115225379B (zh) * | 2022-07-19 | 2023-10-03 | 华东理工大学 | 基于测量编码的电网虚假数据注入攻击检测方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Alaiz-Moreton et al. | Multiclass Classification Procedure for Detecting Attacks on MQTT‐IoT Protocol | |
JP7559200B2 (ja) | ディープ・ラーニングによるネットワーク侵入検知 | |
US10819724B2 (en) | Systems and methods for cyberbot network detection | |
US10496924B1 (en) | Dictionary DGA detector model | |
US10944791B2 (en) | Increasing security of network resources utilizing virtual honeypots | |
US11627156B2 (en) | System and method for detecting bots using semi-supervised deep learning techniques | |
KR102093275B1 (ko) | 악성코드 감염 유도정보 판별 시스템, 프로그램이 기록된 저장매체 및 방법 | |
Lei et al. | XSS detection technology based on LSTM-attention | |
CN105516196A (zh) | 基于http报文数据的并行化网络异常检测方法与系统 | |
Kuppa et al. | ConvXSS: A deep learning-based smart ICT framework against code injection attacks for HTML5 web applications in sustainable smart city infrastructure | |
CN112131578A (zh) | 攻击信息预测模型的训练方法、装置、电子设备及存储介质 | |
KR102241859B1 (ko) | 악성 멀티미디어 파일을 분류하는 인공지능 기반 장치, 방법 및 그 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록매체 | |
CN112884075A (zh) | 一种流量数据增强方法、流量数据分类方法及相关装置 | |
CN114357443A (zh) | 基于深度学习的恶意代码检测方法、设备与存储介质 | |
Li et al. | Deep learning algorithms for cyber security applications: A survey | |
Gupta et al. | GeneMiner: a classification approach for detection of XSS attacks on web services | |
Soman et al. | A comprehensive tutorial and survey of applications of deep learning for cyber security | |
Naim et al. | Malicious website identification using design attribute learning | |
CN114282218A (zh) | 一种攻击检测方法、装置、电子设备及存储介质 | |
CN117729027A (zh) | 异常行为检测方法、装置、电子设备及存储介质 | |
KR102202448B1 (ko) | 파일 내 악성 위협을 처리하는 인공지능 기반 장치, 그 방법 및 그 기록매체 | |
US12067120B2 (en) | Classifier generator | |
Gong et al. | Multi-order feature interaction-aware intrusion detection scheme for ensuring cyber security of intelligent connected vehicles | |
WO2023050670A1 (zh) | 虚假信息检测方法、系统、计算机设备及可读存储介质 | |
CN115622793A (zh) | 一种攻击类型识别方法、装置、电子设备及存储介质 |
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 |