CN111818080A - 注入攻击检测模型构建方法和装置 - Google Patents

注入攻击检测模型构建方法和装置 Download PDF

Info

Publication number
CN111818080A
CN111818080A CN202010708096.2A CN202010708096A CN111818080A CN 111818080 A CN111818080 A CN 111818080A CN 202010708096 A CN202010708096 A CN 202010708096A CN 111818080 A CN111818080 A CN 111818080A
Authority
CN
China
Prior art keywords
attack
detection model
samples
attack detection
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.)
Pending
Application number
CN202010708096.2A
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202010708096.2A priority Critical patent/CN111818080A/zh
Publication of CN111818080A publication Critical patent/CN111818080A/zh
Pending legal-status Critical Current

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/1416Event detection, e.g. attack signature detection
    • 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/08Learning methods
    • 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Machine Translation (AREA)

Abstract

根据本发明的实施例提供一种注入攻击检测模型构建方法和装置,以及一种注入攻击检测方法和装置,包括:收集多个样本;对样本进行转码、分词,与攻击词汇表比对生成统一长度的数据集,并提取词向量;利用词向量对神经网络模型进行训练;当评价指标超过阈值时,获得攻击检测模型。根据本发明实施例的注入攻击检测模型构建方法和装置能够实现自动化的训练、学习和检测,并且执行速度和效率高,根据本发明实施例的注入攻击检测方法和装置检测效率、准确率都较高。

Description

