网站安全评估方法及系统的制作方法

文档序号:7983320阅读:293来源:国知局
网站安全评估方法及系统的制作方法
【专利摘要】本发明提出一种网站安全评估方法及系统。其中,方法包括以下步骤:根据网站的基本URL进行动态页面分析或静态页面分析,并根据分析结果获取网站的所有派生URL;使用多个检测模型对网站的所有派生URL对应的网页进行漏洞检测,输出漏洞检测信息,其中每个检测模型对应一个应用维度;以及根据漏洞检测信息对网站进行安全性评估。本发明通过对网站进行动态页面分析和静态页面分析,能够完备地获取网站的所有URL链接;同时,通过预设的多个检测模型对漏洞进行自动检测,提高检测的准确性和高效性,从而实现高效准确的网站安全评估。
【专利说明】网站安全评估方法及系统
【技术领域】
[0001]本发明涉及互联网【技术领域】,尤其涉及一种网站安全评估方法及系统。
【背景技术】
[0002]目前,网站安全的评估方法及系统相对较少,且当前已有的评估方法的可行性较差,无法准确高效地对网站的安全性进行评估。因此,亟需一种能够高效准确、合理地对网站安全性进行评估的方法和系统。

【发明内容】

[0003]本发明旨在至少解决上述技术问题之一。
[0004]为此,本发明的一个目的在于提出一种能够准确高效地对网站的安全性进行评估的网站安全评估方法。
[0005]本发明的另一目的在于提出一种网站安全评估系统。
[0006]为了实现上述目的,根据本发明的第一方面实施例的网站安全评估方法,包括以下步骤:根据网站的基本URL进行动态页面分析或静态页面分析,并根据分析结果获取所述网站的所有派生URL ;使用多个检测模型对所述网站的所有派生URL对应的网页进行漏洞检测,输出所有的漏洞检测信息,其中每个检测模型对应一个应用维度;以及根据所述漏洞检测的信息对所述网站进行安全评估。
[0007]根据本发明实施例的网站安全评估方法,通过对网站进行动态页面分析和静态页面分析,能够完备地获取网站的所有URL链接;同时,通过预设的多个检测模型对漏洞进行自动检测,提高检测的准确性和高效性,从而实现高效准确的网站安全评估,由此对线下环境的安全性有更好的认识和了解,进而能够有目的的改进产品的安全状况。
[0008]为了实现上述目的,根据本发明的第二方面实施例的网站安全评估系统,包括:扫描模块,用于根据网站的基本URL进行动态页面分析或静态页面分析,并根据分析结果获取所述网站的所有派生URL;检测模块,用于使用多个检测模型对所述网站的所有派生URL对应的网页进行漏洞检测,输出漏洞检测信息,其中每个检测模型对应一个应用维度;以及评估模块,用于根据所述漏洞检测信息对所述网站进行安全性评估。
[0009]根据本发明实施例的网站安全评估系统,,通过对网站进行动态页面分析和静态页面分析,能够完备地获取网站的所有URL链接;同时,通过预设的多个检测模型对漏洞进行自动检测,提高检测的准确性和高效性,从而实现高效准确的网站安全评估,由此对线下环境的安全性有更好的认识和了解,进而能够有目的的改进产品的安全状况。
[0010]本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
【专利附图】

