一种漏洞检测方法及系统技术方案

技术编号:31717159 阅读:9 留言:0更新日期:2022-01-01 11:24
本发明专利技术涉及一种漏洞检测方法及系统,所述方法包括:获取测试端浏览器发送给测试目标的请求对功能点进行测试的镜像数据包;解析所述镜像数据包,获取到本次请求的去除参数的URL、参数及参数值;基于所述镜像数据包,依次对初始化漏洞组中的每个漏洞按照对应的检测策略进行初始化漏洞检测;以及依据每一运行态漏洞组的校验类型,基于所述镜像数据包及其解析结果构造自动测试请求数据包,对该漏洞组中的一个或多个漏洞按序执行粗粒度检测;在粗粒度检测出现疑似风险时,依据对应的检测策略进行细粒度检测或结果校验,以对疑似风险进行确认或排除。本发明专利技术减小了对测试环境的服务器压力,提高了漏洞的检测效率及系统扩展性。提高了漏洞的检测效率及系统扩展性。提高了漏洞的检测效率及系统扩展性。

【技术实现步骤摘要】
一种漏洞检测方法及系统


[0001]本专利技术涉及网络安全
,特别地涉及一种漏洞检测方法及系统。

技术介绍

[0002]在信息时代,网络信息安全始终是企业和个人关心的头等大事。无论是硬件、软件还是协议,当其存在缺陷或系统安全策略不足时,则形成漏洞,攻击者利用漏洞在未经授权时即可访问或破坏系统,导致信息系统受到木马、蠕虫病毒的攻击或控制、数据泄露、数据被篡改、删除等等,从而给个人和企业带来不可估量的损失,尤其是一些互联网企业,为了保证线上业务的正常运行,保护用户信息的安全,通常配有安全工程师对线上业务进行漏洞的安全检测,以发现漏洞,并及时通知相关部门进行修复。目前,大部分的安全工程师采用风险扫描器,基于安全测试项目文档进行人工测试。但是这种安全检测模式面临以下问题:
[0003]第一、人为因素影响大。由于安全工程师的工作状态、安全知识储备、对于测试项目的理解等因素,无法保证安全测试策略得到很好地执行以及待检测业务功能的全量覆盖。另外,不同业务可能采用不同开发框架,如原生PHP模式、基于MVC框架的自编写模式、第三方框架模式等等,不同开发框架具有不同的测试策略,因而需要安全工程师针对项目的开发框架加载对应的测试策略,但是在实际操作过程中,安全工程师不一定会对此进行关注,导致安全测试策略加载错误进行无效检测。
[0004]第二、检测工具的效能有待提高。目前安全测试流程中常用的自动化应用风险扫描器如Appscan、绿盟极光等仅能覆盖一些简单的基于请求响应模型的安全风险,无法覆盖权限类安全漏洞及需要交互如存储型XSS类型的安全漏洞。
[0005]第三、漏检。虽然传统自动化扫描器爬虫能获取大部分的业务功能点,但无法获取高交互的业务功能点,无法有效解决业务功能漏检情况。
[0006]第四、安全测试经验和测试策略不能共享。安全工程师对于历史项目的测试经验和测试策略仅能通过自行记录的方式复用于同项目的下一次测试,无法实现不同工程师间的分享,并且无法得知是否出现漏检的情况,最终会导致测试周期长且结果不可信。
[0007]第四、测试环境受限。由于甲方安全测试通常在测试环境的服务器进行,此类测试服务器性能较差,仅能支持少量并发的测试请求,但市场中主流扫描器都是基于海量的攻击模拟请求进行,慢速进行的话,无法在有限的测试周期完成。
[0008]综上所述,现有的漏洞检测模式、方法及系统还有很多可以提升的空间。

技术实现思路

