CN114301630A - 网络攻击检测方法、装置、终端设备及存储介质 - Google Patents

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

Info

Publication number
CN114301630A
CN114301630A CN202111446094.1A CN202111446094A CN114301630A CN 114301630 A CN114301630 A CN 114301630A CN 202111446094 A CN202111446094 A CN 202111446094A CN 114301630 A CN114301630 A CN 114301630A
Authority
CN
China
Prior art keywords
attention
deep learning
learning model
layer
network attack
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
Application number
CN202111446094.1A
Other languages
English (en)
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 6Cloud Technology Co Ltd
Beijing 6Cloud Information Technology Co Ltd
Original Assignee
Beijing 6Cloud Technology Co Ltd
Beijing 6Cloud Information 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 6Cloud Technology Co Ltd, Beijing 6Cloud Information Technology Co Ltd filed Critical Beijing 6Cloud Technology Co Ltd
Priority to CN202111446094.1A priority Critical patent/CN114301630A/zh
Publication of CN114301630A publication Critical patent/CN114301630A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种网络攻击检测方法、装置、终端设备及存储介质,通过获取待检测数据;将所述待检测数据输入预先创建的基于注意力机制的深度学习模型,得到检测结果;在检测结果大于预设阈值时,判定存在网络攻击,输出所述检测结果相应的注意力分数对应的预设标识。本发明解决了网络攻击检测模型解释性差的问题,提升了网络攻击检测结果的可解释性。

Description

