一种情报分析引擎的测试、装置及设备的制作方法

文档序号:23923412发布日期:2021-02-09 19:59阅读:84来源:国知局
一种情报分析引擎的测试、装置及设备的制作方法

[0001]
本申请涉及计算机技术领域,特别涉及一种情报分析引擎的测试方法、装置、设备及可读存储介质。


背景技术:

[0002]
根据2014年《安全威胁情报服务市场指南》中提出的,威胁情报是一种基于证据的知识,包括情境、机制、指标、隐含和实际可行的建议。威胁情报描述了现存的或者是即将出现针对资产的威胁或危险,并可以用于通知主体针对相关威胁或危险采取某种响应。也就是说,威胁情报往往是关于威胁的相关信息,可能是现存的已知的,也可能是即将出现的未知的。
[0003]
情报分析引擎是安全分析引擎的一种,用于通过公开的资源来发现针对资产的威胁或危险,然后向主体(企业等)提出行动建议或安全措施建议,最终旨在改善资产的安全状况。在当下这个大数据信息时代,威胁情报已有海量,对情报分析引擎的产品质量要求也是越来越高。
[0004]
当前对情报分析引擎的测试方案多为手动测试,测试覆盖度有限、效率较低且人工成本高昂。此外,当前对情报分析引擎的测试方案往往基于随机数据来进行测试,但随机数据的有效性较低,缺乏数据针对性,无法定位到具体出问题的功能点。
[0005]
综上,如何提供一种情报分析引擎的测试方案,避免人工测试带来的覆盖度有限、效率较低且人工成本高昂的问题,提升测试数据的有效性,实现问题定位,是亟待本领域技术人员解决的问题。


技术实现要素:

