CN117077763A - 一种模型可更新的注入攻击检测方法及系统 - Google Patents

一种模型可更新的注入攻击检测方法及系统 Download PDF

Info

Publication number
CN117077763A
CN117077763A CN202311345846.4A CN202311345846A CN117077763A CN 117077763 A CN117077763 A CN 117077763A CN 202311345846 A CN202311345846 A CN 202311345846A CN 117077763 A CN117077763 A CN 117077763A
Authority
CN
China
Prior art keywords
sample
detection
model
character
convolutional neural
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
CN202311345846.4A
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.)
Guizhou University
Guizhou Baishancloud Technology Co Ltd
Original Assignee
Guizhou University
Guizhou Baishancloud 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 Guizhou University, Guizhou Baishancloud Technology Co Ltd filed Critical Guizhou University
Priority to CN202311345846.4A priority Critical patent/CN117077763A/zh
Publication of CN117077763A publication Critical patent/CN117077763A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/254Fusion techniques of classification results, e.g. of results related to same input data
    • G06F18/256Fusion techniques of classification results, e.g. of results related to same input data of results relating to different input data, e.g. multimodal recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Abstract

本发明涉及信息安全技术领域,尤其涉及一种模型可更新的注入攻击检测方法及系统。包括:使用检测模型确定检测样本是否为XSS,以及检测样本是否为SQLi;对检测样本的XSS检测结果和SQLi检测结果进行或运算,确定检测样本的分类;基于检测样本和分类构建攻击样本的生成模型;基于攻击样本的生成模型生成攻击样本,基于第一字符级卷积神经网络和第二字符级卷积神经网络对攻击样本的分类结果,更新检测模型。本发明实现了模型的自更新和改进,为Web应用程序的安全性提供了有效的保障。

Description