网络攻击检测方法、装置、终端设备及存储介质
技术领域
本发明涉及网络安全领域,尤其涉及网络攻击检测方法、装置、终端设备及存储介质。
背景技术
Web(World Wide Web,全球广域网)防火墙是信息安全的第一道防线。随着网络技术的快速更新,新的黑客技术也层出不穷,为传统规则防火墙带来了挑战。传统Web入侵检测技术通过维护规则集对入侵访问进行拦截。然而,硬规则在灵活的黑客面前,很容易被绕过,且基于以往知识的规则集,难以应对0day(zero day,破解)攻击。其中,跨站脚本(Cross-Site Scripting,XSS)注入攻击对网络数据安全产生了很大的威胁,为了检测对网站进行的XSS攻击,需要提取网站流量,对流量进行分析检测。
近年来,随着机器学习的快速发展,国内外的专家学者对此进行了大量的研究,并将其应用在了网络空间安全领域。包括深度学习在内的机器学习应用在网络空间安全领域将成为主流趋势,通过对URL(Uniform Resource Locator,统一资源定位系统)进行检测,确定是否存在网络攻击,但此方法仍存在模型解释性差的问题,无法提供恶意片段作为证据,难以帮助安全人员进行研判,导致安全人员工作负担较重。
因此,有必要提出一种网络攻击检测模型解释性差的解决方案。
发明内容
本发明的主要目的在于提供一种网络攻击检测方法、装置、终端设备及存储介质,旨在解决网络攻击检测模型解释性差的问题,提升网络攻击检测结果的可解释性。
为实现上述目的,本发明提供一种网络攻击检测方法,所述网络攻击检测方法包括:
获取待检测数据;
将所述待检测数据输入预先创建的基于注意力机制的深度学习模型,得到检测结果;
在检测结果大于预设阈值时,判定存在网络攻击,输出所述检测结果相应的注意力分数对应的预设标识。
可选地,所述将所述待检测数据输入预先创建的基于注意力机制的深度学习模型,得到检测结果的步骤之前还包括:
训练得到所述深度学习模型。
可选地,所述训练得到所述深度学习模型的步骤包括:
获取预先采集的样本数据;
通过所述深度学习模型中的嵌入层对所述样本数据进行特征转化,得到所述样本数据的整体特征表示;
通过所述深度学习模型中的注意力层对所述整体特征表示进行处理,得到注意力分数与注意力层输出结果;
通过所述深度学习模型中的全连接层对所述注意力层输出结果进行计算,得到预测结果;
计算所述预测结果与所述样本数据的真实标签之间的误差损失函数;
将所述误差损失函数回传到所述深度学习模型,对所述嵌入层、注意力层和全连接层的参数进行更新,并返回执行步骤:通过所述嵌入层对所述样本数据进行特征转化,得到所述样本数据的整体特征表示;
以此循环,进行参数迭代,直至所述深度学习模型收敛,终止训练,得到所述深度学习模型。
可选地,所述通过所述深度学习模型中的嵌入层对所述样本数据进行特征转化,得到所述样本数据的整体特征表示的步骤包括:
通过所述嵌入层对所述样本数据进行特征转化,得到所述样本数据中每个字符的特征表示;
将全部所述字符的特征表示按顺序进行拼接得到所述样本数据的整体特征表示。
可选地,所述通过所述深度学习模型中的注意力层对所述整体特征表示进行处理,得到注意力分数与注意力层输出结果的步骤包括:
通过所述注意力层中的键模块将所述整体特征表示转化为键整体特征表示;
通过所述注意力层中的值模块将所述整体特征表示转化为值整体特征表示;
通过所述注意力层中的查询模块对所述键整体特征表示进行张量乘法,得到注意力张量;
对所述注意力张量进行维度压缩、掩膜操作与归一化处理,得到所述注意力分数;
将所述注意力分数与所述值整体特征表示的对应位置进行相乘求和,得到所述注意力层输出结果。
可选地,所述通过所述深度学习模型中的全连接层对所述注意力层输出结果进行计算,得到预测结果的步骤包括:
通过所述全连接层将所述注意力层输出结果的维度进行转化,得到转化结果;
采用非线性激活函数将所述转化结果进行分类,得到所述预测结果。
可选地,所述获取预先采集的样本数据的步骤之前还包括:
收集预定数量的网络攻击样本以及正常流量网络地址样本,组成样本数据。
此外,为实现上述目的,本发明还提供一种网络攻击检测装置,所述网络攻击检测装置包括:
数据获取模块,用于获取待检测数据;
检测模块,用于将所述待检测数据输入预先创建的基于注意力机制的深度学习模型,得到检测结果;
判定输出模块,用于在检测结果大于预设阈值时,判定存在网络攻击,输出所述检测结果相应的注意力分数对应的预设标识。
此外,为实现上述目的,本发明还提供一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的网络攻击检测程序,所述网络攻击检测程序被所述处理器执行时实现如上所述的网络攻击检测方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有网络攻击检测程序,所述网络攻击检测程序被处理器执行时实现如上所述的网络攻击检测方法的步骤。
本发明实施例提出的一种网络攻击检测方法、装置、终端设备及存储介质,通过获取待检测数据;将所述待检测数据输入预先创建的基于注意力机制的深度学习模型,得到检测结果;在检测结果大于预设阈值时,判定存在网络攻击,输出所述检测结果相应的注意力分数对应的预设标识。通过深度学习模型对待检测数据进行检测,在得到的检测结果大于预设阈值时,判定存在网络攻击,可以有效检测出数据中存在的网络攻击,通过输出所述检测结果相应的注意力分数对应的预设标识,可以提供判断依据,从而解决网络攻击检测模型解释性差的问题,提高检测结果的可解释性。
附图说明
图1为本发明网络攻击检测装置所属终端设备的功能模块示意图;
图2为本发明网络攻击检测方法一示例性实施例的流程示意图;
图3为本发明网络攻击检测方法另一示例性实施例的流程示意图;
图4为本发明实施例中训练得到所述深度学习模型的细化流程示意图;
图5为本发明实施例中注意力层对所述整体特征表示进行处理,得到注意力分数与注意力层输出结果的流程示意图;
图6为本发明实施例中对待检测数据进行检测的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:通过获取待检测数据;将所述待检测数据输入预先创建的基于注意力机制的深度学习模型,得到检测结果;在检测结果大于预设阈值时,判定存在网络攻击,输出所述检测结果相应的注意力分数对应的预设标识。通过深度学习模型对待检测数据进行检测,在得到的检测结果大于预设阈值时,判定存在网络攻击,可以有效检测出数据中存在的网络攻击,通过输出所述检测结果相应的注意力分数对应的预设标识,可以提供判断依据,从而解决网络攻击检测模型解释性差的问题,提高检测结果的可解释性。
本发明实施例涉及的技术术语:
Web(World Wide Web,全球广域网):也称为万维网,它是一种基于超文本和超文本传输协议的、全球性的、动态交互的、跨平台的分布式图形信息系统;
0day(zero day,破解):泛指所有在官方发布该作品之前或者当天,由一些特别小组以一定的格式打包发布的数码内容,主要内容包括发布小组的信息、发布作品的信息、破解信息等;
XSS(Cross-Site Scripting,跨站脚本):是一种安全攻击,其中,攻击者在看上去来源可靠的链接中恶意嵌入译码。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类攻击通常包含了超文本标记语言以及用户端脚本语言;
URL(Uniform Resource Locator,统一资源定位器):是Web的统一资源定位标志,就是指网络地址。
ASCII(American Standard Code for Information Interchange,美国信息交换标准代码):是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,是最通用的信息交换标准。
现有技术中将机器学习应用于网络空间安全领域的研究日益增多,通过将包括深度学习在内的机器学习技术应用于对URL(网络地址)进行检测,可以确定是否存在恶意攻击,这种应用方法的优点在于能够检测未知特征的攻击行为,弥补传统检测方法存在的缺陷与不足。但目前基于机器学习的网络攻击检测方法仍存在模型解释性差、漏报率高和误报率高的问题。
工作人员在实际使用Web入侵检测系统时,通常更加关注系统的误报率,在每日海量的数据之下,若存在较高的误报率则会出现很多告警,其中多数为误告警,增加许多人工筛选工作并且掩盖住真正的威胁。此外,Web入侵系统检测URL是否为恶意的同时,若能同时提供关键恶意片段作为证据,则将提升模型对预测结果的解释性,减轻相关工作人员的负担。总体而言,目前需要解决Web入侵系统中存在的问题主要包括:
1.误报率高,存在大量错误告警,增加运维人员工作负担。
2.深度学习模型为黑盒模型,需要增加对检测结果的可解释性,帮助安全人员进行研判。
本发明提供一种基于注意力机制的Web入侵XSS(跨站脚本)攻击检测方法。该方法构建基于注意力机制的深度学习模型,采用正常样本数据与XSS攻击样本数据对深度学习模型进行训练,通过训练后的模型对目标数据进行检测,可以得到检测结果,当检测结果大于给定阈值时即可判定目标数据中存在网络攻击,从而进行告警,同时提供检测结果相应的注意力分数对应的重点字符,即提供关键恶意片段作为证据,以便于进行研判。
具体地,参照图1,图1为本发明网络攻击检测装置所属终端设备的功能模块示意图。该网络攻击检测装置可以为独立于终端设备的、能够进行网络攻击检测的装置,其可以通过硬件或软件的形式承载于终端设备上。该终端设备可以为手机、平板电脑等具有数据处理功能的智能移动终端,还可以为具有数据处理功能的固定终端设备或服务器等。
在本实施例中,该网络攻击检测装置所属终端设备至少包括输出模块110、处理器120、存储器130以及通信模块140。
存储器130中存储有操作系统以及网络攻击检测程序,网络攻击检测装置可以将获取的待检测数据、将所述待检测数据输入预先创建的基于注意力机制的深度学习模型,得到的检测结果,以及在检测结果大于预设阈值时,判定存在网络攻击,输出的所述检测结果相应的注意力分数对应的预设标识等信息存储于该存储器130中;输出模块110可为显示屏等。通信模块140可以包括WIFI模块、移动通信模块以及蓝牙模块等,通过通信模块140与外部设备或服务器进行通信。
其中,存储器130中的网络攻击检测程序被处理器执行时实现以下步骤:
获取待检测数据;
将所述待检测数据输入预先创建的基于注意力机制的深度学习模型,得到检测结果;
在检测结果大于预设阈值时,判定存在网络攻击,输出所述检测结果相应的注意力分数对应的预设标识。
进一步地,存储器130中的网络攻击检测程序被处理器执行时还实现以下步骤:
训练得到所述深度学习模型。
进一步地,存储器130中的网络攻击检测程序被处理器执行时还实现以下步骤:
获取预先采集的样本数据;
通过所述深度学习模型中的嵌入层对所述样本数据进行特征转化,得到所述样本数据的整体特征表示;
通过所述深度学习模型中的注意力层对所述整体特征表示进行处理,得到注意力分数与注意力层输出结果,其中,所述注意力层包括查询模块、键模块和值模块;
通过所述深度学习模型中的全连接层对所述注意力层输出结果进行计算,得到预测结果;
计算所述预测结果与所述样本数据的真实标签之间的误差损失函数;
将所述误差损失函数回传到所述深度学习模型,对所述嵌入层、注意力层和全连接层的参数进行更新,并返回执行步骤:通过所述嵌入层对所述样本数据进行特征转化,得到所述样本数据的整体特征表示;
以此循环,进行参数迭代,直至所述深度学习模型收敛,终止训练,得到所述深度学习模型。
进一步地,存储器130中的网络攻击检测程序被处理器执行时还实现以下步骤:
通过所述嵌入层对所述样本数据进行特征转化,得到所述样本数据中每个字符的特征表示;
将全部所述字符的特征表示按顺序进行拼接得到所述样本数据的整体特征表示。
进一步地,存储器130中的网络攻击检测程序被处理器执行时还实现以下步骤:
通过所述注意力层中的键模块将所述整体特征表示转化为键整体特征表示;
通过所述注意力层中的值模块将所述整体特征表示转化为值整体特征表示;
通过所述注意力层中的查询模块对所述键整体特征表示进行张量乘法,得到注意力张量;
对所述注意力张量进行维度压缩、掩膜操作与归一化处理,得到所述注意力分数;
将所述注意力分数与所述值整体特征表示的对应位置进行相乘求和,得到所述注意力层输出结果。
进一步地,存储器130中的网络攻击检测程序被处理器执行时还实现以下步骤:
通过所述全连接层将所述注意力层输出结果的维度进行转化,得到转化结果;
采用非线性激活函数将所述转化结果进行分类,得到所述预测结果。
进一步地,存储器130中的网络攻击检测程序被处理器执行时还实现以下步骤:
收集预定数量的网络攻击样本以及正常流量网络地址样本,组成样本数据。
本实施例通过上述方案,具体通过获取待检测数据;将所述待检测数据输入预先创建的基于注意力机制的深度学习模型,得到检测结果;在检测结果大于预设阈值时,判定存在网络攻击,输出所述检测结果相应的注意力分数对应的预设标识。通过深度学习模型对待检测数据进行检测,在得到的检测结果大于预设阈值时,判定存在网络攻击,可以有效检测出数据中存在的网络攻击,通过输出所述检测结果相应的注意力分数对应的预设标识,可以提供判断依据,从而解决网络攻击检测模型解释性差的问题,提高检测结果的可解释性。
基于上述终端设备架构但不限于上述架构,提出本发明方法实施例。
本实施例方法的执行主体可以为一种网络攻击检测装置或终端设备等,本实施例以网络攻击检测装置进行举例。
参照图2,图2为本发明网络攻击检测方法一示例性实施例的流程示意图。所述网络攻击检测方法包括:
步骤S10,获取待检测数据;
网络攻击是指针对计算机信息系统、基础设施、计算机网络或个人计算机设备的,任何类型的进攻动作。对于计算机和计算机网络来说,破坏、揭露、修改、使软件或服务失去功能、在没有得到授权的情况下偷取或访问任何一计算机的数据,都会被视为于计算机和计算机网络中的攻击。其中,XSS(Cross-Site Scripting),即跨站脚本攻击,作为一种网络攻击行为,XSS是一种常见于Web应用中的计算机安全漏洞。恶意攻击者往Web页面里嵌入恶意的客户端脚本,当用户浏览此网页时,脚本就会在用户的浏览器上执行,进而达到攻击者的目的。比如获取用户的Cookie、导航到恶意网站、携带木马等。XSS类型主要被分为三类,分别是:反射型、存储型和DOM型,其中,反射型XSS漏洞实际上大多数攻击数据是包含在URL中的,存储型XSS漏洞是把恶意脚本存储到了数据库,基于DOM型的XSS是不需要与服务器端交互的,它只发生在客户端处理数据阶段。
获取待检测数据的方式包括通过对目标网站或页面的链接进行爬取,或通过读取用户访问网站的请求日志,提取网站流量得到URL数据。
步骤S20,将所述待检测数据输入预先创建的基于注意力机制的深度学习模型,得到检测结果;
可以采用PyTorch及TensorFlow等深度学习框架构建深度学习模型,本发明实施例中采用TensorFlow框架实现深度学习的模型构建,TensorFlow能够快速地实现模型,因为其提供多种网络层级模型供用户选择,此外还提供多种工具帮助用户自定义网络层级。
本发明实施例中的深度学习模型的结构主要分为三个部分,包括嵌入层(Embedding)、注意力层(Attention)、全连接层(Fully Connected),其中,全连接层也可用其他机器学习模型进行代替,例如支持向量机等。
基于嵌入层、注意力层和全连接层训练得到深度学习模型后,将获取的待检测数据输入到深度学习模型中,即可得到检测结果,通过对检测结果进行判断,可以判定是否存在网络攻击。
步骤S30,在检测结果大于预设阈值时,判定存在网络攻击,输出所述检测结果相应的注意力分数对应的预设标识。
通过深度学习模型得到检测结果后,将检测结果与预设阈值进行比较,在本发明实施例中,所述预设阈值为0.5,当所述检测结果大于预设阈值时,即可判断所述待检测数据中存在恶意攻击,则进行告警,同时根据深度学习模型得到的注意力分数中,最高分数对应的具体字符即可认为是模型关注的重点字符等预设标识,需同检测结果一起输出,作为便于研判检测结果的依据,可以提高检测结果的解释性,从而减轻运维人员的工作负担。
在本实施例中,通过获取待检测数据;将所述待检测数据输入预先创建的基于注意力机制的深度学习模型,得到检测结果;在检测结果大于预设阈值时,判定存在网络攻击,输出所述检测结果相应的注意力分数对应的重点字符。通过深度学习模型对待检测数据进行检测,在得到的检测结果大于预设阈值时,判定存在网络攻击,可以有效检测出数据中存在的网络攻击,通过输出所述检测结果相应的注意力分数对应的重点字符,可以提供判断依据,从而解决网络攻击检测模型解释性差的问题,提高检测结果的可解释性,从而减轻运维人员的工作负担。
参照图3,图3为本发明网络攻击检测方法另一示例性实施例的流程示意图。基于上述图2所示的实施例,在本实施例中,在将所述待检测数据输入预先创建的基于注意力机制的深度学习模型,得到检测结果的步骤之前,所述网络攻击检测方法还包括:
步骤S00,训练得到所述深度学习模型。本实施例以步骤S00在步骤S10之前实施,在其他实施例中,步骤S00也可以在步骤S10与步骤S20之间实施。
相比上述图2所示的实施例,本实施例还包括训练得到所述深度学习模型的方案。
具体地,参照图4,图4为本发明实施例中训练得到所述深度学习模型的细化流程示意图,如图4所示,训练得到所述深度学习模型的步骤可以包括:
步骤S001,获取预先采集的样本数据;
在获取预先采集的样本数据之前,需要先收集预定数量的网络攻击样本以及正常流量网络地址样本,组成样本数据。具体地,选取XSS攻击样本数据作为正样本,例如:/test/xss/?Name=<script>alert(”xss”);</script>;选取正常流量URL样本数据作为负样本,例如:/test/detail/123?name=zhangsan。
步骤S002,通过所述深度学习模型中的嵌入层对所述样本数据进行特征转化,得到所述样本数据的整体特征表示;
将获取的正样本与负样本及对应的真实标签输入模型的嵌入层,所述正负样本的真实标签可以用1和0表示。
通过所述嵌入层对所述样本数据进行特征转化,得到所述样本数据中每个字符的特征表示;
将URL中所有字符进行特征转化,得到URL嵌入张量表示,每个字符通过嵌入得到长度为feature_size的特征表示。
将全部所述字符的特征表示按顺序进行拼接得到所述样本数据的整体特征表示。
连接URL中所有字符的特征表示按顺序拼接得到URL整体的特征表示,特征表示为形状为(batch_size,length,feature_size),其中batch_size为数据批次的大小,length为批次数据进行填充后的长度,保证所有输入样本长度一致,feature_size为嵌入层输出的特征大小。
步骤S003,通过所述深度学习模型中的注意力层对所述整体特征表示进行处理,得到注意力分数与注意力层输出结果,其中,所述注意力层包括查询模块、键模块和值模块;
将嵌入层的输出记为x,作为注意力层的输入,参照图5,图5为本发明实施例中注意力层对所述整体特征表示进行处理,得到注意力分数与注意力层输出结果的流程示意图。如图5所示,所述注意力层主要包括Query(查询模块)、Key(键模块)和Value(值模块)。Query为模型中的可训练变量,形状为(hidden_size,1),对于每一条样本均使用此同一Query张量。Key和value为两个全连接层,分别将x转化为x_key和x_value。
具体地,通过所述注意力层中的键模块将所述整体特征表示转化为键整体特征表示;
注意力层中的Key将x转化为x_key,x_key的特征大小与query相同,均为hidden_size,形状为(batch_size,length,hidden_size)。
通过所述注意力层中的值模块将所述整体特征表示转化为值整体特征表示;
注意力层中的Value将x转化为x_value,同样地,x_value的特征大小与query相同,形状为(batch_size,length,hidden_size)。
进一步地,通过所述注意力层中的查询模块对所述键整体特征表示进行张量乘法,得到注意力张量;
将x_key与Query进行张量乘法,得到形状(batch_size,length,1)的注意力张量。
对所述注意力张量进行维度压缩、掩膜操作与归一化处理,得到所述注意力分数;
将得到的注意力张量的最后一个维度进行压缩,把(batch_size,length,1)变成(batch_size,length),再根据样本本身长度进行mask操作保留有效数据,即在压缩后得到的形状为(batch_size,length),length为批次数据进行填充后的长度,每条数据的长度可能达不到length,仅保留数据长度的注意力值。然后经过Softmax层,通过Softmax再对新的最后一个维度进行归一化,得到形状(batch_size,length)的注意力分数attention_score。
注意力分数attention_score表示模型对不同字符之间的关注程度,总和为1,不同位置数值大小表示与其对应位置字符受模型关注程度的大小。注意力分数数值越大的位置,对应位置字符越受模型关注。
将所述注意力分数与所述值整体特征表示的对应位置进行相乘求和,得到所述注意力层输出结果。
将attention_score和x_value对应位置相乘求和得到注意力层的输出x_attention,形状为(batch_size,hidden_size)。
步骤S004,通过所述深度学习模型中的全连接层对所述注意力层输出结果进行计算,得到预测结果;
采用非线性激活函数将所述转化结果进行分类,得到所述预测结果。
所述非线性激活函数包括Sigmoid及Tanh等,Sigmoid可以将矩阵映射到(0,1)区间,而Tanh可以将矩阵映射到(-1,1)区间,在本发明实施例中,将正负样本数据的真实标签为01标签,故选取Sigmoid激活函数进行分类,可以认为输出结果是预测这条数据存在恶意攻击的概率。
将注意力层输出的数据输入全连接层进行计算,全连接层输出维度为1的结果,然后采用Sigmoid激活函数(S(x))进行分类:
Figure BDA0003383170790000131
得到预测结果。
步骤S005,计算所述预测结果与所述样本数据的真实标签之间的误差损失函数;
由于经过Sigmoid激活函数进行二分类得到的预测结果(0,1)区间范围内,可计算所述预测结果与正负样本数据的真实标签之间的误差损失函数,采用对数损失计算:
Figure BDA0003383170790000132
其中,yi是真实标签(0,1),pi是全连接层的输出的预测结果,N是总训练样本条数。
步骤S006,将所述误差损失函数回传到所述深度学习模型,对所述嵌入层、注意力层和全连接层的参数进行更新,并返回执行步骤:通过所述嵌入层对所述样本数据进行特征转化,得到所述样本数据的整体特征表示;
经过计算得到误差损失函数后,将所述误差损失函数回传到所述深度学习模型,从而更新所述嵌入层、注意力层和全连接层的参数,然后返回执行步骤S002,再次对深度学习模型进行训练。
步骤S007,以此循环,进行参数迭代,直至所述深度学习模型收敛,终止训练,得到所述深度学习模型。
循环执行训练步骤S002到步骤S006,直至所述深度学习模型收敛,终止训练,即可得到所述深度学习模型。
通过训练得到的深度学习模型对待检测数据进行检测,即可得到检测结果,在得到的检测结果大于预设阈值时,判定存在网络攻击,可以有效检测出数据中存在的网络攻击,同时可以输出所述检测结果相应的注意力分数对应的重点字符。
本实施例通过上述方案,具体通过获取预先采集的样本数据;通过所述嵌入层对所述样本数据进行特征转化,得到所述样本数据的整体特征表示;通过所述注意力层对所述整体特征表示进行处理,得到注意力分数与注意力层输出结果,其中,所述注意力层包括查询模块、键模块和值模块;通过所述全连接层对所述注意力层输出结果进行计算,得到预测结果;计算所述预测结果与所述样本数据的真实标签之间的误差损失函数;将所述误差损失函数回传到所述深度学习模型,对所述嵌入层、注意力层和全连接层的参数进行更新,并返回执行步骤:通过所述嵌入层对所述样本数据进行特征转化,得到所述样本数据的整体特征表示;以此循环,进行参数迭代,直至所述深度学习模型收敛,终止训练,得到所述深度学习模型。通过嵌入层、注意力层和全连接层对所述正负样本数据进行一系列处理和计算,可以得到样本数据的预测结果,通过计算所述预测结果与所述样本数据的真实标签之间的误差损失函数,可以判断出模型的训练程度,通过循环训练更新模型的参数直至模型收敛,可以得到训练完全的深度学习模型,以供后续对待检测数据进行检测。
参照图6,图6为本发明实施例中对待检测数据进行检测的流程示意图,如图6所示,获取到待检测数据,例如/test/xss/?Name=<script>alert(”xss”);</script>,将所述待检测数据通过ASCII将待检测数据进行编码,转化为序列,[47,116,101,115,116,47,120,115,115,47,63,78,97,109,101,61,60,115,99,114,105,112,116,62,97,108,101,114,116,40,34,120,115,115,34,41,59,60,47,115,99,114,105,112,116,62],将序列作为数据输入至预先经过训练得到的深度学习模型中,所述深度学习模型包括嵌入层、注意力层和全连接层。在嵌入层得到嵌入表示x,将嵌入表示x输入至注意力层得到两个结果,分别为注意力分数attention_score和注意力层输出x_attention。
此处得到注意力分数为[0.007,0.002,0.005,0.005,0.007,0.003,0.008,0.007,0.006,0.003,0.002,0.007,0.004,0.004,0.002,0.006,0.037,0.036,0.03,0.031,0.034,0.034,0.032,0.035,0.029,0.034,0.031,0.028,0.031,0.027,0.023,0.023,0.02,0.018,0.017,0.034,0.033,0.033,0.036,0.031,0.031,0.028,0.032,0.029,0.03,0.031],可以发现模型更加关注片段“<script>alert(”xss”);</script>”,其为该待检测数据的恶意片段。
将注意力层输出x_attention作为全连接层的输入,通过全连接层得到深度学习模型的检测结果。若检测结果大于给定阈值,则认为此数据中包含恶意攻击。
在本实施例中,通过将URL输入至Web入侵检测系统,通过嵌入层得到嵌入值x,通过注意力层得到注意力分数和注意力输出,通过全连接层得到计算检测结果,结果大于一定阈值,则进行告警。通过注意力分数得到具体字符被模型关注的权重,方便进行研判。预先经过训练得到深度学习模型,相比传统模型具有更高的准确率,更低的误报率,减少研判工作量。相比与普通循环神经网络,更适合并行计算,提升检测效率。此外,此深度学习模型在输出检测结果的同时可以提供重点关注的字符作为依据,方便进行研判,以减轻运维人员的工作负担。
此外,本发明实施例还提出一种网络攻击检测装置,所述网络攻击检测装置包括:
数据获取模块,用于获取待检测数据;
检测模块,用于将所述待检测数据输入预先创建的基于注意力机制的深度学习模型,得到检测结果;
判定输出模块,用于在检测结果大于预设阈值时,判定存在网络攻击,输出所述检测结果相应的注意力分数对应的预设标识。
本实施例实现网络攻击检测的原理及实施过程,请参照上述各实施例,在此不再赘述。
此外,本发明实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的网络攻击检测程序,所述网络攻击检测程序被所述处理器执行时实现如上所述的网络攻击检测方法的步骤。
由于本网络攻击检测程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有网络攻击检测程序,所述网络攻击检测程序被处理器执行时实现如上所述的网络攻击检测方法的步骤。
由于本网络攻击检测程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
相比现有技术,本发明实施例提出的网络攻击检测方法、装置、终端设备及存储介质,通过获取待检测数据;将所述待检测数据输入预先创建的基于注意力机制的深度学习模型,得到检测结果;在检测结果大于预设阈值时,判定存在网络攻击,输出所述检测结果相应的注意力分数对应的重点字符。通过深度学习模型对待检测数据进行检测,在得到的检测结果大于预设阈值时,判定存在网络攻击,可以有效检测出数据中存在的网络攻击,通过输出所述检测结果相应的注意力分数对应的重点字符,可以提供判断依据,从而解决网络攻击检测模型解释性差的问题,提高检测结果的可解释性。相比传统模型具有更高的准确率,更低的误报率,减少研判工作量。相比与普通循环神经网络,更适合并行计算,提升检测效率。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本申请每个实施例的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种网络攻击检测方法,其特征在于,所述网络攻击检测方法包括以下步骤:
获取待检测数据;
将所述待检测数据输入预先创建的基于注意力机制的深度学习模型,得到检测结果;
在检测结果大于预设阈值时,判定存在网络攻击,输出所述检测结果相应的注意力分数对应的预设标识。
2.如权利要求1所述的网络攻击检测方法,其特征在于,所述将所述待检测数据输入预先创建的基于注意力机制的深度学习模型,得到检测结果的步骤之前还包括:
训练得到所述深度学习模型。
3.如权利要求2所述的网络攻击检测方法,其特征在于,所述训练得到所述深度学习模型的步骤包括:
获取预先采集的样本数据;
通过所述深度学习模型中的嵌入层对所述样本数据进行特征转化,得到所述样本数据的整体特征表示;
通过所述深度学习模型中的注意力层对所述整体特征表示进行处理,得到注意力分数与注意力层输出结果;
通过所述深度学习模型中的全连接层对所述注意力层输出结果进行计算,得到预测结果;
计算所述预测结果与所述样本数据的真实标签之间的误差损失函数;
将所述误差损失函数回传到所述深度学习模型,对所述嵌入层、注意力层和全连接层的参数进行更新,并返回执行步骤:通过所述嵌入层对所述样本数据进行特征转化,得到所述样本数据的整体特征表示;
以此循环,进行参数迭代,直至所述深度学习模型收敛,终止训练,得到所述深度学习模型。
4.如权利要求3所述的网络攻击检测方法,其特征在于,所述通过所述深度学习模型中的嵌入层对所述样本数据进行特征转化,得到所述样本数据的整体特征表示的步骤包括:
通过所述嵌入层对所述样本数据进行特征转化,得到所述样本数据中每个字符的特征表示;
将全部所述字符的特征表示按顺序进行拼接得到所述样本数据的整体特征表示。
5.如权利要求3所述的网络攻击检测方法,其特征在于,所述通过所述深度学习模型中的注意力层对所述整体特征表示进行处理,得到注意力分数与注意力层输出结果的步骤包括:
通过所述注意力层中的键模块将所述整体特征表示转化为键整体特征表示;
通过所述注意力层中的值模块将所述整体特征表示转化为值整体特征表示;
通过所述注意力层中的查询模块对所述键整体特征表示进行张量乘法,得到注意力张量;
对所述注意力张量进行维度压缩、掩膜操作与归一化处理,得到所述注意力分数;
将所述注意力分数与所述值整体特征表示的对应位置进行相乘求和,得到所述注意力层输出结果。
6.如权利要求3所述的网络攻击检测方法,其特征在于,所述通过所述深度学习模型中的全连接层对所述注意力层输出结果进行计算,得到预测结果的步骤包括:
通过所述全连接层将所述注意力层输出结果的维度进行转化,得到转化结果;
采用非线性激活函数将所述转化结果进行分类,得到所述预测结果。
7.如权利要求3所述的网络攻击检测方法,其特征在于,所述获取预先采集的样本数据的步骤之前还包括:
收集预定数量的网络攻击样本以及正常流量网络地址样本,组成样本数据。
8.一种网络攻击检测装置,其特征在于,所述网络攻击检测装置包括:
数据获取模块,用于获取待检测数据;
检测模块,用于将所述待检测数据输入预先创建的基于注意力机制的深度学习模型,得到检测结果;
判定输出模块,用于在检测结果大于预设阈值时,判定存在网络攻击,输出所述检测结果相应的注意力分数对应的预设标识。
9.一种终端设备,其特征在于,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的网络攻击检测程序,所述网络攻击检测程序被所述处理器执行时实现如权利要求1-7中任一项所述的网络攻击检测方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有网络攻击检测程序,所述网络攻击检测程序被处理器执行时实现如权利要求1-7中任一项所述的网络攻击检测方法的步骤。
CN202111446094.1A 2021-11-30 2021-11-30 网络攻击检测方法、装置、终端设备及存储介质 Pending CN114301630A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111446094.1A CN114301630A (zh) 2021-11-30 2021-11-30 网络攻击检测方法、装置、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111446094.1A CN114301630A (zh) 2021-11-30 2021-11-30 网络攻击检测方法、装置、终端设备及存储介质

