CN110933105A - 一种Web攻击检测方法、系统、介质和设备 - Google Patents

一种Web攻击检测方法、系统、介质和设备 Download PDF

Info

Publication number
CN110933105A
CN110933105A CN201911288437.9A CN201911288437A CN110933105A CN 110933105 A CN110933105 A CN 110933105A CN 201911288437 A CN201911288437 A CN 201911288437A CN 110933105 A CN110933105 A CN 110933105A
Authority
CN
China
Prior art keywords
sample
character
loss
http
calculating
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.)
Granted
Application number
CN201911288437.9A
Other languages
English (en)
Other versions
CN110933105B (zh
Inventor
范敏
李含锐
胥小波
魏涌涛
敖佳
康英来
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Electronic Technology Cyber Security Co Ltd
Original Assignee
China Electronic Technology Cyber Security 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 China Electronic Technology Cyber Security Co Ltd filed Critical China Electronic Technology Cyber Security Co Ltd
Priority to CN201911288437.9A priority Critical patent/CN110933105B/zh
Publication of CN110933105A publication Critical patent/CN110933105A/zh
Application granted granted Critical
Publication of CN110933105B publication Critical patent/CN110933105B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • 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/084Backpropagation, e.g. using gradient descent
    • 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/1433Vulnerability analysis
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及Web攻击检测领域,涉及一种Web攻击检测方法、系统、介质和设备。本申请包括基于第一正样本构建重构误差模型;根据第二正样本所有字符,计算第二正样本集对应的误差矩阵,计算阈值T;根据所述重构误差模型,计算输出测试样本集中每个字符的对应概率Pnj;通过Sparsemax函数,得到所述概率Pnj对应的稀疏化概率值H(Pnj);根据稀疏化概率值,对应得到测试样本集中的第x个HTTP样本字符串样本损失Lossxj;当Lossxj>T,则测试样本集中的第x个HTTP样本字符串异常。本申请基于先检测后识别的思路,利用无监督学习的方式对异常请求及异常字符进行检测发现;然后,对检测出的可疑字符利用正则分类匹配的方式进行攻击类型的识别。

Description

一种Web攻击检测方法、系统、介质和设备
技术领域
本申请涉及Web攻击检测领域,具体而言,涉及一种Web攻击检测方法、系统、介质和设备。
背景技术
随着互联网技术的普及,目前很多业务系统都已接入到互联网中,尤其以Web形式的业务系统居多,极大地方便了人们的生活和工作需要。例如:政府门户网站、电子商务网站、网上银行等等。
由于众多企业和组织将业务系统以Web形式接入互联网中,而其系统中又存在有价值的、敏感的信息。很多恶意攻击者利用HTTP协议缺乏安全机制和Web应用程序编写过程中存在的漏洞,对Web应用进行攻击,从中获利或达成其不可告人的目的。常见的Web攻击有:SQL注入攻击、XSS攻击、代码注入攻击、Zero-day漏洞攻击等。
针对上述的Web攻击,传统的防御方法有两种。第一种是知识驱动,即利用WAF(WebApplication Firewall,Web应用程序防火墙)的模式匹配和黑名单技术进行检测和过滤,这类方法简单快速,其通过查询规则和数据知识库进行检测,但是对于未知的Zero-day攻击很难防御。因此,尽管这些规则通常是有效的,但它们通常很难发现不可见的攻击。此外,规则的制定和维护高度依赖于人工的专业知识和经验。第二种是数据驱动,即利用机器学习的方式来建立分类模型。这类方法首先需要大量的标签,其次需要人工经验知识构建特征工程,比如HTTP请求的长度,某个特殊字符的个数,信息熵等等。也有不基于人工知识的特征,例如基于数据集计算TF-IDF作为数值特征,但这种方法无法有效的捕捉语义信息和序列模式,而且由于要基于大量数据计算TF-IDF,因此不便于上线使用。尽管如此,数据驱动方法在检测未知攻击时通常具有更好的泛化能力,而且可以更友好地快速部署和更新。因此,目前WAF检测的趋势在向机器学习靠近,主流WAF主要利用监督学习算法,准确率较高,但算法漏报也较高,模型结果的可解释性差,同时要求的训练样本标记也很困难。因此基于监督学习的WAF很难达到完美的效果。
尽管监督学习的方法能够在Web攻击检测中提供优越的性能,但其在实际应用中仍不实用,原因如下。
第一、获取标签问题。真实Web网络攻击数据中有标签的数据不容易获取,基于监督学习的方法局限性很大。
第二、监督学习存在分布漂移问题。当人工标注的Web训练数据样本和真实世界的数据分布不一致的时候,监督模型的效果会下降。例如,不同企业的Web服务器的访问和攻击数据往往是不一样的。
第三、偏见问题。Web攻击通常是隐藏在背景字符串中的短文本有效载荷,这些背景字符串的字段很多。监督学习的方法通常是针对某个字段进行训练得到模型,而Web攻击可能不存在于这个字段。
第四、可解释性问题。URL请求通常很长,有时可能长达几千个字符,然而攻击载荷也许只有几个字符。监督模型能给出判别结果,但无法告知安全分析人员哪些字符存在可疑,也严重阻碍了实际应用。
发明内容
本申请提供一种Web攻击检测方法、系统、介质和设备,以解决现有技术中需要标签样本以及难以具备可解释性的问题。本申请基于先检测后识别的思路,利用无监督学习的方式对异常请求及异常字符进行检测发现;然后,对检测出的可疑字符利用正则分类匹配的方式进行攻击类型的识别。
本申请的实施例通过如下方式实现:
一种Web攻击检测方法包括:基于第一正样本构建重构误差模型;根据第二正样本所有字符,计算第二正样本集对应的误差矩阵,计算阈值T;根据所述重构误差模型,计算输出测试样本集中每个字符的对应概率Pnj;其中,测试样本集包括n个HTTP样本字符串,每个HTTP样本字符串包括j个字符,n,j是大于0的正整数;通过Sparsemax函数,得到所述概率Pxj对应的稀疏化概率值H(Pxj);根据稀疏化概率值H(Pxj),对应得到测试样本集中的第x个HTTP样本字符串样本损失Lossxy;当Lossxy>T,则测试样本集中的第x个HTTP样本字符串异常。有益效果:经过人工经验分析,动态设定阈值的浮动,防止字符串异常的漏报和误报。
优选的,随机初始化一个Embedding层矩阵;根据所述Embedding层矩阵得到第一正样本每个字符的每一维数值特征,经过Embedding矩阵查找第一正样本每个字符对应的Embedding向量;按照Many-to-Many序列建模,按照时间顺序将对应的Embedding特征向量送入编码器进行编码,得到第一正样本中每个字符的字符编码状态向量C;将所述字符编码状态向量C和下一个时刻第一正样本输入字符的字符编码状态向量,送入解码器得到当前时刻第一正样本中每个字符的输出层向量,计算所有时刻第一正样本中每个字符的输出层向量和输入字符对应的Embedding向量的交叉熵损失;根据所述交叉熵损失,利用时间反向传播算法(BP Though Time)训练构建重构误差模型;其中,Embedding层矩阵的长和宽分别代表了索引字典的长度和Embedding的维度大小。有益效果:该方案中重构误差模型构建过程是无监督学习模型,模型能够检测这段HTTP请求是否异常,并判断异常的字符。
优选的,所述Pnj=P1j+P2j+......+Pxj,Pxj=Px1+Px2+......+Pxy
Figure BDA0002316864630000031
其中,0<=H(Pxy)<=1。
优选的,第x个Lossxj;Lossxj=lossx1+lossx2+......+lossxy,其中Lossxj=|cos(H(Pxj))|;所述T=μ+λ*σ,其中,x∈[1,n],y∈[1,j],μ表示第二正样本字符的矩阵的均值,σ表示第二正样本矩阵的标准差,λ表示标准差系数,同时也是一个超参数。
优选的,所述的方法还包括:当根据Lossxj>T判断第一正样本集合中的第x个HTTP样本字符串异常时,还原第x个HTTP样本字符串异常为原始的可疑字符串;对所有可疑字符串利用正则分类器进行分类标记,进行可疑字符串类型匹配判断。有益效果:利用正则分类匹配的方式对每一段可疑区域字符进行攻击类型的识别。最后,送入人工校验模块,由人工确定是否是攻击行为,如果不是攻击行为,就将该样本存入数据库中,定期训练更新模型。
优选的,所述正则分类器区分攻击类型为SQL注入攻击、XSS攻击和代码注入攻击。
优选的,所述可疑字符串的类型匹配判断分为以下几种情况:
第一种情况,匹配结果唯一,此时将可疑字符直接标记为匹配的类型;
第二种情况,匹配结果不唯一,此时随机选择一种匹配结果进行标记,同时将该分类结果存入到数据库,通过后期人工分析判断分类结果,从而不断调优正则分类器。
一种Web攻击检测系统包括:重构误差模型及阈值计算模块,基于第一正样本构建重构误差模型;根据第二正样本所有字符,计算第二正样本集对应的误差矩阵,计算阈值T;测算样本概率计算模块,用于根据所述重构误差模型,计算输出测试样本集中每个字符的对应概率Pnj;其中,测试样本集包括n个HTTP样本字符串,每个HTTP样本字符串包括j个字符,n,j是大于0的正整数;字符串损失计算模块,用于通过Sparsemax函数,得到所述概率Pxj对应的稀疏化概率值H(Pxj);根据稀疏化概率值H(Pxj),对应得到测试样本集中的第x个HTTP样本字符串样本损失Lossxj;字符串异常判断模块,用于当Lossxj>T,则判断测试样本集中的第x个HTTP样本字符串异常。
一种计算机可读存储介质所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的方法的步骤。
一种Web攻击检测设备包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上述任一项所述的方法的步骤。
有益效果:1.在云防WAF应用中,利用基于GRU神经元的欠完备自动编码器模型与正则分类匹配引擎相级联的方式,对异常的HTTP请求进行检测和识别;
2.在GRU神经元的欠完备自动编码器框架基础上,结合Sparsemax函数发现隐藏在HTTP请求中的异常内容。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的系统原理图;
图2为本申请实施例提供的模型构建图;
图3为本申请实施例提供的异常示意图;
图4为本申请实施例提供的函数对比图;
图5为本申请实施例提供的稀疏表达示意图;
图6为本申请实施例提供的递归解码模块流程图;
图7是本申请实施例提供的正则分类流程图;
图8是本申请实施例提供的训练过程示意图;
图9是本申请实施例提供的测试样本集测试示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行描述。
设计方法:请参照图1,由系统原理图可知,本申请关键的模块有两个:无监督学习模型(即重构误差模型)、正则分类器。在无监督学习模型中,我们基于欠完备自动编码器(Undercomplete AutoEncoder)的框架,使用多层的GRU单元构建一个Many-to-Many的序列模型。一方面,利用该序列模型能够对输入的访问数据进行重建,得到重构误差,进而基于重构误差来判断该访问请求是否异常;另一方面,用稀疏概率输出函数Sparsemax替换此序列模型中的输出层Softmax函数,得到HTTP请求数据中每一个字符的稀疏输出概率,进而基于此概率判断该字符是否可疑,得到可疑区域。在正则分类器(RWAF,Rules of WAF)中,将安全分析师的知识进行代码化,首先将可疑区域的请求内容进行递归解码(如URL解码、Base64解码、HTML编码等),然后进行正则匹配分类。
其中,重构误差模型数据准备如下:将正常的访问请求数据分为训练集和验证集,将异常访问请求数据和一部分正常数据合并用于构建测试集。整个无监督学习建模过程包括如下四个模块:数据预处理,模型构建,阈值计算,稀疏输出。
具体实施例一:本申请的实施例通过如下方式实现:一种Web攻击检测方法包括:
步骤101:基于第一正样本构建重构误差模型;
步骤201:根据第二正样本所有字符,计算第二正样本集对应的误差矩阵,计算阈值T;
步骤301:根据所述重构误差模型,计算输出测试样本集中每个字符的对应概率Pnj;其中,测试样本集包括n个HTTP样本字符串,每个HTTP样本字符串包括j个字符,n,j是大于0的正整数;
例如:当HTTP样本字符串长度为128时,则j∈[1-128];
步骤401:通过Sparsemax函数,得到所述概率Pxj对应的稀疏化概率值H(Pxj);根据稀疏化概率值H(Pxj),对应得到测试样本集中的第x个HTTP样本字符串样本损失Lossxj
步骤501:当Lossxj>T,则测试样本集中的第x个HTTP样本字符串异常。
当然,在上述基础上,还可以包括步骤601:当Lossxj<=T,则判断测试样本集中的第x个HTTP样本字符串正常。
具体实施例二:在上述基础上,步骤301中重构误差模型构建训练过程是:基于训练集构建端到端的模型,如下图2所示,包含三部分:编码器(Encoder)、解码器(Decoder)、稀疏函数Sparsemax。Encoder和Decoder都由多层的GRU神经网络构成。在训练阶段,借鉴自动编码器的思路,保持输入和输出一致,基于重构误差训练模型。例如,当模型训练完成后,将一条HTTP请求“GET/vulnbank/online/api.php HTTP/1.1”所对应的数值编码[46,44,59,98,80,35,34,25,27,15,14,27,24,80,28,27,25,22,27,18,80,14,29,22,79,29,21,29,98,47,59,59,55,80,5,79,5,3]输入到重构误差模型,重构误差模型会输出测试集对应字符的概率Pnj
步骤3011:随机初始化一个Embedding层矩阵;其中,Embedding层矩阵的长和宽分别代表了索引字典的长度和Embedding的维度大小;这样第一正样本每个字符经过数据预处理之后得到的每一维数值特征,经过Embedding矩阵查找对应的向量,也就得到高维嵌入特征向量(高维嵌入特征向量即Embedding向量)。
步骤3012:根据所述Embedding层矩阵得到第一正样本每个字符的每一维数值特征(例如:第一个字符串是abcdef,第二个字符串是werdcwe,......,第x个字符串fffoew;其中a字符可以表示为128维,a=[0.1,0.2,0.3,...,0.128]),经过Embedding矩阵查找第一正样本每个字符对应的Embedding向量;
步骤3013:按照Many-to-Many序列建模,按照时间顺序将对应的Embedding特征向量送入编码器进行编码,得到第一正样本中每个字符的字符编码状态向量;根据所述字符编码状态向量,n个HTTP样本字符串被编码为对应的n个中间隐藏状态向量。
步骤3014:将上述n个中间层隐藏状态向量和其分别对应的下一个时刻第一正样本输入字符的字符编码状态向量,送入解码器得到当前时刻n个HTTP样本字符串对应的输出层向量,计算所有时刻n个HTTP样本字符串对应的的输出层向量和对应的输入字符对应的Embedding向量的交叉熵损失;根据所述交叉熵损失,利用时间反向传播算法(BP ThoughTime)训练构建重构误差模型;
当然在步骤3011之前,还可以包括数据预处理;
步骤30111::建立正向字符索引字典,将键盘上的字符A-Z,a-z等字符进行索引排序。同时需要对三个特殊字符“<EOS>”,“<GO>”,“<UNK>”建立索引;
步骤30112:基于正向字符索引字典建立反向字符索引字典。正向索引字典用于将字符映射为索引数值,反向索引字典用于将索引数值映射为字符。经过数据预处理之后,一条HTTP请求被编码为了固定长度的数值特征。例如,“GET/vulnbank/online/api.phpHTTP/1.1”被表达为[46,44,59,98,80,35,34,25,27,15,14,27,24,80,28,27,25,22,27,18,80,14,29,22,79,29,21,29,98,47,59,59,55,80,5,79,5,3],其中最后的数字3表示<EOS>的索引表达。
实施例三:根据重构误差模型,对测试样本集计算第x个Pxj,所述Pxj=Px1+Px2+......+Pxy
Figure BDA0002316864630000091
Pnj=P1j+P2j+......+Pxj其中,0<=H(Pxy)<=1。本申请利用Sparsemax函数,而不是Softmax函数,取得HTTP样本字符串中每个字符的归一化输出概率。利用稀疏化的概率输出表达,进而得到可疑区域。因为Softmax函数数学表达为:H(P)=-Σjpj*logpj。两条函数对比曲线,如下图4所示,Sparsemax函数能够得到更加稀疏的表达。其几何示意图如下图5所示:[0.5,0.3,0.2]表示Softmax函数的结果,代表第一个位置的字符输出概率为0.5,后面字符输出概率分别为0.3,0.2。同理,[0.7,0.2,0.1]表示Sparsemax函数的结果,[1,0,0]表示阶跃函数的结果。由上面的示意图可见,Sparsemax相比Softmax函数具有更稀疏的表达,对于可疑字符区域的表达更有效。
实施例四:在上述实施例基础上,根据重构误差模型,对测试样本集计算第x个Lossxj,具体的,
Lossxj=lossx1+lossx2+......+lossxy,其中Lossxj=|cos(H(Pxj))|;所述T=μ+λ*σ,其中,x∈[1,n],y∈[1,j],μ表示第二正样本字符的矩阵的均值,σ表示第二正样本矩阵的标准差,λ表示标准差系数,同时也是超参数系数。
例如:测试样本集包括U个字符,每个字符有V个维度,则行U行,V列的矩阵,例如U=10000,V=8;则测试样本集的矩阵可以是10000行,8列矩阵。
实施例五:在上述实施例基础上,还包括正则分类器进行分类标记,具体过程包括:
步骤701:当根据Lossxj>T判断第一正样本集合中的第x个HTTP样本字符串异常时,还原第x个HTTP样本字符串异常为原始的可疑字符串;
步骤801:对所有可疑字符串利用正则分类器进行分类标记,进行可疑字符串类型匹配判断。
例如:正则分类器模块包含两部分:递归解码模块、分类模块。因为攻击者可能利用各种编码或者嵌套编码(如:URL编码、Base64编码、HTML编码)来绕过检测,所以在进行正则分类前,需要利用递归解码模块将可疑字符串尽可能还原为原始的攻击字符串。例如可疑字符串为:
“%3fid%3d1'%20union%20select%201%2c2%2c3%20--%2b”。
其经过递归解码模块(整个递归解码模块流程图如图6所示)还原后为:
“?id=1'UNION SELECT 1,2,3--+”。
具体实施例六:所述正则分类器区分攻击类型为SQL注入攻击、XSS攻击和代码注入攻击。正则分类器接收到递归解码模块预处理后的字符串后,开始利用正则分类进行分类。目前分类器可以区分SQL注入攻击、XSS攻击和代码注入攻击。将可疑字符串同时送入到三个分类中进行匹配,其整体流程如下图7所示。
具体实施例七:所述可疑字符串的类型匹配判断分为以下几种情况:
第一种情况,匹配结果唯一,此时将可疑字符直接标记为匹配的类型;
第二种情况,匹配结果不唯一,此时随机选择一种匹配结果进行标记,同时将该分类结果存入到数据库,通过后期人工分析判断分类结果,从而不断调优正则分类器。
一种Web攻击检测系统包括:字符概率计算模块,基于第一正样本构建重构误差模型,输出第一正样本集中每个字符的对应概率Pnj;其中,第一样本集包括n个HTTP样本字符串,每个HTTP样本字符串包括j个字符,n,j是大于0的正整数;字符串损失计算模块,用于通过Sparsemax函数,得到所述概率Pxj对应的稀疏化概率值H(Pxj);根据稀疏化概率值H(Pxj),对应得到测试样本集中的第x个HTTP样本字符串样本损失Lossxj;字符串异常判断模块,用于当Lossxj>T,则判断测试样本集中的第x个HTTP样本字符串异常。
上述实施例中,第一正样本集(如图8训练部分中大部分正常训练数据集)、第二正样本集(如图8训练部分中小部分正常训练数据集)以及测试样本集(如图9中测试步骤中,正负样本测试数据集)是正负样本集合。这三个样本集是不同的样本集合。
一种计算机可读存储介质所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的方法的步骤。
一种Web攻击检测设备包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上述任一项所述的方法的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种Web攻击检测方法,其特征在于包括:
基于第一正样本构建重构误差模型;
根据第二正样本所有字符,计算第二正样本集对应的误差矩阵,计算阈值T;
根据所述重构误差模型,计算输出测试样本集中每个字符的对应概率Pnj;其中,测试样本集包括n个HTTP样本字符串,每个HTTP样本字符串包括j个字符,n,j是大于0的正整数;
通过Sparsemax函数,得到所述概率Pnj对应的稀疏化概率值H(Pnj);根据稀疏化概率值H(Pnj),对应得到测试样本集中的第x个HTTP样本字符串样本损失Lossxj
当Lossxj>T,则测试样本集中的第x个HTTP样本字符串异常。
2.如权利要求1所述的方法,其特征在于所述重构误差模型构建过程是:
随机初始化一个Embedding层矩阵;
根据所述Embedding层矩阵得到第一正样本每个字符的每一维数值特征,经过Embedding矩阵查找第一正样本每个字符对应的Embedding向量;
按照Many-to-Many序列建模,按照时间顺序将对应的Embedding特征向量送入编码器进行编码,得到第一正样本中每个字符的字符编码状态向量C;
将所述字符编码状态向量C和下一个时刻第一正样本输入字符的字符编码状态向量,送入解码器得到当前时刻第一正样本中每个字符的输出层向量,计算所有时刻第一正样本中每个字符的输出层向量和输入字符对应的Embedding向量的交叉熵损失;
根据所述交叉熵损失,利用时间反向传播算法(BP Though Time)训练构建重构误差模型;
其中,Embedding层矩阵的长和宽分别代表了索引字典的长度和Embedding的维度大小。
3.如权利要求1或2所述的方法,其特征在于所述Pnj=P1j+P2j+......+Pxj,Pxj=Px1+Px2+......+Pxy
Figure FDA0002316864620000021
其中,0<=H(Pxy)<=1。
4.如权利要求3所述的方法,其特征在于第x个Lossxj;Lossxj=lossx1+lossx2+......+lossxy,其中Lossxj=|cos(H(Pxj))|;所述T=μ+λ*σ,其中,x∈[1,n],y∈[1,j],μ表示第二正样本字符的矩阵的均值,σ表示第二正样本矩阵的标准差;λ表示标准差系数,同时也是一个超参数。
5.如权利要求1、2或4所述的方法,其特征在于还包括:
当根据Lossxj>T判断测试样本集中的第x个HTTP样本字符串异常时,还原第x个HTTP样本字符串异常为原始的可疑字符串;
对所有可疑字符串利用正则分类器进行分类标记,进行可疑字符串类型匹配判断。
6.如权利要求5所述的方法,其特征在于所述正则分类器区分攻击类型为SQL注入攻击、XSS攻击和代码注入攻击。
7.如权利要求1、2、4或6所述的方法,其特征在于所述可疑字符串的类型匹配判断分为以下几种情况:
第一种情况,匹配结果唯一,此时将可疑字符直接标记为匹配的类型;
第二种情况,匹配结果不唯一,此时随机选择一种匹配结果进行标记,同时将该分类结果存入到数据库,通过后期人工分析判断分类结果,从而不断调优正则分类器。
8.一种Web攻击检测系统,其特征在于包括:
重构误差模型及阈值计算模块,基于第一正样本集构建重构误差模型;根据第二正样本所有字符,计算第二正样本集对应的误差矩阵,计算阈值T;
测算样本概率计算模块,用于根据所述重构误差模型,计算输出测试样本集中每个字符的对应概率Pnj;其中,测试样本集包括n个HTTP样本字符串,每个HTTP样本字符串包括j个字符,n,j是大于0的正整数;
字符串损失计算模块,用于通过Sparsemax函数,得到所述概率Pxj对应的稀疏化概率值H(Pxj);根据稀疏化概率值H(Pxj),对应得到测试样本集中的第x个HTTP样本字符串样本损失Lossxj
字符串异常判断模块,用于当Lossxj>T,则判断测试样本集中的第x个HTTP样本字符串异常。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法的步骤。
10.一种Web攻击检测设备,其特征在于,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的方法的步骤。
CN201911288437.9A 2019-12-13 2019-12-13 一种Web攻击检测方法、系统、介质和设备 Active CN110933105B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911288437.9A CN110933105B (zh) 2019-12-13 2019-12-13 一种Web攻击检测方法、系统、介质和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911288437.9A CN110933105B (zh) 2019-12-13 2019-12-13 一种Web攻击检测方法、系统、介质和设备

Publications (2)

Publication Number Publication Date
CN110933105A true CN110933105A (zh) 2020-03-27
CN110933105B CN110933105B (zh) 2021-10-22

Family

ID=69863623

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911288437.9A Active CN110933105B (zh) 2019-12-13 2019-12-13 一种Web攻击检测方法、系统、介质和设备

Country Status (1)

Country Link
CN (1) CN110933105B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112839059A (zh) * 2021-02-22 2021-05-25 北京六方云信息技术有限公司 Web入侵检测处理方法、装置及电子设备
CN113141373A (zh) * 2021-04-30 2021-07-20 平安普惠企业管理有限公司 检测异常入侵的方法、装置、设备和存储介质
CN113343049A (zh) * 2021-07-05 2021-09-03 新华三技术有限公司 一种域名检测方法、装置、电子设备及存储介质
CN113761523A (zh) * 2021-09-02 2021-12-07 恒安嘉新(北京)科技股份公司 一种基于机器学习的文本数据检测方法、装置和设备
CN113904834A (zh) * 2021-09-30 2022-01-07 北京华清信安科技有限公司 基于机器学习的xss攻击检测方法
CN114500018A (zh) * 2022-01-17 2022-05-13 武汉大学 基于神经网络的Web应用防火墙安全检测与加固系统及方法
CN115987620A (zh) * 2022-12-21 2023-04-18 北京天云海数技术有限公司 一种检测web攻击的方法及系统
CN117118752A (zh) * 2023-10-23 2023-11-24 山东爱书人家庭教育科技有限公司 一种信息抗攻击的方法、系统、装置及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102750475A (zh) * 2012-06-07 2012-10-24 中国电子科技集团公司第三十研究所 基于虚拟机内外视图交叉比对恶意代码行为检测方法及系统
US20170187747A1 (en) * 2015-12-28 2017-06-29 Arbor Networks, Inc. Using recurrent neural networks to defeat dns denial of service attacks
CN108111489A (zh) * 2017-12-07 2018-06-01 阿里巴巴集团控股有限公司 Url攻击检测方法、装置以及电子设备
US20180285740A1 (en) * 2017-04-03 2018-10-04 Royal Bank Of Canada Systems and methods for malicious code detection
CN109522454A (zh) * 2018-11-20 2019-03-26 四川长虹电器股份有限公司 自动生成web样本数据的方法
CN109844749A (zh) * 2018-08-29 2019-06-04 区链通网络有限公司 一种基于图算法的节点异常检测方法、装置及存储装置
CN110188827A (zh) * 2019-05-29 2019-08-30 创意信息技术股份有限公司 一种基于卷积神经网络和递归自动编码器模型的场景识别方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102750475A (zh) * 2012-06-07 2012-10-24 中国电子科技集团公司第三十研究所 基于虚拟机内外视图交叉比对恶意代码行为检测方法及系统
US20170187747A1 (en) * 2015-12-28 2017-06-29 Arbor Networks, Inc. Using recurrent neural networks to defeat dns denial of service attacks
US20180285740A1 (en) * 2017-04-03 2018-10-04 Royal Bank Of Canada Systems and methods for malicious code detection
CN108111489A (zh) * 2017-12-07 2018-06-01 阿里巴巴集团控股有限公司 Url攻击检测方法、装置以及电子设备
CN109844749A (zh) * 2018-08-29 2019-06-04 区链通网络有限公司 一种基于图算法的节点异常检测方法、装置及存储装置
CN109522454A (zh) * 2018-11-20 2019-03-26 四川长虹电器股份有限公司 自动生成web样本数据的方法
CN110188827A (zh) * 2019-05-29 2019-08-30 创意信息技术股份有限公司 一种基于卷积神经网络和递归自动编码器模型的场景识别方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
MARTINS A,F.T,ASTUDILLO R: ""From softmax to sparsemax:a sparse model of attention and multi-label classification"", 《INTERNATIONAL CONFERENCE ON MACHINE LEARNING:JMLR.ORG,2016》 *
X. ZENG, D. XIANG, L. PENG, C. LIU AND X. DING: ""Local Discriminant Training and Global Optimization for Convolutional Neural Network Based Handwritten Chinese Character Recognition"", 《2017 14TH IAPR INTERNATIONAL CONFERENCE ON DOCUMENT ANALYSIS AND RECOGNITION (ICDAR)》 *
胥小波等: "基于多层感知器神经网络的WebShell检测方法", 《通信技术》 *
贾晨: "基于半监督学习的Web安全事件检测模型", 《江苏通信》 *
陈康等: "基于深度学习的恶意URL识别", 《计算机系统应用》 *
黄健航等: "基于边际Fisher深度自编码器的电台指纹特征提取", 《模式识别与人工智能》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112839059A (zh) * 2021-02-22 2021-05-25 北京六方云信息技术有限公司 Web入侵检测处理方法、装置及电子设备
CN113141373A (zh) * 2021-04-30 2021-07-20 平安普惠企业管理有限公司 检测异常入侵的方法、装置、设备和存储介质
CN113343049A (zh) * 2021-07-05 2021-09-03 新华三技术有限公司 一种域名检测方法、装置、电子设备及存储介质
CN113761523A (zh) * 2021-09-02 2021-12-07 恒安嘉新(北京)科技股份公司 一种基于机器学习的文本数据检测方法、装置和设备
CN113904834A (zh) * 2021-09-30 2022-01-07 北京华清信安科技有限公司 基于机器学习的xss攻击检测方法
CN114500018A (zh) * 2022-01-17 2022-05-13 武汉大学 基于神经网络的Web应用防火墙安全检测与加固系统及方法
CN114500018B (zh) * 2022-01-17 2022-10-14 武汉大学 基于神经网络的Web应用防火墙安全检测与加固系统及方法
CN115987620A (zh) * 2022-12-21 2023-04-18 北京天云海数技术有限公司 一种检测web攻击的方法及系统
CN115987620B (zh) * 2022-12-21 2023-11-07 北京天云海数技术有限公司 一种检测web攻击的方法及系统
CN117118752A (zh) * 2023-10-23 2023-11-24 山东爱书人家庭教育科技有限公司 一种信息抗攻击的方法、系统、装置及介质
CN117118752B (zh) * 2023-10-23 2024-01-09 山东爱书人家庭教育科技有限公司 一种信息抗攻击的方法、系统、装置及介质

Also Published As

Publication number Publication date
CN110933105B (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
CN110933105B (zh) 一种Web攻击检测方法、系统、介质和设备
Vinayakumar et al. Evaluating deep learning approaches to characterize and classify malicious URL’s
Luo et al. A novel web attack detection system for internet of things via ensemble classification
CN110633570B (zh) 面向恶意软件汇编格式检测模型的黑盒攻击的防御方法
CN113961922B (zh) 一种基于深度学习的恶意软件行为检测与分类系统
CN109450845B (zh) 一种基于深度神经网络的算法生成恶意域名检测方法
CN107516041A (zh) 基于深度神经网络的WebShell检测方法及其系统
Tian et al. CNN-webshell: malicious web shell detection with convolutional neural network
WO2020036622A1 (en) System and method for detecting generated domain
KR102093275B1 (ko) 악성코드 감염 유도정보 판별 시스템, 프로그램이 기록된 저장매체 및 방법
CN111600919B (zh) 智能网络应用防护系统模型的构建方法和装置
CN113596007B (zh) 一种基于深度学习的漏洞攻击检测方法和设备
Zhang Machine learning with feature selection using principal component analysis for malware detection: a case study
Mohan et al. Spoof net: syntactic patterns for identification of ominous online factors
Chen et al. Link prediction adversarial attack
Aljabri et al. An assessment of lexical, network, and content-based features for detecting malicious urls using machine learning and deep learning models
CN112052451A (zh) 一种webshell检测方法和装置
Yu et al. Detecting malicious web requests using an enhanced textcnn
Dolhansky et al. Adversarial collision attacks on image hashing functions
CN112651025A (zh) 一种基于字符级嵌入编码的webshell检测方法
Das et al. Deep approaches on malicious URL classification
Muslihi et al. Detecting SQL injection on web application using deep learning techniques: a systematic literature review
Gong et al. Model uncertainty based annotation error fixing for web attack detection
Xu et al. Adversarial attacks on text classification models using layer‐wise relevance propagation
Gupta et al. GeneMiner: a classification approach for detection of XSS attacks on web services

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Xu Xiaobo

Inventor after: Fan Min

Inventor after: Li Hanrui

Inventor after: Wei Yongtao

Inventor after: Ao Jia

Inventor after: Kang Yinglai

Inventor before: Fan Min

Inventor before: Li Hanrui

Inventor before: Xu Xiaobo

Inventor before: Wei Yongtao

Inventor before: Ao Jia

Inventor before: Kang Yinglai

GR01 Patent grant
GR01 Patent grant