[0006]
本申请的目的是提供一种情报分析引擎的测试方法、装置、设备及可读存储介质,用以解决当前的情报分析引擎的测试方案基于人工实现,存在测试数据覆盖度有限,测试效率低下的问题。其具体方案如下:
[0007]
第一方面,本申请提供了一种情报分析引擎的测试方法,包括:
[0008]
采集威胁情报数据,得到第一威胁情报数据集合;
[0009]
根据所述威胁情报数据的数据内容,生成所述第一威胁情报数据集合中每条威胁情报数据的威胁标签;
[0010]
获取待测的情报分析引擎的情报分析规则;根据所述情报分析规则中每条子规则的规则内容,生成每条所述子规则的威胁标签;
[0011]
根据所述威胁标签,对所述子规则和所述第一威胁情报数据集合中的威胁情报数据进行匹配,确定每条所述子规则对应的第二威胁情报数据集合;
[0012]
对于每条所述子规则,将与所述子规则对应的第二威胁情报数据集合的威胁情报数据输入所述数据分析引擎中,得到实际分析结果;将所述实际分析结果与所述子规则对应的分析结果期望进行对比,得到所述子规则的测试结果。
[0013]
优选的,所述根据所述威胁情报数据的数据内容,生成所述第一威胁情报数据集合中每条威胁情报数据的威胁标签,包括:
[0014]
根据所述威胁情报数据的数据内容,生成所述第一威胁情报数据集合中每条威胁情报数据的威胁标签,其中所述威胁标签包括以下任意一项或多项:威胁类型、威胁源类型、数据源可信度、情报源可信度。
[0015]
优选的,在所述根据所述情报分析规则中每条子规则的规则内容,生成每条所述子规则的威胁标签之后,还包括:
[0016]
以所述威胁标签为键,以所述子规则为值,生成键值对数据。
[0017]
优选的,在所述对于每条所述子规则,将与所述子规则对应的第二威胁情报数据集合的威胁情报数据输入所述数据分析引擎中,得到实际分析结果之前,还包括:
[0018]
对所述第二威胁情报数据集合中威胁情报数据的非威胁标签字段进行多样化填充。
[0019]
优选的,所述根据所述威胁标签,对所述子规则和所述第一威胁情报数据集合中的威胁情报数据进行匹配,确定每条所述子规则对应的第二威胁情报数据集合,包括:
[0020]
利用自动化脚本,采用嵌套检索的方式,根据所述威胁标签对所述子规则和所述第一威胁情报数据集合中的威胁情报数据进行匹配,确定每条所述子规则对应的第二威胁情报数据集合。
[0021]
优选的,所述根据所述威胁标签,对所述子规则和所述第一威胁情报数据集合中的威胁情报数据进行匹配,确定每条所述子规则对应的第二威胁情报数据集合,包括:
[0022]
初始化每条所述子规则对应的第二威胁情报数据集合为空;
[0023]
根据所述威胁标签,逐条地将所述第一威胁情报数据集合中的威胁情报数据与所述子规则进行匹配,根据匹配结果将该条威胁情报数据存储至相应的第二威胁情报数据集合中;
[0024]
判断所述第一威胁情报数据集合中是否存在未经过匹配的威胁情报数据;若存在,则继续对下一条威胁情报数据进行匹配,否则得到每条所述子规则对应的第二威胁情报数据集合。
[0025]
优选的,在所述将所述实际分析结果与所述子规则对应的分析结果期望进行对比,得到所述子规则的测试结果之后,还包括:
[0026]
根据每条所述子规则的测试结果,生成所述情报分析引擎的测试报告。
[0027]
第二方面,本申请提供了一种情报分析引擎的测试装置,包括:
[0028]
数据采集模块:用于采集威胁情报数据,得到第一威胁情报数据集合;
[0029]
数据标签生成模块:用于根据所述威胁情报数据的数据内容,生成所述第一威胁情报数据集合中每条威胁情报数据的威胁标签;
[0030]
规则标签生成模块:用于获取待测的情报分析引擎的情报分析规则;根据所述情报分析规则中每条子规则的规则内容,生成每条所述子规则的威胁标签;
[0031]
匹配模块:用于根据所述威胁标签,对所述子规则和所述第一威胁情报数据集合中的威胁情报数据进行匹配,确定每条所述子规则对应的第二威胁情报数据集合;
[0032]
测试模块:用于对于每条所述子规则,将与所述子规则对应的第二威胁情报数据集合的威胁情报数据输入所述数据分析引擎中,得到实际分析结果;将所述实际分析结果
与所述子规则对应的分析结果期望进行对比,得到所述子规则的测试结果。
[0033]
第三方面,本申请提供了一种情报分析引擎的测试设备,包括:
[0034]
存储器:用于存储计算机程序;
[0035]
处理器:用于执行所述计算机程序,以实现如上所述的情报分析引擎的测试方法。
[0036]
第四方面,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的情报分析引擎的测试方法。
[0037]
本申请所提供的一种情报分析引擎的测试方法,包括:采集威胁情报数据,得到第一威胁情报数据集合;根据威胁情报数据的数据内容,生成第一威胁情报数据集合中每条威胁情报数据的威胁标签;获取待测的情报分析引擎的情报分析规则;根据情报分析规则中每条子规则的规则内容,生成每条子规则的威胁标签;根据威胁标签,对子规则和第一威胁情报数据集合中的威胁情报数据进行匹配,确定每条子规则对应的第二威胁情报数据集合;对于每条子规则,将与子规则对应的第二威胁情报数据集合的威胁情报数据输入数据分析引擎中,得到实际分析结果;将实际分析结果与子规则对应的分析结果期望进行对比,得到子规则的测试结果。
[0038]
可见,该方法以全自动化的形式实现对情报分析引擎的功能测试校验,能够显著提升测试效率,并避免人工测试带来的成本高的问题。此外,该方法中威胁情报数据通过线上采集的方式获得,相较于通过日志回放或人工生成的数据,更能保证测试数据的有效性,提升测试过程的可靠性。而且,该方法能够为威胁情报数据生成威胁标签,达到威胁情报数据全可查的目的,有利于提升测试数据的覆盖率。最终,该方法在测试过程中,先通过威胁标签对子规则和威胁情报数据进行匹配,然后利用每条子规则匹配中的威胁情报数据对该子规则进行功能测试,通过对实际分析结果和分析结果期限进行对比,判断该子规则对应的功能是否存在问题,实现定位出具体存在问题的功能点的目的。
[0039]
此外,本申请还提供了一种情报分析引擎的测试装置、设备及可读存储介质,其技术效果与上述方法相对应,这里不再赘述。
附图说明
[0040]
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0041]
图1为本申请所提供的一种情报分析引擎的测试方法实施例一的流程图;
[0042]
图2为本申请所提供的一种情报分析引擎的测试方法实施例二的流程图;
[0043]
图3为本申请所提供的一种情报分析引擎的测试装置实施例的功能框图;
[0044]
图4为本申请所提供的一种情报分析引擎的测试设备实施例的结构示意图。
具体实施方式
[0045]
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提
下所获得的所有其他实施例,都属于本申请保护的范围。
[0046]
情报分析引擎的测试方案的优劣主要体现在三点,即测试数据是否有效、处理结果是否符合期望、数据覆盖度是否足够:
[0047]
关于测试数据的有效性,威胁情报往往被打上标签后作为已知数据存储,因此只需要测试数据符合标签要求即为有效。
[0048]
关于处理结果是否符合期望,情报分析往往包含建模、计算和生成结果三步,其中建模是根据标签生成特定模型;计算是对被测数据按照模型设计进行匹配处理;若匹配则产生相应结果。
[0049]
关于数据覆盖度,是指样本数据(测试数据)占总体数据(已有的威胁情报)的比例。
[0050]
因此,如何在满足上述三点需求的同时,增加测试方案的准确性和可靠性,提高测试效率,成为情报分析引擎测试过程中的一大关键点。
[0051]
本申请的目的在于提供一种情报分析引擎的测试方法、装置、设备及可读存储介质,实现对情报分析引擎的自动化测试,测试过程中,保证测试数据的有效性及覆盖率,最终实现定位出具体存在问题的功能点的目的。
[0052]
下面对本申请提供的一种情报分析引擎的测试方法实施例一进行介绍,参见图1,实施例一包括:
[0053]
s101、采集威胁情报数据,得到第一威胁情报数据集合。
[0054]
由于威胁情报数量庞大(千万级),因此,实际应用中,可以使用高性能搜索引擎(包括但不限于elasticsearch)进行数据采集。然后对威胁情报数据进行预处理,包括数据解析、标准化和填充等过程,最后对威胁情报数据进行存储,具体可以以json文档的形式进行存储,得到第一威胁情报数据集合。
[0055]
s102、根据所述威胁情报数据的数据内容,生成所述第一威胁情报数据集合中每条威胁情报数据的威胁标签。
[0056]
然后根据威胁情报数据的数据内容,从一些维度对威胁情报数据进行分类,得到每条威胁情报数据的威胁标签,这里的维度具体可以为:威胁类型、威胁源类型、数据源可信度、情报源可信度。因此,威胁标签的表示形式可以如下:
[0057]
威胁类型:木马,威胁源类型:ip,数据源可信度:0.6,情报源可信度:0.8。
[0058]
s103、获取待测的情报分析引擎的情报分析规则;根据所述情报分析规则中每条子规则的规则内容,生成每条所述子规则的威胁标签。
[0059]
情报分析引擎的工作原理往往是通过建立带有情报分析规则的模型对威胁情报数据进行分析、计算并生成结果。情报分析引擎的情报分析规则一般以变量的形式存储在数据库中,本实施例通过脚本编程,即可从数据库中自动获取这些情报分析规则。
[0060]
情报分析规则中往往包含多条子规则,每条子规则用于处理一种或多种威胁,因此,本实施例根据子规则的规则内容生成每条子规则的威胁标签。
[0061]
在得到子规则的威胁标签之后,可以生成具有关联关系的键值对数据,具体以威胁标签作为键,子规则作为值,此时表示形式可以如下所示:
[0062]
威胁类型:木马or蠕虫,威胁源类型:ip,数据源可信度:0.6及以上,情报源可信度:0.7及以上,子规则名称:rule_001。
[0063]
s104、根据所述威胁标签,对所述子规则和所述第一威胁情报数据集合中的威胁情报数据进行匹配,确定每条所述子规则对应的第二威胁情报数据集合。
[0064]
上述匹配过程实际为:对于每条子规则,将其威胁标签作为检索条件,对第一威胁情报数据集合进行检索,得到与该子规则对应的威胁情报数据。或者,对于每条威胁情报数据,将其威胁标签作为检索条件,对各条子规则进行检索,得到该威胁情报数据对应的子规则。
[0065]
为了提高检索效率,可以使用多维度标签数据的检索方法,包括但不限于嵌套检索,并进行自动化脚本实现。此时,上述s104的过程具体为:利用自动化脚本,采用嵌套检索的方式,根据所述威胁标签对所述子规则和所述第一威胁情报数据集合中的威胁情报数据进行匹配,确定每条所述子规则对应的第二威胁情报数据集合。
[0066]
s105、对于每条所述子规则,将与所述子规则对应的第二威胁情报数据集合的威胁情报数据输入所述数据分析引擎中,得到实际分析结果;将所述实际分析结果与所述子规则对应的分析结果期望进行对比,得到所述子规则的测试结果。
[0067]
通过将子规则对应的第二威胁情报数据集合的威胁情报数据输入数据分析引擎中,将实际分析结果与该子规则对应的分析结果期望进行对比,即可实现对该子规则对应的功能点的测试。重复此过程,即可实现对情报分析引擎各个功能点的测试。在此基础之上,根据每条所述子规则的测试结果,可以进一步生成所述情报分析引擎的测试报告。
[0068]
由于每次只测试一条子规则对应的功能点,因此有利于实现问题定位,提升测试效果。
[0069]
本实施例所提供的一种情报分析引擎的测试方法,以全自动化的形式实现对情报分析引擎的功能测试校验,能够显著提升测试效率,并避免人工测试带来的成本高的问题。此外,该方法中威胁情报数据通过线上采集的方式获得,相较于通过日志回放或人工生成的数据,更能保证测试数据的有效性,提升测试过程的可靠性。而且,该方法能够为威胁情报数据生成威胁标签,达到威胁情报数据全可查的目的,有利于提升测试数据的覆盖率。最终,该方法在测试过程中,先通过威胁标签对子规则和威胁情报数据进行匹配,然后利用每条子规则匹配中的威胁情报数据对该子规则进行功能测试,通过对实际分析结果和分析结果期限进行对比,判断该子规则对应的功能是否存在问题,实现定位出具体存在问题的功能点的目的。
[0070]
下面开始详细介绍本申请提供的一种情报分析引擎的测试方法实施例二,参见图2,实施例二具体包括:
[0071]
s201、采集威胁情报数据,对威胁情报数据进行存储。为每条威胁情报数据生成威胁标签。
[0072]
假设威胁情报数据a如下:威胁类型:木马,威胁源类型:ip,威胁源地址:1.2.3.4,数据源可信度:0.6,情报源可信度:0.8。
[0073]
则威胁情报数据a的威胁标签为:威胁类型:木马,威胁源类型:ip,数据源可信度:0.6,情报源可信度:0.8。
[0074]
s202、获取情报分析引擎的情报分析规则,对情报分析规则进行数据标准化,得到多条键值对数据,每条键值对数据包括威胁标签和情报分析规则的子规则。
[0075]
假设子规则b如下:子规则名称:rule_001,威胁类型:木马or蠕虫,威胁源类型:
ip,数据源可信度:0.6及以上,情报源可信度:0.7及以上,子规则对应的分析结果期望:生成红色警告。
[0076]
则子规则b的威胁标签为:威胁类型:木马or蠕虫,威胁源类型:ip,数据源可信度:0.6及以上,情报源可信度:0.7及以上。
[0077]
则子规则b的键值对数据如下:威胁类型:木马or蠕虫,威胁源类型:ip,数据源可信度:0.6及以上,情报源可信度:0.7及以上,子规则名称:rule_001。
[0078]
s203、将威胁标签作为检索条件,对存储的威胁情报数据进行检索,得到每条子规则对应的威胁情报数据。
[0079]
检索过程如下:
[0080]
(1)检索条件1,子规则b的威胁类型期望“木马”或“蠕虫”,威胁情报数据a满足该条件,检索下一个条件;
[0081]
(2)检索条件2,子规则b的威胁源类型期望“ip”,威胁情报数据a满足该条件,检索下一个条件;
[0082]
(3)检索条件3,子规则b的数据源可信度期望“0.6及以上”,威胁情报数据a满足该条件,检索下一个条件;
[0083]
(4)检索条件4,子规则b的情报源可信度期望“0.7及以上”,威胁情报数据a满足该条件。
[0084]
(5)因检索条件4为最后一个条件,所以判断威胁数据a与子规则b相对应。
[0085]
实际应用中,通过脚本编程,循环实现上述检索过程,最终达成以下目标:所有的威胁情报数据都经过检索,绝大部分威胁情报数据找到对应的子规则。
[0086]
s204、对找到对应子规则的威胁情报数据进行清洗和多样化数据填充。
[0087]
对找到对应子规则的威胁情报数据进行数据清洗,去除无效数据,提高效率。
[0088]
为了提高测试数据的真实性和其他变量对被测数据的影响校验,对找到对应子规则的威胁情报数据进行多样化处理。由于实际环境中,威胁情报数据的非威胁标签字段具备多样性,因此对威胁情报数据的非威胁标签字段进行内容填充。
[0089]
s205、分别将每条子规则对应的威胁情报数据发送至情报分析引擎进行分析和计算,对生成的结果进行自动化校验。自动化生成测试报告。
[0090]
情报分析引擎会根据其工作流程,对接收到的威胁情报数据进行分析和计算,根据满足模型规则期望的威胁情报数据生成实际分析结果。将实际分析结果与该子规则的分析结果期望进行比对校验。若一致,则测试通过,情报分析引擎在该功能实现上没有问题;否则,测试不通过,该功能点存在问题。
[0091]
综上,本实施例所提供的一种情报分析引擎的测试方法,以自动化的形式实现情报分析引擎的功能测试校验,通过将全体威胁情报数据存储,使其具备威胁标签,达到威胁情报数据全覆盖且全可查的目的,提高测试效率和测试对象的覆盖度的同时节约大量人工成本;根据情报分析引擎的情报分析规则生成的具有关联关系的键值对,每个键值对数包括威胁标签和情报分析规则的子规则;将威胁标签作为检索条件,通过全文嵌套检索得到符合条件的有效数据,对有效数据进行清洗和非威胁标签字段的多样化数据填充,提高测试数据的真实性,加入其他变量的影响关联性校验,使得测试结果更加准确和可信;将测试数据自动输入至情报分析引擎进行分析和计算,对生成的结果进行自动化校验。
[0092]
因此,本实施例至少具备以下特点:
[0093]
1、使用威胁情报数据作为被测数据源,对比通常的日志回放或人工生成的数据,更具有针对性,提高了校验效率;提升了数据和校验准确性,避免因异常数据或人工误差而产生不准确测试结果。
[0094]
2、为每条威胁情报数据生成威胁标签,将威胁情报数据带有威胁标签进行存储,实现威胁情报数据的全面可查,便于提升测试数据的覆盖率。
[0095]
3、自动获取情报分析引擎的情报分析规则,生成每条子规则的威胁标签,得到具备关联关系的键值对数据。
[0096]
4、将威胁标签作为检索条件,对存储的带有威胁标签的威胁情报数据进行自动化嵌套检索;自动化循环校验是否存在未被检索的带有威胁标签的威胁情报数据,直至全部威胁情报都被检索,保证检索得到的威胁情报数据为满足嵌套条件的全体有效数据。自动化实现数据的全文检索和循环校验,实现超大数据量的威胁情报(千万级)的全体数据校验,对比人工获取/检索,节省巨大成本。
[0097]
5、对检索得到的全体有效数据进行数据清洗,并对非威胁标签字段进行多样化数据填充,保证数据的有效性和真实性,提高测试结果的可信度;对比人工处理,节省成本,提高准确性。
[0098]
6、处理后的威胁情报数据自动化输入至情报分析引擎进行分析和计算,自动化获取情报分析引擎加载的子规则及分析结果期望,将实际分析结果与分析结果期望做对比,实现对该子规则对应的功能点的测试。减少人工校验过程的中间环节,降低误差。
[0099]
7、自动化生成测试报告。
[0100]
可见,本实施例全自动化实现了对情报分析引擎的整个功能测试流程,显著提升了测试效率,测试过程中,保证测试数据的有效性及覆盖率,最终实现定位出具体存在问题的功能点的目的。该测试过程具备可拓展性和可迁移性。
[0101]
下面对本申请实施例提供的一种情报分析引擎的测试装置进行介绍,下文描述的情报分析引擎的测试装置与上文描述的情报分析引擎的测试方法可相互对应参照。
[0102]
如图3所示,本实施例的情报分析引擎的测试装置,包括:
[0103]
数据采集模块301:用于采集威胁情报数据,得到第一威胁情报数据集合;
[0104]
数据标签生成模块302:用于根据所述威胁情报数据的数据内容,生成所述第一威胁情报数据集合中每条威胁情报数据的威胁标签;
[0105]
规则标签生成模块303:用于获取待测的情报分析引擎的情报分析规则;根据所述情报分析规则中每条子规则的规则内容,生成每条所述子规则的威胁标签;
[0106]
匹配模块304:用于根据所述威胁标签,对所述子规则和所述第一威胁情报数据集合中的威胁情报数据进行匹配,确定每条所述子规则对应的第二威胁情报数据集合;
[0107]
测试模块305:用于对于每条所述子规则,将与所述子规则对应的第二威胁情报数据集合的威胁情报数据输入所述数据分析引擎中,得到实际分析结果;将所述实际分析结果与所述子规则对应的分析结果期望进行对比,得到所述子规则的测试结果。
[0108]
本实施例的情报分析引擎的测试装置用于实现前述的情报分析引擎的测试方法,因此该装置的具体实施方式可见前文中的情报分析引擎的测试方法的实施例部分,例如,数据采集模块301、数据标签生成模块302、规则标签生成模块303、匹配模块304、测试模块
305,分别用于实现上述情报分析引擎的测试方法中步骤s101,s102,s103,s104,s105。所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
[0109]
另外,由于本实施例的情报分析引擎的测试装置用于实现前述的情报分析引擎的测试方法,因此其作用与上述方法的作用相对应,这里不再赘述。
[0110]
此外,本申请还提供了一种情报分析引擎的测试设备,如图4所示,包括:
[0111]
存储器100:用于存储计算机程序;
[0112]
处理器200:用于执行所述计算机程序,以实现如上文所述的情报分析引擎的测试方法。
[0113]
最后,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上文所述的情报分析引擎的测试方法。
[0114]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0115]
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
[0116]
以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1