注入攻击检测模型构建方法和装置
技术领域
本发明涉及网络安全技术领域,特别是涉及一种注入攻击的检测模型构建方法和装置,以及一种注入攻击检测方法和装置。
背景技术
随着互联网技术的急速发展,越来越多的个人敏感信息被终端设备所调用,网络安全的重要性也愈发的引起了人们的重视,网络注入攻击,例如XSS、SQL等,一直以来都是网页应用安全风险的重要来源。
现有技术中对于网络注入攻击的主流检测方法为白盒测试和黑盒测试,其中,白盒测试的有效性依靠净化规则的完备性,净化规则太过宽泛会造成漏报,太过严格又会误报,难以把握,而黑盒测试的检测效率较低。使用神经网络深度学习的方法来构建攻击检测模型以实现注入攻击的检测是一种较为理想的方法,但是现有技术中针对注入攻击的检测模型构建方法存在执行速度和效率低、检测准确率不理想等问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的批量数据处理方法和装置。
根据本发明实施例的一个方面,提供一种注入攻击的检测模型构建方法,包括:收集多个样本,包括多个正常样本和多个攻击样本;对每个所述样本进行转码和分词后与攻击词汇表进行比对,生成统一长度数据集,并提取词向量,其中所述攻击词汇表包括所有所述攻击样本中出现频率高于阈值的多个词汇;利用所述词向量对神经网络模型进行训练,其中,所述神经网络模型包括:至少一个卷积层,提升所述词向量的数据维度;至少一个门控循环单元,提取所述词向量中基于时序的特征向量;平化层,降低所述词向量的数据维度;全连接层,接收所述平化层的数据并分类判断;输出层,输出对每个所述样本的检测结果和所述神经网络模型的评价指标;当所述神经网络模型的评价指标高于阈值时,停止训练并获得攻击检测模型。
可选地,所述方法还包括:将所述多个样本随机划分为第一子集和第二子集,以及对所述攻击检测模型进行测试,其中,所述第一子集中的所述样本用于训练所述神经网络模型并获得所述攻击检测模型;所述第二子集中的所述样本用于测试所述攻击检测模型。
可选地,所述转码包括:截取有效载荷;对所述有效载荷进行词汇替换,其中,将中文字符替换为第一字符;将数字替换为第二字符将超链接替换为第三字符。
可选地,所述转码还包括:将统一资源定位符(URL)替换为统一格式,并剔除无意义字符。
可选地,所述对每个所述样本进行转码和分词后与攻击词汇表进行比对,生成统一长度数据集包括:预先设定所述数据集的长度;将所述样本分词后与所述攻击词汇表进行比对,将每个比对不成功的词汇替换为一个第四字符;增加或删除所述第四字符,使所述样本的数据集符合所述预先设定的所述数据集的长度。
可选地,所述神经网络模型还包括:至少一个随机失活层,降低所述神经网络模型中各节点的依赖性,优选地所述随机失活层设置在所述平化层的输入端。
可选地,所述至少一个门控循环单元包括:第一门控循环单元、第二门控循环单元和第三门控循环单元,其中所述第一门控循环单元、第二门控循环单元和第三门控循环单元分别拥有不同的单元数,用于输出不同维度的特征向量。
可选地,所述当所述神经网络模型的评价指标高于阈值时,停止训练并获得注入攻击检测模型包括:定义损失函数;当所述损失函数接近阈值时,中止训练并判断所述精确率和所述召回率是否高于阈值,当所述评价指标低于阈值时,调整所述损失函数,继续训练并重复所述判断,直到所述评价指标高于阈值,获得所述攻击检测模型。
根据本发明实施例的另一方面,提供一种注入攻击的检测模型构建装置,包括:收集模块:收集多个样本,包括多个正常样本和多个攻击样本;向量提取模块:对每个所述样本进行转码和分词后与攻击词汇表进行比对,并生成统一长度数据集,提取每个所述样本的词向量,其中所述攻击词汇表包括所有所述攻击样本中出现频率高于阈值的多个词汇;训练模块:利用所述词向量对神经网络模型进行训练,其中,所述神经网络模型包括:至少一个卷积层,提升所述词向量的数据维度;至少一个门控循环单元,提取所述词向量中基于时序的特征向量;平化层,降低所述词向量的数据维度;全连接层,接收所述平化层的数据并分类判断;输出层,输出对每个所述样本的检测结果和所述神经网络模型的评价指标;输出模块:当所述神经网络模型的评价指标高于阈值时,停止训练并输出攻击检测模型。
可选地,所述收集模块将所述多个样本随机划分为第一子集和第二子集,所述装置还包括:测试模块:对所述攻击检测模型进行测试,其中,所述第一子集中的所述样本用于训练所述神经网络模型并获得所述攻击检测模型;所述第二子集中的所述样本用于测试所述攻击检测模型。
可选地,所述向量提取模块包括第一转码单元和/或第二转码单元,其中所述第一转码单元用于截取有效载荷并对所述有效载荷进行词汇替换,其中,将中文字符替换为第一字符;将数字替换为第二字符;将超链接替换为第三字符;所述第二转码单元用于将统一资源定位符(URL)替换为统一格式,并剔除无意义字符。
可选地,所述对每个所述样本进行转码和分词后与攻击词汇表进行比对,生成统一长度数据集包括:预先设定所述数据集的长度;将所述样本分词后与所述攻击词汇表进行比对,将每个比对不成功的词汇替换为一个第四字符;增加或删除所述第四字符,使所述样本的数据集符合所述预先设定的所述数据集的长度。
可选地,所述神经网络模型还包括:至少一个随机失活层,降低所述神经网络模型中各节点的依赖性,优选地,所述随机失活层设置在所述平化层的输入端。
可选地,所述至少一个门控循环单元包括:第一门控循环单元、第二门控循环单元和第三门控循环单元,其中所述第一门控循环单元、第二门控循环单元和第三门控循环单元分别拥有不同的单元数,用于输出不同维度的特征向量。
可选地,所述当所述神经网络模型的评价指标高于阈值时,停止训练并获得注入攻击检测模型包括:定义损失函数;当所述损失函数接近阈值时,中止训练并判断所述评价指标是否高于阈值,当所述准确率和/或所述召回率低于阈值时,调整所述损失函数,继续训练并重复所述判断,直到所述评价指标高于阈值,获得所述攻击检测模型。
根据本发明实施例的再一方面,提供一种注入攻击的检测方法,包括:获取如上任一所述的攻击检测模型构建方法构建的攻击检测模型;使用所述攻击检测模型检测注入攻击。
根据本发明实施例的再一方面,提供一种注入攻击的检测装置,包括:获取模块,获取如上任一所述的攻击检测模型构建方法构建的攻击检测模型;检测模块,使用所述攻击检测模型检测注入攻击。
根据本发明实施例的再一方面,提供一种计算设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据如上任一所述的注入攻击检测模型构建方法或者注入攻击检测方法。
根据本发明实施例的再一方面,提供一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据如上任一所述的注入攻击检测模型构建方法或者注入攻击检测方法。
根据本发明实施例的注入攻击检测模型构建方法和装置能够实现自动化的训练、学习和检测,并且执行速度和效率高,生成的攻击检测模型检测检测效率、准确率都较高。
附图说明
图1为根据本发明实施例的攻击检测模型构建方法示意图;
图2为根据本发明实施例的转码、分词、提取词向量示意图;
图3为根据本发明实施例的神经网络模型示意图;
图4为根据本发明实施例的门控循环单元结构示意图;
图5为根据本发明实施例的攻击检测模型构建装置示意图;
图6为根据本发明实施例的注入攻击检测方法示意图;
图7为根据本发明实施例的注入攻击检测装置示意图;
图8为根据本发明实施例的注入攻击监测装置应用场景示意图;
图9为根据本发明实施例的计算设备示意图;
图10为根据本发明实施例的计算机可读储存介质示意图。
具体实施方式
下面结合附图,对本发明的实施例进行详细地说明。另外,在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本披露实施例的全面理解。然而明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。
需要特别注意的是,尽管实施例中以XSS攻击作为注入攻击来进行说明,但是本领域技术人员可以理解的,其他形式的网络注入攻击在一些情况下也可以使用根据本发明实施例的方法和装置来进行检测模型的构建或者检测。
根据本发明的实施例首先提供一种批量数据处理方法,参照图1,包括:
步骤S102:收集多个样本;
步骤S104:对样本进行转码、分词,与攻击词汇表比对生成统一长度的数据集,并提取词向量;
步骤S106:利用词向量对神经网络模型进行训练;
步骤S108:当评价指标超过阈值时,获得攻击检测模型。
在步骤S102中,收集多个样本可以是收集来自WEB网站中的样本数据,这些样本数据中包括多个正常样本和多个攻击样本,进一步的,所谓的攻击样本是指所述样本数据中包含具有攻击性的词汇,这里以XSS攻击作为示例,其所包含的攻击性词汇包括但不限于:恶意的统一资源定位符(URL)、具有攻击性的HTML标签、恶意的JavaScript脚本等等。
更具体的来说,在一些实施方式中,样本来源可以分为两部分,一部分为ICML-90数据集,其中包含120天的数据,一部分为XSSED站点的XSS攻击样本,这些样本可以保存在csv文件中,可以理解的,本领域技术人员可以从任何其他合适的数据库中获取样本,并以任何合适的方式来储存这些样本,在此不做具体限定。
进一步的,在一些实施方式中,为了在后续的训练、测试过程中更好的分辨正常样本和攻击样本,在获取到样本后,可以对每个样本添加标签,其中正常样本记为负例样本,lable=0,攻击样本记为正例样本,lable=1。
步骤S104是对所有样本进行的统一的、规范化的预处理。
下表中示出了几种常见的XSS攻击格式
Figure BDA0002595463420000061
参照图2,对样本的预处理首先包括转码步骤S1041,具体而言,在一些实施方式中,首先需要去除样本数据中的冗余信息,保留有效载荷(payload)部分,进一步的,为了更方便进行识别,将有效载荷中的中文字符统一替换为“cn”,数字统一替换为“0”,超链接统一替换为http://a。可以理解的,在这里的进行的统一替换后的字符并没有特殊的含义,因此本领域技术人员可以用任何第一字符、第二字符、第三字符来对有效载荷中的中文字符、数字和超链接进行替换。在一些实施方式中,还可以将大写的字符全部替换为小写字符。
进一步的,在一些实施方式中,由于各个网站对URL数据的编码不同,转码时需要同一将URL数据转换为UTF-8格式,可以理解的,这里也可以转换成本领域技术人员能够想到的其他格式。对于URL中无意义的特殊字符,例如,仅起到连接作用的“?”,仅起到间隔不同参数作用的“&”等提出,从而使得样本更易读取。
在完成了转码步骤S1401后,需要对样本进行分词步骤S1402,具体而言,对样本数据进行分词处理的时候,为了能够提高检测效率,根据XSS攻击数据中通常包含的一些可执行的HTML标签的内容、属性、相互关系和DOM方法等,对样本进行相同逻辑的分词,下表中给出了一种示例性的分词规则。
Figure BDA0002595463420000071
进一步的,根据上述分词后的样本,来构建攻击词汇表,攻击词汇表中包括了攻击样本中出现频率超过阈值的词汇,具体而言,在一些实施方式中,可以将所有攻击样本分词后来进行词频的统计,选取词频超过一定阈值的或者词频最高的前N个词来进行构建,在一些实施方式中,选取了出现频率最高的4000个词构建了攻击词汇表。
为了能够更方便的进行词向量的提取,需要对照攻击词汇表,将样本数据生成为统一长度的数据集,可以理解的,这里的统一长度可以是任何合适的长度,在此不作具体的限定,仅以数据集长度为128的实施方式来说明生成统一长度数据集的具体方法。
首先,将分词后的样本数据与攻击词汇表进行比对,如果该词汇不在攻击词汇表中,标记为未识别,使用“UNID”来代替,可以理解的,这里可以采用任何其它形式的第四字符来进行代替。如果该词汇在攻击词汇表中有对应的词汇,则保留该词汇。这样将每个样本数据转换为数据集后,如果数据集长度超过了128,则删除其中的部分“UNID”,也就是第四字符,如果数据集长度不足128,则添加部分“UNID”,使得该数据即最终长度为128。对每个样品的数据集进行上述处理后,即可得到统一长度的数据集,接下来需要进行词向量的提取过程。
在一些实施过程中,词向量的提取包括:首先使用one-hot编码方法来对数据进行编码,比如一条数据有128个词,其中每一个词的One-hot表示方式为:当前词用1表示,其余用0表示。也就是说128个词,那么词向量的维度就是128,而且词向量形式如[0,0,......,1,0,0,......],其中第i个词为1,其余为0。使用这种方式将字符文本转化为数字化的向量后,存在一个显著的问题,向量不能不表述词与词之间的顺序,得到的向量特征是离散稀疏的,同时数据的维度过大不利于最终的计算。
因此,为解决One-Hot向量词汇鸿沟和维度灾难的问题,第二步使用Word2Vec的skip-gram模型将One-Hot向量转化为低维度的连续值(稠密向量),并且将其中意思相近的词将映射到向量空间中相近的位置。skip-gram模型分为:输入层、隐藏层、输出层。输入层输入one-hot词的词向量,隐藏层把输入层的词向量直接传递到输出层,输出层是一个softmax回归分类器,它的每个结点将会输出一个0-1之间的值(概率),这些所有输出层神经元结点的概率之和为1。从而这样的步骤可以提取出样本数据集的词向量,其中每一个词向量维度为128,长度为128,可以表示为(128,128)。
步骤S106中,将词向量注入神经网络模型,以对该神经网络模型进行训练。
根据本发明实施例的神经网络模型包括:
至少一个卷积层,提升所述词向量的数据维度;
至少一个门控循环单元,提取所述词向量中基于时序的特征向量;
平化层,降低所述词向量的数据维度;
全连接层,接收所述平化层的数据并分类判断;
输出层,输出对每个所述样本的检测结果和所述神经网络模型的评价指标。
门控循环单元(GRU网络)是一种循环神经网络的变种,图4示出了一种门控循环单元的结构示意图,其继承并优化了循环神经网络的有效提取序列特征,同时解决了RNN无法提取时序特征的问题,并且拥有较快的训练速度。
进一步的,门控循环单元的作用包括将卷积层输出的词向量中基于时序的特征向量提取出来,同时也起到了压缩数据和参数数量的作用。
尽管门控循环单元能够压缩数据和参数数量,但是其输出仍然是多维数据,因此,在将门控循环单元输出的数据输入全连接层之前,设置了平化层(Flatten),来将多维的数据降维成一维数据,然后输入全连接层进行分类判断,并有输出层输出样本的检测结果和神经网络模型的评价指标。
在一些实施方式中,为了避免学习能力过强而出现过拟合,需要引入随机失活层(Dropout),其能够随机删除神经网络中的部分神经元。优选地,随机失活层设置在平化层和全连接层之间,然而可以理解的,随机失活层可以设置不止一个,其设置的位置也并没有限制,再次不再赘述。
进一步的,图3示出了一个具体的实施例中的神经网络模型结构示意图。
在具体的实施例中,以数据维度和长度为(128,128)的词向量为例来进行示例性的说明。
首先,将word2vec向量化后的词向量自输入层输入,然后进入卷积层,在卷积层中,可以使用3*3的卷积核来对词向量进行步长为1的卷积操作,从而将数据维度提升到512,从而卷积层的输出为(128,512)的矩阵向量。
进一步的,神经网络模型包括了第一门控循环单元、第二门控循环单元和第三门控循环单元,三个门控循环单元构成隐藏层,其中,上述三个门控循环单元分别具有不同的单元数,从而输出不同维度的数据,示例性的实施方式中,第一门控循环单元可以设置256个单元数,第二门控循环单元可以设置128个单元数,第三门控循环单元可以设置64个单元数,从而最终输出64维度的数据。
进一步,将数据输入随机失活层进行随机失活并输入平化层进行降维后,进入全连接层进行判断,并由输出层输出。
在全连接层中,使用softmax进行分类判别,输出为二维(XSS,No-XSS),可以理解的,本领域技术人员也可以选用其他合适的分类判别方法来对输入到全连接层的数据进行分类判别。
进一步的,输出层输出的内容还包括模型的评价指标,当评价指标高于阈值的时候,即可停止训练,并最终获得攻击检测模型。
在一些实施方式中,评价指标包括精确率和召回率,具体而言,
精确率定义为:
Figure BDA0002595463420000101
召回率定义为:
Figure BDA0002595463420000102
其中,TP表示:将攻击样本认定为具有攻击性;
FN表示:将攻击样本认定为不具有攻击性;
FP表示:将正常样本认定为具有攻击性;
FN表示:将正常样本认定为不具有攻击性。
也就是说,精确率是指:所有被认定为具有攻击性的样本中攻击样本所占的比例,召回率是指:所有检测结果是正确的样本中攻击样本所占的比例。
进一步的,在判断是否停止训练并获得攻击检测模型时,具体包括如下步骤。
在对模型进行训练的时候,设定损失函数,损失函数接近阈值时,意味着要中止训练并进行判断。在一些实施方式中,损失函数可以通过二分类交叉熵的方式进行定义,具体而言,如下式:
Figure BDA0002595463420000111
其中,N表示样本的数量,yi表示样本i的lable,其中,攻击样本的lable为1,正常样本的lable为0。而pi代表样本i被认定正确的概率。
当上述损失函数迭代变换|Li-Li+1|<ε,即损失函数无线接近于阈值零的时候,中止深度学习模型的训练,此时,输出层将会输出目前本模型的一个或者多个评价指标,当一个或者多个评价指标全部高于阈值的时候,即可完成训练,生成攻击检测模型。当一个或者多个评价指标中的一个或多个没有达到阈值的时候,则需要修改部分参数,继续进行训练,重复上述过程,直到模型的评价指标高于阈值。
在一些实施方式中,尽管生成的攻击检测模型已经达到了评价指标,但是仍需要对其进行测试,在一些实施方式中,将上述样本进行随机分类,分为第一子集和第二子集,将第一子集中的样本用于对神经网络模型进行训练,第二子集中的样本用于对攻击检测模型进行测试,具体而言该分类可以通过10折交叉验证法来划分,优选的,该分类在完成了全部样本的词向量提取之后进行,从而第二子集中的样本可以无需预处理直接用来测试,并且攻击词汇表中也包含了第二子集中的样本的词汇,然而可以理解的,对第一子集和第二子集的划分也可以放在将词向量注入神经网络模型之前的任何一个步骤。
下面结合一个具体的实施例来对上述实施例中的方法进行进一步的说明。
具体的实施例中,如图1至图3,针对XSS攻击方法建立攻击检测模型,首先采集样本数据并进行数据的预处理,其中数据集的长度设置为128,提取词向量后注入神经网络训练模型,设定初始参数,其中:迭代次数设置为30,batch-size设置为100,激活函数设置为relu,dropout=0.3。在训练的过程中,基于输出层输出的评价指标对上述参数进行不断的调整,对模型进行不断的迭代优化,知道训练处精确率>95%,召回率大于95%的攻击检测模型。
在具体的实施例中,神经网络训练模型包括:输入层,卷积层,隐藏层,Dropout层,Flatten层,全连接层和输出层,其中隐藏层包括三个GRU网络。
发明人对该具体实施例获得的模型进行了测试,并选择了现有技术中两种较为成熟的XSS攻击检测工具:BurpSuitePro1.7.37、Acunetix Web Vulnerability Scanner11.0作为对比,同时随机抽取发明原始数据集中的1000条正常数据和1000条XSS攻击数据作为实验样本,进行实验测试,对XSS攻击检测结果汇总如下:
Figure BDA0002595463420000121
由检测结果中可以看出,根据本发明实施例的攻击检测模型构建方法所构建的攻击检测模型,相比传统的BurpSuite、AWVS检测准确率、召回率更高,说明检测出来的XSS攻击更多,而且对攻击的误报数更少;在检测时间上本方法比BurpSuite缩短了一倍多,比AWVS检测时间也少了600多秒,时间消耗明显降低。综上所述,本发明方法相较于传统的XSS攻击检测方法,在准确率、召回率有较大的优势,检测速度也有很大提升。
根据本发明实施例的另一个方面,提供一种注入攻击检测模型构建装置,参照图5,包括:
收集模块10:收集多个样本,包括多个正常样本和多个攻击样本;
向量提取模块20:对每个所述样本进行转码和分词后与攻击词汇表进行比对,并生成统一长度数据集,提取每个所述样本的词向量,其中所述攻击词汇表包括所有所述攻击样本中出现频率高于阈值的多个词汇;
训练模块30:利用所述词向量对神经网络模型进行训练,其中,所述神经网络模型包括:至少一个卷积层,提升所述词向量的数据维度;至少一个门控循环单元,提取所述词向量中基于时序的特征向量;平化层,降低所述词向量的数据维度;全连接层,接收所述平化层的数据并分类判断;输出层,输出对每个所述样本的检测结果和所述神经网络模型的评价指标;
输出模块40:当所述神经网络模型的评价指标高于阈值时,停止训练并输出攻击检测模型。
在一些实施方式中,收集模块10将所述多个样本随机划分为第一子集和第二子集,所述装置还包括:
测试模块50:对所述攻击检测模型进行测试,其中,所述第一子集中的所述样本用于训练所述神经网络模型并获得所述攻击检测模型;所述第二子集中的所述样本用于测试所述攻击检测模型。第一子集和第二子集的划分参见上述内容,在此不再赘述。
在一些实施方式中,向量提取模块20包括第一转码单元21和/或第二转码单元22,其中所述第一转码单元21用于截取有效载荷并对所述有效载荷进行词汇替换,其中,将中文字符替换为第一字符;将数字替换为第二字符;将超链接替换为第三字符;所述第二转码单元22用于将统一资源定位符(URL)替换为统一格式,并剔除无意义字符。
具体的实现方式参照上述内容,在此不再赘述。
在一些实施方式中,对每个所述样本进行转码和分词后与攻击词汇表进行比对,生成统一长度数据集包括:预先设定所述数据集的长度;将所述样本分词后与所述攻击词汇表进行比对,将每个比对不成功的词汇替换为一个第四字符;增加或删除所述第四字符,使所述样本的数据集符合所述预先设定的所述数据集的长度。具体的实现方法参照上述内容,在此不再赘述。
在一些实施方式中,神经网络模型的具体结构、训练的停止方法参照上述内容,在此不再赘述。
需要注意的是,根据本发明实施例的攻击检测模型构建装置可以运行在云端的服务器中,也可以运行在智能终端中,在此不作具体的限定。
根据本发明的实施例还提供一种注入攻击检测方法,参照图6,包括:
步骤S100:获取如上任一所述的注入攻击检测模型构建的攻击检测模型;
步骤S200:使用所述攻击检测模型进行注入攻击检测。
需要注意的是,其中所述的获取攻击检测模型的步骤,可以是通过任何形式进行的获取,例如:获取到云端数据库提供的攻击检测模型,获取到本地储存数据中储存的攻击检测模型,获取到由其他装置输出的攻击检测模型,甚至可以是直接使用上述攻击检测模型构建方法来构建并获得攻击检测模型,以及本领域技术人员能够理解的其他任何方式,在此不做具体的限定。
根据本发明的实施例还提供一种注入攻击检测装置,参照图7,包括:
获取模块100:获取如上任一所述的注入攻击检测模型构建的攻击检测模型;
检测模块200:使用所述攻击检测模型进行注入攻击检测。
可以理解的,这里的获取模块也设置成可以以任何合适的方式获取到攻击检测模型,图8示例性的给出了一些根据本发明实施例的攻击检测装置的应用场景。
攻击检测装置可以安装在例如:手机、电脑、平板等智能终端设备中,也可以安装在大型的数据库、服务器设备等,进一步的,攻击模型获取的途径可以包括云端数据库、本地储存等等。
进一步的,攻击检测装置所在的终端可以同时安装有攻击检测模型构建装置,甚至攻击监测装置和攻击检测模型构建装置可以设置在同一个装置中(未示出)。
根据本发明的实施例还提供一种计算设备,参照图9,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据如上任一所述的注入攻击检测模型构建方法或者注入攻击检测方法。
根据本发明的实施例还提供一种计算机可读存储介质,参照图10,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据如上任一所述的注入攻击检测模型构建方法或者注入攻击检测方法。
本领域技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。
其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (18)

