Webshell文件检测方法及系统技术方案

技术编号:31237291 阅读:8 留言:0更新日期:2021-12-08 10:21
本发明专利技术提供了一种Webshell文件检测方法及系统,包括如下步骤:步骤1:对文件进行预处理;步骤2:利用预处理后的文件建立词袋模型,在词频基础上使用加权处理技术降低高频无意义词汇的干扰,形成数据集;步骤3:用数据集对模型进行学习训练,得到训练后的模型,并利用训练后的模型来检测出Webshell文件。本发明专利技术本实施方法适用于实际的应用的场景,解决了特征提取不合适,检测准确率较低,以及算法的复杂度较高等问题。度较高等问题。度较高等问题。

【技术实现步骤摘要】
Webshell文件检测方法及系统


[0001]本专利技术涉及计算机数据处理
,具体地,涉及一种Webshell文件检测方法及系统,尤其是一种基于TF

IDF的Webshell文件检测及系统。

技术介绍

[0002]随着Internet的普及,网络上的共享资源成为黑客们攻击的主要目标。鉴于网络攻击的急剧增多及其所带来的恶劣影响,信息安全问题成为人们日益关注的焦点。
[0003]Webshell是以PHP或者JSP等网页文件形式存在的一种命令执行环境。当攻击者入侵一个网站后,会把这些ASP、PHP木马的后门文件放在该网站的web目录中,和正常的网页文件混杂,其命名可能和正常的文件命名很类似,让人无法第一眼通过文件名判断其为后门文件。然后入侵者就可以利用WEB请求的方式,用ASP或者PHP木马后门对网站的服务器进行控制行为。
[0004]机器学习核心是通过对先验知识的学习从而获取经验,自动分析数据并获取规律,然后推论出某种模型,对未来进行预测,其相关应用非常广泛。机器学习技术也为解决入侵检测领域的问题提供了许多新兴的研究方向。现有的检测方法有以下几种:(1)、Wenke等人在1999年首次将机器学习方法应用到入侵检测模型中,其方案通过采集网络数据流量与对审计数据进行分析,得到一个异常检测模型;(2)、2015年,叶飞提出了一种基于支撑向量机的Webshell黑盒检测方案,根据HTML文档的信息对Webshell进行检测检测,准确率达到75%;(3)、2018年,傅建明提出一种基于CNN的Webshell检测方案,对PHP类型文件设计相应的机器学习检测方案,检测准确率较传统机器学习算法准确率有了一定的性能提升,但仍存在着模型易过拟合调参复杂等问题。
[0005]虽然将机器方法应用到入侵检测系统中已经取得了一定的效果,但是由于网络数据量的日益剧增和新的攻击层出不穷,入侵检测研究已经到达了一个瓶颈期,出现了众多较难解决的问题,如特征提取不合适,检测准确率较低,以及算法的复杂度较高等,同时,当前研究建立的Webshell检测模型大多均仅适用于对PHP类型Webshell文件进行检测,未对JSP类型Webshell文件建立科学可行的方案进行检测。
[0006]公开号为CN106572117A的专利文献公开了一种WebShell检测方法和装置,所述检测方法基于变量回溯和抽象语法树,针对目录中的多个文件进行WebShell检测,包括可疑文件筛选过程、特征匹配检测过程、抽象语法树分析检测过程、无关代码剔除过程和数学公式检测过程,输出确定的WebShell文件。检测装置包括:可疑文件筛选单元、特征匹配单元、抽象语法树检测分析单元、剔除无关代码单元和数学公式检测单元;通过这些单元实现对WebShell文件的检测。但是该专利文献仍然存在特征提取不合适,检测准确率较低,以及算法的复杂度较高的缺陷。

技术实现思路