Publications (1)

Publication Number Publication Date
CN114301630A true CN114301630A (zh) 2022-04-08

Family

ID=80965226

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111446094.1A Pending CN114301630A (zh) 2021-11-30 2021-11-30 网络攻击检测方法、装置、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN114301630A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108667816A (zh) * 2018-04-19 2018-10-16 重庆邮电大学 一种网络异常的检测定位方法及系统
CN109388943A (zh) * 2018-09-29 2019-02-26 杭州时趣信息技术有限公司 一种识别xss攻击的方法、装置和计算机可读存储介质
CN110941827A (zh) * 2019-10-25 2020-03-31 北京元心科技有限公司 应用程序异常行为检测方法及装置
CN112182575A (zh) * 2020-09-27 2021-01-05 北京六方云信息技术有限公司 基于lstm的攻击数据集恶意片段标注方法及系统
CN112333128A (zh) * 2019-08-05 2021-02-05 四川大学 一种基于自编码器的Web攻击行为检测系统
CN112543932A (zh) * 2020-01-22 2021-03-23 华为技术有限公司 语义分析方法、装置、设备及存储介质
WO2021231045A1 (en) * 2020-05-15 2021-11-18 Microsoft Technology Licensing, Llc Transfer learning system for automated software engineering tasks

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108667816A (zh) * 2018-04-19 2018-10-16 重庆邮电大学 一种网络异常的检测定位方法及系统
CN109388943A (zh) * 2018-09-29 2019-02-26 杭州时趣信息技术有限公司 一种识别xss攻击的方法、装置和计算机可读存储介质
CN112333128A (zh) * 2019-08-05 2021-02-05 四川大学 一种基于自编码器的Web攻击行为检测系统
CN110941827A (zh) * 2019-10-25 2020-03-31 北京元心科技有限公司 应用程序异常行为检测方法及装置
CN112543932A (zh) * 2020-01-22 2021-03-23 华为技术有限公司 语义分析方法、装置、设备及存储介质
WO2021231045A1 (en) * 2020-05-15 2021-11-18 Microsoft Technology Licensing, Llc Transfer learning system for automated software engineering tasks
CN112182575A (zh) * 2020-09-27 2021-01-05 北京六方云信息技术有限公司 基于lstm的攻击数据集恶意片段标注方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张岚;来耀;叶晓俊;: "基于注意力机制的恶意软件调用序列检测", 计算机科学, no. 12 *
张计龙: "《慧源共享 数据悦读》", 31 December 2020, pages: 66 *