1.一种注入攻击的检测模型构建方法,包括:
收集多个样本,包括多个正常样本和多个攻击样本;
对每个所述样本进行转码和分词后与攻击词汇表进行比对,生成统一长度数据集,并提取词向量,其中所述攻击词汇表包括所有所述攻击样本中出现频率高于阈值的多个词汇;
利用多个所述词向量对神经网络模型进行训练,其中,所述神经网络模型包括:
至少一个卷积层,提升所述词向量的数据维度;
至少一个门控循环单元,提取所述词向量中基于时序的特征向量;
平化层,降低所述特征向量的数据维度;
全连接层,接收所述平化层的数据并分类判断;
输出层,输出对每个所述样本的检测结果和所述神经网络模型的评价指标;
当所述神经网络模型的评价指标高于阈值时,停止训练并获得攻击检测模型。
2.根据权利要求1或2所述的方法,还包括:
将所述多个样本随机划分为第一子集和第二子集,以及
对所述攻击检测模型进行测试,其中,
所述第一子集中的所述样本用于训练所述神经网络模型并获得所述攻击检测模型;所述第二子集中的所述样本用于测试所述攻击检测模型。
3.根据权利要求1或2所述的方法,其中,所述转码包括:
截取有效载荷并对所述有效载荷进行词汇替换和/或将统一资源定位符(URL)替换为统一格式,并剔除无意义字符,其中,对所述有效载荷进行词汇替换包括:
将中文字符替换为第一字符;
将数字替换为第二字符;
将超链接替换为第三字符。
4.根据权利要求1或2所述的方法,其中,所述对每个所述样本进行转码和分词后与攻击词汇表进行比对,生成统一长度数据集包括:
预先设定所述数据集的长度;
将所述样本分词后与所述攻击词汇表进行比对,将每个比对不成功的词汇替换为一个第四字符;
增加或删除所述第四字符,使所述样本的数据集符合所述预先设定的所述数据集的长度。
5.根据权利要求1或2所述的方法,其中,所述神经网络模型还包括:
至少一个随机失活层,降低所述神经网络模型中各节点的依赖性;
优选地,所述随机失活层设置在所述平化层的输入端。
6.根据权利要求1或2所述的方法,其中,所述至少一个门控循环单元包括:
第一门控循环单元、第二门控循环单元和第三门控循环单元,其中,
所述第一门控循环单元、第二门控循环单元和第三门控循环单元分别拥有不同的单元数,用于输出不同维度的所述特征向量。
7.根据权利要求1或2所述的方法,其中,所述当所述神经网络模型的评价指标高于阈值时,停止训练并获得攻击检测模型包括:
定义损失函数;
当所述损失函数接近阈值时,中止训练并判断所述评价指标是否高于阈值,
当所述评价指标低于阈值时,调整所述损失函数,继续训练并重复所述判断,直到所述评价指标高于阈值,获得所述攻击检测模型。
8.一种注入攻击的检测模型构建装置,包括:
收集模块,用于收集多个样本,包括多个正常样本和多个攻击样本;
向量提取模块,用于对每个所述样本进行转码和分词后与攻击词汇表进行比对,并生成统一长度数据集,提取每个所述样本的词向量,其中所述攻击词汇表包括所有所述攻击样本中出现频率高于阈值的多个词汇;
训练模块,用于利用所述词向量对神经网络模型进行训练,其中,所述神经网络模型包括:至少一个卷积层,提升所述词向量的数据维度;至少一个门控循环单元,提取所述词向量中基于时序的特征向量;平化层,降低所述特征向量的数据维度;全连接层,接收所述平化层的数据并分类判断;输出层,输出对每个所述样本的检测结果和所述神经网络模型的评价指标;
输出模块,用于当所述神经网络模型的评价指标高于阈值时,停止训练并输出攻击检测模型。
9.根据权利要求8所述的装置,其中,所述收集模块还用于将所述多个样本随机划分为第一子集和第二子集,所述装置还包括:
测试模块,用于对所述攻击检测模型进行测试,其中,
所述第一子集中的所述样本用于训练所述神经网络模型并获得所述攻击检测模型;所述第二子集中的所述样本用于测试所述攻击检测模型。
10.根据权利要求8或9所述的装置,其中,所述向量提取模块包括第一转码单元和/或第二转码单元,其中
所述第一转码单元用于截取有效载荷并对所述有效载荷进行词汇替换,其中,
将中文字符替换为第一字符;
将数字替换为第二字符;
将超链接替换为第三字符;
所述第二转码单元用于将统一资源定位符(URL)替换为统一格式,并剔除无意义字符。
11.根据权利要求8或9所述的装置,其中,所述向量提取模块对每个所述样本进行转码和分词后与攻击词汇表进行比对,生成统一长度数据集具体包括:
预先设定所述数据集的长度;
将所述样本分词后与所述攻击词汇表进行比对,将每个比对不成功的词汇替换为一个第四字符;
增加或删除所述第四字符,使所述样本的数据集符合所述预先设定的所述数据集的长度。
12.根据权利要求8或9所述的装置,其中,所述神经网络模型还包括:
至少一个随机失活层,降低所述神经网络模型中各节点的依赖性。
优选地,
所述随机失活层设置在所述平化层的输入端。
13.根据权利要求8或9所述的装置,其中,所述至少一个门控循环单元包括:
第一门控循环单元、第二门控循环单元和第三门控循环单元,其中所述第一门控循环单元、第二门控循环单元和第三门控循环单元分别拥有不同的单元数,用于输出不同维度的特征向量。
14.根据权利要求8或9所述的装置,其中,所述输出模块具体用于:
定义损失函数;
当所述损失函数接近阈值时,中止训练并判断所述评价指标是否高于阈值,
当所述评价指标低于阈值时,调整所述损失函数,继续训练并重复所述判断,直到所述评价指标阈值,获得所述攻击检测模型。
15.一种注入攻击的检测方法,包括:
获取如权利要求1-7中任意一项所述的攻击检测模型构建方法构建的攻击检测模型;
使用所述攻击检测模型检测注入攻击。
16.一种注入攻击的检测装置,包括:
获取模块,用于获取如权利要求1-7中任意一项所述的攻击检测模型构建方法构建的攻击检测模型;
检测模块,用于使用所述攻击检测模型检测注入攻击。
17.一种计算设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~7中任一项所述的方法或者根据权利要求15所述的方法。
18.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~7中任一项所述的方法或者根据权利要求15所述的方法。
CN202010708096.2A 2020-07-22 2020-07-22 注入攻击检测模型构建方法和装置 Pending CN111818080A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010708096.2A CN111818080A (zh) 2020-07-22 2020-07-22 注入攻击检测模型构建方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010708096.2A CN111818080A (zh) 2020-07-22 2020-07-22 注入攻击检测模型构建方法和装置