[0009]针对现有技术中存在的技术问题,本专利技术提出了一种漏洞检测方法及系统,在安全工程师进行漏洞检测时,减小对测试环境的服务器压力,提高漏洞的检测效率及系统扩展性。
[0010]为了解决上述的技术问题,根据本专利技术的一个方面,本专利技术提供了一种漏洞检测
方法,其中需要检测的多种漏洞分为初始化漏洞组和运行态漏洞组,运行态漏洞组根据校验类型分为多个不同的漏洞组,每个漏洞组对应相应的检测策略,所述方法包括:获取测试端浏览器发送给测试目标的请求对功能点进行测试的镜像数据包;解析所述镜像数据包,获取到本次请求的去除参数的URL、参数及参数值;基于所述镜像数据包,依次对初始化漏洞组中的每个漏洞按照对应的检测策略进行初始化漏洞检测;以及依据每一运行态漏洞组的校验类型,基于所述镜像数据包及其解析结果构造自动测试请求数据包,对该漏洞组中的一个或多个漏洞按序执行粗粒度检测;在粗粒度检测出现疑似风险时,依据对应的检测策略进行细粒度检测或结果校验,以对疑似风险进行确认或排除
[0011]为了解决上述的技术问题,根据本专利技术的另一个方面,本专利技术提供了一种漏洞检测系统,包括数据包获取模块、数据包分析模块和检测模块,其中,检测模块包括检测管理单元和多个检测模型单元;所述数据包获取模块经配置从预置的代理端口获取测试端浏览器发送给测试目标的请求对功能点进行测试的镜像数据包,并向测试目标发送测试请求数据包,接收测试目标返回的对应响应数据包;所述数据包分析模块与所述数据包获取模块相连接,经配置以解析所述镜像数据包和响应数据包;所述检测管理单元与所述数据包分析模块相接,按照预置扫描策略协调多个检测模型单元对多个漏洞进行检测,其中多个漏洞分为初始化漏洞组和运行态漏洞组,根据校验类型运行态漏洞组分为多个不同的漏洞组,每个漏洞组设置有相应的检测策略;所述多个检测模型单元分别与所述检测管理单元、数据包分析模块和数据包获取模块相连接,每个检测模型单元根据检测管理单元的指令按照检测策略完成一个校验类型的漏洞组的检测。
[0012]本专利技术将检测流程拆分为初始的粗粒度安全检测和复核时的细粒度安全检测或结果校验两步,粗粒度安全检测仅配置少量最优的测试用例,如出现疑似漏洞再调用大量而精准的测试用例进行复核,因而对测试服务器的性能要求不高,在较差性能的测试环境下可以快速完成漏洞的安全检测,准确性高、效率高。通过根据检测时的校验类型将漏洞分为不同的小组,并为不同的漏洞组配置相应的检测策略并分别由一个检测模型单元执行,各个模型单元独立运行,因而漏洞检测的扩张性好,可以随时将新出现的漏洞匹配到对应的漏洞组,或者为其增加新的校验类型的检测模型单元,本专利技术这种模块化的检测模式提高了系统的扩展性,并在进行扩展时,安全工程师可以根据需要在系统前端通过配置来增加或减少漏洞或增加检测模型单元,减少了对开发人员的依赖。
附图说明
[0013]下面,将结合附图对本专利技术的优选实施方式进行进一步详细的说明,其中:
[0014]图1是根据本专利技术的一个实施例提供的漏洞检测系统原理框图;
[0015]图2是根据本专利技术的一个实施例提供的项目检测管理模块原理框图;
[0016]图3是根据本专利技术的一个实施例提供的漏洞检测方法流程图;
[0017]图4是根据本专利技术的一个实施例提供的自动检测工具的原理框图;
[0018]图5是根据本专利技术的一个实施例提供的数据包分析模块的原理框图;
[0019]图6是根据本专利技术的一个实施例提供的检测模块的原理框图;
[0020]图7是根据本专利技术的一个实施例提供的对一个功能点进行检测的流程图;
[0021]图8是根据本专利技术的一个实施例提供的对一个初始化漏洞进行检测的流程图;
[0022]图9是根据本专利技术的一个实施例提供的对运行态漏洞组的一个漏洞的检测流程图;以及
[0023]图10是根据本专利技术的一个实施例提供的检测模型单元的原理框图。
具体实施方式
[0024]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0025]在以下的详细描述中,可以参看作为本申请一部分用来说明本申请的特定实施例的各个说明书附图。在附图中,相似的附图标记在不同图式中描述大体上类似的组件。本申本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种漏洞检测方法,其中需要检测的多种漏洞分为初始化漏洞组和运行态漏洞组,运行态漏洞组根据校验类型分为多个不同的漏洞组,各个漏洞组对应相应的检测策略,所述方法包括:获取测试端浏览器发送给测试目标的请求对功能点进行测试的镜像数据包;解析所述镜像数据包,获取到本次请求的去除参数的URL、参数及参数值;基于所述镜像数据包,依次对初始化漏洞组中的每个漏洞按照对应的检测策略进行初始化漏洞检测;以及依据每一运行态漏洞组的校验类型,基于所述镜像数据包及其解析结果构造自动测试请求数据包,对该漏洞组中的一个或多个漏洞按序执行粗粒度检测;在粗粒度检测出现疑似风险时,依据对应的检测策略进行细粒度检测或结果校验,以对疑似风险进行确认或排除。2.根据权利要求1所述的方法,其中运行态漏洞组的校验类型包括请求响应校验型、替换请求响应校验型、登录凭证替换校验型、响应内容校验型和请求重放校验型中的一种或多种;其中,当漏洞组的校验类型为响应内容校验型和请求重放校验型时,以原始镜像数据包作为所述自动测试请求数据包;当漏洞组的校验类型为请求响应校验型时,在镜像数据包中增加1

