互联网业务变更检测方法及系统与流程

文档序号:14522600阅读:151来源:国知局
互联网业务变更检测方法及系统与流程

本发明涉及网络检测技术领域,尤其涉及互联网业务变更检测方法及系统。



背景技术:

监控互联网业务是否有变更,是黑盒安全测试和安全控制体系中非常重要的一环,直接影响安全措施的覆盖率。

目前对于业务变更的检测识别,常用以下方法:

(1)通过代码管理系统进行检测:优点是可以识别细小变更,并且可以获取源代码进行白盒安全审计。缺点是代码变更并不代表线上业务发生变更,且业务变更通常有一定滞后性;其次,代码管理系统通常由开发部门运营管理,和安全系统对接需要额外成本,尤其是代码没有统一管理的情况下成本更大。

(2)通过版本发布系统进行检测:可以同步版本发布系统的数据,优点是版本变更识别准确有效,但中小型公司,不一定有统一的业务版本发布系统。

(3)通过人工提测:优点是准确,缺点是容易导致遗漏。

因此目前尚缺乏一种准确性好,运营成本低的业务变更的自动化检测方法。



技术实现要素:

有鉴于此,本发明的目的在于提供一种互联网业务变更检测方法及系统,以解决如何在低成本的前提下准确地对业务变更进行自动化检测的问题。

为实现上述目的,本发明提供一种互联网业务变更检测方法,该方法包括步骤:

对网站业务进行多维度数据采集;

针对每个维度进行差异评分;及

采用综合评估算法对所有维度的差异评分进行综合运算,从而判断是否发生业务变更。

优选地,所述多维度包括页面dom树结构、页面加载资源、cgi参数、网站拓扑关系、文件对比。

优选地,所述综合评估算法包括基于参考维度的方式和基于权重的方式。

优选地,当基于参考维度时,所述采用综合评估算法对所有维度的差异评分进行综合运算,从而判断是否发生业务变更的步骤具体包括:

设置综合评估业务变更的参考维度和评估规则;

获取每个参考维度对应的差异评分;

根据所述差异评分判断每个参考维度是否存在变化;

根据判断结果和所述评估规则确定所述网站是否发生业务变更。

优选地,当基于权重时,所述采用综合评估算法对所有维度的差异评分进行综合运算,从而判断是否发生业务变更的步骤具体包括:

获取每个维度对应的差异评分;

对每个维度的差异评分数据进行标准化;

采用线性回归方式得出每个维度的权重;

根据每个维度的差异评分和对应权重进行加权求和,计算总差异度;

根据计算出的总差异度判断该网站是否发生业务变更。

优选地,该方法还包括步骤:

当判断出发生业务变更时,判断所述变更是否匹配白名单;

当所述变更未包含在白名单中时,记录所述变更的信息并向用户进行报告。

本发明提出的互联网业务变更检测方法,可以以一种运营成本较低,准确率较高的方式监控网站业务变更,以提高安全检测覆盖率,减少遗漏,并且可以优化黑盒检测的调度效率和响应速度。

为实现上述目的,本发明还提出一种互联网业务变更检测系统,该系统包括:

采集模块,用于对网站业务进行多维度数据采集;

评分模块,用于针对每个维度进行差异评分;

计算模块,用于采用综合评估算法对所有维度的差异评分进行综合运算,从而判断是否发生业务变更。

优选地,所述多维度包括页面dom树结构、页面加载资源、cgi参数、网站拓扑关系、文件对比。

优选地,所述综合评估算法包括基于参考维度的方式和基于权重的方式。

优选地,该系统还包括:

匹配模块,用于当判断出发生业务变更时,判断所述变更是否匹配白名单;

报告模块,用于当所述变更未包含在白名单中时,记录所述变更的信息并向用户进行报告。

本发明提出的互联网业务变更检测系统,可以以一种运营成本较低,准确率较高的方式监控网站业务变更,以提高安全检测覆盖率,减少遗漏,并且可以优化黑盒检测的调度效率和响应速度。

附图说明

图1为本发明第一实施例提出的一种互联网业务变更检测方法的流程图;

图2为基于参考维度时图1中步骤s104的具体流程图;

图3为基于权重时图1中步骤s104的具体流程图;

图4为本发明第二实施例提出的一种互联网业务变更检测方法的流程图;

图5为本发明第三实施例提出的一种互联网业务变更检测系统的模块示意图;

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

第一实施例

如图1所示,本发明第一实施例提出一种互联网业务变更检测方法,该方法包括以下步骤:

s100,对网站业务进行多维度数据采集。