Publications (1)

Publication Number Publication Date
CN111818080A true CN111818080A (zh) 2020-10-23

Family

ID=72861617

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010708096.2A Pending CN111818080A (zh) 2020-07-22 2020-07-22 注入攻击检测模型构建方法和装置

Country Status (1)

Country Link
CN (1) CN111818080A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112311809A (zh) * 2020-11-13 2021-02-02 新华三技术有限公司 一种攻击检测方法及装置
CN112597610A (zh) * 2020-12-28 2021-04-02 深圳市优必选科技股份有限公司 机械臂结构轻量化设计的优化方法、装置及设备
CN112839059A (zh) * 2021-02-22 2021-05-25 北京六方云信息技术有限公司 Web入侵检测处理方法、装置及电子设备
CN113312891A (zh) * 2021-04-22 2021-08-27 北京墨云科技有限公司 一种基于生成模型的payload自动生成方法、装置、系统
CN116155628A (zh) * 2023-04-20 2023-05-23 中国工商银行股份有限公司 网络安全检测方法、训练方法、装置、电子设备和介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180115568A1 (en) * 2016-10-21 2018-04-26 Neusoft Corporation Method and device for detecting network intrusion
CN108282262A (zh) * 2018-04-16 2018-07-13 西安电子科技大学 基于门控循环单元深度网络的智能时序信号分类方法
CN109388943A (zh) * 2018-09-29 2019-02-26 杭州时趣信息技术有限公司 一种识别xss攻击的方法、装置和计算机可读存储介质
CN109413028A (zh) * 2018-08-29 2019-03-01 集美大学 基于卷积神经网络算法的sql注入检测方法
CN109766410A (zh) * 2019-01-07 2019-05-17 东华大学 一种基于fastText算法的新闻文本自动分类系统
CN109981631A (zh) * 2019-03-20 2019-07-05 国家计算机网络与信息安全管理中心 一种基于深度学习的xss攻击检测方法
CN110048827A (zh) * 2019-04-15 2019-07-23 电子科技大学 一种基于深度学习卷积神经网络的类模板攻击方法
CN110266675A (zh) * 2019-06-12 2019-09-20 成都积微物联集团股份有限公司 一种基于深度学习的xss攻击自动化检测方法
CN110414219A (zh) * 2019-07-24 2019-11-05 长沙市智为信息技术有限公司 基于门控循环单元与注意力机制的注入攻击检测方法
CN111209365A (zh) * 2019-09-29 2020-05-29 江苏苏宁银行股份有限公司 企业名称智能分类的方法及系统

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180115568A1 (en) * 2016-10-21 2018-04-26 Neusoft Corporation Method and device for detecting network intrusion
CN108282262A (zh) * 2018-04-16 2018-07-13 西安电子科技大学 基于门控循环单元深度网络的智能时序信号分类方法
CN109413028A (zh) * 2018-08-29 2019-03-01 集美大学 基于卷积神经网络算法的sql注入检测方法
CN109388943A (zh) * 2018-09-29 2019-02-26 杭州时趣信息技术有限公司 一种识别xss攻击的方法、装置和计算机可读存储介质
CN109766410A (zh) * 2019-01-07 2019-05-17 东华大学 一种基于fastText算法的新闻文本自动分类系统
CN109981631A (zh) * 2019-03-20 2019-07-05 国家计算机网络与信息安全管理中心 一种基于深度学习的xss攻击检测方法
CN110048827A (zh) * 2019-04-15 2019-07-23 电子科技大学 一种基于深度学习卷积神经网络的类模板攻击方法
CN110266675A (zh) * 2019-06-12 2019-09-20 成都积微物联集团股份有限公司 一种基于深度学习的xss攻击自动化检测方法
CN110414219A (zh) * 2019-07-24 2019-11-05 长沙市智为信息技术有限公司 基于门控循环单元与注意力机制的注入攻击检测方法
CN111209365A (zh) * 2019-09-29 2020-05-29 江苏苏宁银行股份有限公司 企业名称智能分类的方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王雪娇: "《基于深度学习的文本情感分析》", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 *
陈海文,王守相,王绍敏,王丹: "《基于门控循环单元网络与模型融合的负荷聚合体预测方法》", 《电力系统自动化》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112311809A (zh) * 2020-11-13 2021-02-02 新华三技术有限公司 一种攻击检测方法及装置
CN112597610A (zh) * 2020-12-28 2021-04-02 深圳市优必选科技股份有限公司 机械臂结构轻量化设计的优化方法、装置及设备
CN112597610B (zh) * 2020-12-28 2024-02-13 优必康(青岛)科技有限公司 机械臂结构轻量化设计的优化方法、装置及设备
CN112839059A (zh) * 2021-02-22 2021-05-25 北京六方云信息技术有限公司 Web入侵检测处理方法、装置及电子设备
CN113312891A (zh) * 2021-04-22 2021-08-27 北京墨云科技有限公司 一种基于生成模型的payload自动生成方法、装置、系统
CN116155628A (zh) * 2023-04-20 2023-05-23 中国工商银行股份有限公司 网络安全检测方法、训练方法、装置、电子设备和介质
CN116155628B (zh) * 2023-04-20 2023-07-18 中国工商银行股份有限公司 网络安全检测方法、训练方法、装置、电子设备和介质

