基于云的webshell攻击检测方法、装置及网关的制作方法

文档序号:9380243阅读:434来源:国知局
基于云的webshell攻击检测方法、装置及网关的制作方法
【技术领域】
[0001]本发明涉及互联网技术领域,尤其涉及一种基于云的webshell攻击检测方法、装置及网关。
【背景技术】
[0002]webshell 是一种以 asp(active server pages,动态服务器页面)、php (hypertextpreprocessor,超文本预处理器)、jsp (java server pages,java服务器页面)或者cgi (common gateway interface,公共网关接口)等网页文件形式存在的命令执行环境。由于webshell是一种网页后门,所以就成为黑客入侵网站服务器的脚本攻击工具。在实际应用中,黑客在入侵了一个网站后,通常会将这些asp或php等后门文件与网站服务器web目录下正常的网页文件混在一起,然后通过浏览器来访问这些asp或php等后门文件,从而控制网站服务器。
[0003]因此,防护webshell攻击对于网站安全十分重要。在现有的webshell攻击检测技术中,网关在获得外部发送给网站服务器的脚本文件后,通过检测脚本文件中是否存在基本攻击特征来确定是否有webshell攻击。然而,黑客们为了避免webshell攻击被检测出来,编写出许多特征变形的webshe 11攻击方法。例如,在一些特征字符串中添加“ % ”、“ * ”等其他非字母符号,以使得该特征字符串变成一个新的自定义的字符串。在这种情况下,由于webshell攻击的基本攻击特征已被打乱,所以很难根据基本攻击特征将其检测出来,从而webshell攻击的检测成为如今一大难题。

【发明内容】

