一种恶意文件的检测方法及装置制造方法及图纸

技术编号:16102294 阅读:18 留言:0更新日期:2017-08-29 22:44
本申请涉及计算机技术,公开了一种恶意文件的检测方法及装置,用于提高WEBSHELL的检测准确性。该方法为:对关键参数设置污点标记,再以关键参数作为输入参数,执行目标脚本文件,以及通过对目标脚本文件中的关键函数进行Hook,判断关键函数执行过程中是否使用到了设置了污点标记的关键参数,从而判断目标脚本文件中是否存在变形WEBSHELL,这样,便从WEBSHELL的本质出发,抓住了WEBSHELL的运行关键点,无论WEBSHEL如何变形,均可以准确地检测出WEBSHELL,有效地提高了检测精准度及检测效率,避免了漏检及误报,同时,也降低了检测复杂度以及降低了后期运维成本。

【技术实现步骤摘要】
一种恶意文件的检测方法及装置
本申请涉及计算机技术,特别涉及一种恶意文件的检测方法及装置。
技术介绍
超文本预处理器(HypertextPreprocessor,PHP)语言是一种弱类型编程语言,支持大量的灵活语法格式,熟练掌握PHP编程语言的恶意攻击者可以通过充分利用PHP的语言特性,编写出大量的网页后门(WEBSHELL)文件对目标脚本文件进行攻击。现有技术下,通常是由云服务器在主机层面采用WEBSHELL检测引擎对WEBSHELL进行检测,而WEBSHELL检测引擎的运行原理是基于预设的字符串、正则规则对目标脚本文件进行排查,判断其中是否包含有WEBSHELL。然而,无论是字符串还是正则规则,其配置方式过多地依赖于管理人员对PHP语言本身以及WEBSHELL变形方式的理解,存在一定的主观性,因而,WEBSHELL检测引擎在采用预设的字符串和正则规则进行WEBSHELL排查时,并不能覆盖到所有类型的WEBSHELL,存在一定程序的漏检。另一方面,目前还大量存在“绕过”技术,即通过特殊的语法构造,躲过WEBSHELL检测引擎的检测,这也会造成WEBSHELL检测引擎的漏检。由此可见,现有技术下,WEBSHELL检测引擎的检测准确性并不高,需要进行优化。
技术实现思路
本申请实施例提供一种恶意文件检测方法及装置,用于提高WEBSHELL的检测准确性。本申请实施例提供的具体的技术方案如下:一种恶意文件的检测方法,包括:将所述第一参数集合作为输入参数,执行指定的目标脚本文件;当确定目标脚本文件在执行所述第一函数集合中的任意一个函数的过程中,使用了所述第一参数集合中的任意一个参数时,判定所述目标脚本文件为恶意文件;其中,所述第一参数集合中记录的每一个参数均被设置污点标记,所述第一函数集合中记录的每一个函数均为脚本文件运行过程中能够使用的命令函数。较佳的,所述第一参数集合中记录的参数为超全局变量。较佳的,将所述第一参数集合作为输入参数,执行指定的目标脚本文件之前,进一步包括:基于所述第一函数集合中的每一个函数,将待测试的目标脚本文件中对应的函数插入Hook检测代码。较佳的,执行指定的目标脚本文件之前,进一步包含:将所述目标脚本文件与预设的第一白名单及第一黑名单进行匹配,判定所述目标脚本文件未记录在所述第一白名单及第一黑名单时,确定能够执行所述目标脚本文件。较佳的,执行指定的目标脚本文件之前,进一步执行以下操作中的一种或任意组合:将目标脚本文件与预设的第一一句话WEBSHELL集合进行匹配,判定未匹配成功时,确定能够执行所述目标脚本文件,其中,所述第一一句话WEBSHELL集合用于描述恶意程序的模式特征;或者,将目标脚本文件与对应所述目标脚本文件预设的第一多模正则规则集合进行匹配,判定未匹配成功时,确定能够执行所述目标脚本文件,其中,第二多模正则规则集合用于描述恶意程序的内容特征;或者,采用模糊化哈希算法对目标脚本文件进行处理,将处理后的目标脚本文件与预设的第一大马恶意样本集合进行匹配,判定未匹配成功时,确定能够执行所述目标脚本文件,其中,所述第一大马恶意样本集合为具有完备功能的恶意脚本文件集合。较佳的,所述方法应用于客户端侧或者云服务器侧。较佳的,若所述方法应用于客户端侧,则判定目标脚本文件不为恶意文件后,进一步包括:将目标脚本文件的相关信息上报至云服务器,触发云服务器执行以下操作中的一种或任意组合:将目标脚本文件与预设的第二一句话WEBSHELL集合进行匹配,判定匹配成功时,确定所述目标脚本文件为恶意文件;其中,所述第二一句话WEBSHELL集合用于描述恶意程序的型号特征;或者,将目标脚本文件与对应所述目标脚本文件预设的第二多模正则规则集合进行匹配,判定匹配成功时,确定所述目标脚本文件为恶意文件,其中,所述第二多模正则规则集合用于描述恶意程序的内容特征;或者,采用模糊化哈希算法对目标脚本文件进行处理,将处理后的目标脚本文件与预设的第二大马恶意样本集合进行匹配,判定匹配成功时,确定所述目标脚本文件为恶意文件,其中,所述第二大马恶意样本集合为具有完备功能的恶意脚本文件集合。较佳的,若所述方法应用于客户端侧,则判定目标脚本文件不为恶意文件后,进一步包括:将目标脚本文件的相关信息上报至云服务器,触发云服务器执行以下操作:将第二参数集合作为输入参数,执行所述目标脚本文件;确定所述目标脚本文件在执行所述第二函数集合中的任意一个函数的过程中,使用了所述第二参数集合中的任意一个参数时,确定所述目标脚本文件为恶意文件;其中,所述第二参数集合中记录的每一个参数均被设置污点标记,所述第二函数集合中记录的每一个函数均为脚本文件运行过程中能够使用的命令函数。一种恶意文件的检测装置,包括:执行单元,用于将所述第一参数集合作为输入参数,执行指定的目标脚本文件;判定单元,用于当确定目标脚本文件在执行所述第一函数集合中的任意一个函数的过程中,使用了所述第一参数集合中的任意一个参数时,判定所述目标脚本文件为恶意文件;其中,所述第一参数集合中记录的每一个参数均被设置污点标记,所述第一函数集合中记录的每一个函数均为脚本文件运行过程中能够使用的命令函数。较佳的,所述第一参数集合中记录的参数为超全局变量。较佳的,将所述第一参数集合作为输入参数,执行指定的目标脚本文件之前,所述执行单元进一步用于:基于所述第一函数集合中的每一个函数,将待测试的目标脚本文件中对应的函数插入Hook检测代码。较佳的,执行指定的目标脚本文件之前,所述执行单元进一步用于:将所述目标脚本文件与预设的第一白名单及第一黑名单进行匹配,判定所述目标脚本文件未记录在所述第一白名单及第一黑名单时,确定能够执行所述目标脚本文件。较佳的,执行指定的目标脚本文件之前,所述执行单元进一步执行操作中的一种或任意组合:将目标脚本文件与预设的第一一句话WEBSHELL集合进行匹配,判定未匹配成功时,确定能够执行所述目标脚本文件,其中,所述第一一句话WEBSHELL集合用于描述恶意程序的模式特征;或者,将目标脚本文件与对应所述目标脚本文件预设的第一多模正则规则集合进行匹配,判定未匹配成功时,确定能够执行所述目标脚本文件,其中,第二多模正则规则集合用于描述恶意程序的内容特征;或者,采用模糊化哈希算法对目标脚本文件进行处理,将处理后的目标脚本文件与预设的第一大马恶意样本集合进行匹配,判定未匹配成功时,确定能够执行所述目标脚本文件,其中,所述第一大马恶意样本集合为具有完备功能的恶意脚本文件集合。较佳的,所述测试装置为客户端,或者,为云服务器。较佳的,若所述装置为客户端,则所述判定单元判定目标脚本文件不为恶意文件后,所述执行单元进一步用于:将目标脚本文件的相关信息上报至云服务器,触发云服务器执行以下操作中的一种或任意组合:将目标脚本文件与预设的第二一句话WEBSHELL集合进行匹配,判定匹配成功时,确定所述目标脚本文件为恶意文件;其中,所述第二一句话WEBSHELL集合用于描述恶意程序的型号特征;或者,将目标脚本文件与对应所述目标脚本文件预设的第二多模正则规则集合进行匹配,判定匹配成功时,确定所述目标脚本文件为恶意文件,其中,所述第二多模正则规则集合用于描述恶意程序的内容特征;或者,采用本文档来自技高网...
一种恶意文件的检测方法及装置

