监控跨站脚本攻击的方法、装置及系统的制作方法

文档序号:6401338阅读:174来源:国知局
专利名称:监控跨站脚本攻击的方法、装置及系统的制作方法
技术领域
本发明涉及通信安全技术,尤其涉及一种监控跨站脚本(XSS,Cross SiteScripting)攻击的方法、装置及系统。
背景技术
随着计算机技术的发展,通过计算机连通互联网网站,从网站的网页中获取相关技术资料、进行网上通信已经成为用户日常生活中必不可少的方式。但由于计算机通信中存在的安全漏洞,互联网在给用户带来无限便利的同时,也带来了很多意想不到的烦恼,例如,用户数据库被泄露、用户资料被放到网上公开下载,包含用户信息的储值卡号、银行账户号、网络账户号被非法用户窃取,导致用户合法权益受到损害。XSS是一种经常出现在web应用中的计算机安全漏洞。具体来说,由于XSS允许用户将代码植入到提供给其它用户使用的网站页面中,使得恶意用户(攻击者)通过代码植入方式,可以修改网站页面内容,甚至盗用用户的身份发表非法文章等一系列操作。因此,只要互联网网站的页面中设置有用于用户输入显示的部分,例如,设置有用于用户输入显示的博客、微博、论坛、网站新闻、点评、分享等,都存在被XSS攻击的风险。下面对XSS攻击进行简要说明。XSS攻击的一般步骤如下:首先,非法用户生成XSS攻击代码,通过ASCII编码、十六进制的hex编码或浏览器漏洞等方式,避免被网站预先设置的过滤机制过滤,将攻击代码植入到网站页面中用户输入显示的位置;接着,用户浏览网站,在页面中用户输入显示的位置进行操作,触发植入网站的攻击代码在网页上进行显示,攻击代码通过层叠样式表(CSS, Cascading Style S heet)、图像(img)标签、点击(onclick)事件等浏览器内置的机制,注入外网站非法代码;然后,非法用户利用注入的外网站非法代码,在被攻击的网页中,进行非法操作,例如,修改网站、操控用户行为、盗取用户信息等,从而达到攻击效果。由上述可见,为了保障用户的合法权益以及用户通信的安全性,现有网站监控XSS攻击的方法,主要通过在网站内预先设置过滤机制,对一些攻击代码进行过滤,但由于XSS攻击代码可以通过ASCII编码、浏览器漏洞或网站代码漏洞等方式绕过过滤机制,对合法用户进行攻击,使得通信的安全性较低,不能保障用户和网站的合法权益。例如,当被攻击的用户范围较小、用户数量较少时,由于网站数据无明显异常,网站管理者根本无从察觉,直到XSS攻击造成的影响和损失足以达到引起网站数据出现异常变化时,才可能通过网站管理者的分析和维护,将该XSS攻击代码置入过滤机制中,从而阻止后续的XSS攻击。但在监测到XSS攻击代码之前,XSS攻击造成的损失已经较大,因而,无论网站管理者采取何种措施,对用户的影响和损失都无法消除,从而影响了用户的通信业务体验,甚至会对没有数据备份回滚的网站造成难以挽回的损失。

发明内容
本发明的实施例提供一种监控跨站脚本攻击的方法,提高通信的安全性。
本发明的实施例还提供一种监控跨站脚本攻击的装置,提高通信的安全性。本发明的实施例还提供一种监控跨站脚本攻击的系统,提高通信的安全性。为达到上述目的,本发明实施例提供的一种监控跨站脚本攻击的方法,预先在网站中设置包含可信脚本路径信息的白名单以及加载用于脚本路径信息搜索的监测脚本,该方法包括:接收网站根据监测脚本搜索得到、且通过白名单过滤后发送的脚本路径信息,对脚本路径信息进行归类统计;按照预先设置的疑似策略,对归类统计的脚本路径信息进行疑似分析,获取非跨站脚本攻击的脚本路径信息,根据获取的信息更新网站中设置的白名单。其中,所述加载用于脚本路径信息搜索的监测脚本包括:网站接收服务器下发的用于脚本路径信息搜索的监测脚本;获取网站网页中用户输入显示的位置脚本信息,在获取的位置脚本信息前加载监测脚本。其中,所述接收网站根据监测脚本搜索得到、且通过白名单过滤后发送的脚本路径信息包括:加载的监测脚本按照预先设置的时间周期,搜索网站页面中加载的脚本路径信息;查询搜索得到的脚本路径信息是否在白名单中,如果是,不作处理,否则,将搜索得到的脚本路径信息输出至服务器。其中,所述对脚本路径信息进行归类统计包括:获取脚本路径信息中包含的域名信息,为每一域名构建域名日志文件并设置计数器;将包含相同域名信息的脚本路径信息置入同一域名日志文件中,触发计数器计数,分别记录脚本路径信息对应的网站发送时间信息以及网站页面地址信息。其中,在所述接收到网站发送的脚本路径信息之后,对脚本路径信息进行归类统计之前,所述方法进一步包括:预先在服务器中设置第二白名单;接收网站发送的脚本路径信息,查询接收的脚本路径信息是否在第二白名单中,如果是,不作处理,否则,执行对脚本路径信息进行归类统计的步骤。其中,所述按照预先设置的疑似策略,对归类统计的脚本路径信息进行疑似分析,获取非跨站脚本攻击的脚本路径信息包括:在预先设置的时间周期内,获取各域名对应的计数值;选取计数值超过预先设置的计数阈值的域名对应的域名日志文件;按照网站发送时间,对选取的域名日志文件中的脚本路径信息进行排序;获取网站发送时间最早的脚本路径信息,提取脚本路径信息中包含的属性信息;根据提取的属性信息确定脚本路径信息是否为非跨站脚本攻击的脚本路径信息。其中,所述按照预先设置的疑似策略,对归类统计的脚本路径信息进行疑似分析,获取非跨站脚本攻击的脚本路径信息包括: 对预先设置的时间周期进行子周期划分,获取各子周期内域名对应的计数值;
在预先设置的时间周期内,计算当前子周期的计数值与上一子周期的计数值的比值,选取比值超过预先设置的比值阈值的域名对应的域名日志文件;按照网站发送时间,对选取的域名日志文件中的脚本路径信息进行排序;获取网站发送时间最早的脚本路径信息,提取脚本路径信息中包含的属性信息;根据提取的属性信息确定脚本路径信息是否为非跨站脚本攻击的脚本路径信息。其中,所述属性信息包括:域名信息、脚本源注入点信息、脚本数量爆发点信息、脚本传播路径信息以及脚本传播方式信息。其中,在所述对归类统计的脚本路径信息进行疑似分析后,所述方法进一步包括:获取跨站脚本攻击的脚本路径信息,更新网站入口处设置的黑名单;网站入口接收脚本路径信息,查询黑名单,如果接收的脚本路径信息在黑名单中,拒绝接收脚本路径信息,否则,输出并加载至网站页面中。一种监控跨站脚本攻击的装置,该装置包括:脚本归类统计模块、分析模块以及更新模块,其中,脚本归类统计模块,用于接收网站根据监测脚本搜索得到、且通过白名单过滤后发送的脚本路径信息,对脚本路径信息进行归类统计;分析模块,用于按照预先设置的疑似策略,对归类统计的脚本路径信息进行疑似分析,获取非跨站脚本攻击的脚本路径信息;

