一种Web站点漏洞扫描方法和装置的制作方法

文档序号:6385949阅读:292来源:国知局
专利名称:一种Web站点漏洞扫描方法和装置的制作方法
技术领域
本发明涉及安全检测领域,尤其涉及一种Web站点漏洞扫描方法和装置。
背景技术
随着各种各样的Web应用(网上银行、电子商务、个人空间、云存储等)不断进入人们的生活,如果这些Web应用存在不安全隐患,那么个人信息、甚至是Web站点系统都会面临安全风险。据统计,目前75%的网络攻击行为都是通过Web来进行的。对于通常的Web管理人员来说,基于安全的管理占用大量工作时间,因为对Web应用的安全性进行手工测试和审计是一项复杂且耗时的工作,不仅需要极大的耐心还需要专业的技术经验。自动化的漏洞扫描技术能够大幅简化对于安全隐患的检测工作,有助于Web管理人员将精力转向如何处理安全风险上来。现有的Web安全自动扫描技术,主要有2大核心模块,分别是URL (Uniform/Universal Resource Locator,统一资源定位符,简称URL)的提取模块和漏洞检测模块。主要流程是对于某一待检测站点,首先通过URL提取模块,获取到整个网站的链接URL,然后使用漏洞检测模块对每一有效URL进行漏洞的检测和确认工作,在漏洞检测和确认中,需要对各种漏洞类型都进行检测;最后所有网站链接和类型都检测和确认完毕,系统会输出一份web安全扫描的检测报告。漏洞的检测和确认是Web扫描技术中最复杂和耗时的部分,而现有技术对网站的每个有效URL不加选择地进行每种漏洞类型遍历的检测,导致扫描效率低下、耗时过长。特别在对大站点(海量数据)扫描的时候问题更加突出。

