一种识别webshell攻击的方法及装置制造方法及图纸

技术编号:38656238 阅读:12 留言:0更新日期:2023-09-02 22:42
本发明专利技术实施例提供一种识别webshell攻击的方法及装置,该方法包括:从多个目标服务器采集webshell攻击的样本数据,将采集的样本数据转换成字符串数据;采用islice_divs算法对字符串数据进行分割,使用哈希表来存储分割得到的islice_divs单元;使用词嵌入技术将哈希表内存储的每个islice_divs单元作为单词进行向量化处理,将单词映射到固定维度的向量空间中;以得到的数据作为样本数据库来训练SVM模型,将webshell攻击数据作为目标分类数据;对SVM模型输出的目标分类数据进行静态检测,获取SVM模型识别webshell攻击数据的准确率;当SVM模型识别webshell攻击数据的准确率满足阈值条件时,使用SVM模型识别网络数据的webshell攻击。本发明专利技术采用机器学习和静态检测双识别的方式,优化了SVM的算法,提升了检测的准确率。准确率。准确率。

【技术实现步骤摘要】
一种识别webshell攻击的方法及装置


[0001]本专利技术涉及网络安全
更具体地说,本专利技术涉及一种识别webshell攻击的方法及装置。

技术介绍

[0002]随着科技的不断进步,网络安全成了人们不得不重视的一个问题,网络中存在的Webshell攻击,常被黑客利用漏洞或恶意软件,在目标网站上传、安装一个后门程序,从而获得对目标网站的控制权。Webshell攻击的危害可能包括数据泄露、服务器被控制、网站被恶意篡改等。Webshell攻击的类型可以分为本地文件包含攻击、远程文件包含攻击、SQL注入攻击等。Webshell攻击的特征可以通过对攻击文件的结构、代码、功能等进行分析得出。
[0003]目前常用的识别webshell攻击的方法包括基于签名的方法、基于特征的方法和基于机器学习的方法。但是,在实际工作中仍常常出现webshell被利用后无法及时检测的问题。

技术实现思路