一种模型可更新的注入攻击检测方法及系统
技术领域
本发明涉及信息安全技术领域,尤其涉及一种模型可更新的注入攻击检测方法及系统。
背景技术
2021年,开放式Web应用程序安全项目(OWASP,Open Web Application SecurityProject)发布了2021年度的OWASP TOP10,对Web应用程序可能遭遇的安全风险进行排名。其中注入攻击排名第三,且该类别的攻击在攻击请求统计中占比第二,XSS(Cross SiteScripting,跨站脚本攻击)和SQLi(SQL注入)攻击就属于该类别。XSS和SQLi攻击自出现开始,每年就对公司和用户造成大量损失。
XSS从攻击的作用方式可以分为三种类型:反射型XSS(非持久型XSS)、存储型XSS(持久型XSS)、DOM型XSS。反射型XSS是最普遍的跨站脚本漏洞,是一种非持久型攻击。目标网站本身存在漏洞,攻击者通过构建特殊的访问链接让用户触发脚本。该行为不会对该网站的正常访问造成影响。存储型XSS,也叫持久型XSS,比反射型XSS更具有威胁性。攻击者设计的攻击脚本将存放在目标网站服务器的数据库中。此后,访问该网站的用户都将受到该攻击的威胁。该攻击常见于论坛、博客等存在用户输入交互的地方。DOM型XSS通过修改HTML页面中的DOM节点数据信息,从而形成XSS脚本。不同于反射型XSS和存储型XSS,基于DOM的XSS往往需要针对具体的DOM代码进行分析,并根据目标网站的实际情况去进行攻击脚本的设计。
SQLi攻击是将Web页面的原URL、表单域或数据包输入的参数,修改拼接成SQL语句,并传递给服务器执行相应命令的过程。该攻击成功后可进行非授权的任意查询,从而得到数据库中的保密信息。
目前业界比较常用的方法主要有以下几种,对HTML文件中的标签及一些特殊符号进行转义,该方法是一种比较常用的过滤方法,通过字符转义的方式将一些HTML标签和关键字进行转义,使HTML文件中嵌入的脚本无法运行。这种方式十分简单,当然也很容易被绕过。除此之外,当需要使用含有富文本的功能时,使用这样的过滤会使富文本失去作用。使用白名单、黑名单的方式进行过滤,通过设计白名单和黑名单来判断哪些交互信息可通过,哪些交互信息不可通过。该方法可以在实际应用中取得不错的结果,但相应的也存在问题。人为穷举出所有与攻击相关的元素是不现实的,所以一定会有所疏漏,这对名单的设计提出了很大的挑战。并且,在遇到新的攻击方式的时候,使用黑白名单来进行攻击的检测,很大概率无法识别出攻击。通过机器学习模型进行判断,近些年,机器学习模型在XSS/SQLi攻击的检测中已经得到了广泛的应用。模型可以通过学习恶意脚本和正常脚本的特征,如HTML标签、JavaScript代码等,来提取关键特征并进行分类。但需要注意的是,机器学习模型正式落地应用上仍存在一些挑战。攻击者不断改变攻击技巧和模式,因此模型需要不断更新和适应新的攻击方式。除此之外,某些情况下还需要将机器学习模型与传统的规则和验证方法结合使用,从而构建更可靠和全面的安全防护机制。
综上所述,尽管已经有一些方法在解决当前常见的XSS和SQLi攻击对Web应用系统造成的安全威胁和损失的问题上被广泛应用,如静态转义过滤、黑名单/白名单过滤和机器学习模型,但它们都存在一定的局限性和挑战。
发明内容
本发明的目的在于克服上述一种或多种现有的技术问题,提供一种模型可更新的注入攻击检测方法。
为实现上述目的,本发明提供的一种模型可更新的注入攻击检测方法,包括:
使用检测模型确定检测样本是否为XSS,以及检测样本是否为SQLi;
对检测样本的XSS检测结果和SQLi检测结果进行或运算,确定检测样本的分类;
基于检测样本和分类构建攻击样本的生成模型;
基于攻击样本的生成模型生成攻击样本,基于第一字符级卷积神经网络和第二字符级卷积神经网络对攻击样本的分类结果,更新检测模型,检测模型包括第一字符级卷积神经网络和第二字符级卷积神经网络,第一字符级卷积神经网络用于检测输入的样本是否为XSS,第二字符级卷积神经网络用于检测输入的样本是否为SQLi。
根据本发明的一个方面,在进行攻击样本的生成模型构建前,使用置信学习样本确定噪声标签和真实标签的联合概率分布,确定并移除数据集中的噪声样本。
根据本发明的一个方面,检测模型整体被封装在容器内,通过容器提供的接口进行样本的分类和强化学习。
根据本发明的一个方面,第一字符级卷积神经网络或第二字符级卷积神经网络包括:
输入层,用于接收输入的检测样本;
嵌入层,用于对输入层处理后的检测样本进行映射变换得到特征向量;
多个卷积层和最大池化层,分别用于提取检测样本的信息和降低维度;
平化层,用于将最后一层的最大池化层的展平转换为一维数组;
稠密层,和平化层全连接,用于输出预测结果。
根据本发明的一个方面,第一字符级卷积神经网络和第二字符级卷积神经网络具有一致的模型结构。
根据本发明的一个方面,使用检测模型确定检测样本的分类过程包括:
获取样本中的字符,将样本中的字符进行编码,之后将编码后的字符串转换为对应的一维向量,作为检测模型的输入。
根据本发明的一个方面,在进行编码前,对样本中的字符进行URL解码,去除样本中字符中的转义字符;之后,将样本中字符值大于128的字符替换为低于128的字符,获得编码后的字符串。
根据本发明的一个方面,在进行编码前,对样本中的字符进行URL解码,去除样本中字符中的转义字符;之后,将样本中字符值大于128的字符和控制字符替换为空格,将字符串转换为小写字母,获得编码后的字符串。
为实现上述目的,本发明提供一种模型可更新的注入攻击检测方法系统,包括:
样本检测模块:使用检测模型确定检测样本是否为XSS,以及检测样本是否为SQLi;
样本分类模块:对检测样本的XSS检测结果和SQLi检测结果进行或运算,确定检测样本的分类;
模型生成模块:基于检测样本和分类构建攻击样本的生成模型;
模型更新模块:基于攻击样本的生成模型生成攻击样本,基于第一字符级卷积神经网络和第二字符级卷积神经网络对攻击样本的分类结果,更新检测模型,检测模型包括第一字符级卷积神经网络和第二字符级卷积神经网络,第一字符级卷积神经网络用于检测输入的样本是否为XSS,第二字符级卷积神经网络用于检测输入的样本是否为SQLi。
本发明提供的方案带来以下技术效果:
高准确性和全面性:采用两个架构相同的字符级卷积神经网络进行训练,能够准确识别各类XSS和SQLi攻击,包括不同类型的XSS和SQLi攻击;
数据噪声剔除:通过添加Confident Learning (CL) 模块,剔除数据集中的错误数据,提高模型的训练效果和可靠性;
可迭代更新:将检测模型封装成开源架构的环境,使用强化学习方法进行模型更新,根据模型在环境中的表现进行针对性改进;
强化学习交互:使用通用的强化学习接口进行模型训练和优化,提高训练效率和灵活性;
综上所述,本发明的方法可以发现模型的潜在缺陷,从而更有针对性的对模型进行更新,以提供准确、全面、可靠且可迭代更新的XSS/SQLi攻击检测能力,提高Web应用程序的安全性,降低遭受攻击的风险,并提供稳定可靠的在线服务。
附图说明
图1是本发明一个实施例使用的卷积神经网络结构示意图;
图2是本发明一个实施例使用的一种模型可更新的注入攻击检测方法流程图;
图3是本发明一个实施例使用的一种模型可更新的注入攻击检测系统流程图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请一个典型的配置中,终端、服务网络的设备均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机程序指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器(ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
根据本发明的一个实施例,图1是本发明一个实施例使用的卷积神经网络结构示意图,图2是本发明一个实施例使用的一种模型可更新的注入攻击检测方法流程图。如图1和图2所示,一种模型可更新的注入攻击检测方法包括:
使用检测模型确定检测样本是否为XSS,以及检测样本是否为SQLi;
对检测样本的XSS检测结果和SQLi检测结果进行或运算,确定检测样本的分类;
基于检测样本和分类构建攻击样本的生成模型;
基于攻击样本的生成模型生成攻击样本,基于第一字符级卷积神经网络和第二字符级卷积神经网络对攻击样本的分类结果,更新检测模型;
检测模型包括第一字符级卷积神经网络和第二字符级卷积神经网络;
第一字符级卷积神经网络用于检测输入的样本是否为XSS,第二字符级卷积神经网络用于检测输入的样本是否为SQLi。
上述实施方式提供了一种XSS/SQLi攻击检测模型训练方法,其提供的检测模型包含两个卷积神经网络,除此外,还可以使用其他类型或者结构的神经网络以完成对输入样本的检测和分类。
例如,在本发明的部分实施例内使用了LSTM深度学习模型,用于对URL进行特征分类,以确定类型。
此过程中,可以使用通过对请求数据进行格式转换、解码工作、URL大小写转换,并将请求转换为UTF8编码的字符串,之后使用分词工具获取若干个Segment,之后将词作为网络的输入,以获得一个one-hot向量,此处输入的网络可以选择word2vec模型,以获得对应的词在语义空间的向量。
获得的词向量可以通过一个基于LSTM深度学习模型以获得分类结果,即输入可以表示为:W=[w1,w2,…wi…,wn];
其中wi第i个词通过word2vec获取的词向量,n为词向量数目;
对应于wi,其输出为:Vt=LSTM(vi),即通过LSTM可以获得输入的词向量为漏洞的可能性描述。
进一步的,进行模型的构建可以使用已经标注好的数据进行,例如使用0或1表示是否为目标值,并通过构建输入和标签以进行训练。
在构建网络后,可以使用含有标签的数据进行训练和测试,用于网络的构建和更新。
上述的方式可以用于在存在大量数据的情形,然而,在缺少样本数据时,通过模型对数据的分类会受到影响。
本发明通过构建攻击样本的生成模型以克服此缺陷,在一个典型的实例内,通过模型生成的攻击样本,之后通过检测模型以获取目前模型的不足,并据此进行检测模型的自更新。
根据本发明的一个实施例,在进行攻击样本的生成模型构建前,使用置信学习样本确定噪声标签和真实标签的联合概率分布,确定并移除数据集中的噪声样本。
通过在模型训练前额外添加CL(Confident Learning)模块,可以最大限度地将数据集中的错误数据发现并剔除在外。
根据本发明的一个实施例,检测模型整体被封装在容器内,通过容器提供的接口进行样本的分类和强化学习。
例如,在本发明的一个实施例内,将检测模型整体封装成开源架构gym中的一个WAF环境,使用PPO算法训练出一个生成对应攻击样本的模型Agent;通过Agent模型生成的攻击样本在WAF环境中的反馈可得到目前模型的不足,并据此进行检测模型的自更新。
可以进一步的检测模型的设置位置进行调整。例如,在本发明的一个实施例内,开源架构gym设置于物理机中。在本发明的另外一个实施例内,开源架构gym设置于虚拟机或者容器中。
根据本发明的一个实施例,第一字符级卷积神经网络或第二字符级卷积神经网络包括:
输入层,用于接收输入的检测样本;
嵌入层,用于对输入层处理后的检测样本进行映射变换得到特征向量;
多个卷积层和最大池化层,分别用于提取检测样本的信息和降低维度;
平化层,用于将最后一层的最大池化层的展平转换为一维数组;
稠密层,和平化层全连接,用于输出预测结果。
第一字符级卷积神经网络或第二字符级卷积神经网络的训练过程可以包括:
使用两架构相同的字符级卷积神经网络分别在XSS数据集和SQLi数据集上进行训练,训练完成后,得到两架构相同但神经元参数不同的字符级卷积神经网络,以用于样本检测。通过在XSS数据集上进行训练,字符级卷积神经网络可以学习到针对跨站脚本攻击(XSS)的特征和模式。
上述的训练模式有助于网络识别和捕获可能用于执行XSS攻击的恶意代码或输入;同样地,通过在SQLi数据集上进行训练,字符级卷积神经网络可以学习到针对SQL注入攻击(SQLi)的特征和模式。这使得网络能够检测到潜在的SQL注入攻击尝试,并采取相应的防御措施。由于训练过程中使用了相同的架构,即使在两个数据集上进行了训练,得到的字符级卷积神经网络仍然具有相似的结构和学习能力。
然而,由于数据集的不同和训练过程的差异,神经元参数可能会有所不同。这意味着网络在检测XSS和SQLi样本时可能会表现出不同的响应和准确性。通过使用这两个训练完成的字符级卷积神经网络,可以有效地检测和防御XSS和SQLi攻击。这种多模型的方法可以提高整体的安全性和准确性,因为每个模型在不同类型的攻击上可能具有不同的专长和鲁棒性。综合使用这些模型可以提供更全面的安全防护,减少攻击者利用XSS和SQLi漏洞进行的潜在威胁。
通过以上预处理和转换操作,可以使得样本适应卷积神经网络的输入要求,提高模型对样本特征的提取能力和检测性能,从而增强了技术的有效性和实用性。
根据本发明的一个实施例,第一字符级卷积神经网络和第二字符级卷积神经网络具有一致的模型结构。
通过以上预处理和转换操作,可以使得样本适应卷积神经网络的输入要求,提高模型对样本特征的提取能力和检测性能,从而增强了技术的有效性和实用性;并且通过一致的神经网络结构的设置,可以使得神经网络可以交叉学习注入的漏洞的特征,即可以学习到另外一类漏洞的特征和模式。
根据本发明的一个实施例,使用检测模型确定检测样本的分类过程包括:
获取样本中的字符,将样本中的字符进行编码,之后将编码后的字符串转换为对应的一维向量,作为检测模型的输入。
通过此方式,可以将样本中的文本转换为有效的向量,相较于使用分词并计算其在语义空间的分布,降低了体系的复杂程度。
根据本发明的一个实施例,在进行编码前,对样本中的字符进行URL解码,去除样本中字符中的转义字符;之后,将样本中字符值大于128的字符替换为低于128的字符,获得编码后的字符串。
通过此方式可以避免包含于URL中用于攻击的字符串被遗漏,进一步的,通过将中文字符以及其他字符值大于128的代码转换为空格,降低了转码的需求;另外,涉及到转义字符的,一般其字符值均小于128,对其进行去除后,通过此可以降低分析数据的类型,从而将分析的内容从Unicode的字符空间,降低到了ASCII码中的可见字符,其最多可以达到95个。
根据本发明的一个实施例,在进行编码前,对样本中的字符进行URL解码,去除样本中字符中的转义字符;之后,将样本中字符值大于128的字符和控制字符替换为空格,将字符串转换为小写字母,获得编码后的字符串。
通过此方式可以避免包含于URL中用于攻击的字符串被遗漏,进一步的,通过将中文字符以及其他字符值大于128的代码转换为空格,降低了转码的需求;另外,涉及到转义字符的,一般其字符值均小于128,对其进行去除后,通过此可以降低分析数据的类型,从而将分析的内容从Unicode的字符空间,降低到了ASCII码中的可见字符,最多只需要分析69个字符。
根据本发明的一个实施例,首先进行检测模型的构建,用两个架构相同的字符级卷积神经网络分别检测样本是否为XSS和SQLi,再将结果进行或运算,得到判断的最终结果;两架构相同的字符级卷积神经网络分别在XSS数据集和SQLi数据集上进行训练,训练完成后,得到两架构相同但神经元参数不同的字符级卷积神经网络,以用于样本检测;检测模型设置于物理机上;
使用PPO算法训练出一个生成对应攻击样本的模型Agent;
通过Agent模型生成的攻击样本在检测模型反馈可得到目前模型的不足,并据此进行检测模型的自更新。
两架构相同的字符级卷积神经网络分别在XSS数据集和SQLi数据集上进行训练,训练完成后,得到两架构相同但神经元参数不同的字符级卷积神经网络,以用于样本检测。
在模型的训练或测试之前,需要先对样本进行处理,将样本中的字符转换为对应的one-hot向量,最终形成一个二维矩阵作为检测模型的输入。此过程使用word2vec进行,在进行转换前,通过对输入进行分词,以获得测试样本的向量化表示。
此处选择的卷积神经网络包含一个输入维度为4096*256的矩阵,其对应了最长为4096长度的URL输入以及256个语义维度,通过包含卷积层、池化层、展开层和稠密层的网络以获得分类。
根据本发明的一个实施例,首先进行检测模型的构建,用两个架构相同的字符级卷积神经网络分别检测样本是否为XSS和SQLi,再将结果进行或运算,得到判断的最终结果;两架构相同的字符级卷积神经网络分别在XSS数据集和SQLi数据集上进行训练,训练完成后,得到两架构相同但神经元参数不同的字符级卷积神经网络,以用于样本检测;检测模型设置于虚拟机中,并通过虚拟网卡接收流量特征;
在模型训练前额外添加CL(Confident Learning)模块,最大限度地将数据集中的错误数据发现并剔除在外;
使用PPO算法训练出一个生成对应攻击样本的模型Agent;
通过Agent模型生成的攻击样本在模型检测的反馈可得到目前模型的不足,并据此进行检测模型的自更新。
在模型的训练或测试之前,需要先对样本进行处理,将样本中的字符转换为对应的one-hot向量,最终形成一个二维矩阵作为检测模型的输入。
此编码过程具体包括:
在进行卷积神经网络的训练与测试之前,要对样本进行预处理。首先,将样本进行两次URL解码,使样本中的信息能够显露出来,以确保在后续的训练和测试中,模型能够正确地获取样本的关键信息,从而提高检测的准确性和可靠性。然后将样本中的中文替换为空格,中文字符在判断过程中不产生作用,这样的处理可以减少不必要的干扰,使模型更专注于关键的字符特征,提高检测的效率和准确性。最后将样本整体转变为小写字母,使得样本的表示方式统一。这有助于模型学习到字符的共享特征,减少大小写带来的差异性,提高模型的泛化能力和稳定性。
预处理之后需要将样本从字符串转化为输入的token,将样本中的字符与字典(“abcdefghijklmnopqrstuvwxyz0123456789,;.!?:'"/\|_@#$%^&*~`+-=<>()[]{}”)中的字符一一对应,转换为相应的维度为69的one-hot向量。这种向量化的表示方式能够将样本转化为计算机可处理的形式,为卷积神经网络的训练和测试提供了适当的输入格式。同时,将样本的长度限制为1024,即最后得到维度为(1024, 69)的二维矩阵作为卷积神经网络的输入,限制样本的长度为1024,确保得到固定维度的输入数据,这有助于保持输入数据的一致性,简化模型的设计和计算过程,并且限制样本长度也可以控制计算资源的消耗,提高模型的效率。
通过以上预处理和转换操作,可以使得样本适应卷积神经网络的输入要求,提高模型对样本特征的提取能力和检测性能,从而增强了技术的有效性和实用性。
输入的数据为维度为(1024,69)的二维矩阵。数据输入后,首先进行数据的embedding,选择的输出维度依然是69,因此在进行embedding之后,输出结果为维度是(1024, 69)的二维矩阵。
之后使用通道数为128,长度为7的卷积核进行卷积,卷积后得到维度为(1018,128)的二维矩阵。卷积后使用ReLU函数进行激活,最后进行池化范围为3的最大池化。这些操作结束之后,得到一个维度为(339, 128)的二维矩阵。
为了方便描述,将以上操作视为卷积神经网络其中一层,将参数记为(128, 7,3),分别代表卷积核通道数,卷积核长度和进行最大池化时的池化范围。另外,若池化范围为-1,则代表在该卷积层进行激活操作后不进行最大池化。
卷积神经网络一共设置六个卷积层,参数分别为(128, 7, 3)、(128, 7, 3)、(128, 7, -1)、(128, 7, -1)、(128, 7, -1)、(128, 7, 3)。
卷积结束后,通过卷积神经网络的Flatten层将此时输出的二维矩阵进行展平。得到一个维度为(4352, 1)的一维向量。然后要经过两层全连接层,维数都是1024,并且在其中采用dropout的策略,忽略神经元的概率为0.5。全连接层的激活函数依然采用ReLU函数。
最后,通过全连接层输出预测结果。预测结果维度为2,分别表达该样本是攻击样本还是正常样本的概率。
本实施例中,卷积神经网络通过多层卷积、激活和池化操作,提取输入样本的特征信息。经过展平和全连接层的处理,模型可以对输入样本进行分类,输出样本为攻击样本和正常样本的概率。这种架构能够有效地捕捉输入样本的关键特征,实现准确的分类和检测效果。通过这种技术,可以在网络应用中实现对XSS和SQLi等攻击的有效检测和防御。
在检测模型训练之前可使用cleanlab中集成的CL模块操作估计数据集中样本噪声标签和真实标签的联合概率分布,并据此找出数据集中的噪声样本,将其从数据集中剔除。
两架构相同的字符级卷积神经网络分别在XSS数据集和SQLi数据集上进行训练,训练完成后,得到两架构相同但神经元参数不同的字符级卷积神经网络,以用于样本检测。
通过在训练之前使用CL模块对数据集进行处理,可以得到一个经过清洗的数据集,其中排除了噪声样本。这有助于提高检测模型的性能和鲁棒性,因为训练过程不再受到噪声标签的干扰。通过减少噪声样本的影响,可以更准确地训练模型,使其能够更好地泛化到未知数据上,并提高其在实际场景中的可靠性和效果,从而更有效地应对潜在的安全威胁。
CL模块通过5折交叉验证法将训练集分割成5部分,并通过检测模型的训练测试分别得到这5部分的噪声标签和真实标签的联合概率分布。去除噪声样本后,所得到的数据集才是用来正式训练检测模型的训练集。这样的操作有助于提高训练集的质量,减少噪声对模型训练的干扰,从而改善模型的性能和鲁棒性。清洗后的数据集可以更好地指导网络的学习过程,提高模型对未知数据的泛化能力,并增强对潜在威胁的检测和防御能力,以确保模型在训练阶段能够学习到有效的特征和规律,更好地识别和检测XSS和SQLi等攻击样本。
根据本发明的一个实施例,首先进行检测模型的构建,用两个架构相同的字符级卷积神经网络分别检测样本是否为XSS和SQLi,再将结果进行或运算,得到判断的最终结果;两架构相同的字符级卷积神经网络分别在XSS数据集和SQLi数据集上进行训练,训练完成后,得到两架构相同但神经元参数不同的字符级卷积神经网络,以用于样本检测;
在模型训练前额外添加CL(Confident Learning)模块,最大限度地将数据集中的错误数据发现并剔除在外;
使用PPO算法训练出一个生成对应攻击样本的模型Agent;
通过Agent模型生成的攻击样本在WAF环境中的反馈可得到目前模型的不足,并据此进行检测模型的自更新。
在模型的训练或测试之前,需要先对样本进行处理,将样本中的字符转换为对应的one-hot向量,最终形成一个二维矩阵作为检测模型的输入。
在检测模型训练之前使用cleanlab中集成的CL模块操作估计数据集中样本噪声标签和真实标签的联合概率分布,并据此找出数据集中的噪声样本,将其从数据集中剔除。
CL模块通过5折交叉验证法将训练集分割成5部分,并通过检测模型的训练测试分别得到这5部分的噪声标签和真实标签的联合概率分布。
将检测模型整体封装成开源架构gym中的一个WAF环境,开源环境gym通过容器docker提供服务。
在使用PPO算法训练出一个生成对应攻击样本的模型Agent之后,通过gym中默认的操作进行访问并得到反馈,使用通用的强化学习接口进行交互。
两架构相同的字符级卷积神经网络分别在XSS数据集和SQLi数据集上进行训练,训练完成后,得到两架构相同但神经元参数不同的字符级卷积神经网络,以用于样本检测。
本实施例考虑大小写的差异,相应的输入层的大小更改为1024*95。
在完成检测模型的架构后,将其整体封装成gym框架中的一个WAF环境。而后可据此搭建强化学习的框架,使用PPO算法训练出一个能生成攻击样本的Agent模型。Agent模型将WAF环境对于生成样本的判断(0/1)作为Agent模型的训练数据,训练出可生成当前WAF环境无法准确识别样本的模型。
Agent模型训练完成后,可批量生成当前WAF环境无法准确识别的样本。通过分析这些样本,可以明确当前检测模型的不足之处,并加以改进。因此,将完成的检测模型封装成gym框架中的WAF环境,并使用PPO算法训练出一个能生成攻击样本的Agent模型,可以通过环境交互和强化学习的方式,提升WAF的防御能力。这样的方法使得模型能够生成具有欺骗性的攻击样本,并进一步改进和加强WAF环境以提供更好的安全防护。同时,这也为对抗未知攻击提供了一种探索和学习的机制,以更好地保护网络安全,使WAF环境能够更好地适应不断变化的攻击形式,并提高对潜在攻击的检测和应对能力。
在获取检测失效的样本后,可以将这些样本作为反馈信号,当作补充训练集,重新训练检测模型,用于改进当前检测模型的性能和鲁棒性,通过gym中默认的操作进行访问并得到反馈,使用通用的强化学习接口进行交互。通过使用gym中默认的操作和通用的强化学习接口,可以实现与WAF环境和Agent模型之间的无缝集成和交互。这样的集成使得我们能够更方便地使用训练好的Agent模型生成攻击样本,并获得环境的反馈信息。这不仅有助于进一步提升Agent模型的生成能力和效果,还能够评估WAF的防御能力和对抗攻击的鲁棒性,从而进一步提高WAF系统对于新型攻击的识别能力。通过整个过程中的强化学习和反馈循环,可以不断改进和优化检测模型,使其能够更准确地检测和防御各种类型的Web应用程序攻击,增强系统的安全性和稳定性。
根据本发明的一个实施例,首先进行检测模型的构建,用两个架构相同的字符级卷积神经网络分别检测样本是否为XSS和SQLi,再将结果进行或运算,得到判断的最终结果;两架构相同的字符级卷积神经网络分别在XSS数据集和SQLi数据集上进行训练,训练完成后,得到两架构相同但神经元参数不同的字符级卷积神经网络,以用于样本检测;检测模型设置于物理机上;
使用PPO算法训练出一个生成对应攻击样本的模型Agent;
通过Agent模型生成的攻击样本在检测模型反馈可得到目前模型的不足,并据此进行检测模型的自更新。
根据本发明的一个实施例,首先进行检测模型的构建,用两个架构相同的LSTN神经网络分别检测样本是否为XSS和SQLi,再将结果进行或运算,得到判断的最终结果;两架构相同的字符级卷积神经网络分别在XSS数据集和SQLi数据集上进行训练,训练完成后,得到两架构相同但神经元参数不同的字符级卷积神经网络,以用于样本检测;检测模型设置于物理机上;
使用PPO算法训练出一个生成对应攻击样本的模型Agent;
通过Agent模型生成的攻击样本在检测模型反馈可得到目前模型的不足,并据此进行检测模型的自更新。
在模型的训练或测试之前,需要先对样本进行处理,将样本中的字符转换为对应的one-hot向量,最终形成一个二维矩阵作为检测模型的输入。此过程使用word2vec进行,在进行转换前,通过对输入进行分词,以获得测试样本的向量化表示。
此处选择的卷积神经网络包含一个输入维度为4096*256的矩阵,其对应了最长为4096长度的URL输入以及256个语义维度,通过包含卷积层、池化层、展开层和稠密层的网络以获得分类。
不仅如此,为实现上述发明目的,本发明还提供了一种涡轮冷却器实时故障诊断系统,图3是本发明一个实施例使用的一种模型可更新的注入攻击检测系统流程图,如图3所示,本发明中的一种模型可更新的注入攻击检测系统包括:
样本检测模块:使用检测模型确定检测样本是否为XSS,以及检测样本是否为SQLi;
样本分类模块:对检测样本的XSS检测结果和SQLi检测结果进行或运算,确定检测样本的分类;
模型生成模块:基于检测样本和分类构建攻击样本的生成模型;
模型更新模块:基于攻击样本的生成模型生成攻击样本,基于第一字符级卷积神经网络和第二字符级卷积神经网络对攻击样本的分类结果,更新检测模型,检测模型包括第一字符级卷积神经网络和第二字符级卷积神经网络,第一字符级卷积神经网络用于检测输入的样本是否为XSS,第二字符级卷积神经网络用于检测输入的样本是否为SQLi。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。
另外,在本发明实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例节能信号发送/接收的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
应理解,本发明的发明内容及实施例中各步骤的序号的大小并不绝对意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。出于示例和描述的目的,已经给出了本公开实施的前述说明。前述说明并非是穷举性的也并非要将本公开限制到所公开的确切形式,根据上述教导还可能存在各种变形和修改,或者是可能从本公开的实践中得到各种变形和修改。选择和描述这些实施例是为了说明本公开的原理及其实际应用,以使得本领域的技术人员能够以适合于构思的特定用途来以各种实施方式和各种修改而利用本公开。

Claims (9)

1.一种模型可更新的注入攻击检测方法,其特征在于,包括:
使用检测模型确定检测样本是否为XSS,以及检测样本是否为SQLi;
对检测样本的XSS检测结果和SQLi检测结果进行或运算,确定检测样本的分类;
基于检测样本和分类构建攻击样本的生成模型;
基于攻击样本的生成模型生成攻击样本,基于第一字符级卷积神经网络和第二字符级卷积神经网络对攻击样本的分类结果,更新检测模型,检测模型包括第一字符级卷积神经网络和第二字符级卷积神经网络,第一字符级卷积神经网络用于检测输入的样本是否为XSS,第二字符级卷积神经网络用于检测输入的样本是否为SQLi。
2.如权利要求1所述的一种模型可更新的注入攻击检测方法,其特征在于,在进行攻击样本的生成模型构建前,使用置信学习样本确定噪声标签和真实标签的联合概率分布,确定并移除数据集中的噪声样本。
3.如权利要求2所述的一种模型可更新的注入攻击检测方法,其特征在于,检测模型整体被封装在容器内,通过容器提供的接口进行样本的分类和强化学习。
4.如权利要求3所述的一种模型可更新的注入攻击检测方法,其特征在于,第一字符级卷积神经网络或第二字符级卷积神经网络包括:
输入层,用于接收输入的检测样本;
嵌入层,用于对输入层处理后的检测样本进行映射变换得到特征向量;
多个卷积层和最大池化层,分别用于提取检测样本的信息和降低维度;
平化层,用于将最后一层的最大池化层的展平转换为一维数组;
稠密层,和平化层全连接,用于输出预测结果。
5.如权利要求4所述的一种模型可更新的注入攻击检测方法,其特征在于,第一字符级卷积神经网络和第二字符级卷积神经网络具有一致的模型结构。
6.如权利要求5所述的一种模型可更新的注入攻击检测方法,其特征在于,使用检测模型确定检测样本的分类过程包括:
获取样本中的字符,将样本中的字符进行编码,之后将编码后的字符串转换为对应的一维向量,作为检测模型的输入。
7.如权利要求6所述的一种模型可更新的注入攻击检测方法,其特征在于,在进行编码前,对样本中的字符进行URL解码,去除样本中字符中的转义字符;之后,将样本中字符值大于128的字符替换为低于128的字符,获得编码后的字符串。
8.如权利要求7所述的一种模型可更新的注入攻击检测方法,其特征在于,在进行编码前,对样本中的字符进行URL解码,去除样本中字符中的转义字符;之后,将样本中字符值大于128的字符和控制字符替换为空格,将字符串转换为小写字母,获得编码后的字符串。
9.一种模型可更新的注入攻击检测系统,其特征在于,包括:
样本检测模块:使用检测模型确定检测样本是否为XSS,以及检测样本是否为SQLi;
样本分类模块:对检测样本的XSS检测结果和SQLi检测结果进行或运算,确定检测样本的分类;
模型生成模块:基于检测样本和分类构建攻击样本的生成模型;
模型更新模块:基于攻击样本的生成模型生成攻击样本,基于第一字符级卷积神经网络和第二字符级卷积神经网络对攻击样本的分类结果,更新检测模型,检测模型包括第一字符级卷积神经网络和第二字符级卷积神经网络,第一字符级卷积神经网络用于检测输入的样本是否为XSS,第二字符级卷积神经网络用于检测输入的样本是否为SQLi。
CN202311345846.4A 2023-10-18 2023-10-18 一种模型可更新的注入攻击检测方法及系统 Pending CN117077763A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311345846.4A CN117077763A (zh) 2023-10-18 2023-10-18 一种模型可更新的注入攻击检测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311345846.4A CN117077763A (zh) 2023-10-18 2023-10-18 一种模型可更新的注入攻击检测方法及系统

Publications (1)

Publication Number Publication Date
CN117077763A true CN117077763A (zh) 2023-11-17

Family

ID=88708458

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311345846.4A Pending CN117077763A (zh) 2023-10-18 2023-10-18 一种模型可更新的注入攻击检测方法及系统

Country Status (1)

Country Link
CN (1) CN117077763A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180288086A1 (en) * 2017-04-03 2018-10-04 Royal Bank Of Canada Systems and methods for cyberbot network detection
CN108898015A (zh) * 2018-06-26 2018-11-27 暨南大学 基于人工智能的应用层动态入侵检测系统及检测方法
CN109413028A (zh) * 2018-08-29 2019-03-01 集美大学 基于卷积神经网络算法的sql注入检测方法
CN114998362A (zh) * 2022-06-15 2022-09-02 西安电子科技大学 基于双分割模型的医学图像分割方法
CN115333869A (zh) * 2022-10-14 2022-11-11 四川大学 一种分布式网络对抗攻击自训练学习方法
CN115470489A (zh) * 2022-09-19 2022-12-13 贵州白山云科技股份有限公司 检测模型训练方法、检测方法、设备以及计算机可读介质
CN115688883A (zh) * 2022-11-02 2023-02-03 成都信息工程大学 基于量子模糊卷积神经网络的对抗样本检测方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180288086A1 (en) * 2017-04-03 2018-10-04 Royal Bank Of Canada Systems and methods for cyberbot network detection
CN108898015A (zh) * 2018-06-26 2018-11-27 暨南大学 基于人工智能的应用层动态入侵检测系统及检测方法
CN109413028A (zh) * 2018-08-29 2019-03-01 集美大学 基于卷积神经网络算法的sql注入检测方法
CN114998362A (zh) * 2022-06-15 2022-09-02 西安电子科技大学 基于双分割模型的医学图像分割方法
CN115470489A (zh) * 2022-09-19 2022-12-13 贵州白山云科技股份有限公司 检测模型训练方法、检测方法、设备以及计算机可读介质
CN115333869A (zh) * 2022-10-14 2022-11-11 四川大学 一种分布式网络对抗攻击自训练学习方法
CN115688883A (zh) * 2022-11-02 2023-02-03 成都信息工程大学 基于量子模糊卷积神经网络的对抗样本检测方法及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
XUEQIN ZHANG 等: "Adversarial Examples Detection for XSS Attacks Based on Generative Adversarial Networks", 《IEEE ACCESS》, vol. 8, pages 10989 - 10996, XP011767668, DOI: 10.1109/ACCESS.2020.2965184 *
杨静 等: "一种IMS网络合法实体攻击行为的防护策略", 《信息工程大学学报》, vol. 12, no. 3, pages 380 - 384 *
马亮 等: "无人水下航行器鱼雷攻击智能决策需求与方法探讨", 《水下无人系统学报》, vol. 31, no. 2, pages 323 - 328 *
龚昕宇: "基于深度学习的Web攻击检测研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 1, pages 139 - 175 *

Similar Documents

Publication Publication Date Title
Li et al. A SQL injection detection method based on adaptive deep forest
CN108667816B (zh) 一种网络异常的检测定位方法及系统
US10764246B2 (en) System and method for detecting generated domain
Ndichu et al. Deobfuscation, unpacking, and decoding of obfuscated malicious JavaScript for machine learning models detection performance improvement
Yuan et al. Malicious URL detection based on a parallel neural joint model
CN111600919B (zh) 智能网络应用防护系统模型的构建方法和装置
CN113596007B (zh) 一种基于深度学习的漏洞攻击检测方法和设备
Ndichu et al. A machine learning approach to malicious JavaScript detection using fixed length vector representation
Yang et al. Detecting stealthy domain generation algorithms using heterogeneous deep neural network framework
CN113381962B (zh) 一种数据处理方法、装置和存储介质
Kasim An ensemble classification-based approach to detect attack level of SQL injections
CN111931935B (zh) 基于One-shot 学习的网络安全知识抽取方法和装置
Liu et al. An efficient multistage phishing website detection model based on the CASE feature framework: Aiming at the real web environment
CN116917894A (zh) 使用转换器检测网络钓鱼url
Rao et al. Application of word embedding and machine learning in detecting phishing websites
CN112948725A (zh) 基于机器学习的钓鱼网站url检测方法及系统
Yuan et al. A novel approach for malicious URL detection based on the joint model
Nowroozi et al. An adversarial attack analysis on malicious advertisement url detection framework
Kumar et al. Enhanced domain generating algorithm detection based on deep neural networks
CN115994351A (zh) 一种恶意网站检测方法、装置、系统及设备
CN110958244A (zh) 一种基于深度学习的仿冒域名检测方法及装置
Yan et al. Cross-site scripting attack detection based on a modified convolution neural network
Rasheed et al. Adversarial attacks on featureless deep learning malicious URLs detection
CN117614644A (zh) 恶意网址识别方法、电子设备及存储介质
Deng et al. Feature optimization and hybrid classification for malicious web page detection

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