更新模块,用于根据分析模块获取的非跨站脚本攻击的脚本路径信息,更新网站中设置的白名单。较佳地,所述脚本归类统计模块包括:接收单元、日志文件构建单元以及计数器,其中,接收单元,用于接收网站根据监测脚本搜索得到、且通过白名单过滤后发送的脚本路径信息,输出至日志文件构建单元;日志文件构建单元,用于接收脚本路径信息,将包含相同域名信息的脚本路径信息置入预先构建的同一域名日志文件中,分别记录脚本路径信息对应的网站发送时间信息以及网站页面地址信息,触发计数器计数。较佳地,所述脚本归类统计模块进一步包括:白名单过滤单元,用于根据接收单元输出的脚本路径信息,查询接收的脚本路径信息是否在预先设置的第二白名单中,如果是,不作处理,否则,将接收的脚本路径信息输出至日志文件构建单元。较佳地,所述分析模块包括:计数值获取单元、域名日志文件选取单元、排序单元、属性信息提取单元以及分析单元,其中,计数值获取单元,用于在预先设置的时间周期到时,获取计数器中各域名对应的计数值,输出至域名日志文件选取单元;域名日志文件选取单元,用于从日志文件构建单元中,选取计数值超过预先设置的计数阈值的域名对应的域名日志文件,输出至排序单元;排序单元,用于按照网站发送时间,对选取的域名日志文件中的脚本路径信息进行排序;
属性信息提取单元,用于从排序单元中,获取网站发送时间最早的脚本路径信息,提取脚本路径信息中包含的属性信息,输出至分析单元;分析单元,用于根据提取的属性信息确定脚本路径信息是否为非跨站脚本攻击的脚本路径信息。较佳地,所述分析模块包括:子周期计数值获取单元、域名日志文件选取单元、排序单元、属性信息提取单元以及分析单元,其中,子周期计数值获取单元,用于对预先设置的时间周期进行子周期划分,获取各子周期内域名对应的计数值;
域名日志文件选取单元,用于在预先设置的时间周期内,计算当前子周期的计数值与上一子周期的计数值的比值,选取比值超过预先设置的比值阈值的域名对应的域名日志文件;排序单元,用于按照网站发送时间,对选取的域名日志文件中的脚本路径信息进行排序;属性信息提取单元,用于从排序单元中,获取网站发送时间最早的脚本路径信息,提取脚本路径信息中包含的属性信息,输出至分析单元;分析单元,用于根据提取的属性信息确定脚本路径信息是否为非跨站脚本攻击的脚本路径信息。较佳地,进一步包括:黑名单更新模块,用于根据分析单元分析得到的跨站脚本攻击的脚本路径信息,更新网站入口处设置的黑名单。一种监控跨站脚本攻击的系统,该系统包括:网站设备以及服务器,其中,网站设备,用于预先设置包含可信脚本路径信息的白名单以及加载用于脚本路径信息搜索的监测脚本;按照预先设置的时间周期,触发加载的监测脚本搜索网站设备页面中加载的脚本路径信息;查询搜索得到的脚本路径信息是否在白名单中,如果是,不作处理,否则,将搜索得到的脚本路径信息输出至服务器;服务器,用于接收网站设备输出的脚本路径信息,对脚本路径信息进行归类统计;按照预先设置的疑似策略,对归类统计的脚本路径信息进行疑似分析,获取非跨站脚本攻击的脚本路径信息,根据获取的信息更新网站设备中设置的白名单。较佳地,所述网站设备包括:接收模块、白名单过滤模块以及监测脚本模块,其中,接收模块,用于接收服务器下发的用于脚本路径信息搜索的监测脚本,输出至监测脚本模块;接收服务器下发的白名单信息,输出至白名单过滤模块;监测脚本模块,用于接收服务器下发的监测脚本,获取网站设备网页中用户输入显示的位置脚本信息,在获取的位置脚本信息前加载监测脚本;按照预先设置的时间周期,触发加载的监测脚本搜索网站设备页面中加载的脚本路径信息,输出至白名单过滤模块;白名单过滤模块,用于接收服务器下发的白名单信息,更新存储的白名单信息;接收监测脚本模块输出的脚本路径信息,查询接收的脚本路径信息是否在白名单中,如果是,不作处理,否则,将接收的脚本路径信息输出至服务器。较佳地,所述网站设备进一步包括:黑名单过滤模块,用于接收服务器下发的黑名单信息,更新存储的黑名单信息;接收外部输入网站设备的脚本路径信息,查询接收的脚本路径信息是否在黑名单中,如果是,拒绝接收脚本路径信息,否则,将接收的脚本路径信息输入网站设备。较佳地,所述服务器包括:脚本归类统计模块、分析模块以及更新模块,其中,脚本归类统计模块,用于接收网站根据监测脚本搜索得到、且通过白名单过滤后发送的脚本路径信息,对脚本路径信息进行归类统计;分析模块,用于按照预先设置的疑似策略,对归类统计的脚本路径信息进行疑似分析,获取非跨站脚本攻击的脚本路径信息;更新模块,用于根据分析模块获取的非跨站脚本攻击的脚本路径信息,更新网站中设置的白名单。较佳地 ,所述服务器进一步包括:黑名单更新模块,用于根据分析单元分析得到的跨站脚本攻击的脚本路径信息,更新网站入口处设置的黑名单。由上述技术方案可见,本发明实施例提供的一种监控跨站脚本攻击的方法、装置及系统,预先在网站中设置包含可信脚本路径信息的白名单以及加载用于脚本路径信息搜索的监测脚本;接收网站根据监测脚本搜索得到、且通过白名单过滤后发送的脚本路径信息,对脚本路径信息进行归类统计;按照预先设置的疑似策略,对归类统计的脚本路径信息进行疑似分析,获取非跨站脚本攻击的脚本路径信息,根据获取的信息更新网站中设置的白名单。这样,通过在网站中加载用于脚本路径信息搜索的监测脚本,搜索网站页面中加载的脚本路径信息,并与设置的白名单进行匹配,对于不在白名单中的脚本路径信息,输出至服务器进行进一步分析,可以及时发现XSS攻击,便于及时处理,有效防止XSS攻击对网站和用户造成的损失,提高通信的安全性。