Similar Documents

Publication Publication Date Title
CN111818080A (zh) 注入攻击检测模型构建方法和装置
Mahdavifar et al. Application of deep learning to cybersecurity: A survey
CN109413028B (zh) 基于卷积神经网络算法的sql注入检测方法
CN109547423B (zh) 一种基于机器学习的web恶意请求深度检测系统及方法
CN109005145B (zh) 一种基于自动特征抽取的恶意url检测系统及其方法
CN110351301B (zh) 一种http请求双层递进式异常检测方法
CN111967063B (zh) 一种基于多维度分析的数据篡改监测和识别方法、装置、电子设备及其存储介质
CN108737423B (zh) 基于网页关键内容相似性分析的钓鱼网站发现方法及系统
CN111371806A (zh) 一种Web攻击检测方法及装置
CN112671703B (zh) 基于改进fastText的跨站脚本攻击检测方法
Kuppa et al. ConvXSS: A deep learning-based smart ICT framework against code injection attacks for HTML5 web applications in sustainable smart city infrastructure
Assefa et al. Intelligent phishing website detection using deep learning
CN114817808A (zh) 非法网站识别方法、装置、电子装置和存储介质
CN113965377A (zh) 一种攻击行为检测方法及装置
CN112883373A (zh) 一种PHP类型的WebShell检测方法及其检测系统
CN113918936A (zh) Sql注入攻击检测的方法以及装置
CN109992778B (zh) 基于机器学习的简历文档判别方法及装置
CN116488915A (zh) 基于深度学习的Web攻击检测与分类识别方法及装置
CN109992666A (zh) 用于处理特征库的方法、装置和非暂时性机器可读介质
CN113657443B (zh) 一种基于soinn网络的在线物联网设备识别方法
CN112163217B (zh) 恶意软件变种识别方法、装置、设备及计算机存储介质
CN115314268A (zh) 基于流量指纹和行为的恶意加密流量检测方法和系统
HUANG et al. Cyberbullying detection on social media
Khorashadizadeh et al. Provide an Improved Model for Detecting Persian SMS Spam by Integrating Deep Learning and Machine Learning Models
US20240062569A1 (en) Optical character recognition filtering

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20201023

RJ01 Rejection of invention patent application after publication