Similar Documents

Publication Publication Date Title
CN106961419B (zh) WebShell检测方法、装置及系统
CN111600919B (zh) 智能网络应用防护系统模型的构建方法和装置
CN113596007B (zh) 一种基于深度学习的漏洞攻击检测方法和设备
CN111538929B (zh) 网络链接识别方法、装置、存储介质及电子设备
CN113315742B (zh) 攻击行为检测方法、装置及攻击检测设备
CN111835777B (zh) 一种异常流量检测方法、装置、设备及介质
CN110221977A (zh) 基于ai的网站渗透测试方法
CN113194058B (zh) Web攻击检测方法、设备、网站应用层防火墙及介质
CN111526136A (zh) 基于云waf的恶意攻击检测方法、系统、设备和介质
KR102259760B1 (ko) 화이트 리스트 기반 비정상 프로세스 분석 서비스 제공 시스템
CN110730164B (zh) 安全预警方法及相关设备、计算机可读存储介质
CN114422271B (zh) 数据处理方法、装置、设备及可读存储介质
JP2018041442A (ja) Webページの異常要素を検出するためのシステム及び方法
CN114357443A (zh) 基于深度学习的恶意代码检测方法、设备与存储介质
CN114285641B (zh) 网络攻击检测方法及装置、电子设备、存储介质
Gupta et al. GeneMiner: a classification approach for detection of XSS attacks on web services
CN110674370A (zh) 域名识别方法及装置、存储介质及电子设备
Kumar et al. Cross site scripting (XSS) Vulnerability detection using machine learning and statistical analysis
CN111447169B (zh) 一种在网关上的实时恶意网页识别方法及系统
Lu et al. A GAN-based method for generating SQL injection attack samples
CN114301630A (zh) 网络攻击检测方法、装置、终端设备及存储介质
CN114169432B (zh) 一种基于深度学习的跨站脚本攻击识别方法
CN115473734A (zh) 基于单分类和联邦学习的远程代码执行攻击检测方法
CN114124448A (zh) 一种基于机器学习的跨站脚本攻击识别方法
CN112836214A (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