具体地,会从多个维度采集数据,然后将多维度的对比结果进行组合或者评分,从整体上降低单维度检测可能导致的误报。并且在少量维度缺失的情况下,还能保证一定的可用性。例如有的企业,因为权限敏感等原因,不允许主机agent(代理)采集数据,就会造成少量维度缺失。所述多维度包括页面dom(documentobjectmodel,文档对象模型)树结构、页面加载资源、cgi(commongatewayinterface,通用网关接口)参数、网站拓扑关系、文件对比等。

s102,针对每个维度进行差异评分。

具体地,所述差异评分是使用同一个页面、站点或cgi的新采集数据和历史数据进行对比。本实施例中的所有采集和评分数据均可保存在数据库等存储单元中。

针对页面dom树结构的差异评分,旨在判断两个页面结构差异大小。在本实施例中,采用广度遍历策略,标识出每层树结构的区别,从根节点到叶节点,dom树结构差异的权重逐级下降。例如,1层节点差异度权重设置为10,2级节点则设置为9或者更低(依据运营效果调整)。最后根据每层dom树节点数量乘以权重得出页面dom树结构的差异评分。dom树结构的差异评分分为静态树结构解析和动态树结构解析两种方式。静态方式需要拉取html页面并用程序解析dom树结构。动态方式采用phantomjs加载页面,待页面加载完成后特定时间内,输出dom树结构。

针对页面加载资源的差异评分,在本实施例中特指页面在载入时,引入的css(cascadingstylesheets,层叠样式表)、js(javascript)、图片等静态资源。当业务变更时,页面加载的静态资源很有可能同步变更。对比方式为比较静态文件的md5(messagedigestalgorithmmd5,消息摘要算法5)。其中,js,css资源有较高的权重,图片资源权重较低。

针对cgi参数的差异评分,采用webcrawler(网络爬虫)技术获取站点中的cgi参数,记录cgi参数列表和参数格式(比如数字、字符串、日期、token等)。cgi的参数列表发生变更或者参数格式发生变更时,认为cgi参数有变化。在本实施例中,不同的cgi参数的评分权重默认相同,也可配置某些特定参数具有高权重的评分,最终输出一个参数列表变化和参数格式变化的评分。

针对网站拓扑关系的差异评分,可以有两种获取方式,一种是通过站点的sitemap(网页地图,有的站点可能没有)确定,另一种是通过网络爬虫技术获取站点结构时,页面和cgi之间的refer关系来确定。在本实施例中,为简化比较算法的复杂度,拓扑关系采用树形结构比较,以站点首页作为根节点,进行广度遍历。如果一个页面或者cgi已经出现过,则认为这条分支已经走到叶节点(避免循环)。网站拓扑关系差异的总评分,采用和上述dom树结构的差异评分同样的权重分配方式,进行加权算分。

针对文件对比的差异评分,在本实施例中特指通过主机安全agent采集web目录下文件md5的变更数据。如果企业环境不允许部署主机agent,本维度可以不部署,对整体结果影响不大。

s104,采用综合评估算法对所有维度的差异评分进行综合运算,从而判断是否发生业务变更。

所述综合评估算法可以基于参考维度,即当预设的多个参考维度发生差异时,判断存在业务变更。

所述综合评估算法还可以基于权重,即为每个维度设置对应的权重,针对每个维度的差异评分结果,进行加权求和,计算总的差异度。

具体地,参阅图2所示,为基于参考维度时,所述步骤s104的具体流程图。该流程包括步骤:

s200,设置综合评估业务变更的参考维度和评估规则。

在本实施例中,所述参考维度和评估规则可以由人工进行分析页面或者站点后制定。例如,设置参考维度为页面dom树结构、cgi参数和文件对比,评估规则为如果页面同时满足上述三个参考维度存在变化,则判定业务出现了变更。后续还可以对所述参考维度和评估规则进行添加、修改、删除等维护。

s202,获取每个参考维度对应的差异评分。

在本实施例中,根据所设置的参考维度,从上述步骤s102得到的评分结果中获取每个参考维度对应的差异评分。例如,分别获取针对页面dom树结构、cgi参数和文件对比的差异评分。

s204,根据所述差异评分判断每个参考维度是否存在变化。

例如,根据上述针对页面dom树结构、cgi参数和文件对比的差异评分,判断在页面dom树结构、cgi参数和文件这三个参考维度上是否存在变化。

s206,根据上述判断结果和所述评估规则确定该网站是否发生业务变更。

在本实施例中,当上述判断的结果满足所述评估规则时,确定该网站发生了业务变更。当上述判断的结果不满足所述评估规则时,确定该网站未发生业务变更。例如,当上述页面dom树结构、cgi参数和文件这三个参考维度均存在变化时,确定该网站发生了业务变更。