[0004]有鉴于此,本发明提供一种基于云的webshell攻击检测方法、装置及网关,能够解决现有技术中难以识别变形webshell攻击的问题。
[0005]第一方面,本发明提供了一种基于云的webshell攻击检测方法,所述方法包括:
[0006]截获向网站服务器发送的脚本文件;
[0007]基于云平台检测所述脚本文件中是否存在预设的特征变形痕迹,所述特征变形痕迹为对所述脚本文件中的特征语句进行形式改动所产生的痕迹;
[0008]若所述脚本文件中存在所述特征变形痕迹,则根据预设的还原规则对改动过的特征语句进行还原,所述还原规则为特征变形规则的逆规则;
[0009]检测还原后的特征语句是否与预设的基本特征语句相同,所述基本特征语句为攻击敏感语句;
[0010]若所述还原后的特征语句与所述基本特征语句相同,则确定所述脚本文件为webshell攻击文件。
[0011]第二方面,本发明提供了一种基于云的webshell攻击检测装置,所述装置包括:
[0012]截获单元,用于截获向网站服务器发送的脚本文件;
[0013]检测单元,用于基于云平台检测所述截获单元截获的所述脚本文件中是否存在预设的特征变形痕迹,所述特征变形痕迹为对所述脚本文件中的特征语句进行形式改动所产生的痕迹;
[0014]还原单元,用于当所述检测单元检测到所述脚本文件中存在所述特征变形痕迹时,根据预设的还原规则对改动过的特征语句进行还原,所述还原规则为特征变形规则的逆规则;
[0015]所述检测单元,还用于检测所述还原单元还原后的特征语句是否与预设的基本特征语句相同,所述基本特征语句为攻击敏感语句;
[0016]确定单元,用于当所述检测单元检测到所述还原后的特征语句与所述基本特征语句相同时,确定所述脚本文件为webshell攻击文件。
[0017]第三方面,本发明提供了一种基于云的webshell攻击检测网关,所述网关包括如第二方面所述的装置。
[0018]借由上述技术方案,本发明提供的基于云的webshell攻击检测方法、装置及网关,能够在外部向网站服务器发送脚本文件时,截获该脚本文件,并基于云平台先对该脚本文件进行特征变形痕迹的检测,再将改动过的特征语句进行还原,最后将还原后的特征语句与基本特征语句进行比较,若相同,则判定该脚本文件为webshell攻击文件。与现有技术中仅进行基本特征语句的检测方法相比,本发明通过先将改动后的特征语句进行还原,使得被打乱的特征语句还原为原有的特征语句,再与基本特征语句进行比对,使得隐藏在脚本文件中的基本特征语句被检测出来,从而确定该脚本文件为webshell攻击文件。
[0019]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0020]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0021]图1示出了本发明实施例提供的一种基于云的webshell攻击检测方法的流程图;
[0022]图2示出了本发明实施例提供的一种基于云的webshell攻击检测装置的组成框图;
[0023]图3示出了本发明实施例提供的另一种基于云的webshell攻击检测装置的组成框图。
【具体实施方式】
[0024]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0025]本发明实施例提供了一种基于云的webshell攻击检测方法,如图1所示,该方法包括:
[0026]101、截获向网站服务器发送的脚本文件。
[0027]当外部(包括一般用户、黑客等)向网站服务器发送脚本文件时,需要经过网关,因此当该脚本文件到达网关时,网关可以对该脚本文件进行截获,以便对该脚本文件进行安全性的检测,从而保证达到网站服务器侧的脚本文件是安全的。
[0028]需要说明的是,上述脚本文件可以为asp(active server pages,动态服务器页面)文件、php (hypertext preprocessor,超文本预处理器)文件、jsp (java server pages,java服务器页面)文件、cgi (common gateway interface,公共网关接口)文件,或者其他格式的网页文件。
[0029]102、基于云平台检测脚本文件中是否存在预设的特征变形痕迹。
[0030]其中,特征变形痕迹为对脚本文件中的特征语句进行形式改动所产生的痕迹。特征语句可以为位于典型位置上的语句,例如含有函数的语句,也可以为具有其他特征的语句,还可以泛指可执行的代码语句。
[0031]具体的,特征变形痕迹可以为以下一个或任意多个的组合:注释语句、变量赋值字符、预设特征字符和预设特征函数名。若特征变形痕迹仅包括一项内容(如仅包括预设特征函数名),则网关仅对脚本文件进行该项内容的检测;若特征变形痕迹包括至少两项内容,则网关会分别对脚本文件进行每一项内容的检测。在实际应用中,网关可以根据预设检测顺序依次对脚本文件进行特征变形痕迹中所有内容的检测,也可以同时对脚本文件进行所有内容的检测。
[0032]需要说明的是,本步骤中提及的基于云平台主要是指网关需要先从云平台侧获取最新的特征变形痕迹、还原规则和基本特征语句,才可以对脚本文件进行检测。其中,最新的特征变形痕迹、还原规则和基本特征语句的获取方式可以为直接从云平台获取,也可以为通过云平台对本地的特征变形痕迹、还原规则和基本特征语句进行更新,其具体获取方式在此不作限定。
[0033]103、若脚本文件中存在特征变形痕迹,则根据预设的还原规则对改动过的特征语句进行还原。
[0034]其中,还原规则为特征变形规则的逆规则。当网关检测到脚本文件中存在特征变形痕迹时,说明特征语句已经按照预设的特征变形规则进行了改动。此时,网关按照特征变形规则的逆规则(还原规则)即可将改动过的特征语句进行还原,从而得到原始(改动前)的特征语句,以便进行后续步骤104、105的操作。
[0035]例如,网关检测到一条语句为“e/*aaaa*/val($_P0ST[ ‘a’ ]); ”,通过与预设的特征变形痕迹相匹配,可知该语句中存在一种特征变形痕迹,即注释语句。该特征变形的规则为在语句中添加注释语句,因此该特征变形规则的逆规则(还原规则)为删除添加的注释语句。
[0036]104、检测还原后的特征语句是否与预设的基本特征语句相同。
[0037]其中,基本特征语句为攻击敏感语句,即由编程
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1