【附图说明】
[0011]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
[0012]图1是根据本发明一个实施例的网站安全评估方法的流程图;
[0013]图2是根据本发明一个实施例的网站安全评估系统的结构示意图;以及
[0014]图3是图2中的扫描模块的一个实施例的结构示意图。
【具体实施方式】
[0015]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
[0016]在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0017]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属【技术领域】的技术人员所理解。
[0018]下面参考附图描述根据本发明实施例的网站安全评估方法。
[0019]一种网站安全评估方法,包括以下步骤:根据网站的基本URL进行动态页面分析或静态页面分析,并根据分析结果获取网站的所有派生URL;使用多个检测模型对网站的所有派生URL对应的网页进行漏洞检测,输出所有的漏洞检测信息,其中每个检测模型对应一个应用维度;以及根据漏洞检测的信息对网站进行安全评估。
[0020]图1是根据本发明一个实施例的网站安全评估方法的流程图。
[0021]如图1所示,根据本发明实施例的网站安全评估方法包括下述步骤。
[0022]步骤S101,根据网站的基本URL进行动态页面分析或静态页面分析,并根据分析结果获取网站的所有派生URL。
[0023]具体地,首先判断根据基本URL返回的HTML页面是静态页面还是动态页面。如果为静态页面,则直接对HTML页面进行静态页面分析获取新的URL。如果为动态页面,则先对HTML页面进行动态解析(主要是通过JS引擎进行解析)以提取页面的动态URL,再根据动态URL进行静态页面分析获取新的URL。其中,静态页面分析的过程可参考现有技术,此处不再详细描述。
[0024]更具体地,如果HTML页面含有〈script〉和/或〈/script〉语句块,则确定HTML页面为动态页面;或者,如果HTML页面含有事件属性,则确定HTML页面为动态页面;或者,如果HTML页面便签的属性值含有javascript伪协议,则确定HTML页面为动态页面。应理解,上述示例仅为示意性的,并不用于限制本发明。
[0025]步骤S102,使用多个检测模型对网站的所有派生URL对应的网页进行漏洞检测,输出漏洞检测信息,其中每个检测模型对应一个应用维度。
[0026]具体地,在本发明的一个实施例中,将网站安全从应用维度进行划分,每个应用维度对应不同的检测模型。也就是说,不同的漏洞种类对应不同的检测方法,或者是静态的页面解析,或者是动态的攻击检测,最终输出所有的漏洞。其中,多个检测模型可包括XSS检测、SQL注入检测、SQL盲注检测、本地文件包含检测、远程文件包含检测和命令执行检测
坐寸ο
[0027]更具体地,XSS检测的一个具体方法是,向URL请求中追加特定字符串,根据该URL请求返回的页面是否包含该特定字符串来判断网站是否XSS可疑。如果不包含,则确定该网站不包含XSS漏洞;如果包含,则确定网站可疑,进一步根据一个恶意脚本字典对此URL进行模糊测试,将每次模糊测试的返回结果交给浏览器引擎去动态执行,如果恶意脚本得以执行,那么确定该网站存在XSS漏洞。
[0028]SQL注入检测的一个具体方法是,将一组测试串依次追加到URL请求中,根据该URL请求返回的页面中是否包含预定义的数据库(如MySQL、ORACLE、MSSQL)相关的错误串来判断网站是否可能存在SQL注入。如果不包含,则确定该网站不存在SQL注入;如果包含,则确定网站可疑,进一步根据正反两个测试串对该URL进行测试(追加到URL的参数值后面),判断两个返回页面的相似度,如果页面的相似度超过阈值(如50%),则说明不存在SQL注入,反之说明存在SQL注入。
[0029]SQL盲注检测的一个具体方法是,将SQL的SLEEP函数字典分别追加到URL的参数中,然后发送URL请求,判断根据请求的页面响应时间是否大于指定的时间阈值。如果大于,说明存在SQL盲注漏洞。
[0030]本地文件包含检测的一个具体方法是,将URL中的参数值替换为“/etc/password”,然后发送URL请求,判断根据请求返回的页面中是否包含“root: x: O: O:root”字符串,如果包含,则说明存在本地文件包含漏洞。
[0031]远程文件包含检测的一个具体方法是,将URL中的参数值替换为“http://www.baidu.com”,然后发送URL请求,判断根据请求返回的页面是否包含“〈title〉百度一下,你就知道〈/title〉”,如果包含,则说明存在远程文件包含漏洞。
[0032]命令执行检测的一个具体方法是,将URL中的参数值替换为“ENV”命令,然后发送URL请求,查看根据请求返回的页面中是否包含“PATH=”和“Η0ΜΕ=”,如果包含,则说明存在命令执行漏洞。
[0033]应理解,上述示例仅为示意性的。本领域的普通技术人员应理解,除了上述检测模型之外还可任意增加其他检测模型。此外,每个检测模型也可使用其他方法进行测试。这些修改和变化均应包含在本发明的保护范围内。
[0034]步骤S103,根据漏洞检测信息对网站进行安全性评估。
[0035]在本发明的一个实施例中,根据检测输出的漏洞结构,利用CVSS (CommonVulnerability Scoring System,通用安全漏洞评估系统)对漏洞进行客观合理的评估,最后综合所有的漏洞评分结果给出对网站安全性的评估。具体的评估方法可参照现有技术,此处不再详细描述。[0036]根据本发明实施例的网站安全评估方法至少具有以下有益效果:
[0037](I)通过对网站进行静态页面分析和动态页面分析,提高网站爬取的完备性;
[0038](2)通过预设的多个检测模型对漏洞进行自动检测,提高检测的准确性和高效性;
[0039](3)使用CVSS对漏洞进行评估,评估方法更合理;
[0040](4)通过对网站的安全性做出合理有效的评估,使得提测者对线下环境的安全性有更好的认识和了解,进而可以有目的地改进产品的安全状况。
[0041]下面结合附图详细描述根据本发明实施例的网站安全评估系统。
[0042]一种网站安全评估系统,包括:扫描模块,用于根据网站的基本URL进行动态页面分析或静态页面分析,并根据分析结果获取网站的所有派生URL;检测模块,用于使用多个检测模型对网站的所有派生URL对应的网页进行漏洞检测,输出漏洞检测信息,其中每个检测模型对应一个应用维度;以及评估模块,用于根据漏洞检测信息对网站进行安全性评估。
[0043]图2是根据本发明一个实施例的网站安全评估系统的结构示意图。如图2所示,该网站安全评估系统包括:扫描模块100、检测模块200和评估模块300。
[0044]扫描模块100用于根据网站的基本URL进行动态页面分析或静态页面分析,并根据分析结果获取网站的所有派生URL。图3为扫描模块100的一个实施例的结构示意图。如图3所示,扫描模块100可包括判断单元110、动态解析单元120和URL获取单元130。判断单元110用于判断根据网站的基本URL返回的HTML页面是静态页面还是动态页面。动态解析单元120用于在判断单元110确定HTML页面为动态页面时,对HTML页面进行动态解析以提取HTML页面的动态URL。URL获取单元130用于在判断单元130确定HTML页面为静态页面时,对HTML页面进行静态页面分析获取新的URL,以及在动态解析单元120获取HTML页面的动态URL时,根据动态URL进行静态页面分析获取新的URL。
[0045]具体地,首先,判断单元110判断根据基本URL返回的HTML页面是静态页面还是动态页面。如果是静态页面,则直接通过URL获取单元130对HTML页面进行静态页面分析获取新的URL。如果是动态页面,则首先通过动态解析单元120对HTML页面进行动态解析以提取HTML页面的动态URL,然后再通过URL获取单元根据动态URL进行静态页面分析获取新的URL。由此,实现完备的网站爬取。
[0046]更具体地,在本发明的一个实施例中,如果HTML页面含有〈script〉和/或〈/script〉语句块,则确定HTML页面为动态页面;或者,如果HTML页面含有事件属性,则确定HTML页面为动态页面;或者,如果HTML页面便签的属性值含有javascript伪协议,则确定HTML页面为动态页面。应理解,上述示例仅为示意性的,并不用于限制本发明。
[0047]检测模块200用于使用多个检测模型对网站的所有派生URL对应的网页进行漏洞检测,输出漏洞检测信息,其中每个检测模型对应一个应用维度。具体地,在本发明的一个实施例中,多个检测模型可包括XSS检测、SQL注入检测、SQL盲注检测、本地文件包含检测、远程文件包含检测和命令执行检测等。
[0048]更具体地,XSS检测的一个具体方法是,向URL请求中追加特定字符串,根据该URL请求返回的页面是否包含该特定字符串来判断网站是否XSS可疑。如果不包含,则确定该网站不包含XSS漏洞;如果包含,则确定网站可疑,进一步根据一个恶意脚本字典对此URL进行模糊测试,将每次模糊测试的返回结果交给浏览器引擎去动态执行,如果恶意脚本得以执行,那么确定该网站存在XSS漏洞。
[0049]SQL注入检测的一个具体方法是,将一组测试串依次追加到URL请求中,根据该URL请求返回的页面中是否包含预定义的数据库(如MySQL、ORACLE、MSSQL)相关的错误串来判断网站是否可能存在SQL注入。如果不包含,则确定该网站不存在SQL注入;如果包含,则确定网站可疑,进一步根据正反两个测试串对该URL进行测试(追加到URL的参数值后面),判断两个返回页面的相似度,如果页面的相似度超过阈值(如50%),则说明不存在SQL注入,反之说明存在SQL注入。
[0050]SQL盲注检测的一个具体方法是,将SQL的SLEEP函数字典分别追加到URL的参数中,然后发送URL请求,判断根据请求的页面响应时间是否大于指定的时间阈值。如果大于,说明存在SQL盲注漏洞。
[0051]本地文件包含检测的一个具体方法是,将URL中的参数值替换为“/etc/password”,然后发送URL请求,判断根据请求返回的页面中是否包含“root:x:0:0:root”字符串,如果包含,则说明存在本地文件包含漏洞。
[0052]远程文件包含检测的一个具体方法是,将URL中的参数值替换为“http://www.baidu.com”,然后发送URL请求,判断根据请求返回的页面是否包含“〈title〉百度一下,你就知道〈/title〉”,如果包含,则说明存在远程文件包含漏洞。
[0053]命令执行检测的一个具体方法是,将URL中的参数值替换为“ENV”命令,然后发送URL请求,查看根据请求返回的页面中是否包含“PATH=”和“H0ME=”,如果包含,则说明存在命令执行漏洞。
[0054]应理解,上述示例仅为示意性的。本领域的普通技术人员应理解,除了上述检测模型之外还可任意增加其他检测模型。此外,每个检测模型也可使用其他方法进行测试。这些修改和变化均应包含在本发明的保护范围内。
[0055]评估模块300用于根据漏洞检测信息对网站进行安全评估。在本发明的一个实施例中,根据检测输出的漏洞结构,利用CVSS对漏洞进行客观合理的评估,最后综合所有的漏洞评分结果给出对网站安全性的评估。
[0056]根据本发明实施例的网站安全评估系统,至少具有以下有益效果:
[0057](I)通过对网站进行静态页面分析和动态页面分析,提高网站爬取的完备性;
[0058](2)通过预设的多个检测模型对漏洞进行自动检测,提高检测的准确性和高效性;
[0059](3)使用CVSS对漏洞进行评估,评估方法更合理;
[0060](4)通过对网站的安全性做出合理有效的评估,使得提测者对线下环境的安全性有更好的认识和了解,进而可以有目的地改进产品的安全状况。
[0061]应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。[0062]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0063]尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
【权利要求】
1.一种网站安全评估方法,其特征在于,包括以下步骤: S1:根据网站的基本URL进行动态页面分析或静态页面分析,并根据分析结果获取所述网站的所有派生URL ; S2:使用多个检测模型对所述网站的所有派生URL对应的网页进行漏洞检测,输出漏洞检测信息,其中每个检测模型对应一个应用维度;以及S3:根据所述漏洞检测信息对所述网站进行安全性评估。
2.根据权利要求1所述的网站安全评估方法,其特征在于,所述步骤SI具体包括: 判断根据所述基本URL返回的HTML页面是静态页面还是动态页面; 如果所述HTML页面为静态页面,则直接对所述HTML页面进行静态页面分析获取新的URL ; 如果所述HTML页面为动态页面,则对所述HTML页面进行动态解析以提取所述HTML页面的动态URL,并根据所述动态URL进行静态页面分析以获取新的URL。
3.根据权利要求2所述的网站安全评估方法,其特征在于,所述判断URL请求返回的HTML页面是静态页面还是动态页面具体包括: 如果所述HTML页面含有〈script〉和/或〈/script〉语句块,则确定所述HTML页面为动态页面; 如果所述HTML页面含有事件属性,则确定所述HTML页面为动态页面; 如果所述HTML页面便签的属性值含有javascript伪协议,则确定所述HTML页面为动态页面。
4.根据权利要求1所述的`网站安全评估方法,其特征在于,所述多个检测模型包括:XSS检测、SQL注入检测、SQL盲注检测、本地文件包含检测、远程文件包含检测和命令执行检测。
5.根据权利要求1所述的网站安全评估方法,其特征在于,所述步骤S3具体包括: 根据所述漏洞检测的信息,使用通用安全漏洞评估系统对网站进行安全性评估。
6.一种网站安全评估系统,其特征在于,包括: 扫描模块,用于根据网站的基本URL进行动态页面分析或静态页面分析,并根据分析结果获取所述网站的所有派生URL ; 检测模块,用于使用多个检测模型对所述网站的所有派生URL对应的网页进行漏洞检测,输出漏洞检测信息,其中每个检测模型对应一个应用维度;以及评估模块,用于根据所述漏洞检测信息对所述网站进行安全性评估。
7.根据权利要求6所述的网站安全评估系统,其特征在于,所述扫描模块具体包括: 判断单元,用于判断根据所述基本URL返回的HTML页面是静态页面还是动态页面; 动态解析单元,用于在所述判断单元确定所述HTML页面为动态页面时,对所述HTML页面进行动态解析以提取所述HTML页面的动态URL ; URL获取单元,用于在所述判断单元确定所述HTML页面为静态页面时,对所述HTML页面进行静态页面分析获取新的URL,以及在所述动态解析单元获取所述HTML页面的动态URL时,根据所述动态URL进行静态页面分析获取新的URL。
8.根据权利要求7所述的网站安全评估系统,其特征在于,所述判断单元判断URL请求返回的HTML页面是静态页面还是动态页面具体包括:如果所述HTML页面含有〈script〉和/或〈/script〉语句块,则确定所述HTML页面为动态页面; 如果所述HTML页面含有事件属性,则确定所述HTML页面为动态页面; 如果所述HTML页面便签的属性值含有javascript伪协议,则确定所述HTML页面为动态页面。
9.根据权利要求6所述的网站安全评估系统,其特征在于,所述预定的检测模型包括:XSS检测、SQL注入检测、SQL盲注检测、本地文件包含检测、远程文件包含检测和命令执行检测。
10.根据权利要求6所述的网站安全评估系统,其特征在于,所述评估模块根据所述漏洞检测的结果, 使用通用安全漏洞评估系统对网站进行安全性评估。
【文档编号】H04L29/06GK103685189SQ201210345714
【公开日】2014年3月26日 申请日期:2012年9月17日 优先权日:2012年9月17日
【发明者】计东 申请人:百度在线网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1