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

技术编号:31237213 阅读:11 留言:0更新日期:2021-12-08 10:21
本发明专利技术提供了一种Webshell检测方法及系统,包括如下步骤:步骤1:检查收到的文件的类别,然后进行分类,得到PHP类型文件和JSP类型文件;步骤2:分别对PHP类型文件和JSP类型文件进行特征提取,然后将提取的特征输入到机器学习模型中;步骤3:机器学习模型对输入的特征进行判断,识别收到的文件是否为Webshell。本发明专利技术适用于实际的应用的场景,解决了特征提取不合适,检测准确率较低,以及算法的复杂度较高等问题。等问题。等问题。

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


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

技术介绍

[0002]随着Internet的普及和Internet技术的不断发展,Internet攻击日益增多,网络安全形势越来越严峻。Webshell是黑客使用的最常见的Web攻击方法之一。Web攻击的一般过程如下。首先,黑客收集并利用对目标网络服务和主机的攻击。其次,如果他们发现可利用的漏洞或较弱的网站配置(例如文件上传漏洞),则黑客可以绕过页面的文件类型检测,并上传单句木马。最后,他们使用木马上载更复杂的Webshell或直接调用系统控制台执行命令以获取服务器权限,然后成功实施攻击。
[0003]随着机器学习的不断发展,越来越多的研究人员开始在入侵检测领域中使用机器学习算法。机器学习核心是通过对先验知识的学习从而获取经验,自动分析数据并获取规律,然后推论出某种模型,对未来进行预测,其相关应用非常广泛。机器学习技术也为解决入侵检测领域的问题提供了许多新兴的研究方向。现有的检测方法有以下几种:1、田一凡等提出了一种基于HTTP流量请求包分析和卷积神经网络(CNN)算法使用的Web外壳检测模型,他们使用Word2vec算法转换收集到的包裹文本的内容,并将词向量输入到CNN模型中以提高检测模型的性能;2、张华等提出了一种字符级方法来转换HTTP流量内容,并提出使用CNN算法的深度学习检测模型结构,他们专注于网页文件的动态流量特征,并在数据清理方面取得了进展;3、于力等提出了一个名为ShellBreaker的检测平台,他们提取了源代码和抽象语法树(AST)的八个新颖的句法和语义特征,然后,他们使用统计分类器分析特征,以获得较高的检测率,他们首先分析PHP文件的AST,然后将PHP文件视为编程代码,而不是常规的文本内容。
[0004]虽然将机器方法应用到入侵检测系统中已经取得了一定的效果,但是由于网络数据量的日益剧增和新的攻击层出不穷,入侵检测研究已经到达了一个瓶颈期,出现了众多较难解决的问题,如特征提取不合适,检测准确率较低,以及算法的复杂度较高等。
[0005]公开号为CN106572117A的专利文献公开了一种Webshell检测方法和装置,所述检测方法基于变量回溯和抽象语法树,针对目录中的多个文件进行Webshell检测,包括可疑文件筛选过程、特征匹配检测过程、抽象语法树分析检测过程、无关代码剔除过程和数学公式检测过程,输出确定的Webshell文件。检测装置包括:可疑文件筛选单元、特征匹配单元、抽象语法树检测分析单元、剔除无关代码单元和数学公式检测单元;通过这些单元实现对Webshell文件的检测。但是该专利文献仍然存在特征提取不合适,检测准确率较低,以及算法的复杂度较高的缺陷。

技术实现思路