为了更清楚地说明本发明实施例或现有技术中的技术方案,以下将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,以下描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员而言,还可以根据这些附图所示实施例得到其它的实施例及其附图。图1为本发明实施例监控跨站脚本攻击的方法流程示意图。图2为本发明实施例监控跨站脚本攻击的装置结构示意图。图3为本发明实施例监控跨站脚本攻击的系统结构示意图。
具体实施例方式以下将结合附图对本发明各实施例的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。现有监控XSS攻击的方法,主要通过在网站内预先设置过滤机制,对一些攻击代码进行过滤,对于通过ASCII编码、浏览器漏洞或网站代码漏洞等方式绕过过滤机制的XSS攻击代码,需要在XSS攻击造成的影响和损失较大,或网站数据出现异常变化时才被拦截和处理,通信的安全性较低;进一步地,XSS攻击对用户和网站的影响和损失无法消除,从而影响用户的通信业务体验。非法用户生成XSS攻击代码并绕过网站的过滤机之后,将XSS攻击代码以脚本方式加载(植入)到网站页面中用户输入显示的位置,在用户对输入显示的位置进行操作时,触发XSS攻击代码攻击合法用户。本发明实施例中,考虑在用户输入显示的位置设置监测脚本,获取用户输入显示的位置加载的脚本进行安全性分析,从而在确定加载的脚本为非法脚本后,对该非法脚本进行过滤,确保及时监测XSS攻击。可以有效提高通信的安全性,降低非法脚本对用户和网站的影响及损失。图1为本发明实施例监控跨站脚本攻击的方法流程示意图。参见图1,该流程包括:步骤101,预先在网站中设置包含可信脚本路径信息的白名单以及加载用于脚本路径信息搜索的监测脚本;本步骤中,在各网站中,设置包含可信脚本路径信息的白名单,用于对网站页面中加载的脚本路径信息进行监控。本发明实施例中,包含可信脚本路径信息的白名单由与网站相连的服务器下发,并可由服务器进行更新。这样,由于XSS攻击可以针对各种网站,通过设置服务器,可以对该服务器所属的所有网站进行XSS攻击监测,可以避免网站管理者只对自身管理的网站进行XSS攻击监测,有效提高 了监测效率。加载用于脚本路径信息搜索的监测脚本包括:All,网站接收服务器下发的用于脚本路径信息搜索的监测脚本;本步骤中,监测脚本为javascript脚本。服务器向与自身连接的所有网站分别下发一份监测脚本。A12,获取网站网页中用户输入显示的位置脚本信息,在获取的位置脚本信息前加载监测脚本。本步骤中,在网站网页中所有可能出现用户输入显示的位置对应的位置脚本信息之前,即位置脚本信息的起始位置,加载服务器下发的用于脚本路径信息搜索的javascript脚本,从而可以搜索加载在用户输入显示的位置处的所有脚本路径信息。步骤102,接收网站根据监测脚本搜索得到、且通过白名单过滤后发送的脚本路径信息,对脚本路径信息进行归类统计;本步骤中,接收网站根据监测脚本搜索得到、且通过白名单过滤后发送的脚本路径信息包括:A21,加载的监测脚本按照预先设置的时间周期,搜索网站页面中加载的脚本路径
信息;本步骤中,页面中加载的脚本路径信息为Javascript脚本路径信息。预先设置的时间周期可以由服务器根据实际需要确定,例如,可以每隔很小的一段时间(一天或一周),搜索一次网站各页面用户输入显示的位置处加载的javascript脚本路径信息。A22,查询搜索得到的脚本路径信息是否在白名单中,如果是,不作处理,否则,将搜索得到的脚本路径信息输出至服务器。本步骤中,如果搜索得到的脚本路径信息与白名单中的可信脚本路径信息相一致,表明该搜索得到的脚本路径信息为可信脚本路径信息,则无需处理,等待下一次时间周期到时,重新进行搜索;如果搜索得到的脚本路径信息与白名单中的可信脚本路径信息不一致,表明该搜索得到的脚本路径信息是否可信还未确定,需要输出至服务器作进一步的处理。关于脚本路径信息包含的详细内容及数据结构,具体可参见相关技术文献,在此不再赘述。服务器在接收到javascript脚本路径信息,进行存储。对脚本路径信息进行归类统计包括:A31,获取脚本路径信息中包含的域名信息,为每一域名构建域名日志文件并设置计数器;本步骤中,每一域名分别对应一个域名日志文件以及一个计数器。A32,将包含相同域名信息的脚本路径信息置入同一域名日志文件中,触发计数器计数,分别记录脚本路径信息对应的网站发送时间信息以及网站页面地址信息。本步骤中,将包含相同域名信息的每一脚本路径信息置入对应的域名日志文件时,触发该域名日志文件对应的计数器执行加I操作,即对各网站页面发送的相同脚本路径信息进行计数。实际应用中,由于服务器在将白名单发送至网站的过程中,存在数据丢失的可能,使得网站中的白名单与服务器设置的白名单不一致,使得服务器对脚本路径信息进行归类统计所需的资源开销大,为了降低服务器的资源开销,在接收到网站发送的脚本路径信息之后,对脚本路径信息进行归类统计之前,该方法可以进一步包括:A41,预先在服务器中设置第二白名单;A42,接收网站发送的脚本路径信息,查询接收的脚本路径信息是否在第二白名单中,如果是,不作处理,否则,执行对脚本路径信息进行归类统计的步骤。步骤103,按照预先设置的疑似策略,对归类统计的脚本路径信息进行疑似分析,获取非跨站脚本攻击的脚本路径信息,根据获取的信息更新网站中设置的白名单。本步骤中,按照预先设置的疑似策略,对归类统计的脚本路径信息进行疑似分析,获取非跨站脚本攻击的脚本路径信息包括:A51,在预先设置的时间周期内,获取各域名对应的计数值;A52,选取计数值超过预先设置的计数阈值的域名对应的域名日志文件;A53,按照网站发送时间,对选取的域名日志文件中的脚本路径信息进行排序;A54,获取网站发送时间最早的脚本路径信息,提取脚本路径信息中包含的属性信息;本步骤中,属性信息包括:域名信息、脚本源注入点信息、脚本数量爆发点信息、脚本传播路径信息以及脚本传播方式信息等。其中,脚本源注入点信息即发送时间最早的脚本路径信息对应的网站或页面地址信息,地址信息可以是统一资源定位器(URL,UniformResource Locator)信息;脚本数量爆发点信息即脚本数量突增时对应的网站地址信息,也就是发出脚本路径信息数量突增时的网站,突增的含义可根据实际需要确定;脚本传播路径信息即脚本从原注入点至时间周期结束时对应的传播路径,例如,脚本初始从网站A传播,经过网站B,通过网站B,分 别传播至网站C和网站D,则A — B — C以及A — B — D为脚本传播路径信息;脚本传播方式信息为脚本传播采用的方式,例如,通过QQ、微信、博客等方式传播。A55,根据提取的属性信息确定脚本路径信息是否为非跨站脚本攻击的脚本路径信息。本步骤中,根据提取的属性信息确定脚本路径信息是否为非跨站脚本攻击的脚本路径信息,可以是通过设置相关判断方法,通过计算机程序执行;也可以是由相关技术维护人员,依据经验进行确定。关于设置相关判断方法进行判断的流程,本领域技术人员可以根据实际需要进行设置,在此不再赘述。步骤A51至步骤A55中,主要是通过分析脚本路径信息,查找XSS攻击发生的位置以及攻击原因以确定脚本路径信息中包含的域名是否为恶意域名,对于确认是恶意域名或路径的,写入后续的黑名单;确认是非恶意域名或路径的,写入白名单。从而根据脚本路径信息的分析结果,修补网站的过滤规则,更新设置的白名单和黑名单。本发明实施例中,按照预先设置的疑似策略,对归类统计的脚本路径信息进行疑似分析,获取非跨站脚本攻击的脚本路径信息也可以包括:A61,对预先设置的时间周期进行子周期划分,获取各子周期内域名对应的计数值;A62,在预先设置的时间周期内,计算当前子周期的计数值与上一子周期的计数值的比值,选取比值超过预先设置的比值阈值的域名对应的域名日志文件;A63,按照网站发送时间,对选取的域名日志文件中的脚本路径信息进行排序;A64,获取网站 发送时间最早的脚本路径信息,提取脚本路径信息中包含的属性信息;A65,根据提取的属性信息确定脚本路径信息是否为非跨站脚本攻击的脚本路径信息。如前所述,如果在服务器中也设置了白名单,在获取非跨站脚本攻击的脚本路径信息后,该方法还可以进一步包括:根据获取的非跨站脚本攻击的脚本路径信息,更新服务器中设置的第二白名单。较佳地,在对归类统计的脚本路径信息进行疑似分析后,该方法还可以进一步包括:获取跨站脚本攻击的脚本路径信息,更新网站入口处设置的黑名单;网站入口接收脚本路径信息,查询黑名单,如果接收的脚本路径信息在黑名单中,拒绝接收脚本路径信息,否则,输出并加载至网站页面中。本步骤中,通过在网站入口处设置黑名单,可以保障网站拒绝接收跨站脚本攻击的脚本路径信息,从而避免跨站脚本攻击的脚本路径信息对网站的攻击,进一步提升网站的安全性。由上述可见,本发明实施例监控跨站脚本攻击的方法,通过在网站中加载用于脚本路径信息搜索的监测脚本,搜索网站页面中加载的脚本路径信息,并与设置的白名单进行匹配,对于不在白名单中的脚本路径信息,输出至服务器进行进一步分析,可以帮助技术维护人员及时发现XSS攻击,便于及时处理;同时,通过建立黑名单和白名单并更新,可以修正网站安全策略,增强网站的过滤机制,保护用户的隐私,保证用户在网站的上网安全,保障了用户和网站的合法权益,提高了通信的安全性;进一步地,按照预先设置的时间周期搜索网站页面中加载的脚本路径信息并进行分析,可以在发生XSS攻击时及时处理,有效防止XSS攻击对网站和用户造成的损失;而且,还可以为网络运营商提供高风险网站名单,增强整个互联网的安全性。图2为本发明实施例监控跨站脚本攻击的装置结构示意图。参见图2,该装置为服务器,包括:脚本归类统计模块、分析模块以及更新模块,其中,脚本归类统计模块,用于接收网站根据监测脚本搜索得到、且通过白名单过滤后发送的脚本路径信息,对脚本路径信息进行归类统计;分析模块,用于按照预先设置的疑似策略,对归类统计的脚本路径信息进行疑似分析,获取非跨站脚本攻击的脚本路径信息;更新模块,用于根据分析模块获取的非跨站脚本攻击的脚本路径信息,更新网站中设置的白名单。其中,脚本归类统计模块包括:接收单元、日志文件构建单元以及计数器(图中未示出),其中,接收单元,用于接收网站根据监测脚本搜索得到、且通过白名单过滤后发送的脚本路径信息,输出至日志文件构建单元;日志文件构建单元,用于接收脚本路径信息,将包含相同域名信息的脚本路径信息置入预先构建的同一域名日志文件中,分别记录脚本路径信息对应的网站发送时间信息以及网站页面地址信息,触发计数器计数。本发明实施例中, 日志文件构建单元在域名日志文件中写入一条脚本路径信息时,触发该域名日志文件对应的计数器进行一次计数。本发明实施例中,脚本归类统计模块还可以进一步包括:白名单过滤单元,用于根据接收单元输出的脚本路径信息,查询接收的脚本路径信息是否在预先设置的第二白名单中,如果是,不作处理,否则,将接收的脚本路径信息输出至日志文件构建单元。分析模块包括:计数值获取单元、域名日志文件选取单元、排序单元、属性信息提取单元以及分析单元(图中未示出),其中,计数值获取单元,用于在预先设置的时间周期到时,获取计数器中各域名对应的计数值,输出至域名日志文件选取单元;域名日志文件选取单元,用于从日志文件构建单元中,选取计数值超过预先设置的计数阈值的域名对应的域名日志文件,输出至排序单元;排序单元,用于按照网站发送时间,对选取的域名日志文件中的脚本路径信息进行排序;属性信息提取单元,用于从排序单元中,获取网站发送时间最早的脚本路径信息,提取脚本路径信息中包含的属性信息,输出至分析单元;本发明实施例中,属性信息包括:域名信息、脚本源注入点信息、脚本数量爆发点信息、脚本传播路径信息以及脚本传播方式信息等。分析单元,用于根据提取的属性信息确定脚本路径信息是否为非跨站脚本攻击的脚本路径信息。当然,实际应用中,分析模块也可以包括:子周期计数值获取单元、域名日志文件选取单元、排序单元、属性信息提取单元以及分析单元(图中未示出),其中,子周期计数值获取单元,用于对预先设置的时间周期进行子周期划分,获取各子周期内域名对应的计数值;域名日志文件选取单元,用于在预先设置的时间周期内,计算当前子周期的计数值与上一子周期的计数值的比值,选取比值超过预先设置的比值阈值的域名对应的域名日志文件;排序单元,用于按照网站发送时间,对选取的域名日志文件中的脚本路径信息进行排序;属性信息提取单元,用于从排序单元中,获取网站发送时间最早的脚本路径信息,提取脚本路径信息中包含的属性信息,输出至分析单元;分析单元,用于根据提取的属性信息确定脚本路径信息是否为非跨站脚本攻击的脚本路径信息。较佳地,该装置还可以进一步包括:黑名单更新模块(图中未示出),用于根据分析单元分析得到的跨站脚本攻击的脚本路径信息,更新网站入口处设置的黑名单。图3为本发明实施例监控跨站脚本攻击的系统结构示意图。参见图3,该系统包括:网站设备以及服务器,其中,网站设备即为前述的网站。网站设备, 用于预先设置包含可信脚本路径信息的白名单以及加载用于脚本路径信息搜索的监测脚本;按照预先设置的时间周期,触发加载的监测脚本搜索网站设备页面中加载的脚本路径信息;查询搜索得到的脚本路径信息是否在白名单中,如果是,不作处理,否则,将搜索得到的脚本路径信息输出至服务器;服务器,用于接收网站设备输出的脚本路径信息,对脚本路径信息进行归类统计;按照预先设置的疑似策略,对归类统计的脚本路径信息进行疑似分析,获取非跨站脚本攻击的脚本路径信息,根据获取的信息更新网站设备中设置的白名单。其中,网站设备包括:接收模块、白名单过滤模块以及监测脚本模块(图中未示出),其中,接收模块,用于接收服务器下发的用于脚本路径信息搜索的监测脚本,输出至监测脚本模块;接收服务器下发的白名单信息,输出至白名单过滤模块;监测脚本模块,用于接收服务器下发的监测脚本,获取网站设备网页中用户输入显示的位置脚本信息,在获取的位置脚本信息前加载监测脚本;按照预先设置的时间周期,触发加载的监测脚本搜索网站设备页面中加载的脚本路径信息,输出至白名单过滤模块;白名单过滤模块,用于接收服务器下发的白名单信息,更新存储的白名单信息;接收监测脚本模块输出的脚本路径信息,查询接收的脚本路径信息是否在白名单中,如果是,不作处理,否则,将接收的脚本路径信息输出至服务器。较佳地,网站设备还可以进一步包括:黑名单过滤模块,用于接收服务器下发的黑名单信息,更新存储的黑名单信息;接收外部输入网站设备的脚本路径信息,查询接收的脚本路径信息是否在黑名单中,如果是,拒绝接收脚本路径信息,否则,将接收的脚本路径信息输入网站设备。服务器包括:脚本归类统计模块、分析模块以及更新模块(图中未示出),其中,脚本归类统计模块,用于接收网站设备根据监测脚本搜索得到、且通过白名单过滤后发送的脚本路径信息,对脚本路径信息进行归类统计;分析模块,用于按照预先设置的疑似策略,对归类统计的脚本路径信息进行疑似分析,获取非跨站脚本攻击的脚本路径信息;更新模块,用于根据分析模块获取的非跨站脚本攻击的脚本路径信息,更新网站设备中设置的白名单。本发明实施例中,脚本归类统计模块包括:接收单元、日志文件构建单元以及计数器,其中,接收单元,用于接收网站设备根据监测脚本搜索得到、且通过白名单过滤后发送的脚本路径信息,输出至日志文件构建单元;日志文件构建单元,用于接收脚本路径信息,将包含相同域名信息的脚本路径信息置入预先构建的同一域名日志文件中,分别记录脚本路径信息对应的网站设备发送时间信息以及网站设备页面地址信息,触发计数器计数。