【技术保护点】
一种恶意文件的检测方法,其特征在于,包括:将所述第一参数集合作为输入参数,执行指定的目标脚本文件;当确定目标脚本文件在执行所述第一函数集合中的任意一个函数的过程中,使用了所述第一参数集合中的任意一个参数时,判定所述目标脚本文件为恶意文件;其中,所述第一参数集合中记录的每一个参数均被设置污点标记,所述第一函数集合中记录的每一个函数均为脚本文件运行过程中能够使用的命令函数。

【技术特征摘要】
1.一种恶意文件的检测方法,其特征在于,包括:将所述第一参数集合作为输入参数,执行指定的目标脚本文件;当确定目标脚本文件在执行所述第一函数集合中的任意一个函数的过程中,使用了所述第一参数集合中的任意一个参数时,判定所述目标脚本文件为恶意文件;其中,所述第一参数集合中记录的每一个参数均被设置污点标记,所述第一函数集合中记录的每一个函数均为脚本文件运行过程中能够使用的命令函数。2.如权利要求1所述的方法,其特征在于,所述第一参数集合中记录的参数为超全局变量。3.如权利要求1所述的方法,其特征在于,将所述第一参数集合作为输入参数,执行指定的目标脚本文件之前,进一步包括:基于所述第一函数集合中的每一个函数,将待测试的目标脚本文件中对应的函数插入Hook检测代码。4.如权利要求1、2或3所述的方法,其特征在于,执行指定的目标脚本文件之前,进一步包含:将所述目标脚本文件与预设的第一白名单及第一黑名单进行匹配,判定所述目标脚本文件未记录在所述第一白名单及第一黑名单时,确定能够执行所述目标脚本文件。5.如权利要求1、2或3所述的方法,其特征在于,执行指定的目标脚本文件之前,进一步执行以下操作中的一种或任意组合:将目标脚本文件与预设的第一一句话WEBSHELL集合进行匹配,判定未匹配成功时,确定能够执行所述目标脚本文件,其中,所述第一一句话WEBSHELL集合用于描述恶意程序的模式特征;或者,将目标脚本文件与对应所述目标脚本文件预设的第一多模正则规则集合进行匹配,判定未匹配成功时,确定能够执行所述目标脚本文件,其中,第二多模正则规则集合用于描述恶意程序的内容特征;或者,采用模糊化哈希算法对目标脚本文件进行处理,将处理后的目标脚本文件与预设的第一大马恶意样本集合进行匹配,判定未匹配成功时,确定能够执行所述目标脚本文件,其中,所述第一大马恶意样本集合为具有完备功能的恶意脚本文件集合。6.如权利要求1-5任一项所述的方法,其特征在于,所述方法应用于客户端侧或者云服务器侧。7.如权利要求6所述的方法,其特征在于,若所述方法应用于客户端侧,则判定目标脚本文件不为恶意文件后,进一步包括:将目标脚本文件的相关信息上报至云服务器,触发云服务器执行以下操作中的一种或任意组合:将目标脚本文件与预设的第二一句话WEBSHELL集合进行匹配,判定匹配成功时,确定所述目标脚本文件为恶意文件;其中,所述第二一句话WEBSHELL集合用于描述恶意程序的型号特征;或者,将目标脚本文件与对应所述目标脚本文件预设的第二多模正则规则集合进行匹配,判定匹配成功时,确定所述目标脚本文件为恶意文件,其中,所述第二多模正则规则集合用于描述恶意程序的内容特征;或者,采用模糊化哈希算法对目标脚本文件进行处理,将处理后的目标脚本文件与预设的第二大马恶意样本集合进行匹配,判定匹配成功时,确定所述目标脚本文件为恶意文件,其中,所述第二大马恶意样本集合为具有完备功能的恶意脚本文件集合。8.如权利要求6所述的方法,其特征在于,若所述方法应用于客户端侧,则判定目标脚本文件不为恶意文件后,进一步包括:将目标脚本文件的相关信息上报至云服务器,触发云服务器执行以下操作:将第二参数集合作为输入参数,执行所述目标脚本文件;确定所述目标脚本文件在执行所述第二函数集合中的任意一个函数的过程中,使用了所述第二参数集合中的任意一个参数时,确定所述目标脚本文件为恶意文件;其中,所述第二参数集合中记录的每一个参数均被设置污点标记,所述第二函数集合中记录的每一个函数均为脚本文件运行过程中能够使用的命令函数。9.一种恶意文件的检测装置,其特征在于,包括:执行单元,用于将...

【专利技术属性】
技术研发人员:郑瀚
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1