本申请涉及但不限于通信领域,尤指一种网页处理方法、网络分析器及HTTP服务器。
背景技术:
随着WEB(网页)应用越来越多,针对WEB的威胁也随之增多,危害也越来越大,有效的检测这些威胁便成为大家重点关注的问题。
由于WEB应用的特殊性,一个完整的网页可能会由多个子页面和资源组成,且这些网页分片(用户看到的一个完整的网页实际上可能会包含很多文件分别存储在服务器上,只有将这些网页分片都获取到,才能展示完整页面)可能分布在不同服务器上。在离线检测场景下,如果能很好解决网页的分片问题将能够更有效的检测网页威胁。
现有主要检测方案为将页面包括的所有子页面和资源直接送入检测模块进行检测,各个网页和资源没有关联性,相互独立。如图1所示:
图片数据直接送入检测模块(传统的检测模块可以是软件,部署到服务器和PC上,也可以是硬件产品),脚本(script CSS(Cascading Style Sheet,级联样式表))直接送入检测模块,HTML(HYPER TEXT MARK-UP LANGUAGE,超文本标记语)数据直接送入检测模块。
在此方案下,只能针对各个独立页面内的内容进行检测,对于一些将恶意行为进行了分片,分别存储到多个子页面这类威胁时,采用此种方案无法有效检测。
技术实现要素:
本发明实施例提供一种网页处理方法、网络分析器及HTTP服务器,以提高针对网站威胁检测的准确性。
本发明实施例提供了一种网页处理方法,包括:
网络分析器收集待检测页面包括的所有子页面和子资源的数据;
所述网络分析器将收集到的所述所有子页面和子资源的数据发送给检测模块。
可选地,所述网络分析器收集待检测页面包括的所有子页面和子资源包括:
所述网络分析器接收到所述待检测页面的统一资源定位符URL地址后,解析所述待检测页面,当解析出所述待检测页面包括子页面或子资源时,向超文本标记语HTTP服务器发送网站资源请求消息,携带所述子页面或所述子资源的URL地址;
所述网络分析器收集所述HTTP服务器返回所述待检测页面包括的所有子页面和子资源的数据。
本发明实施例提供一种网络分析器,包括:
收集模块,用于收集待检测页面包括的所有子页面和子资源的数据;
发送模块,用于将收集到的所述所有子页面和子资源的数据发送给检测模块。
可选地,所述收集模块包括:
解析单元,用于接收到所述待检测页面的统一资源定位符URL地址后,解析所述待检测页面,当解析出所述待检测页面包括子页面或子资源时,将所述子页面或所述子资源的URL地址发送给超文本标记语HTTP服务器;
收集单元,用于收集所述HTTP服务器返回所述待检测页面包括的所有子页面和子资源的数据。
本发明实施例提供一种处理网页的方法,包括:
超文本标记语HTTP服务器接收网络分析器发送的网站资源请求消息,所述网站资源请求消息携带网站资源的URL地址;
HTTP服务器查找所述URL地址对应的数据;
HTTP服务器将查找到的数据发送给所述网络分析器。
可选地,所述HTTP服务器查找所述URL地址对应的数据,包括:
所述HTTP服务器根据URL地址按照指定算法生成文件名;
所述HTTP服务器查找所述文件名对应的数据。
可选地,所述文件名对应的数据是所述HTTP服务器预先存储的;
所述HTTP服务器根据对应网页的URL地址按照所述指定算法生成文件名,然后存储所述文件名与所述对应网页的数据的对应关系。
本发明实施例提供一种超文本标记语HTTP服务器,其特征在于,包括:
接收模块,用于接收网络分析器发送的网站资源请求消息,所述网站资源请求消息携带网站资源的URL地址;
查找模块,用于查找所述URL地址对应的数据;
发送模块,用于将查找到的数据发送给所述网络分析器。
可选地,所述查找模块包括:
生成单元,用于根据URL地址按照指定算法生成文件名;
查找单元,用于查找所述文件名对应的数据。
可选地,所述HTTP服务器还包括:
生成模块,用于根据对应网页的URL地址按照所述指定算法生成文件名;
存储模块,用于存储所述文件名与所述对应网页的数据的对应关系。
综上,本发明实施例提供一种网页处理方法、网络分析器及HTTP服务器,可以有效检测出网页恶意代码,有利于提高威胁检测的检出率。
附图说明
图1为相关技术的处理网页分片的示意图;
图2为本发明实施例的网络分析器侧的一种网页处理方法的流程图;
图3为图2中步骤11的流程图;
图4为本发明实施例的HTTP服务器侧的一种处理网页的方法的流程图;
图5为图4中步骤22的流程图;
图6为本发明实施例的处理网页分片的示意图;
图7为本发明应用示例的一种网页处理方法的流程图;
图8为本发明实施例三的网络分析器的示意图;
图9为本发明实施例四的网络分析器的示意图;
图10为本发明实施例五的HTTP服务器的示意图;
图11为本发明实施例六的HTTP服务器的示意图;
图12为本发明实施例七的HTTP服务器的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
实施例一
图2为本发明实施例的网络分析器侧的一种网页处理方法的流程图,如图2所示,本实施例的一种网页处理方法包括:
步骤11、网络分析器收集待检测页面包括的所有子页面和子资源的数据;
步骤12、网络分析器将收集到的所述所有子页面和子资源的数据发送给检测模块。
本实施例的方法中,网络分析器收集到待检测页面所包括的所有子页面及子资源的数据后,再统一发送给检测模块进行检测,这样可以有效检测出网页恶意代码,有利于提高威胁检测的检出率。
在本实施例中,如图3所示,所述步骤11可以包括:
步骤111、网络分析器接收到所述待检测页面的统一资源定位符URL地址后,解析所述待检测页面,当解析出所述待检测页面包括子页面或子资源时,向超文本标记语HTTP服务器发送网站资源请求消息,携带所述子页面或所述子资源的URL地址;
步骤112、网络分析器收集所述HTTP服务器返回所述待检测页面包括的所有子页面和子资源的数据。
实施例二
图4为本发明实施例的HTTP服务器侧的一种处理网页的方法的流程图,如图4所示,本实施例的方法包括:
步骤21、HTTP服务器接收网络分析器发送的网站资源请求消息,所述网站资源请求消息携带网站资源的URL地址;
步骤22、HTTP服务器查找所述URL地址对应的数据;
步骤23、HTTP服务器将查找到的数据发送给所述网络分析器。
本实施例中,如图5所示,所述步骤22可以包括:
步骤221、HTTP服务器根据URL地址按照指定算法生成文件名;
步骤222、HTTP服务器查找所述文件名对应的数据。
在本实施例中,所述文件名对应的数据是所述HTTP服务器预先存储的;
所述HTTP服务器根据对应网页的URL地址按照所述指定算法生成文件名,然后存储所述文件名与所述对应网页的数据的对应关系。
如图6所示,本发明实施例利用WEB Parser(网络分析器)、HTTP Proxy(代理)和HTTP Server(服务器)相结合,WEB Parser通过HTTP Proxy向HTTP Server请求网页对应的资源,HTTP Server通过URL(Uniform/Universal Resource Locator,统一资源定位符)到文件名映射将资源URL对应的数据返回给WEB Parser。WEB Parser在收集到完整网页及资源后,再一起送检测模块进行检测。
HTTP Server接收到的浏览器请求为URL(Universal Resource Locator,统一资源定位符)地址,HTTP Server根据URL地址按指定算法计算出一个字符串,根据这个字符串在磁盘上查找文件名为这个字符串的文件。这个文件是预先离线根据网页原URL地址,用所述指定算法计算出文件名将网页存储到磁盘上的。
由于网页有分片的特征,网页恶意代码也可能分片,分别存储在不同的几个文件里。只有将这几个文件整合在一起恶意代码才能执行和被检测到。传统的离线检测方式无有效的分片整合手段,都是单个网页进行检测,针对分片的情况无法检测。而本申请实现了网页分片的收集,收集到完整的分片后,将有利于提高威胁检测的检出率。
以下以一应用示例对本申请的一种网页处理方法进行详细的说明。如图7所示,本应用示例的方法包括以下步骤:
步骤101、HTTP Server根据待检测的网页及资源的URL按如下规则计算出文件名,用该文件名对待检测的网页及资源的数据进行命名存储;
文件名=hex-enc(md5(URL))。
hex-enc(md5(URL))表示先计算URL地址这个字符串的MD5值,再对长为16字节的MD5值做16进制编码,生成一个长度为32个字符的可显示字符串。
该计算公式建立了一个从URL到文件名的一个1对1的对应关系。由于URL里可能包括一些特殊字符和URL长度超长等特点,URL不适合直接作为文件名,因此本方案采用此算法将URL进行转换后,用新生成的字符串作为文件名
目前本申请采用上述算法来生成文件名,也可以用其他算法,只要所采用的算法能实现URL生成文件名字符串为1对1的关系即可,即不同的URL地址生成不同的文件名字符串,相同的URL地址生成相同的文件名字符串。
步骤102、WEB Parser接收网页主页面(html)URL地址,解析页面数据;
WEB Parser接收到主页面URL地址后,解析页面数据,分析出其链接的子页面和其他资源,其他资源例如包括页面引用的脚本(Javascript)、样式表(CSS)、图片(jpg,gif)等
WEB Parser每分析出一个子页面或子资源后,将子页面或子资源的URL地址发送给HTTP Server。
步骤103、WEB Parser通过HTTP Proxy向HTTP Server发送网站资源请求消息;
所述网站资源请求携带一个子网页或一个子资源的URL地址。一次请求只有一个URL地址,比如一个网页包括5个子网页和3个Javascript脚本,则WEB Parser会向HTTP Server请求9次。
步骤104、HTTP Server接收到网站资源请求消息后,根据网站资源请求消息携带的URL地址,采用同步骤101的规则计算出文件名,根据计算出的文件名查找对应的数据;
文件名=hex-enc(md5(URL))。
步骤105、HTTP Server将查找到的对应文件名的数据返回给WEB Parser;
步骤106、WEB Parser继续解析子资源,提取子资源链接;
如果有子资源链接,重复步骤103–10 6步;
步骤107、WEB Parser获取到所有网页分片资源后送检测模块进行检测。
实施例三
图8为本发明实施例的网络分析器的示意图,如图8所示,本实施例的网络分析器700包括:
收集模块710,用于收集待检测页面包括的所有子页面和子资源的数据;
发送模块720,用于将收集到的所述所有子页面和子资源的数据发送给检测模块。
本实施例中,网络分析器收集到待检测页面所包括的所有子页面及子资源的数据后,再统一发送给检测模块进行检测,这样可以有效检测出网页恶意代码,有利于提高威胁检测的检出率。
实施例四
如图9所示,本实施例的收集模块710包括:
解析单元711,用于接收到所述待检测页面的统一资源定位符URL地址后,解析所述待检测页面,当解析出所述待检测页面包括子页面或子资源时,将所述子页面或所述子资源的URL地址发送给超文本标记语HTTP服务器;
收集单元712,用于收集所述HTTP服务器返回所述待检测页面包括的所有子页面和子资源的数据。
实施例五
图10为本发明实施例的HTTP服务器的示意图,如图10所示,本实施例的HTTP服务器800包括:
接收模块810,用于接收网络分析器发送的网站资源请求消息,所述网站资源请求消息携带网站资源的URL地址;
查找模块820,用于查找所述URL地址对应的数据;
发送模块830,用于将查找到的数据发送给所述网络分析器。
实施例六
如图11所示,查找模块820包括:
生成单元821,用于根据URL地址按照指定算法生成文件名;
查找单元822,用于查找所述文件名对应的数据。
实施例七
如图12所示,本实施例的HTTP服务器800还包括:
生成模块840,用于根据对应网页的URL地址按照所述指定算法生成文件名;
存储模块850,用于存储所述文件名与所述对应网页的数据的对应关系。
本发明实施例还提供了一种计算机可读存储介质,其存储有计算机可执行指令,所述计算机可执行指令被执行时实现所述网页处理方法。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。