发明内容
本发明实施例所要解决的技术问题在于,提供一种Web站点漏洞扫描方法和装置。可解决现有技术对网站的每个有效URL不加选择地进行每种漏洞类型遍历的检测,导致扫描效率低下、耗时过长的问题。为了解决上述技术问题,本发明第一方面提供了一种Web站点漏洞扫描方法,包括获取待测网站的测试对象集合中的目标测试对象,所述目标测试对象包括目标URL统一资源定位符和所述目标URL指向的页面;提取所述目标测试对象中待测漏洞的漏洞特征,并根据所述漏洞特征生成待测漏洞特征向量;计算预置的待测漏洞标准向量与所述待测漏洞特征向量之间的相似度;当所述相似度小于预置的阈值时,不对所述目标测试对象进行检测所述待测漏洞的操作。在第一种可能的实现方式中,所述获取待测网站的测试对象集合中的目标测试对象之前包括将所述待测网站域名与预置的经验种子库中的种子拼接生成组合URL集合;
将所述组合URL集合和所述待测网站导航页面中包括的URL加入到种子URL集合中;将根据所述种子URL集合提取到的所述待测网站每一个URL和对应的页面保存至所述测试对象集合。结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,还包括将所述测试对象集合中的URL加入到所述预置的经验种子库中。结合第一方面至第一方面的第二种可能的实现方式中的任一种,在第三种可能的实现方式中,还包括根据预置的样本网站采用矢量空间模型VSM方法计算所述待测漏洞标准向量。结合第一发明的第三种可能的实现方式,在第四种可能的实现方式中,所述根据预置的样本网站采用矢量空间模型VSM计算所述待测漏洞标准向量具体包括获取所述样本网站的测试对象集合中的所述待测漏洞的样本特征向量;确定所述样本特征向量中各个向量的权重;根据所述权重和所述样本特征向量计算出所述待测漏洞的待测漏洞标准向量。结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述计算预置的待测漏洞标准向量与所述待测漏洞特征向量之间的相似度包括计算所述预置的待测漏洞向量和待测漏洞特征向量的夹角的余弦值作为二者之间的相似度。本发明第二方面提供了一种Web漏洞扫描装置,包括测试对象获取模块,用于获取待测网站的测试对象集合中的目标测试对象,所述目标测试对象包括目标URL和所述目标URL指向的页面;特征生成模块,用于提取所述目标测试对象中待测漏洞的漏洞特征,并根据所述漏洞特征生成待测漏洞特征向量;相似度计算模块,用于计算预置的待测漏洞标准向量与所述待测漏洞特征向量之间的相似度;漏洞检测筛选模块,用于当所述相似度小于预置的阈值时,不对所述目标测试对象进行检测所述待测漏洞的操作。在第一种可能的实现方式中,还包括配置模块,用于将所述待测网站域名与预置的经验种子库中的种子拼接生成组合URL集合;将所述组合URL集合和所述待测网站导航页面中包括的URL加入到种子URL集合中;将根据所述种子URL集合提取到的所述待测网站每一个URL和对应的页面保存至所述测试对象集合。结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,还包括更新模块,用于将所述测试对象集合中的URL加入到所述预置的经验种子库中。结合第二方面至第二方面的第二种可能的实现方式,在第三种可能的实现方式中,还包括标准向量计算模块,用于根据预置的样本网站采用矢量空间模型VSM方法计算所述待测漏洞标准向量。结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述标准向量计算模块包括;样本向量获取单元,用于获取所述样本网站的测试对象集合中的所述待测漏洞的样本特征向量;权重确定单元,用于确定所述样本特征向量中各个向量的权重;标准向量计算单元,用于根据所述权重和所述样本特征向量计算出所述待测漏洞的待测漏洞标准向量。结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,所述相似度计算模块包括计算单元,用于计算预置的待测漏洞向量和待测漏洞特征向量的夹角的余弦值作为二者之间的相似度。实施本发明实施例,具有如下有益效果对每个URL及页面内容进行漏洞相关度分析,计算出对应每种漏洞能够的相关度,对URL页面及内容进行安全漏洞的检测和确认,URL于漏洞类型相关度大的,该URL才进行相关漏洞的检测和确认,可以避免大量无用、耗时的漏洞检测和确认,在很大程度上能提高安全扫描效率,节省硬件和网络资源,提高检索结果的查准率和质量,保证安全扫描的实时性。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例的一种Web漏洞扫描方法的流程示意图;图2是本发明实施例的一种Web漏洞扫描方法的另一流程示意图;图3是本发明实施例的一种Web扫描装置的结构示意图;图4是本发明实施例的一种Web扫描装置的另一结构示意图;图5是图4中标准向量计算模块的结构示意图;图6是图4中相似度计算模块的结构示意图;图7是本发明实施例的一种Web扫描装置的又一结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。参见图1,为本发明实施例的一种Web漏洞扫描方法的流程示意图,该方法包括步骤101、获取待测网站的测试对象集合中的目标测试对象。具体的,所述测试对象集合为待测网站中所有的URL和URL指向的对象的集合,测试对象集合的采集方法可以为使用网络爬虫收集待测网站中的站内URL和页面,也可以采用其他方法,本发明不作限制。从测试对象集合中获取一个目标测试对象,目标测试对象包括目标URL和所述目标URL指向的页面。步骤102、提取所述目标测试对象中待测漏洞的漏洞特征,并根据所述漏洞特征生成漏洞特征向量。具体的,每个目标测试对象中包括不同的漏洞的漏洞特征,漏洞特征从两方面进行提取,一方面为目标URL本身特征的提取,另一方面为目标URL指向的页面的内容提取。例如目标URL中有“ ”字符,该特征对SQL (StructuredQuery Language,结构化查询语言,简称SQL)注入漏洞关系比较大,因此作为SQL注入漏洞的一个特征,所述目标URL指向的页面中含有查询接口,该特征也可以作为注入漏洞的一个特征。以SQL注入漏洞为例,提取目标测试对象中SQL注入漏洞的N个漏洞特征,生成N维待测漏洞特征向量记为U = (U1,U2,U3,...,Un),U为SQL注入漏洞在目标测试对象中的特征向量。步骤103、计算预置的待测漏洞标准向量与所述待测漏洞特征向量之间的相似度。步骤104、当所述相似度小于预置的阈值时,不对所述目标测试对象进行检测所述待测漏洞的操作。·具体的,以检测SQL注入漏洞为例,计算出来的相似度值越大则表明目标测试对象和SQL注入漏洞之间的相似度越高,当小于预置的阈值时,则不需要对目标测试对象进行SQL注入漏洞的检测,这样可以避免对目标测试对象的非相关的漏洞类型进行检测,提高了 Web网站的扫描效率。实施本发明的实施例,对每个URL及页面内容进行漏洞相关度分析,计算出对应每种漏洞能够的相关度,对URL页面及内容进行安全漏洞的检测和确认,URL于漏洞类型相关度大的,该URL才进行相关漏洞的检测和确认,可以避免大量无用、耗时的漏洞检测和确认,在很大程度上能提高安全扫描效率,节省硬件和网络资源,提高检索结果的查准率和质量,保证安全扫描的实时性。参见图2,为本发明实施例的一种Web漏洞扫描方法的另一流程示意图,包括:步骤201、将所述待测网站域名与预置的经验种子库中的种子拼接成组合URL集合。具体的,根据网络爬虫抓取网站链接URL的原理,爬虫存在固有的缺陷,只能提取到网站页面内容中包含的链接URL,而有些重要的入口 URL,并不会出现在页面上,但是确实可能存在,例如后台管理模块的入口 URL按照安全规范是不能在待测网站的任何页面上出现,使得最终的Web网站依然存在安全隐患。经验种子库中包括一些网络爬虫无法爬取到的URL的种子,种子以字符串的形式表示,例如admin为经验种子库中的一个种子,将该种子与待测网站的域名,如http://www.huawe1.com进行拼接生成组合URL为http://www.huawe1.com/admin,组合URL集合中至少包括一个组合URL。步骤202、将所述组合URL集合和所述到处网站导航页面中包括的URL加入到种子URL集合中。具体的,待测网站的导航主页包含了丰富的子模块入口链接URL,预分析导航主页可以获取大量有用的URL,将导航主页中的URL和步骤201得到的组合URL集合加入到种子URL集合中,网络爬虫能从种子URL集合开始爬取待测站点的所有的URL和页面,收集完待测网站所有的URL和对应的页面后,剔除无用的URL和重复的URL,将剔除后的URL加入到预置的经验种子库中,以便下次重复利用,可以提高收集URL和对应页面的速度。步骤203、将根据所述种子URL集合中提取到的所述待测网站每一个URL和对应的页面保存至所述测试对象集合。具体的,保存至测试对象集合的URL和对应的页面组成一一映射的关系。步骤204、获取待测网站的测试对象集合中的目标测试对象。具体的,所述测试对象集合为待测网站中所有的URL和URL指向的对象的集合,测试对象集合的采集方法可以为使用网络爬虫收集待测网站中的站内URL和页面,也可以采用其他方法,本发明不作限制。从测试对象集合中获取一个目标测试对象,目标测试对象包括目标URL和所述目标URL指向的页面。步骤205、提取所述目标测试对象中待测漏洞的漏洞特征,并根据所述漏洞特征生成待测漏洞特征向量。具体的,每个目标测试对象中包括不同的漏洞的漏洞特征,漏洞特征从两方面进行提取,一方面为目标URL本身特征的提取,另一方面为目标URL指向的页面的内容提取。例如目标URL中有“ ”字符,该特征对SQL (StructuredQuery Language,结构化查询语言,简称SQL)注入漏洞关系比较大,因此作为SQL注入漏洞的一个特征,所述目标URL指向的页面中含有查询接口,该特征也可以作为注入漏洞的一个特征。以SQL注入漏洞为例,提取目标测试对象中SQL注入漏洞的N个漏洞特征,生成N维待测漏洞特征向量记为U = (Ul,U2,U3,...,Un),U为SQL注入漏洞在目标测试对象中的特征向量。步骤206、根据预置的样本网站采用向量空间模型方法计算所述待测漏洞标准向量。