[0007]针对现有技术中的缺陷,本专利技术的目的是提供一种Webshell文件检测方法及系
统。
[0008]根据本专利技术提供的一种Webshell文件检测方法,包括如下步骤:
[0009]步骤1:对文件进行预处理;
[0010]步骤2:利用预处理后的文件建立词袋模型,在词频基础上使用加权处理技术降低高频无意义词汇的干扰,形成数据集;
[0011]步骤3:用数据集对模型进行学习训练,得到训练后的模型,并利用训练后的模型来检测出Webshell文件。
[0012]优选的,所述步骤1中,预处理包括分类、去重、转码及特征提取。
[0013]优选的,所述分类具体为,通过判别文件的类型将数据样本分为JSP类型文件和PHP类型文件。
[0014]优选的,所述去重具体为,通过MD5校验去除文件里的重复样本。
[0015]优选的,所述转码具体为,根据文件的类型不同将JSP文件内容转为JAVA汇编码,PHP文件内容转为OPCODE码。
[0016]优选的,JSP文件内容转为JAVA汇编码包括如下步骤:
[0017]步骤1.1:将JSP文件使用Tomcat作为容器,将JSP转换为Servlet类的.java文件;
[0018]步骤1.2:将Servlet类的.java文件编译相应为Servlet类的.class文件;
[0019]步骤1.3:使用JAVA命令将Servlet类的.class文件转化为JAVA汇编码进行特征提取。
[0020]优选的,所述特征提取均使用TF

IDF算法。
[0021]优选的,对于JSP类型的Webshell文件的特征提取为将JSP代码转换为最后的Java汇编码,使用TF

IDF算法提取相应的训练特征;
[0022]对于PHP类型的Webshell文件的特征提取为将PHP代码转换为中间层次的OPCODE码,使用TF

IDF算法提取相应的训练特征。
[0023]优选的,所述步骤3中,模型采用XGBoost算法模型。
[0024]本专利技术还提供一种Webshell文件检测系统,包括如下模块;
[0025]预处理模块:对文件进行预处理;
[0026]数据集模块:利用预处理后的文件建立词袋模型,在词频基础上使用加权处理技术降低高频无意义词汇的干扰,形成数据集;
[0027]训练判断模块:用数据集对模型进行学习训练,得到训练后的模型,并利用训练后的模型来检测出Webshell文件。
[0028]与现有技术相比,本专利技术具有如下的有益效果:
[0029]1、本实施方法适用于实际的应用的场景,解决了特征提取不合适,检测准确率较低,以及算法的复杂度较高等问题;
[0030]2、本专利技术用TF

IDF算法预处理后结合XGBoost算法的Webshell文件检测模型性能出色,检测效果相较于传统检测方法在准确率、精确率、召回率等方面均有所提高,同时具备更强的鲁棒性与泛化能力;
[0031]3、本专利技术对PHP类型文件检测准确率达到98.09%,对JSP类型文件检测准确率达到97.09%。
附图说明
[0032]通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:
[0033]图1为本专利技术实现TF

IDF的Webshell文件检测流程图;
[0034]图2为JSP类型特征提取流程图;
[0035]图3为PHP类型特征提取流程图。
具体实施方式
[0036]下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变化和改进。这些都属于本专利技术的保护范围。
[0037]实施例1:
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Webshell文件检测方法,其特征在于,包括如下步骤:步骤1:对文件进行预处理;步骤2:利用预处理后的文件建立词袋模型,在词频基础上使用加权处理技术降低高频无意义词汇的干扰,形成数据集;步骤3:用数据集对模型进行学习训练,得到训练后的模型,并利用训练后的模型来检测出Webshell文件。2.根据权利要求1所述的Webshell文件检测方法,其特征在于,所述步骤1中,预处理包括分类、去重、转码及特征提取。3.根据权利要求2所述的Webshell文件检测方法,其特征在于,所述分类具体为,通过判别文件的类型将数据样本分为JSP类型文件和PHP类型文件。4.根据权利要求2所述的Webshell文件检测方法,其特征在于,所述去重具体为,通过MD5校验去除文件里的重复样本。5.根据权利要求2所述的Webshell文件检测方法,其特征在于,所述转码具体为,根据文件的类型不同将JSP文件内容转为JAVA汇编码,PHP文件内容转为OPCODE码。6.根据权利要求5所述的Webshell文件检测方法,其特征在于,JSP文件内容转为JAVA汇编码包括如下步骤:步骤1.1:将JSP文件使用Tomcat作为容器,将JSP转换为Servlet类的.java文件;步骤1.2:将Servlet类的.jav...

【专利技术属性】
技术研发人员:罗序良吴毅良郭凤婵刘翠媚陆庭辉林海关焯荣陈泽鸿凌子文梁治华王坤明
申请(专利权)人:广东电网有限责任公司江门供电局
类型:发明
国别省市:

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

1