该方式的优点是:规则制定容易,针对特定页面或者站点,误报率较小。缺点是:规则通用性不强,业务较大变更可能导致规则失效,特定规则无法大规模自动化应用。

参阅图3所示,为基于权重时,所述步骤s104的具体流程图。该流程包括步骤:

s300,获取每个维度对应的差异评分。

在本实施例中,从上述步骤s102得到的评分结果中获取每个维度对应的差异评分。

s302,对每个维度的差异评分数据进行标准化。

在本实施例中,所述标准化是指将所述差异评分数据转化到区间0-1。

s304,采用线性回归方式得出每个维度的权重。

值得注意的是,为了针对维度缺失的情况,应使用所述差异评分数据同时采用线性回归方式计算出当特定维度缺失时,计算总差异度时其他各项维度的权重。因此,当少量维度缺失的情况下,也能保证一定的可用性。

s306,根据每个维度的差异评分和对应权重进行加权求和,计算总差异度。

在本实施例中,总差异度=页面dom树结构的差异评分*权重1+页面加载资源的差异评分*权重2+cgi参数的差异评分*权重3+网站拓扑关系的差异评分*权重4+文件对比的差异评分*权重5。

s308,根据计算出的总差异度判断该网站是否发生业务变更。

在本实施例中,可以预先设置一个阈值,当总差异度超过阈值时,判断该网站发生了业务变更;当总差异度小于阈值时,判断该网站未发生业务变更。

该方式的优点是通用性较好,缺点是需要花不少人力去采集变更前后的真实数据。

本实施例所提出的互联网业务变更检测方法,可以以一种运营成本较低,准确率较高的方式监控网站业务变更,以提高安全检测覆盖率,减少遗漏,并且可以优化黑盒检测的调度效率和响应速度。

第二实施例

如图4所示,本发明第二实施例提出一种互联网业务变更检测方法。在第二实施例中,所述互联网业务变更检测方法的步骤与第一实施例的步骤相类似,主要区别在于在第一实施例的基础上增加了步骤s406和s408。该方法具体包括以下步骤:

s400,对网站业务进行多维度数据采集。

具体地,会从多个维度采集数据,然后将多维度的对比结果进行组合或者评分,从整体上降低单维度检测可能导致的误报。并且在少量维度缺失的情况下,还能保证一定的可用性。所述多维度包括页面dom树结构、页面加载资源、cgi参数、网站拓扑关系、文件对比等。

s402,针对每个维度进行差异评分。

具体地,所述差异评分是使用同一个页面、站点或cgi的新采集数据和历史数据进行对比。本实施例中的所有采集和评分数据均可保存在数据库等存储单元中。

针对页面dom树结构的差异评分,旨在判断两个页面结构差异大小。在本实施例中,采用广度遍历策略,标识出每层树结构的区别,从根节点到叶节点,dom树结构差异的权重逐级下降。最后根据每层dom树节点数量乘以权重得出页面dom树结构的差异评分。dom树结构的差异评分分为静态树结构解析和动态树结构解析两种方式。静态方式需要拉取html页面并用程序解析dom树结构。动态方式采用phantomjs加载页面,待页面加载完成后特定时间内,输出dom树结构。

针对页面加载资源的差异评分,在本实施例中特指页面在载入时,引入的css、js、图片等静态资源。当业务变更时,页面加载的静态资源很有可能同步变更。对比方式为比较静态文件的md5。其中,js,css资源有较高的权重,图片资源权重较低。

针对cgi参数的差异评分,采用网络爬虫技术获取站点中的cgi参数,记录cgi参数列表和参数格式。cgi的参数列表发生变更或者参数格式发生变更时,认为cgi参数有变化。在本实施例中,不同的cgi参数的评分权重默认相同,也可配置某些特定参数具有高权重的评分,最终输出一个参数列表变化和参数格式变化的评分。

针对网站拓扑关系的差异评分,可以有两种获取方式,一种是通过站点的sitemap确定,另一种是通过网络爬虫技术获取站点结构时,页面和cgi之间的refer关系来确定。在本实施例中,为简化比较算法的复杂度,拓扑关系采用树形结构比较,以站点首页作为根节点,进行广度遍历。如果一个页面或者cgi已经出现过,则认为这条分支已经走到叶节点。网站拓扑关系差异的总评分,采用和上述dom树结构的差异评分同样的权重分配方式,进行加权算分。

针对文件对比的差异评分,在本实施例中特指通过主机安全agent采集web目录下文件md5的变更数据。如果企业环境不允许部署主机agent,本维度可以不部署,对整体结果影响不大。

s404,采用综合评估算法对所有维度的差异评分进行综合运算,从而判断是否发生业务变更。当发生业务变更时,执行步骤s406。当未发生业务变更时,流程结束。