[0006]针对现有技术中的缺陷,本专利技术的目的是提供一种Webshell检测方法及系统。
[0007]根据本专利技术提供的一种Webshell检测方法,包括如下步骤:
[0008]步骤1:检查收到的文件的类别,然后进行分类,得到PHP类型文件和JSP类型文件;
[0009]步骤2:分别对PHP类型文件和JSP类型文件进行特征提取,然后将提取的特征输入到机器学习模型中;
[0010]步骤3:机器学习模型对输入的特征进行判断,识别收到的文件是否为Webshell。
[0011]优选的,所述步骤1中,收到的文件是页面文件的源代码。
[0012]优选的,所述步骤2中,对于PHP文件,提取AST,将AST转换为相应的单词向量,并将其输入到机器学习模型中。
[0013]优选的,使用Word2vec处理算法获得相应的单词向量。
[0014]优选的,所述步骤2中,对于JSP文件,转换为servlet类的Java文件。
[0015]优选的,所述步骤2中,使用tomcat服务器将文件转换为servlet类的Java文件。
[0016]优选的,对转换后的Java文件,进行编译以读取类文件中的字节码。
[0017]优选的,所述步骤2中,提取Bytecode,使用TF

IDF处理算法进行处理。
[0018]优选的,所述步骤3中,机器学习算法模型判断后,检测系统将输出0或1,值0表示文件是普通文件,值1表示文件是Webshell。
[0019]本专利技术还提供一种Webshell检测系统,包括如下模块:
[0020]分类模块:检查收到的文件的类别,然后进行分类,得到PHP类型文件和JSP类型文件;
[0021]提取模块:分别对PHP类型文件和JSP类型文件进行特征提取,然后将提取的特征输入到机器学习模型中;
[0022]判断模块:机器学习模型对输入的特征进行判断,识别收到的文件是否为Webshell。
[0023]与现有技术相比,本专利技术具有如下的有益效果:
[0024]1、本专利技术适用于实际的应用的场景,解决了特征提取不合适,检测准确率较低,以及算法的复杂度较高等问题;
[0025]2、本专利技术从PHP文件的源代码中提取opcode和AST,并从JSP文件中提取bytecode,使用TF

IDF和Word2vec NLP处理算法将原始输入形成数值向量作为机器学习模型的最终输入,具有性能佳,准确率高的特点;
[0026]3、本专利技术能够达到98.82%的PHP Webshell检测准确率,JSP Webshell检测准确率达到98.51。
附图说明
[0027]通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:
[0028]图1是本专利技术对PHP和JSP类型的文件实施Webshell检测方法流程图;
[0029]图2是本专利技术实施例中JSP类型特征提取流程图。
具体实施方式
[0030]下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术
人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变化和改进。这些都属于本专利技术的保护范围。
[0031]实施例1:
[0032]如图1和图2所示,本专利技术提供的一种Webshell检测方法,包括如下步骤:
[0033]步骤1:检查收到的文件的类别,然后进行分类,得到PHP类型文件和JSP类型文件,收到的文件是页面文件的源代码;一些攻击者更改文件后缀以绕过文件上载的类型检查规则,比如将PHP文件的后缀更改为“php.txt”或“php.jpg”,使用Python脚本检查代码文件名,如果名称中包含“.php。”,但后缀名不是“.php”,则系统会将其视为PHP文件,对于以“jsp”,“jspx”和“jspf”结尾的文件,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Webshell检测方法,其特征在于,包括如下步骤:步骤1:检查收到的文件的类别,然后进行分类,得到PHP类型文件和JSP类型文件;步骤2:分别对PHP类型文件和JSP类型文件进行特征提取,然后将提取的特征输入到机器学习模型中;步骤3:机器学习模型对输入的特征进行判断,识别收到的文件是否为Webshell。2.根据权利要求1所述的Webshell检测方法,其特征在于,所述步骤1中,收到的文件是页面文件的源代码。3.根据权利要求1所述的Webshell检测方法,其特征在于,所述步骤2中,对于PHP文件,提取AST,将AST转换为相应的单词向量,并将其输入到机器学习模型中。4.根据权利要求3所述的Webshell检测方法,其特征在于,使用Word2vec处理算法获得相应的单词向量。5.根据权利要求1所述的Webshell检测方法,其特征在于,所述步骤2中,对于JSP文件,转换为servlet类的Java文件。6.根据权利要求5所述的Webshell检测方法,其特征...

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

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

1