发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种快速扫描网站漏洞的装置和相应的一种快速扫描网站漏洞的方法。
依据本发明的一个方面,提供了一种快速扫描网站漏洞的方法,该方法包括如下步骤:获取前一次进行网站漏洞扫描的时间;判断所述前一次进行网站漏洞扫描的时间与当前时间的时间间隔是否小于预定阈值,若是则获取前一次进行网站漏洞扫描得到的漏洞信息并针对前一次扫描到的网站漏洞进行网站漏洞扫描;保存本次网站漏洞扫描的时间以及本次扫描得到的漏洞信息。
可选地,所述前一次进行网站漏洞扫描得到的漏洞信息,包括前一次扫描该网站得到的漏洞的名称以及漏洞URL;所述本次扫描得到的漏洞信息,包括本次扫描该网站得到的漏洞的名称以及漏洞URL。
可选地,若所述前一次进行网站漏洞扫描的时间与当前时间的时间间隔大于预定阈值,则对网站进行全面扫描。
可选地,该方法进一步包括:在对网站进行全面扫描之前,判断该网站是否可以访问,若判断为否则退出扫描;以及在针对前一次扫描到的网站漏洞进行网站漏洞扫描之前,判断所述前一次扫描到的网站漏洞的网页是否可以访问,若判断为否则退出扫描。
可选地,所述对网站进行全面扫描,包括:启动爬虫引擎自动提取网站页面,同时启动漏洞检测引擎进行网站页面的安全检测;所述针对前一次扫描到的网站漏洞进行网站漏洞扫描,包括:获取前一次进行网站漏洞扫描得到的漏洞信息,启动漏洞检测引擎针对所述漏洞信息中漏洞URL进行安全测试。
根据本发明的另一方面,提供了一种快速扫描网站漏洞的装置,该装置包括管理单元和扫描单元:所述管理单元,适于获取前一次进行网站漏洞扫描的时间;所述扫描单元,适于判断所述前一次进行网站漏洞扫描的时间与当前时间的时间间隔是否小于预定阈值,若是则获取前一次进行网站漏洞扫描得到的漏洞信息并针对前一次扫描到的网站漏洞进行网站漏洞扫描;所述管理单元,进一步适于保存本次网站漏洞扫描的时间以及本次扫描得到的漏洞信息。
可选地,所述前一次进行网站漏洞扫描得到的漏洞信息,包括前一次扫描该网站得到的漏洞的名称以及漏洞URL;所述本次扫描得到的漏洞信息,包括本次扫描该网站得到的漏洞的名称以及漏洞URL。
可选地,若所述扫描单元判断前一次进行网站漏洞扫描的时间与当前时间的时间间隔大于预定阈值,则对网站进行全面扫描。
可选地,所述扫描单元,适于在对网站进行全面扫描之前,判断该网站是否可以访问,若判断为否则退出扫描;以及在针对前一次扫描到的网站漏洞进行网站漏洞扫描之前,判断所述前一次扫描到的网站漏洞的网页是否可以访问,若判断为否则退出扫描。
可选地,所述扫描单元,适于启动爬虫引擎自动提取网站页面,同时启动漏洞检测引擎进行网站页面的安全检测,以对网站进行全面扫描;所述扫描单元,适于获取前一次进行网站漏洞扫描得到的漏洞信息,启动漏洞检测引擎针对所述漏洞信息中漏洞URL进行安全测试,以针对前一次扫描到的网站漏洞进行网站漏洞扫描。
根据本发明的快速扫描网站漏洞的方法和快速扫描网站漏洞装置可以通过判断对网站前一次进行网站漏洞扫描的时间和当前时间的时间间隔是否小于预定阈值而在时间间隔不小于预定阈值时对网站进行全面扫描以及在时间间隔小于预定阈值时针对前一次扫描到的网站漏洞进行网站漏洞扫描,由此解决了扫描速度慢,扫描服务器的运算资源和网络带宽开销比较大的缺点,取得了提高扫描速度,降低运算资源和网络带宽的开销的有益效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明的技术构思主要在于,通过判断对网站前一次进行网站漏洞扫描的时间和当前时间的时间间隔是否小于预定阈值,而在时间间隔不小于预定阈值时对网站进行全面扫描以及在时间间隔小于预定阈值时针对前一次扫描到的网站漏洞进行网站漏洞扫描。由此解决了扫描速度慢,扫描服务器的运算资源和网络带宽开销比较大的缺点,取得了提高扫描速度,降低运算资源和网络带宽的开销的有益效果,尤其适用于漏洞扫描频率高的网站。
图1示出了根据本发明一个实施例的快速扫描网站漏洞的方法的流程图。本发明提供了一种快速扫描网站漏洞的方法,该方法包括如下的步骤S100至步骤S500:
S100、获取前一次进行网站漏洞扫描的时间。较佳地,若无法获取前一次进行网站漏洞扫描的时间,则执行步骤S400以对网站进行全面扫描。
S200、判断所述前一次进行网站漏洞扫描的时间与当前时间的时间间隔是否小于预定阈值,若是则执行步骤S300,若否则执行步骤S400。本实施例的上述预定阈值,可以是根据网站的安全级别自动设定的,例如安全级别越高的网站上述预定阈值越小,也可以是由网站的管理者设定的,例如可以设置为一周或一月。
S300、获取前一次进行网站漏洞扫描得到的漏洞信息并针对前一次扫描到的网站漏洞进行网站漏洞扫描,并执行步骤S500。具体地,通过获取前一次进行网站漏洞扫描得到的漏洞信息,启动漏洞检测引擎针对所述漏洞信息中漏洞URL进行安全测试,而获取前一次进行网站漏洞扫描得到的漏洞信息并针对前一次扫描到的网站漏洞进行网站漏洞扫描。
本实施例中,前一次进行网站漏洞扫描得到的漏洞信息,包括前一次扫描该网站得到的漏洞的名称以及漏洞URL(Uniform/Universal Resource Locator,统一资源定位符)。
例如:如需要扫描http://webscan.360.cn这个网站,而这个网站在1天前扫描过,只得到一个漏洞,而时间间隔未超过预定阀值(一周,或一个月),本次扫描只需要针对前一次扫描到的网站漏洞进行网站漏洞扫描。若该漏洞信息为(Possible Sensitive File,http://webscan.360.cn:80/mange/),即漏洞的名称为Possible Sensitive File,漏洞URL为http://webscan.360.cn:80/mange/,在步骤S300中,可以启动漏洞检测引擎针对http://webscan.360.cn:80/mange/进行安全测试而不需要针对网站的其余的目录、文件等测试单元进行安全测试。
在本发明的实施例中,S300中获取前一次进行网站漏洞扫描得到的漏洞信息,并提取所述扫描得到的漏洞信息中的漏洞类型信息以及漏洞命中规则信息;根据所述漏洞命中规则针对前一次扫描到的网站漏洞进行网站漏洞扫描,和/或根据所述扫描得到的漏洞信息中的漏洞类型对应的漏洞规则针对该网站进行网站漏洞扫描;
具体地,网站的漏洞多种多样,其危害也各不相同,例如:SQL注入漏洞、跨站脚本漏洞、弱口令漏洞、HTTP报头追踪漏洞、Struts2远程命令执行漏洞等等(如国家信息安全漏洞共享平台公布的常见漏洞类型汇总信息:http://www.cnvd.org.cn/publish/main/78/2012/20120924161917256776912/20120924161917256776912_.html)对此,针对不同网站漏洞类型的扫描方法和扫描规则也不同。漏洞扫描规则一般分为通用漏洞扫描规则和专用漏洞扫描规则,通用漏洞扫描规则可以针对所有类型的网站进行漏洞扫描,而专用漏洞扫描规则则仅适于针对相匹配的的漏洞类型进行漏洞扫描。
在本发明中,由于已经记录了前一次漏洞扫描得到的漏洞信息,如漏洞类型以及漏洞命中规则等,当再次进行扫描时,我们可以提取出前一次扫描中已经命中了的漏洞规则,进行再次扫描,若仍然命中则说明该网站漏洞仍然存在,若不再命中则说明此漏洞已修复。
进一步地,网站的漏洞具有较大的相关性,如果网站在前一次命中了一中网站漏洞类型(如SQL注入漏洞),则该网站很有可能存在此类型的多个漏洞,仅通过前一次命中的规则进行匹配也不能确保网站的安全,而此时随着漏洞规则的不断更新,可以根据前次命中漏洞的所属漏洞类型选取相应的漏洞规则集进行再次扫描,则可确定网站存在的此类漏洞是否仍然存在。
由上可知,在步骤S300中,只针对前一次扫描到的网站漏洞进行网站漏洞扫描,而不进行全面扫描,所以极大地减少了需要测试的漏洞数目,因此提高了扫描速度,减小了资源开销。
S400、对网站进行全面扫描,并执行步骤S500。具体地,通过启动爬虫引擎自动提取网站页面,同时启动漏洞检测引擎进行网站页面的安全检测,对网站进行全面扫描。
S500、保存本次网站漏洞扫描的时间以及本次扫描得到的漏洞信息。
较佳地,本实施例步骤S500中,本次漏洞扫描可以是对网站进行的全面扫描也可以是针对前一次扫描到的网站漏洞而进行的网站漏洞扫描。本次网站漏洞扫描的时间以及本次扫描得到的漏洞信息可用于下一次的漏洞扫描操作。例如,在进行下一次漏洞扫描时,步骤S500中保存的本次网站漏洞扫描的时间可以与下一次进行网站漏洞扫描的时间比较以得到时间间隔,若时间间隔小于预定阈值,则可以利用本次扫描得到的漏洞信息并针对本次扫描到的网站漏洞进行网站漏洞扫描。
本实施例中,本次扫描得到的漏洞信息,包括本次扫描该网站得到的漏洞的名称以及漏洞URL。
本实施例之中,步骤S300还包括:在针对前一次扫描到的网站漏洞进行网站漏洞扫描之前,判断所述前一次扫描到的网站漏洞的网页是否可以访问,若判断为否则退出扫描。步骤S400还包括:在对网站进行全面扫描之前,判断该网站是否可以访问,若判断为否则退出扫描。
图2示出了根据本发明一个实施例的快速扫描网站漏洞的装置的框图。本发明的快速扫描网站漏洞的装置,包括管理单元100和扫描单元200。
管理单元100,适于获取前一次进行网站漏洞扫描的时间。
扫描单元200,适于判断所述前一次进行网站漏洞扫描的时间与当前时间的时间间隔是否小于预定阈值,若是则获取前一次进行网站漏洞扫描得到的漏洞信息并提取所述扫描得到的漏洞信息中的漏洞类型信息以及漏洞命中规则信息,根据所述漏洞命中规则针对前一次扫描到的网站漏洞进行网站漏洞扫描,和/或根据所述扫描得到的漏洞信息中的漏洞类型对应的漏洞规则针对该网站进行网站漏洞扫描。
较佳地,若扫描单元200判断前一次进行网站漏洞扫描的时间与当前时间的时间间隔大于预定阈值,则对网站进行全面扫描。较佳地,若管理单元100无法获取前一次进行网站漏洞扫描的时间,则扫描单元200对网站进行全面扫描。
本实施例的上述预定阈值,可以是根据网站的安全级别自动设定的,例如安全级别越高的网站上述预定阈值越小,也可以是由网站的管理者设定的,例如可以设置为一周或一月。
前一次进行网站漏洞扫描得到的漏洞信息,包括前一次扫描该网站得到的漏洞的名称以及漏洞URL。
本实施例中,扫描单元200,适于在对网站进行全面扫描之前,判断该网站是否可以访问,若判断为否则退出扫描;以及在针对前一次扫描到的网站漏洞进行网站漏洞扫描之前,判断所述前一次扫描到的网站漏洞的网页是否可以访问,若判断为否则退出扫描。
更具体地,本实施例中,扫描单元200在判断网站可以访问时,启动爬虫引擎自动提取网站页面,同时启动漏洞检测引擎进行网站页面的安全检测,以对网站进行全面扫描。扫描单元200在判断前一次扫描到的网站漏洞的网页可以访问时,获取前一次进行网站漏洞扫描得到的漏洞信息,启动漏洞检测引擎针对所述漏洞信息中漏洞URL进行安全测试,以针对前一次扫描到的网站漏洞进行网站漏洞扫描。
管理单元100,进一步适于保存本次网站漏洞扫描的时间以及本次扫描得到的漏洞信息。
本实施例中,本次扫描得到的漏洞信息,包括本次扫描该网站得到的漏洞的名称以及漏洞URL。
较佳地,本次漏洞扫描可以是对网站进行的全面扫描也可以是针对前一次扫描到的网站漏洞而进行的网站漏洞扫描。管理单元100保存的本次网站漏洞扫描的时间以及本次扫描得到的漏洞信息可用于下一次的漏洞扫描操作。例如,在进行下一次漏洞扫描时,扫描单元200能够将管理单元100保存的本次网站漏洞扫描的时间与下一次进行网站漏洞扫描的时间比较以得到时间间隔,若时间间隔小于预定阈值,则扫描单元200可以利用本次扫描得到的漏洞信息并针对本次扫描到的网站漏洞进行网站漏洞扫描。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的快速扫描网站漏洞的设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。