所述综合评估算法可以基于参考维度,即当预设的多个参考维度发生差异时,判断存在业务变更。

所述综合评估算法还可以基于权重,即为每个维度设置对应的权重,针对每个维度的差异评分结果,进行加权求和,计算总的差异度。

上述两种方式的具体步骤已在第一实施例中详细说明,在此不再赘述。

s406,判断该变更是否匹配白名单。若匹配,则流程结束。若不匹配,则执行步骤s408。

在本实施例中,当根据每个维度的差异评分进行综合评估,判断出发生业务变更时,还需要根据白名单机制进行进一步确认。当该变更包含在白名单中时,不需要报告该变更。当该变更未包含在白名单中时,将该变更进行上报。

所述白名单机制会定期根据对评估结果(是否发生业务变更)的人工确认等操作将相应变更和规则加入白名单,白名单中包含的变更不需要报告。

s408,记录该变更的信息并向用户进行报告。

第三实施例

如图5所示,本发明第三实施例提出一种互联网业务变更检测系统50。

在本实施例中,互联网业务变更检测系统50包括采集模块500、评分模块502和计算模块504。

所述采集模块500,用于对网站业务进行多维度数据采集。

具体地,采集模块500会从多个维度采集数据,然后将多维度的对比结果进行组合或者评分,从整体上降低单维度检测可能导致的误报。并且在少量维度缺失的情况下,还能保证一定的可用性。所述多维度包括页面dom树结构、页面加载资源、cgi参数、网站拓扑关系、文件对比等。

所述评分模块502,用于针对每个维度进行差异评分。

具体地,所述差异评分是使用同一个页面、站点或cgi的新采集数据和历史数据进行对比。

针对页面dom树结构的差异评分,旨在判断两个页面结构差异大小。在本实施例中,采用广度遍历策略,标识出每层树结构的区别,从根节点到叶节点,dom树结构差异的权重逐级下降。最后根据每层dom树节点数量乘以权重得出页面dom树结构的差异评分。dom树结构的差异评分分为静态树结构解析和动态树结构解析两种方式。静态方式需要拉取html页面并用程序解析dom树结构。动态方式采用phantomjs加载页面,待页面加载完成后特定时间内,输出dom树结构。

针对页面加载资源的差异评分,在本实施例中特指页面在载入时,引入的css、js、图片等静态资源。当业务变更时,页面加载的静态资源很有可能同步变更。对比方式为比较静态文件的md5。其中,js,css资源有较高的权重,图片资源权重较低。

针对cgi参数的差异评分,采用网络爬虫技术获取站点中的cgi参数,记录cgi参数列表和参数格式。cgi的参数列表发生变更或者参数格式发生变更时,认为cgi参数有变化。在本实施例中,不同的cgi参数的评分权重默认相同,也可配置某些特定参数具有高权重的评分,最终输出一个参数列表变化和参数格式变化的评分。

针对网站拓扑关系的差异评分,可以有两种获取方式,一种是通过站点的sitemap确定,另一种是通过网络爬虫技术获取站点结构时,页面和cgi之间的refer关系来确定。在本实施例中,为简化比较算法的复杂度,拓扑关系采用树形结构比较,以站点首页作为根节点,进行广度遍历。如果一个页面或者cgi已经出现过,则认为这条分支已经走到叶节点。网站拓扑关系差异的总评分,采用和上述dom树结构的差异评分同样的权重分配方式,进行加权算分。

针对文件对比的差异评分,在本实施例中特指通过主机安全agent采集web目录下文件md5的变更数据。如果企业环境不允许部署主机agent,本维度可以不部署,对整体结果影响不大。

所述计算模块504,用于采用综合评估算法对所有维度的差异评分进行综合运算,从而判断是否发生业务变更。

所述综合评估算法可以基于参考维度,即当预设的多个参考维度发生差异时,判断存在业务变更。

所述综合评估算法还可以基于权重,即为每个维度设置对应的权重,针对每个维度的差异评分结果,进行加权求和,计算总的差异度。

上述两种方式的具体过程已在第一实施例中详细说明,在此不再赘述。

进一步地,所述互联网业务变更检测系统50还可以包括:

匹配模块506,用于当判断出发生业务变更时,判断该变更是否匹配白名单。

在本实施例中,当根据每个维度的差异评分进行综合评估,判断出发生业务变更时,还需要根据白名单机制进行进一步确认。当该变更包含在白名单中时,不需要报告该变更。当该变更未包含在白名单中时,将该变更进行上报。

所述白名单机制会定期根据对评估结果(是否发生业务变更)的人工确认等操作将相应变更和规则加入白名单,白名单中包含的变更不需要报告。

报告模块508,用于记录该变更的信息并向用户进行报告。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1