具体的,采用向量空间模型方法,将从样本网站中提取到的η维样本特征向量写成T = (Tl,Τ2,...,Tn),采用TF-1DF算法对样本网站中的η维样本特征向量进行统计分析,最后确定每个特征项的权重W。特征项Tj在“URL对象” Di中的TF-1DF值定义为:Wi, j = TFij J-^log(NZDFijj)其中TFi,」是特征Tj在第i个样本网站Di中出现的次数,DFi,」表示样本网站集合D中包含特征Tj的样本数量,N表示中的样本网站的数量。把提取到的η维样本特征向量的权重写成W= (ffl,W2, Wn),计算标准漏洞S,S = W*T,每个漏洞类型都会得到相应的待测漏洞标准向量。步骤207、计算所述预置的待测漏洞向量和待测漏洞特征向量的夹角的余弦值作为二者之间的相似度。具体的,获取到待测漏洞标准向量之后,就可以进行待测网站中目标测试对象与待测漏洞的相关度计算,首先对待测网站每一目标测试对象提取特征,提取过程和步骤205一样,把提取到的η维待测网站的目标测试对象的特征向量写成U= (Ul,U2,...,Un)。针对待测网站目标测试对象,计算U和S两个向量的夹角的余弦值来表示该目标测试对象于该漏洞的相关度,计算出来的值在0-1之间,值越大说明相似度越高,也就是说明该URL和漏洞的相关性很大。计算公式如下:
权利要求
1.一种Web站点的漏洞扫描方法,其特征在于,包括: 获取待测网站的测试对象集合中的目标测试对象,所述目标测试对象包括目标URL统一资源定位符和所述目标URL指向的页面; 提取所述目标测试对象中待测漏洞的漏洞特征,并根据所述漏洞特征生成待测漏洞特征向量; 计算预置的待测漏洞标准向量与所述待测漏洞特征向量之间的相似度; 当所述相似度小于预置的阈值时,不对所述目标测试对象进行检测所述待测漏洞的操作。
2.如权利要求1所述的方法,其特征在于,所述获取待测网站的测试对象集合中的目标测试对象之前包括: 将所述待测网站域名与预置的经验种子库中的种子拼接生成组合URL集合; 将所述组合URL集合和所述待测网站导航页面中包括的URL加入到种子URL集合中;将根据所述种子URL集合提取到的所述待测网站每一个URL和对应的页面保存至所述测试对象集合。
3.如权利要求2所述的方法,其特征在于,还包括: 将所述测试对象集合中的URL加入到所述预置的经验种子库中。
4.如权利要求1-3任一项所述的方法,其特征在于,还包括: 根据预置的样本网站采用矢量空间模型VSM方法计算所述待测漏洞标准向量。
5.如权利要求4所述的方法,其特征在于,所述根据预置的样本网站采用矢量空间模型VSM计算所述待测漏洞标准向量具体包括: 获取所述样本网站的测试对象集合中的所述待测漏洞的样本特征向量; 确定所述样本特征向量中各个向量的权重; 根据所述权重和所述样本特征向量计算出所述待测漏洞的待测漏洞标准向量。
6.如权利要求5任一项所述的方法,其特征在于,所述计算预置的待测漏洞标准向量与所述待测漏洞特征向量之间的相似度包括: 计算所述预置的待测漏洞向量和待测漏洞特征向量的夹角的余弦值作为二者之间的相似度。
7.—种Web站点的漏洞扫描装置,其特征在于,包括: 测试对象获取模块,用于获取待测网站的测试对象集合中的目标测试对象,所述目标测试对象包括目标URL和所述目标URL指向的页面; 特征生成模块,用于提取所述目标测试对象中待测漏洞的漏洞特征,并根据所述漏洞特征生成待测漏洞特征向量; 相似度计算模块,用于计算预置的待测漏洞标准向量与所述待测漏洞特征向量之间的相似度; 漏洞检测筛选模块,用于当所述相似度小于预置的阈值时,不对所述目标测试对象进行检测所述待测漏洞的操作。
8.如权利要求7所述的装置,其特征在于,还包括: 配置模块,用于将所述待测网站域名与预置的经验种子库中的种子拼接生成组合URL集合;将所述组合URL集合和所述待测网站导航页面中包括的URL加入到种子URL集合中;将根据所述种子URL集合提取到的所述待测网站每一个URL和对应的页面保存至所述测试对象集合。
9.如权利 要求8所述的装置,其特征在于,还包括:更新模块,用于将所述测试对象集合中的URL加入到所述预置的经验种子库中。
10.如权利要求7-9任一项所述的装置,其特征在于,还包括: 标准向量计算模块,用于根据预置的样本网站采用矢量空间模型VSM方法计算所述待测漏洞标准向量。
11.如权利10所述的装置,其特征在于,所述标准向量计算模块包括; 样本向量获取单元,用于获取所述样本网站的测试对象集合中的所述待测漏洞的样本特征向量; 权重确定单元,用于确定所述样本特征向量中各个向量的权重; 标准向量计算单元,用于根据所述权重和所述样本特征向量计算出所述待测漏洞的待测漏洞标准向量。
12.如权利要求11任一项所述的装置,其特征在于,所述相似度计算模块包括: 计算单元,用于计算预置的待测漏洞向量和待测漏洞特征向量的夹角的余弦值作为二者之间的相似度。
全文摘要
本发明实施例公开了一种Web漏洞扫描方法,包括获取待测网站的测试对象集合中的目标测试对象,所述目标测试对象包括目标URL统一资源定位符和所述目标URL指向的页面;提取所述目标测试对象中待测漏洞的漏洞特征,并根据所述漏洞特征生成待测漏洞特征向量;计算预置的待测漏洞标准向量与所述待测漏洞特征向量之间的相似度;当所述相似度小于预置的阈值时,不对所述目标测试对象进行检测所述待测漏洞的操作。采用本发明,可以避免测试对象非相关漏洞的扫描操作,提高网站漏洞扫描的效率。
文档编号G06F21/55GK103077348SQ20121058617
公开日2013年5月1日 申请日期2012年12月28日 优先权日2012年12月28日
发明者赵剑辉, 宋探, 陈福军, 云朋 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1