本发明实施例中,脚本归类统计模块还可以进一步包括:白名单过滤单元,用于根据接收单元输出的脚本路径信息,查询接收的脚本路径信息是否在预先设置的第二白名单中,如果是,不作处理,否则,将接收的脚本路径信息输出至日志文件构建单元。分析模块包括:计数值获取单元、域名日志文件选取单元、排序单元、属性信息提取单元以及分析单元,其中,计数值获取单元,用于在预先设置的时间周期到时,获取计数器中各域名对应的计数值,输出至域名日志文件选取单元;域名日志文件选取单元,用于从日志文件构建单元中,选取计数值超过预先设置的计数阈值的域名对应的域名日志文件,输出至排序单元;排序单元,用于按照网站设备发送时间,对选取的域名日志文件中的脚本路径信息进行排序;属性信息提取单元,用于从排序单元中,获取网站设备发送时间最早的脚本路径信息,提取脚本路径信息中包含的属性信息,输出至分析单元;分析单元,用于根据提取的属性信息确定脚本路径信息是否为非跨站脚本攻击的脚本路径信息。当然,实际应用中,分析模块也可以包括:子周期计数值获取单元、域名日志文件选取单元、排序单元、属性信息提取单元以及分析单元,其中,子周期计数值获取单元,用于对预先设置的时间周期进行子周期划分,获取各子周期内域名对应的计数值;域名日志文件选取单元,用于在预先设置的时间周期内,计算当前子周期的计数值与上一子周期的计数值的比值,选取比值超过预先设置的比值阈值的域名对应的域名日志文件;
排序单元,用于按照网站设备发送时间,对选取的域名日志文件中的脚本路径信息进行排序;属性信息提取单元,用于从排序单元中,获取网站设备发送时间最早的脚本路径信息,提取脚本路径信息中包含的属性信息,输出至分析单元;分析单元,用于根据提取的属性信息确定脚本路径信息是否为非跨站脚本攻击的脚本路径信息。较佳地,该服务器还可以进一步包括:黑名单更新模块,用于根据分析单元分析得到的跨站脚本攻击的脚本路径信息,更新网站设备入口处设置的黑名单。显然,本领域技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明 也包含这些改动和变型在内。
权利要求
1.一种监控跨站脚本攻击的方法,预先在网站中设置包含可信脚本路径信息的白名单以及加载用于脚本路径信息搜索的监测脚本,该方法包括: 接收网站根据监测脚本搜索得到、且通过白名单过滤后发送的脚本路径信息,对脚本路径信息进行归类统计; 按照预先设置的疑似策略,对归类统计的脚本路径信息进行疑似分析,获取非跨站脚本攻击的脚本路径信息,根据获取的信息更新网站中设置的白名单。
2.根据权利要求1所述的方法,其中,所述加载用于脚本路径信息搜索的监测脚本包括: 网站接收服务器下发的用于脚本路径信息搜索的监测脚本; 获取网站网页中用户输入显示的位置脚本信息,在获取的位置脚本信息前加载监测脚本。
3.根据权利要求2所述的方法,其中,所述接收网站根据监测脚本搜索得到、且通过白名单过滤后发送的脚本路径信息包括: 加载的监测脚本按照预先设置的时间周期,搜索网站页面中加载的脚本路径信息;查询搜索得到的脚本路径信息是否在白名单中,如果是,不作处理,否则,将搜索得到的脚本路径信息输出至服务器。
4.根据权利要求3所述的方法,其中,所述对脚本路径信息进行归类统计包括: 获取脚本路径信息中包含的域名信息,为每一域名构建域名日志文件并设置计数器;将包含相同域名信息的脚本路径信息置入同一域名日志文件中,触发计数器计数,分别记录脚本路径信息对应的网站发送时间信息以及网站页面地址信息。
5.根据权利要求4所述的方法,其中,在所述接收到网站发送的脚本路径信息之后,对脚本路径信息进行归类统计之前,所述方法进一步包括: 预先在服务器中设置第二白名单; 接收网站发送的脚本路径信息,查询接收的脚本路径信息是否在第二白名单中,如果是,不作处理,否则,执行对脚本路径信息进行归类统计的步骤。
6.根据权利要求5所述的方法,其中,所述按照预先设置的疑似策略,对归类统计的脚本路径信息进行疑似分析,获取非跨站脚本攻击的脚本路径信息包括: 在预先设置的时间周期内,获取各域名对应的计数值; 选取计数值超过预先设置的计数阈值的域名对应的域名日志文件; 按照网站发送时间,对选取的域名日志文件中的脚本路径信息进行排序; 获取网站发送时间最早的脚本路径信息,提取脚本路径信息中包含的属性信息; 根据提取的属性信息确定脚本路径信息是否为非跨站脚本攻击的脚本路径信息。
7.根据权利要求5所述的方法,其中,所述按照预先设置的疑似策略,对归类统计的脚本路径信息进行疑似分析,获取非跨站脚本攻击的脚本路径信息包括: 对预先设置的时间周期进行子周期划分,获取各子周期内域名对应的计数值; 在预先设置的时间周期内,计算当前子周期的计数值与上一子周期的计数值的比值,选取比值超过预先设置的比值阈值的域名对应的域名日志文件; 按照网站发送时间,对选取的域名日志文件中的脚本路径信息进行排序; 获取网站发送时间最早的脚本路径信息,提取脚本路径信息中包含的属性信息;根据提取的属性信息确定脚本路径信息是否为非跨站脚本攻击的脚本路径信息。
8.根据权利要求6或7所述的方法,其中,所述属性信息包括:域名信息、脚本源注入点信息、脚本数量爆发点信息、脚本传播路径信息以及脚本传播方式信息。
9.根据权利要求1至7任一项所述的方法,其中,在所述对归类统计的脚本路径信息进行疑似分析后,所述方法进一步包括: 获取跨站脚本攻击的脚本路径信息,更新网站入口处设置的黑名单; 网站入口接收脚本路径信息,查询黑名单,如果接收的脚本路径信息在黑名单中,拒绝接收脚本路径信息,否则,输出并加载至网站页面中。
10.一种监控跨站脚本攻击的装置,其特征在于,该装置包括:脚本归类统计模块、分析模块以及更新模块,其中, 脚本归类统计模块,用于接收网站根据监测脚本搜索得到、且通过白名单过滤后发送的脚本路径信息,对 脚本路径信息进行归类统计; 分析模块,用于按照预先设置的疑似策略,对归类统计的脚本路径信息进行疑似分析,获取非跨站脚本攻击的脚本路径信息; 更新模块,用于根据分析模块获取的非跨站脚本攻击的脚本路径信息,更新网站中设置的白名单。
11.根据权利要求10所述的装置,其特征在于,所述脚本归类统计模块包括:接收单元、日志文件构建单元以及计数器,其中, 接收单元,用于接收网站根据监测脚本搜索得到、且通过白名单过滤后发送的脚本路径信息,输出至日志文件构建单元; 日志文件构建单元,用于接收脚本路径信息,将包含相同域名信息的脚本路径信息置入预先构建的同一域名日志文件中,分别记录脚本路径信息对应的网站发送时间信息以及网站页面地址信息,触发计数器计数。
12.根据权利要求11所述的装置,其特征在于,所述脚本归类统计模块进一步包括: 白名单过滤单元,用于根据接收单元输出的脚本路径信息,查询接收的脚本路径信息是否在预先设置的第二白名单中,如果是,不作处理,否则,将接收的脚本路径信息输出至日志文件构建单元。
13.根据权利要求10所述的装置,其特征在于,所述分析模块包括:计数值获取单元、域名日志文件选取单元、排序单元、属性信息提取单元以及分析单元,其中, 计数值获取单元,用于在预先设置的时间周期到时,获取计数器中各域名对应的计数值,输出至域名日志文件选取单元; 域名日志文件选取单元,用于从日志文件构建单元中,选取计数值超过预先设置的计数阈值的域名对应的域名日志文件,输出至排序单元; 排序单元,用于按照网站发送时间,对选取的域名日志文件中的脚本路径信息进行排序; 属性信息提取单元,用于从排序单元中,获取网站发送时间最早的脚本路径信息,提取脚本路径信息中包含的属性信息,输出至分析单元; 分析单元,用于根据提取的属性信息确定脚本路径信息是否为非跨站脚本攻击的脚本路径信息。
14.根据权利要求10所述的装置,其特征在于,所述分析模块包括:子周期计数值获取单元、域名日志文件选取单元、排序单元、属性信息提取单元以及分析单元,其中, 子周期计数值获取单元,用于对预先设置的时间周期进行子周期划分,获取各子周期内域名对应的计数值; 域名日志文件选取单元,用于在预先设置的时间周期内,计算当前子周期的计数值与上一子周期的计数值的比值,选取比值超过预先设置的比值阈值的域名对应的域名日志文件; 排序单元,用于按照网站发送时间,对选取的域名日志文件中的脚本路径信息进行排序; 属性信息提取单元,用于从排序单元中,获取网站发送时间最早的脚本路径信息,提取脚本路径信息中包含的属性信息,输出至分析单元; 分析单元,用于根据提取的属性信息确定脚本路径信息是否为非跨站脚本攻击的脚本路径息O
15.根据权利要求10至14任一项所述的装置,其特征在于,进一步包括: 黑名单更新模块,用于根据分析单元分析得到的跨站脚本攻击的脚本路径信息,更新网站入口处设置的黑名单。
16.一种监控跨站脚本攻击的系统,其特征在于,该系统包括:网站设备以及服务器,其中, 网站设备,用于预先 设置包含可信脚本路径信息的白名单以及加载用于脚本路径信息搜索的监测脚本;按照预先设置的时间周期,触发加载的监测脚本搜索网站设备页面中加载的脚本路径信息;查询搜索得到的脚本路径信息是否在白名单中,如果是,不作处理,否贝U,将搜索得到的脚本路径信息输出至服务器; 服务器,用于接收网站设备输出的脚本路径信息,对脚本路径信息进行归类统计;按照预先设置的疑似策略,对归类统计的脚本路径信息进行疑似分析,获取非跨站脚本攻击的脚本路径信息,根据获取的信息更新网站设备中设置的白名单。
17.根据权利要求16所述的系统,其特征在于,所述网站设备包括:接收模块、白名单过滤模块以及监测脚本模块,其中, 接收模块,用于接收服务器下发的用于脚本路径信息搜索的监测脚本,输出至监测脚本模块;接收服务器下发的白名单信息,输出至白名单过滤模块; 监测脚本模块,用于接收服务器下发的监测脚本,获取网站设备网页中用户输入显示的位置脚本信息,在获取的位置脚本信息前加载监测脚本;按照预先设置的时间周期,触发加载的监测脚本搜索网站设备页面中加载的脚本路径信息,输出至白名单过滤模块; 白名单过滤模块,用于接收服务器下发的白名单信息,更新存储的白名单信息;接收监测脚本模块输出的脚本路径信息,查询接收的脚本路径信息是否在白名单中,如果是,不作处理,否则,将接收的脚本路径信息输出至服务器。
18.根据权利要求17所述的系统,其特征在于,所述网站设备进一步包括: 黑名单过滤模块,用于接收服务器下发的黑名单信息,更新存储的黑名单信息;接收外部输入网站设备的脚本路径信息,查询接收的脚本路径信息是否在黑名单中,如果是,拒绝接收脚本路径信息,否则,将接收的脚本路径信息输入网站设备。
19.根据权利要求16所述的系统,其特征在于,所述服务器包括:脚本归类统计模块、分析模块以及更新模块,其中, 脚本归类统计模块,用于接收网站根据监测脚本搜索得到、且通过白名单过滤后发送的脚本路径信息,对脚本路径信息进行归类统计; 分析模块,用于按照预先设置的疑似策略,对归类统计的脚本路径信息进行疑似分析,获取非跨站脚本攻击的脚本路径信息; 更新模块,用于根据分析模块获取的非跨站脚本攻击的脚本路径信息,更新网站中设置的白名单。
20.根据权利要求19所述的系统,其特征在于,所述服务器进一步包括: 黑名单更新模块,用于根据分析单元分析得到的跨站脚本攻击的脚本路径信息,更新网站入口处设置的黑名单。
全文摘要
本发明公开了一种监控跨站脚本攻击的方法、装置及系统。该监控跨站脚本攻击的方法包括预先在网站中设置包含可信脚本路径信息的白名单以及加载用于脚本路径信息搜索的监测脚本;接收网站根据监测脚本搜索得到、且通过白名单过滤后发送的脚本路径信息,对脚本路径信息进行归类统计;按照预先设置的疑似策略,对归类统计的脚本路径信息进行疑似分析,获取非跨站脚本攻击的脚本路径信息,根据获取的信息更新网站中设置的白名单。应用本发明,可以提高通信的安全性。
文档编号G06F21/56GK103220277SQ20131011041
公开日2013年7月24日 申请日期2013年4月1日 优先权日2013年4月1日
发明者常川 申请人:新浪技术(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1