5个测试用例以构成所述自动测试请求数据包;当漏洞组的校验类型为替换请求响应校验型时,将镜像数据包中的参数值替换为1

5个测试用例以构成所述自动测试请求数据包;当漏洞组的校验类型为登录凭证替换校验型时,将镜像数据包中的用户认证凭证分别替换为不同级别用户的认证凭证以构成多个所述自动测试请求数据包。3.根据权利要求1所述的方法,其中在粗粒度检测出现疑似风险时,查询所述漏洞的检测策略,响应于所述检测策略中设置的测试条件没有限制进行细粒度检测;响应于所述检测策略中设置的测试条件及校验机制执行相应的结果校验。4.根据权利要求3所述的方法,其中所述的细粒度检测包括:变更自动测试请求数据包中的测试用例,基于新的自动测试请求数据包按照对应校验类型的检测策略进行一次或多次检测。5.根据权利要求3所述的方法,所述校验机制包括依据功能点URL标识字段中相应标识内容的标记状态进行校验;其中所述URL标记字段中的标识内容包括对账户权限、信息存储、上传功能、敏感功能和用户私有功能,标记状态为“是”或“否”。6.根据权利要求5所述的方法,其中在进行结果校验时,对于权限类漏洞,响应于URL标记字段中的账户权限的标记为“否”时,排除所述疑似风险。7.根据权利要求6所述的方法,其中在进行结果校验时,对于未授权访问漏洞,开启爬虫引擎使用未登录帐户抓取所述功能点链接,对于垂直越权漏洞开启爬虫引擎使用普通帐户抓取所述功能点链接;以及在抓取到所述功能点链接时,排除所述疑似风险。8.根据权利要求7所述的方法,进一步包括:响应于爬虫引擎抓取到所述功能点链接,且所述功能点URL标记字段中的账户权限未标记,将所述功能点URL标记字段中的账户权限标记为“否”。
9.根据权利要求6所述的方法,其中在进行结果校验时,对于水平越权漏洞,响应于URL标记字段中的账户权限的标记为“是”,查询用户私有功能的标记;以及响应于用户私有功能的标记为“是”确认所述疑似风险,响应于用户私有功能的标记为“否”排除所述疑似风险。10.根据权利要求5所述的方法...

【专利技术属性】
技术研发人员:马弘煜周世芹杨向勇
申请(专利权)人:前锦网络信息技术上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1