[0004]本专利技术提供一种识别webshell攻击的方法及装置,以至少部分解决上述技术问题。
[0005]本专利技术实施例提供一种一种识别webshell攻击的方法,包括以下步骤:
[0006]步骤一,从多个目标服务器采集webshell攻击的样本数据,将采集的样本数据转换成字符串数据;
[0007]步骤二,采用islice_divs算法对字符串数据进行分割,使用哈希表来存储分割得到的islice_divs单元;包括:对于一个待存储的islice_divs单元,判断哈希表中是否已经包括相同的islice_divs单元,如果判断结果为是,则不执行存储操作,如果判断结果为否,则执行存储操作;
[0008]步骤三,使用词嵌入技术将哈希表内存储的每个islice_divs单元作为单词进行向量化处理,将单词映射到固定维度的向量空间中;在向量空间中的任意两个单词,语义越相近,则距离越小;反之,距离越大;
[0009]步骤四,以步骤三得到的数据作为样本数据库来训练SVM模型,将webshell攻击数据作为目标分类数据;
[0010]步骤五,对SVM模型输出的目标分类数据进行静态检测,获取SVM模型识别webshell攻击数据的准确率;包括:将目标分类数据与预设危险函数的特征码和特征值进行匹配,若匹配成功,则判断目标分类数据为webshell攻击数据;
[0011]步骤六,当SVM模型识别webshell攻击数据的准确率满足阈值条件时,使用SVM模型识别网络数据的webshell攻击。
[0012]优选的,步骤三中词嵌入技术包括:word2vec或GloVe技术。
[0013]优选的,SVM模型为:
[0014][0015]其中,f(x)表示分类函数,x表示输入样本的特征向量,i表示样本的索引,N表示训练样本数据集的大小,x
i
表示第i个样本的特征向量,α
i
为拉格朗日乘子,y
i
为类别标签,K(x
i
,x)为核函数,b为偏置量。
[0016]优选的,步骤四中训练SVM模型包括:
[0017]最小化SVM模型的损失函数;
[0018]其中,SVM模型的损失函数为:
[0019][0020]约束条件包括:
[0021]和0≤a
i
≤C
[0022]其中,L表示损失函数,j表示特征向量中的第j个分量,α
i
和α
j
是拉格朗日乘子,y
i
和y
j
是类别标签,C表示预设惩罚系数。
[0023]优选的,步骤五包括:
[0024]若判断SVM模型输出的目标分类数据不是webshell攻击数据,则将SVM模型输出的目标分类数据加入样本数据进行再次训练。
[0025]本专利技术实施例还提供一种识别webshell攻击的装置,包括:
[0026]数据采集模块,用于从多个目标服务器采集webshell攻击的样本数据,将采集的样本数据转换成字符串数据;
[0027]数据分割模块,用于采用islice_divs算法对字符串数据进行分割,使用哈希表来存储分割得到的islice_divs单元;包括:对于一个待存储的islice_divs单元,判断哈希表中是否已经包括相同的islice_divs单元,如果判断结果为是,则不执行存储操作,如果判断结果为否,则执行存储操作;
[0028]向量化处理模块,用于使用词嵌入技术将哈希表内存储的每个islice_divs单元作为单词进行向量化处理,将单词映射到固定维度的向量空间中;在向量空间中的任意两个单词,语义越相近,则距离越小;反之,距离越大;
[0029]训练模块,用于以向量化处理模块得到的数据作为样本数据库来训练SVM模型,将webshell攻击数据作为目标分类数据;
[0030]静态检测模块,用于对SVM模型输出的目标分类数据进行静态检测,获取SVM模型识别webshell攻击数据的准确率;包括:将目标分类数据与预设危险函数的特征码和特征值进行匹配,若匹配成功,则判断目标分类数据为webshell攻击数据;
[0031]识别模块,用于当SVM模型识别webshell攻击数据的准确率满足阈值条件时,使用SVM模型识别网络数据的webshell攻击。
[0032]优选的,词嵌入技术包括:word2vec或GloVe技术。
[0033]SVM模型为:
[0034][0035]其中,f(x)表示分类函数,x表示输入样本的特征向量,i表示样本的索引,N表示训练样本数据集的大小,x
i
表示第i个样本的特征向量,α
i
为拉格朗日乘子,y
i
为类别标签,K
(x
i
,x)为核函数,b为偏置量
[0036]优选的,训练模块用于:
[0037]最小化SVM模型的损失函数;
[0038]其中,SVM模型的损失函数为:
[0039][0040]约束条件包括:
[0041]和0≤a
i
≤C
[0042]其中,L表示损失函数,j表示特征向量中的第j个分量,α
i
和α
j
是拉格朗日乘子,y
i
和y
j
是类别标签,C表示预设惩罚系数。
[0043]优选的,静态检测模块用于:
[0044]若判断SVM模型输出的目标分类数据不是webshell攻击数据,则将SVM模型输出的目标分类数据加入样本数据进行再次训练。
[0045]本专利技术至少包括以下有益效果:
[0046]基于支持向量机识别webshell攻击的方法采用机器学习和静态检测双识别的方式,以此来解决单模型或者传统静态检测不准确和检测单一的问题,并且优化了SVM的算法,提升了检测的准确率;同时实现了从网络流量中直本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种识别webshell攻击的方法,其特征在于,包括以下步骤:步骤一,从多个目标服务器采集webshell攻击的样本数据,将采集的样本数据转换成字符串数据;步骤二,采用islice_divs算法对字符串数据进行分割,使用哈希表来存储分割得到的islice_divs单元;包括:对于一个待存储的islice_divs单元,判断哈希表中是否已经包括相同的islice_divs单元,如果判断结果为是,则不执行存储操作,如果判断结果为否,则执行存储操作;步骤三,使用词嵌入技术将哈希表内存储的每个islice_divs单元作为单词进行向量化处理,将单词映射到固定维度的向量空间中;在向量空间中的任意两个单词,语义越相近,则距离越小;反之,距离越大;步骤四,以步骤三得到的数据作为样本数据库来训练SVM模型,将webshell攻击数据作为目标分类数据;步骤五,对SVM模型输出的目标分类数据进行静态检测,获取SVM模型识别webshell攻击数据的准确率;包括:将目标分类数据与预设危险函数的特征码和特征值进行匹配,若匹配成功,则判断目标分类数据为webshell攻击数据;步骤六,当SVM模型识别webshell攻击数据的准确率满足阈值条件时,使用SVM模型识别网络数据的webshell攻击。2.如权利要求1所述的识别webshell攻击的方法,其特征在于,步骤三中词嵌入技术包括:word2vec或GloVe技术。3.如权利要求1所述的识别webshell攻击的方法,其特征在于,SVM模型为:其中,f(x)表示分类函数,x表示输入样本的特征向量,i表示样本的索引,N表示训练样本数据集的大小,x
i
表示第i个样本的特征向量,α
i
为拉格朗日乘子,y
i
为类别标签,K(x
i
,x)为核函数,b为偏置量。4.如权利要求3所述的识别webshell攻击的方法,其特征在于,步骤四中训练SVM模型包括:最小化SVM模型的损失函数;其中,SVM模型的损失函数为:约束条件包括:和0≤a
i
≤C其中,L表示损失函数,j表示特征向量中的第j个分量,α
i
和α
j
是拉格朗日乘子,y
i
和y
j
是类别标签,C表示预设惩罚系数。5.如权利要求1所述的识别webshell攻击的方法,其特征在于,步骤五包括:若判断SVM模型输出的目标分类数据不是webshell攻击数据,则将SVM模型输出的目标分类数据加入样本数据进行再次训练。6.一种识别webshell攻击的...

【专利技术属性】
技术研发人员:田新远
申请(专利权)人:北京华清信安科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1