本发明专利技术提供了基于矩阵分解的Webshell检测方法,属于信息安全领域,包括建立以三元组保存得分信息的计分矩阵;从待检测文本中选取预设数量的特征构建特征集合,基于特征集合中的特征获取对三元组中分数参数进行预测,根据预测结果判定待检测文本中存在WebShell的可能性。基于机器学习算法,能够快速、准确地了解WebShell页面的特点。该方法克服了传统特征匹配方法的缺点,提高了网络炮弹检测的准确性和召回率。通过对已知现有和非现有WebShell页面的分析和学习特性,该算法可以对未知页面进行预测,效率高,具有较高的精度和召回率。
【技术实现步骤摘要】
基于矩阵分解的Webshell检测方法
本专利技术属于信息安全领域,特别涉及基于矩阵分解的Webshell检测方法。
技术介绍
如今计算机网络在人类社会生活中起着重要的作用,服务器保护作为计算机网络的核心,是保证计算机网络安全稳定的重要组成部分。在服务器的攻击和防御周围,WebShell经常被大多数入侵者用作获取服务器权限的武器。WebShell是一种命令执行环境,通常以网页后门的形式出现,比如asp、php、jsp或cgi页面,也可以将其称为网页后门。管理员通常通过静态检测和动态监测方法来防止或检测WebShell,静态检测方法利用特征值和危险函数来检测网络炮弹。该方法操作简单,能快速检测WebShell的存在。HujianKang等提取了目标页面的不同特征,使用决策树对WebShell进行分类和检测;叶飞等分析了页面的结构和文本特征,使用bag-of-words模型提取关键字,然后使用SVM方法对WebShell进行分类和检测。但对于一些最新的WebShell来说,泄漏检测率将会相对较高。动态监控可以解决入侵者加密WebShell以避免检测的问题,但一定程度上检测到WebShell,但很难检测到某些特定的WebShell。现有的方法中,还存在以下缺点:1.通常将上述两种种方法协助完成检测,但对于拥有大量主机的大公司来说,非常耗,效率较低2.传统的检测方法花费的时间很多,且精度和召回率都比较低3.现有的方案难以发现新的网站管理权限,准确率低。
技术实现思路
为了解决现有技术中存在的缺点和不足,本专利技术提供了基于矩阵分解的Webshell检测方法,用于提高检测精度。为了达到上述技术目的,本专利技术提供了基于矩阵分解的Webshell检测方法,所述检测方法包括:建立以三元组保存得分信息的计分矩阵;从待检测文本中选取预设数量的特征构建特征集合,基于特征集合中的特征获取对三元组中分数参数进行预测,根据预测结果判定待检测文本中存在WebShell的可能性。可选的,所述建立以三元组保存得分信息的计分矩阵,包括:定义一个mu×mi大小的计分矩阵R,使用一个三元组s=(u,i,rui)代表一个得分消息,所有的信息都存储在数据集S={(u,i,rui)|rui未知}中。用对rui预测,处理公式如下:其中pu表示各列u的k维因子向量,qi表示各行i的k维系数向量可选的,所述检测方法还包括:为避免参数过度拟合,对参数进行如公式二所示的减小处理可选的,所述从待检测文本中选取预设数量的特征构建特征集合,基于特征集合中的特征获取对三元组中分数参数进行预测,包括:择适当数量和影响尽可能大的特征集合,这些特征转换为矩阵分解模型的可用形式:对每个文本和其他特征进行分组并进行组合作为u和i的特征,得到矩阵的相应的列和行向量的个数;根据包括文本特征在内的特征结合公式三计算其中μ代表了评分矩阵的所有预测的平均值,bu和bi分别代表了文本特征u和其他特征i的组合。可选的,所述根据预测结果判定待检测文本中存在WebShell的可能性包括:如果的结果大于0.5,文件更有可能有WebShell;相反,如果结果小于0.5,则更不可能包含WebShell。可选的,所述检测方法还包括训练流程,所述训练流程包括:根据公式四获取预测误差根据梯度下降公式更新pu和qi:其中γ是梯度下降算法的步长,λ是学习速率。可选的,所述检测方法还包括:基于公式六对训练过程进行优化,本专利技术提供的技术方案带来的有益效果是:基于机器学习算法,能够快速、准确地了解WebShell页面的特点。该方法克服了传统特征匹配方法的缺点,提高了网络炮弹检测的准确性和召回率。通过对已知现有和非现有WebShell页面的分析和学习特性,该算法可以对未知页面进行预测,效率高,具有较高的精度和召回率。附图说明为了更清楚地说明本专利技术的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术提供的基于矩阵分解的Webshell检测方法的流程示意图。具体实施方式为使本专利技术的结构和优点更加清楚,下面将结合附图对本专利技术的结构作进一步地描述。实施例一本专利技术提供了基于矩阵分解的Webshell检测方法,如图1所示,所述检测方法包括:11、建立以三元组保存得分信息的计分矩阵;12、从待检测文本中选取预设数量的特征构建特征集合,基于特征集合中的特征获取对三元组中分数参数进行预测,根据预测结果判定待检测文本中存在WebShell的可能性。在实施中,本专利技术的基于矩阵分解的Webshell检测方法,其步骤依次包括:(1)建立矩阵分解模型;(2)对特征进行测定;(3)使用矩阵分解模型进行训练;(4)利用模型预测Webshell.本实施例的一种基于矩阵分解的Webshell检测方法,基于机器学习算法,能够快速、准确地了解WebShell页面的特点,通过对已知现有和非现有WebShell页面的分析和学习特性,可以对未知页面进行预测,克服了传统特征匹配方法的缺点,提高了网络炮弹检测的准确性和召回率。克服了现有技术中的仅仅是匹配特征值或者检测产生的流量或服务,这很难找到新的类型的网页后门等技术问题。可选的,所述建立以三元组保存得分信息的计分矩阵,包括:定义一个mu×mi大小的计分矩阵R,使用一个三元组s=(u,i,rui)代表一个得分消息,所有的信息都存储在数据集S={(u,i,rui)|rui未知}中。用对rui预测,处理公式如下:其中pu表示各列u的k维因子向量,qi表示各行i的k维系数向量。在实施中,定义一个mu×mi大小的计分矩阵R,使用一个三元组s=(u,i,rui)代表一个得分消息,所有的信息都存储在数据集S={(u,i,rui)|rui未知}中。对rui进行预测:rui∈[0,1]是对象u对应的分数,如果rui越接近1,那么相应列特征u对应的行特征i更有可能包含Webshell。用对rui预测,处理公式为公式一。可选的,所述检测方法还包括:为避免参数过度拟合,对参数进行如公式二所示的减小处理可选的,所述从待检测文本中选取预设数量的特征构建特征集合,基于特征集合中的特征获取对三元组中分数参数进行预测,包括:择适当数量和影响尽可能大的特征集合,这些特征转换为矩阵分解模型的可用形式:对每个文本和其他特征进行分组并进行组合作为u和i的特征,得到矩阵的相应的列和行向量的个数;根据包括文本特征在内的特征结合公式三计算其中μ代表了评分矩阵的所有预测的平均值,bu和bi分别代表了文本特征u和其他特征i的组合。在实施中,选择适当数量和影响尽可能大的特征集合。本方法将特征分为文本特征和其他特征,具体特征如表1所示。将这些特征转换为矩阵分解模型的可用形式:对每个文本和其他特征进行分组,将特殊字符分为三组:0到10,10到50,以及超过50个;单词的长度分为三组:0到10,10到20,超过20以此类推。在将文本特征中的六个特性分组后,从每个特性中随机选择一个组合。每个特征可以分成三个组,我们就可以得到36特征,即总共729个组合。将其他特征组合在一起。每个特征分成两组,我们可以从其他特本文档来自技高网...
【技术保护点】
1.基于矩阵分解的Webshell检测方法,其特征在于,所述检测方法包括:建立以三元组保存得分信息的计分矩阵;从待检测文本中选取预设数量的特征构建特征集合,基于特征集合中的特征获取对三元组中分数参数进行预测,根据预测结果判定待检测文本中存在WebShell的可能性。
【技术特征摘要】
1.基于矩阵分解的Webshell检测方法,其特征在于,所述检测方法包括:建立以三元组保存得分信息的计分矩阵;从待检测文本中选取预设数量的特征构建特征集合,基于特征集合中的特征获取对三元组中分数参数进行预测,根据预测结果判定待检测文本中存在WebShell的可能性。2.根据权利要求1所述的基于矩阵分解的Webshell检测方法,其特征在于,所述建立以三元组保存得分信息的计分矩阵,包括:定义一个mu×mi大小的计分矩阵R,使用一个三元组s=(u,i,rui)代表一个得分消息,所有的信息都存储在数据集S={(u,i,rui)|rui未知}中;用对rui预测,处理公式如下:其中pu表示各列u的k维因子向量,qi表示各行i的k维系数向量。3.根据权利要求1所述的基于矩阵分解的Webshell检测方法,其特征在于所述检测方法还包括:为避免参数过度拟合,对参数进行如公式二所示的减小处理4.根据权利要求1所述的基于矩阵分解的Webshell检测方法,其特征在于,所述从待检测文本中选取预设数量的特征构建特征集合,基于特征集合中的特征获取...
【专利技术属性】
技术研发人员:姚一杨,王彦波,卢新岱,章姝俊,戴波,梅峰,叶伟静,
申请(专利权)人:国网浙江省电力有限公司,国网浙江省电力有限公司信息通信分公司,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。