CN113515464A - 基于linux系统的蜜罐测试方法及装置 - Google Patents

基于linux系统的蜜罐测试方法及装置 Download PDF

Info

Publication number
CN113515464A
CN113515464A CN202111075993.5A CN202111075993A CN113515464A CN 113515464 A CN113515464 A CN 113515464A CN 202111075993 A CN202111075993 A CN 202111075993A CN 113515464 A CN113515464 A CN 113515464A
Authority
CN
China
Prior art keywords
data
test
honeypot
behavior
linux system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111075993.5A
Other languages
English (en)
Other versions
CN113515464B (zh
Inventor
程鹏
胡鹏
黄家雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Jeeseen Network Technologies Co Ltd
Original Assignee
Guangzhou Jeeseen Network Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Jeeseen Network Technologies Co Ltd filed Critical Guangzhou Jeeseen Network Technologies Co Ltd
Priority to CN202111075993.5A priority Critical patent/CN113515464B/zh
Publication of CN113515464A publication Critical patent/CN113515464A/zh
Application granted granted Critical
Publication of CN113515464B publication Critical patent/CN113515464B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于linux系统的蜜罐测试方法及装置。其中,该方法包括:监测linux系统中针对目标蜜罐节点的用户行为数据和第一蜜罐运行数据;采用用户行为数据生成测试编程文件;在linux系统中运行测试编程文件,并记录测试结果数据;判断测试结果数据与第一蜜罐运行数据是否匹配;若测试结果数据与第一蜜罐运行数据匹配,确定测试编程文件符合测试要求,并输出测试编程文件。通过本发明,实现了一种自动化测试和自动输出测试编程文件的方案,解决了基于linux系统开发的蜜罐产品由于需求的变更导致需要花费大量精力对原有的自动化测试程序修改调试的问题,提升了蜜罐节点的测试效率。

Description

基于linux系统的蜜罐测试方法及装置
技术领域
本发明涉及网络安全领域,具体而言,涉及一种基于linux系统的蜜罐测试方法及装置。
背景技术
相关技术中,目前测试行业上存在手工测试与自动化测试两种方式。若使用手工测试方式进行需要大量重复性、简单的指令性操作的测试时,会花费大量的工时与人力,导致浪费大量的人力与物力。而采用自动化测试将很好的解决工时与人力的浪费问题。
相关技术中,蜜罐随着新出现的攻击手段更新很快,会顺着市场需求变更而变更,由此原来产品或功能对应的自动化测试程序将不满足更新迭代后的软件版本,经常需要重新开发新的自动测试工具或对原有的自动化测试程序进行修改,增加了大量的调试工作量,而且对测试人员的专业代码能力要求较高,大大降低了软件系统测试工作效率。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种基于linux系统的蜜罐测试方法及装置。
根据本申请实施例的一个方面,提供了一种基于linux系统的蜜罐测试方法,包括:监测linux系统中针对目标蜜罐节点的用户行为数据和第一蜜罐运行数据;采用所述用户行为数据生成测试编程文件;在所述linux系统中运行所述测试编程文件,并记录测试结果数据;判断所述测试结果数据与所述第一蜜罐运行数据是否匹配;若所述测试结果数据与所述第一蜜罐运行数据匹配,确定所述测试编程文件符合测试要求,并输出所述测试编程文件。
进一步,采用所述用户行为数据生成测试编程文件包括:基于所述用户行为数据生成原始数据记录表;将所述原始数据记录表中的表项内容填充至操作数据模板;基于所述操作数据模板编辑测试用例的测试语句,生成测试编程文件,其中,所述测试编程文件由若干个测试语句组成。
进一步,基于所述用户行为数据生成原始数据记录表包括:分别读取所述用户行为数据中多个操作行为的操作时间和操作对象,其中,所述操作对象为所述目标蜜罐节点或所述linux系统的一个虚拟元素;按照操作时间对所述多个操作行为的操作对象进行排序,生成第一队列,按照操作时间对所述多个操作行为的行为标识进行排序,生成第二队列;基于所述操作时间对所述第一队列和所述第二队列进行对齐操作,生成二维数组,并将所述二维数组确定为第一原始数据记录表。
进一步,在按照操作时间对所述多个操作行为的操作对象进行排序,生成第一队列,按照操作时间对所述多个操作行为的行为标识进行排序,生成第二队列之后,所述方法还包括:若第一操作行为的第一操作时间与第二操作行为的第二操作时间相同,且所述第一操作行为的第一操作对象与第二操作行为的第二操作对象相同,在所述第一队列中将所述第一操作对象与所述第二操作对象合并为第三操作对象;若第一操作行为的第一操作时间与第二操作行为的第二操作时间相同,且所述第一操作行为的第一行为标识与第二操作行为的第二行为标识相同,在所述第二队列中将所述第一行为标识与所述第二行为标识合并为第三行为标识。
进一步,基于所述用户行为数据生成原始数据记录表包括:分别读取所述用户行为数据中多个操作对象的历史状态数据和状态更新数据,其中,所述操作对象为所述目标蜜罐节点或所述linux系统的一个虚拟元素,所述历史状态数据用于表征所述操作对象在操作之前的状态,所述状态更新数据用于表征所述操作对象在操作之后的状态;针对每个操作对象,采用对应的历史状态数据和状态更新数据生成行为映射表;以操作对象的对象标识为关键字key,所述行为映射表为值value,生成元数据表,并将所述元数据表确定为第二原始数据记录表。
进一步,在采用对应的历史状态数据和状态更新数据生成行为映射表之后,所述方法还包括:针对每个操作对象,判断所述历史状态数据与状态更新数据是否相同;若所述历史状态数据与状态更新数据相同,删除对应操作对象的行为映射表。
进一步,将所述原始数据记录表中的表项内容填充至操作数据模板包括:定位所述操作数据模板中待填的数据项,其中,所述操作数据模板包括多个按照预设测试逻辑进行布局的数据项,每个数据项对应测试用例的一个测试参数;在所述原始数据记录表查找与所述数据项匹配的表项,并将对应的表项内容填充至所述数据项。
进一步,基于所述操作数据模板编辑测试语句,生成测试用例的测试编程文件,包括:查找所述操作数据模板的第一数据项,并解析所述第一数据项的数据类型和数据值;在预设脚本库中查找与所述数据类型匹配的编程函数,并基于所述数据值生成所述编程函数的脚本参数;将所述脚本参数注入所述编程函数,得到与所述第一数据项对应的测试语句,在遍历完所述操作数据模板中的最后一个数据项之后,输出测试用例的测试编程文件。
进一步,监测linux系统中针对目标蜜罐节点的用户行为数据和第一蜜罐运行数据包括:监测linux系统中针对目标蜜罐节点执行以下操作行为时的用户行为数据:编辑文件、编辑蜜罐诱饵、更改权限、调用进程、配置漏洞数据、添加拦截规则;在所述操作行为执行完成之后,读取所述目标蜜罐节点采集的攻击情报数据,采用随机森林模型对所述攻击情报数据进行迭代解析,得到多个特征深度的所述第一蜜罐运行数据,其中,所述随机森林模型由多颗分布在不同模型深度的决策树组成。
进一步,采用随机森林模型对所述攻击情报数据进行迭代解析,得到多个特征深度的所述第一蜜罐运行数据,包括:将所述攻击情报数据转换为特征向量矩阵;根据所述特征向量矩阵的特征尺寸,自适应选择所述随机森林模型的多层次决策树,其中,每相邻的两颗决策树用于对所述特征向量矩阵进行回归处理,每颗决策树用于对特征向量矩阵进行判别处理;将所述多层次决策树处理为N层网络模型,其中,每层网络模型由若干颗决策树组成;针对每层所述网络模型,基于网络模型的对应层级阈值系数,所述特征尺寸,以及所述特征向量矩阵的矩阵尺寸,计算得到当前层所述随机森林模型的概率系数,每个层级阈值系数对应一层所述网络模型,其中N为大于等于1的正整数 ;基于所述概率系数逐层迭代所述特征向量矩阵,得到多个特征深度的所述第一蜜罐运行数据。
进一步,在所述linux系统中运行所述测试编程文件,并记录测试结果数据包括:初始化所述linux系统,在初始化完成之后,在所述linux系统中触发运行所述测试编程文件;读取所述目标蜜罐节点的第二蜜罐运行数据,并将所述第二蜜罐运行数据记录为测试结果数据。
根据本申请实施例的另一个方面,还提供了一种基于linux系统的蜜罐测试装置,包括:监测模块,用于监测linux系统中针对目标蜜罐节点的用户行为数据和第一蜜罐运行数据;生成模块,用于采用所述用户行为数据生成测试编程文件;处理模块,用于在所述linux系统中运行所述测试编程文件,并记录测试结果数据;判断模块,用于判断所述测试结果数据与所述第一蜜罐运行数据是否匹配;确定模块,用于若所述测试结果数据与所述第一蜜罐运行数据匹配,确定所述测试编程文件符合测试要求,并输出所述测试编程文件。
进一步,所述生成模块包括:第一生成单元,用于基于所述用户行为数据生成原始数据记录表;填充单元,用于将所述原始数据记录表中的表项内容填充至操作数据模板;第二生成单元,用于基于所述操作数据模板编辑测试用例的测试语句,生成测试编程文件,其中,所述测试编程文件由若干个测试语句组成。
进一步,所述第一生成单元包括:第一读取子单元,用于分别读取所述用户行为数据中多个操作行为的操作时间和操作对象,其中,所述操作对象为所述目标蜜罐节点或所述linux系统的一个虚拟元素;第一排序子单元,用于按照操作时间对所述多个操作行为的操作对象进行排序,生成第一队列,按照操作时间对所述多个操作行为的行为标识进行排序,生成第二队列;对齐子单元,用于基于所述操作时间对所述第一队列和所述第二队列进行对齐操作,生成二维数组,并将所述二维数组确定为第一原始数据记录表。
进一步,所述第一生成单元还包括:第一合并子单元,用于在所述排序子单元按照操作时间对所述多个操作行为的操作对象进行排序,生成第一队列,按照操作时间对所述多个操作行为的行为标识进行排序,生成第二队列之后,若第一操作行为的第一操作时间与第二操作行为的第二操作时间相同,且所述第一操作行为的第一操作对象与第二操作行为的第二操作对象相同,在所述第一队列中将所述第一操作对象与所述第二操作对象合并为第三操作对象;第二合并子单元,用于若第一操作行为的第一操作时间与第二操作行为的第二操作时间相同,且所述第一操作行为的第一行为标识与第二操作行为的第二行为标识相同,在所述第二队列中将所述第一行为标识与所述第二行为标识合并为第三行为标识。
进一步,所述第一生成单元包括:第二读取子单元,用于分别读取所述用户行为数据中多个操作对象的历史状态数据和状态更新数据,其中,所述操作对象为所述目标蜜罐节点或所述linux系统的一个虚拟元素,所述历史状态数据用于表征所述操作对象在操作之前的状态,所述状态更新数据用于表征所述操作对象在操作之后的状态;第一生成子单元,用于针对每个操作对象,采用对应的历史状态数据和状态更新数据生成行为映射表;第二生成子单元,用于以操作对象的对象标识为关键字key,所述行为映射表为值value,生成元数据表,并将所述元数据表确定为第二原始数据记录表。
进一步,所述第一生成单元还包括:判断子单元,用于在所述第一生成子单元采用对应的历史状态数据和状态更新数据生成行为映射表之后,针对每个操作对象,判断所述历史状态数据与状态更新数据是否相同;删除子单元,用于若所述历史状态数据与状态更新数据相同,删除对应操作对象的行为映射表。
进一步,所述填充单元包括:定位子单元,用于定位所述操作数据模板中待填的数据项,其中,所述操作数据模板包括多个按照预设测试逻辑进行布局的数据项,每个数据项对应测试用例的一个测试参数;填充子单元,用于在所述原始数据记录表查找与所述数据项匹配的表项,并将对应的表项内容填充至所述数据项。
进一步,所述第二生成单元包括:解析子单元,用于查找所述操作数据模板的第一数据项,并解析所述第一数据项的数据类型和数据值;生成子单元,用于在预设脚本库中查找与所述数据类型匹配的编程函数,并基于所述数据值生成所述编程函数的脚本参数;遍历子单元,用于将所述脚本参数注入所述编程函数,得到与所述第一数据项对应的测试语句,在遍历完所述操作数据模板中的最后一个数据项之后,输出测试用例的测试编程文件。
进一步,所述监测模块包括:监测单元,用于监测linux系统中针对目标蜜罐节点执行以下操作行为时的用户行为数据:编辑文件、编辑蜜罐诱饵、更改权限、调用进程、配置漏洞数据、添加拦截规则;解析单元,用于在所述操作行为执行完成之后,读取所述目标蜜罐节点采集的攻击情报数据,采用随机森林模型对所述攻击情报数据进行迭代解析,得到多个特征深度的所述第一蜜罐运行数据,其中,所述随机森林模型由多颗分布在不同模型深度的决策树组成。
进一步,所述解析单元包括:转换子单元,用于将所述攻击情报数据转换为特征向量矩阵;选择子单元,用于根据所述特征向量矩阵的特征尺寸,自适应选择所述随机森林模型的多层次决策树,其中,每相邻的两颗决策树用于对所述特征向量矩阵进行回归处理,每颗决策树用于对特征向量矩阵进行判别处理;处理子单元,用于将所述多层次决策树处理为N层网络模型,其中,每层网络模型由若干颗决策树组成;计算子单元,用于针对每层所述网络模型,基于网络模型的对应层级阈值系数,所述特征尺寸,以及所述特征向量矩阵的矩阵尺寸,计算得到当前层所述随机森林模型的概率系数,每个层级阈值系数对应一层所述网络模型,其中N为大于等于1的正整数 ;迭代子单元,用于基于所述概率系数逐层迭代所述特征向量矩阵,得到多个特征深度的所述第一蜜罐运行数据。
进一步,所述处理模块包括:运行单元,用于初始化所述linux系统,在初始化完成之后,在所述linux系统中触发运行所述测试编程文件;记录单元,用于读取所述目标蜜罐节点的第二蜜罐运行数据,并将所述第二蜜罐运行数据记录为测试结果数据。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。
根据本申请实施例的另一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述方法中的步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。
通过本发明,监测linux系统中针对目标蜜罐节点的用户行为数据和第一蜜罐运行数据,采用用户行为数据生成测试编程文件,在linux系统中运行测试编程文件,并记录测试结果数据;判断测试结果数据与第一蜜罐运行数据是否匹配,若测试结果数据与第一蜜罐运行数据匹配,确定测试编程文件符合测试要求,并输出测试编程文件,实现了一种自动化测试和自动输出测试编程文件的方案,解决了基于linux系统开发的蜜罐产品由于需求的变更导致需要花费大量精力对原有的自动化测试程序修改调试的问题,提升了蜜罐节点的测试效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种服务器的硬件结构框图;
图2是根据本发明实施例的一种基于linux系统的蜜罐测试方法的流程图;
图3是本发明实施例基于linux系统的自动化测试生成原理图;
图4是本发明实施例中数据监控模块的分析原理图;
图5是本发明实施例中数据分析模块的分析原理图;
图6是根据本发明实施例的一种基于linux系统的蜜罐测试装置的结构框图;
图7是实施本发明实施例的一种电子设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
本申请实施例一所提供的方法实施例可以在服务器、计算机、蜜罐设备、或者类似的运算装置中执行。以运行在服务器上为例,图1是本发明实施例的一种服务器的硬件结构框图。如图1所示,服务器可以包括一个或多个(图1中仅示出一个)第一处理器102(第一处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的第一存储器104,可选地,上述服务器还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述服务器的结构造成限定。例如,服务器还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
第一存储器104可用于存储服务器程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种基于linux系统的蜜罐测试方法对应的服务器程序,第一处理器102通过运行存储在第一存储器104内的服务器程序,从而执行各种功能应用以及数据处理,即实现上述的方法。第一存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,第一存储器104可进一步包括相对于第一处理器102远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种基于linux系统的蜜罐测试方法,图2是根据本发明实施例的一种基于linux系统的蜜罐测试方法的流程图,可以应用在linux服务器,linux主机等蜜罐宿主主机上,如图2所示,该流程包括如下步骤:
步骤S202,监测linux系统中针对目标蜜罐节点的用户行为数据和第一蜜罐运行数据;
本实施例的目标蜜罐节点可以是linux系统中的硬件节点,软件节点,硬件网络,软件集群等。
在开始测试之前,用户对目标蜜罐节点进行操作,如对目标蜜罐节点进行升级,更改目标蜜罐节点的功能等用户行为,用户行为的操作轨迹会产生用户行为数据,第一蜜罐运行数据是目标蜜罐节点在更新完成之后额运行的状态数据。
步骤S204,采用用户行为数据生成测试编程文件;
可选的,测试编程文件是一种脚本文件,包括测试用例,可以在linux系统中运行,模拟攻击行为,并测试目标蜜罐节点对攻击行为的攻防响应。
步骤S206,在linux系统中运行测试编程文件,并记录测试结果数据;
可选的,测试结果数据是目标蜜罐节点响应测试编程文件得到的数据,包括直接采集到的数据,解析数据等。
步骤S208,判断测试结果数据与第一蜜罐运行数据是否匹配;
步骤S210,若测试结果数据与第一蜜罐运行数据匹配,确定测试编程文件符合测试要求,并输出测试编程文件。
通过上述步骤,监测linux系统中针对目标蜜罐节点的用户行为数据和第一蜜罐运行数据,采用用户行为数据生成测试编程文件,在linux系统中运行测试编程文件,并记录测试结果数据;判断测试结果数据与第一蜜罐运行数据是否匹配,若测试结果数据与第一蜜罐运行数据匹配,确定测试编程文件符合测试要求,并输出测试编程文件,实现了一种自动化测试和自动输出测试编程文件的方案,解决了基于linux系统开发的蜜罐产品由于需求的变更导致需要花费大量精力对原有的自动化测试程序修改调试的问题,提升了蜜罐节点的测试效率。
在本实施例中,采用用户行为数据生成测试编程文件包括:
S11,基于用户行为数据生成原始数据记录表;
在本实施例的一个实施方式中,基于用户行为数据生成原始数据记录表包括:分别读取用户行为数据中多个操作行为的操作时间和操作对象,其中,操作对象为目标蜜罐节点或linux系统的一个虚拟元素;按照操作时间对多个操作行为的操作对象进行排序,生成第一队列,按照操作时间对多个操作行为的行为标识进行排序,生成第二队列;基于操作时间对第一队列和第二队列进行对齐操作,生成二维数组,并将二维数组确定为第一原始数据记录表。
在一个示例中,包括3个操作行为,分别是删除,复制,添加,3个操作时间,分别是第1时间,第2时间,第3时间,2个操作对象,分别是文件1和配置项1。
在一些实施场景中,在按照操作时间对多个操作行为的操作对象进行排序,生成第一队列,按照操作时间对多个操作行为的行为标识进行排序,生成第二队列之后,还包括:若第一操作行为的第一操作时间与第二操作行为的第二操作时间相同,且第一操作行为的第一操作对象与第二操作行为的第二操作对象相同,在第一队列中将第一操作对象与第二操作对象合并为第三操作对象;若第一操作行为的第一操作时间与第二操作行为的第二操作时间相同,且第一操作行为的第一行为标识与第二操作行为的第二行为标识相同,在第二队列中将第一行为标识与第二行为标识合并为第三行为标识。
若在同一时间对相同的操作对象执行了相同的操作,则合并操作对象,同样的,若在同一时间执行了相同的操作,则合并操作行为。
在本实施例的另一个实施方式中,基于用户行为数据生成原始数据记录表包括:分别读取用户行为数据中多个操作对象的历史状态数据和状态更新数据,其中,操作对象为目标蜜罐节点或linux系统的一个虚拟元素,历史状态数据用于表征操作对象在操作之前的状态,状态更新数据用于表征操作对象在操作之后的状态;针对每个操作对象,采用对应的历史状态数据和状态更新数据生成行为映射表;以操作对象的对象标识为关键字key,行为映射表为值value,生成元数据表,并将元数据表确定为第二原始数据记录表。
在一些实施场景中,在采用对应的历史状态数据和状态更新数据生成行为映射表之后,还包括:针对每个操作对象,判断历史状态数据与状态更新数据是否相同;若历史状态数据与状态更新数据相同,删除对应操作对象的行为映射表。
若在操作之后的数据相同,则表明是无效操作或者是误操作,应当对其删除,减少监测的数据量。
S12,将原始数据记录表中的表项内容填充至操作数据模板;
在本实施例的一个实施方式中,将原始数据记录表中的表项内容填充至操作数据模板包括:定位操作数据模板中待填的数据项,其中,操作数据模板包括多个按照预设测试逻辑进行布局的数据项,每个数据项对应测试用例的一个测试参数;在原始数据记录表查找与数据项匹配的表项,并将对应的表项内容填充至数据项。
可选的,测试用例的测试参数包括测试目标参数、测试环境参数、输入数据参数、测试步骤参数、预期结果参数、测试脚本参数等。
S13,基于操作数据模板编辑测试用例的测试语句,生成测试编程文件,其中,测试编程文件由若干个测试语句组成。
在本实施例的一个实施方式中,基于操作数据模板编辑测试语句,生成测试用例的测试编程文件,包括:查找操作数据模板的第一数据项,并解析第一数据项的数据类型和数据值;在预设脚本库中查找与数据类型匹配的编程函数,并基于数据值生成编程函数的脚本参数;将脚本参数注入编程函数,得到与第一数据项对应的测试语句,在遍历完操作数据模板中的最后一个数据项之后,输出测试用例的测试编程文件。
从操作数据模板的首个数据项开始遍历,一直遍历到最后一个数据项,遍历结束,操作数据模板包括多个按照预设测试逻辑进行布局的数据项,布局顺序为数据项的遍历顺序。
在本实施例的一个实施方式中,监测linux系统中针对目标蜜罐节点的用户行为数据和第一蜜罐运行数据包括:监测linux系统中针对目标蜜罐节点执行以下操作行为时的用户行为数据:编辑文件、编辑蜜罐诱饵、更改权限、调用进程、配置漏洞数据、添加拦截规则;在操作行为执行完成之后,读取目标蜜罐节点采集的攻击情报数据,采用随机森林模型对攻击情报数据进行迭代解析,得到多个特征深度的第一蜜罐运行数据,其中,随机森林模型由多颗分布在不同模型深度的决策树组成。
可选的,采用随机森林模型对攻击情报数据进行迭代解析,得到多个特征深度的第一蜜罐运行数据,包括:将攻击情报数据转换为特征向量矩阵;根据特征向量矩阵的特征尺寸,自适应选择随机森林模型的多层次决策树,其中,每相邻的两颗决策树用于对特征向量矩阵进行回归处理,每颗决策树用于对特征向量矩阵进行判别处理;将多层次决策树处理为N层网络模型,其中,每层网络模型由若干颗决策树组成;针对每层网络模型,基于网络模型的对应层级阈值系数,特征尺寸,以及特征向量矩阵的矩阵尺寸,计算得到当前层随机森林模型的概率系数,每个层级阈值系数对应一层网络模型,其中N为大于等于1的正整数;基于概率系数逐层迭代特征向量矩阵,得到多个特征深度的第一蜜罐运行数据。
在本实施例中,在linux系统中运行测试编程文件,并记录测试结果数据包括:初始化linux系统,在初始化完成之后,在linux系统中触发运行测试编程文件;读取目标蜜罐节点的第二蜜罐运行数据,并将第二蜜罐运行数据记录为测试结果数据。
在本实施例的一个可选实施方式中,linux系统测试设备包括数据监控模块,数据分析模块,自动化测试生成模块,图3是本发明实施例基于linux系统的自动化测试生成原理图,本实施方式通过在linux系统测试设备上部署数据监控模块,对测试人员的操作进行监控,由数据监控模块将捕获的操作动作与结果生成原始数据记录表,生成的原始数据记录表作为测试样本提供给数据分析模块;再由数据分析模块将生成的原始测试数据进行测试操作分析并生成操作分析表;然后自动化测试编辑器根据数据模块提供的操作分析表,进行测试编程生成,生成的自动化测试编程文件自发进行试运行;监控模块捕获试运行的自动化测试编程文件产生的数据。与原始测试数据分析。得出分析结果,判断该生成的自动化测试编程文件是否符合测试要求。
图4是本发明实施例中数据监控模块的分析原理图,数据监控模块是整个系统的基础,主要将测试人员操作数据与自动化测试运行数据进行监控并生成运行数据记录表,其中记录测试人员操作数据是作为自动化测试生成的原始数据模板,记录自动化测试运行数据是鉴定生成的自动化测试运行数据是否符合预期的效果;数据分析模块主要将数据监控模块上交的原始数据记录表和运行数据记录表进行分析,数据分析模块分析原始数据记录表中的数据,进行操作还原,得出操作分析表;数据分析模块将原始数据记录表和生成数据记录表进行一个匹配、判断,进而得出生成的自动化测试是否符合预期。自动化测试编辑器将上交的操作分析表进行解析,然后以代码的形式进行生成,并进行一次运行测试。
在数据监控模块中,由监控对测试人员在linux系统测试设备上进行的测试操作如对文件的查看操作、权限改动操作、规则添加操作等进行监控、采集,然后生成一份记录测试原始数据记录表,原始数据表会作为一个测试操作数据模板通过数据监控模块上传到数据分析模块。数据监控模块同样会对自动化测试生成装置输出的自动化测试程序的试运行进行监控、数据采集,并生成一份记录自动化测试的试运行数据记录表,提供给数据分析模块进行分析。
图5是本发明实施例中数据分析模块的分析原理图,数据分析模块会对数据监控模块提交的原始数据记录表进行操作还原分析,如测试人员在linux系统操作设备上进行查看文件操作时,将操作指令获取,查看的文件内容获取、记录。数据分析模块将还原的测试操作记录到操作分析表中,提供给自动化测试生成模块中的自动化测试编辑器进行程序的编辑。数据分析模块还对数据监控模块提交的自动测试运行数据记录表与原始数据记录表进行匹配判读,并将判断结果输出,进行自动匹配和判断,或者进一步提供给测试人员进行评审,判断生成的自动化测试程序和预期测试效果是否符合。
自动化测试生成模块将数据分析模块提交的操作分析表等数据进行代码编辑、输出,然后进行试运行,在试运行中做标记,告诉数据监控模块该运行的数据是生成的自动化测试运行数据,对数据做标记是将测试人员之前操作监控的数据和自动化测试生成的数据进行区分。
本实施例为基于linux系统开发的产品或功能(如蜜网中的linux蜜罐)提供自动化测试生成装置,可以解决手工测试的繁琐问题,解决基于linux系统开发的产品由于需求的变更导致需要花费大量精力对原有的自动化测试程序修改调试的问题。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种基于linux系统的蜜罐测试装置、系统,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本发明实施例的一种基于linux系统的蜜罐测试装置的结构框图,如图6所示,该装置包括:监测模块60,生成模块62,处理模块64,判断模块66,确定模块68,其中,
监测模块60,用于监测linux系统中针对目标蜜罐节点的用户行为数据和第一蜜罐运行数据;
生成模块62,用于采用所述用户行为数据生成测试编程文件;
处理模块64,用于在所述linux系统中运行所述测试编程文件,并记录测试结果数据;
判断模块66,用于判断所述测试结果数据与所述第一蜜罐运行数据是否匹配;
确定模块68,用于若所述测试结果数据与所述第一蜜罐运行数据匹配,确定所述测试编程文件符合测试要求,并输出所述测试编程文件。
可选的,所述生成模块包括:第一生成单元,用于基于所述用户行为数据生成原始数据记录表;填充单元,用于将所述原始数据记录表中的表项内容填充至操作数据模板;第二生成单元,用于基于所述操作数据模板编辑测试用例的测试语句,生成测试编程文件,其中,所述测试编程文件由若干个测试语句组成。
可选的,所述第一生成单元包括:第一读取子单元,用于分别读取所述用户行为数据中多个操作行为的操作时间和操作对象,其中,所述操作对象为所述目标蜜罐节点或所述linux系统的一个虚拟元素;第一排序子单元,用于按照操作时间对所述多个操作行为的操作对象进行排序,生成第一队列,按照操作时间对所述多个操作行为的行为标识进行排序,生成第二队列;对齐子单元,用于基于所述操作时间对所述第一队列和所述第二队列进行对齐操作,生成二维数组,并将所述二维数组确定为第一原始数据记录表。
可选的,所述第一生成单元还包括:第一合并子单元,用于在所述排序子单元按照操作时间对所述多个操作行为的操作对象进行排序,生成第一队列,按照操作时间对所述多个操作行为的行为标识进行排序,生成第二队列之后,若第一操作行为的第一操作时间与第二操作行为的第二操作时间相同,且所述第一操作行为的第一操作对象与第二操作行为的第二操作对象相同,在所述第一队列中将所述第一操作对象与所述第二操作对象合并为第三操作对象;第二合并子单元,用于若第一操作行为的第一操作时间与第二操作行为的第二操作时间相同,且所述第一操作行为的第一行为标识与第二操作行为的第二行为标识相同,在所述第二队列中将所述第一行为标识与所述第二行为标识合并为第三行为标识。
可选的,所述第一生成单元包括:第二读取子单元,用于分别读取所述用户行为数据中多个操作对象的历史状态数据和状态更新数据,其中,所述操作对象为所述目标蜜罐节点或所述linux系统的一个虚拟元素,所述历史状态数据用于表征所述操作对象在操作之前的状态,所述状态更新数据用于表征所述操作对象在操作之后的状态;第一生成子单元,用于针对每个操作对象,采用对应的历史状态数据和状态更新数据生成行为映射表;第二生成子单元,用于以操作对象的对象标识为关键字key,所述行为映射表为值value,生成元数据表,并将所述元数据表确定为第二原始数据记录表。
可选的,所述第一生成单元还包括:判断子单元,用于在所述第一生成子单元采用对应的历史状态数据和状态更新数据生成行为映射表之后,针对每个操作对象,判断所述历史状态数据与状态更新数据是否相同;删除子单元,用于若所述历史状态数据与状态更新数据相同,删除对应操作对象的行为映射表。
可选的,所述填充单元包括:定位子单元,用于定位所述操作数据模板中待填的数据项,其中,所述操作数据模板包括多个按照预设测试逻辑进行布局的数据项,每个数据项对应测试用例的一个测试参数;填充子单元,用于在所述原始数据记录表查找与所述数据项匹配的表项,并将对应的表项内容填充至所述数据项。
可选的,所述第二生成单元包括:解析子单元,用于查找所述操作数据模板的第一数据项,并解析所述第一数据项的数据类型和数据值;生成子单元,用于在预设脚本库中查找与所述数据类型匹配的编程函数,并基于所述数据值生成所述编程函数的脚本参数;遍历子单元,用于将所述脚本参数注入所述编程函数,得到与所述第一数据项对应的测试语句,在遍历完所述操作数据模板中的最后一个数据项之后,输出测试用例的测试编程文件。
可选的,所述监测模块包括:监测单元,用于监测linux系统中针对目标蜜罐节点执行以下操作行为时的用户行为数据:编辑文件、编辑蜜罐诱饵、更改权限、调用进程、配置漏洞数据、添加拦截规则;解析单元,用于在所述操作行为执行完成之后,读取所述目标蜜罐节点采集的攻击情报数据,采用随机森林模型对所述攻击情报数据进行迭代解析,得到多个特征深度的所述第一蜜罐运行数据,其中,所述随机森林模型由多颗分布在不同模型深度的决策树组成。
可选的,所述解析单元包括:转换子单元,用于将所述攻击情报数据转换为特征向量矩阵;选择子单元,用于根据所述特征向量矩阵的特征尺寸,自适应选择所述随机森林模型的多层次决策树,其中,每相邻的两颗决策树用于对所述特征向量矩阵进行回归处理,每颗决策树用于对特征向量矩阵进行判别处理;处理子单元,用于将所述多层次决策树处理为N层网络模型,其中,每层网络模型由若干颗决策树组成;计算子单元,用于针对每层所述网络模型,基于网络模型的对应层级阈值系数,所述特征尺寸,以及所述特征向量矩阵的矩阵尺寸,计算得到当前层所述随机森林模型的概率系数,每个层级阈值系数对应一层所述网络模型,其中N为大于等于1的正整数 ;迭代子单元,用于基于所述概率系数逐层迭代所述特征向量矩阵,得到多个特征深度的所述第一蜜罐运行数据。
可选的,所述处理模块包括:运行单元,用于初始化所述linux系统,在初始化完成之后,在所述linux系统中触发运行所述测试编程文件;记录单元,用于读取所述目标蜜罐节点的第二蜜罐运行数据,并将所述第二蜜罐运行数据记录为测试结果数据。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本申请实施例还提供了一种电子设备,图7是本发明实施例的一种电子设备的结构图,如图7所示,包括第二处理器71、通信接口72、第二存储器73和通信总线74,其中,第二处理器71,通信接口72,第二存储器73通过通信总线74完成相互间的通信,第二存储器73,用于存放计算机程序;第二处理器71,用于执行第二存储器73上所存放的程序时,实现如下步骤:监测linux系统中针对目标蜜罐节点的用户行为数据和第一蜜罐运行数据;采用所述用户行为数据生成测试编程文件;在所述linux系统中运行所述测试编程文件,并记录测试结果数据;判断所述测试结果数据与所述第一蜜罐运行数据是否匹配;若所述测试结果数据与所述第一蜜罐运行数据匹配,确定所述测试编程文件符合测试要求,并输出所述测试编程文件。
可选的,采用所述用户行为数据生成测试编程文件包括:基于所述用户行为数据生成原始数据记录表;将所述原始数据记录表中的表项内容填充至操作数据模板;基于所述操作数据模板编辑测试用例的测试语句,生成测试编程文件,其中,所述测试编程文件由若干个测试语句组成。
可选的,基于所述用户行为数据生成原始数据记录表包括:分别读取所述用户行为数据中多个操作行为的操作时间和操作对象,其中,所述操作对象为所述目标蜜罐节点或所述linux系统的一个虚拟元素;按照操作时间对所述多个操作行为的操作对象进行排序,生成第一队列,按照操作时间对所述多个操作行为的行为标识进行排序,生成第二队列;基于所述操作时间对所述第一队列和所述第二队列进行对齐操作,生成二维数组,并将所述二维数组确定为第一原始数据记录表。
可选的,在按照操作时间对所述多个操作行为的操作对象进行排序,生成第一队列,按照操作时间对所述多个操作行为的行为标识进行排序,生成第二队列之后,所述方法还包括:若第一操作行为的第一操作时间与第二操作行为的第二操作时间相同,且所述第一操作行为的第一操作对象与第二操作行为的第二操作对象相同,在所述第一队列中将所述第一操作对象与所述第二操作对象合并为第三操作对象;若第一操作行为的第一操作时间与第二操作行为的第二操作时间相同,且所述第一操作行为的第一行为标识与第二操作行为的第二行为标识相同,在所述第二队列中将所述第一行为标识与所述第二行为标识合并为第三行为标识。
可选的,基于所述用户行为数据生成原始数据记录表包括:分别读取所述用户行为数据中多个操作对象的历史状态数据和状态更新数据,其中,所述操作对象为所述目标蜜罐节点或所述linux系统的一个虚拟元素,所述历史状态数据用于表征所述操作对象在操作之前的状态,所述状态更新数据用于表征所述操作对象在操作之后的状态;针对每个操作对象,采用对应的历史状态数据和状态更新数据生成行为映射表;以操作对象的对象标识为关键字key,所述行为映射表为值value,生成元数据表,并将所述元数据表确定为第二原始数据记录表。
可选的,在采用对应的历史状态数据和状态更新数据生成行为映射表之后,所述方法还包括:针对每个操作对象,判断所述历史状态数据与状态更新数据是否相同;若所述历史状态数据与状态更新数据相同,删除对应操作对象的行为映射表。
可选的,将所述原始数据记录表中的表项内容填充至操作数据模板包括:定位所述操作数据模板中待填的数据项,其中,所述操作数据模板包括多个按照预设测试逻辑进行布局的数据项,每个数据项对应测试用例的一个测试参数;在所述原始数据记录表查找与所述数据项匹配的表项,并将对应的表项内容填充至所述数据项。
可选的,基于所述操作数据模板编辑测试语句,生成测试用例的测试编程文件,包括:查找所述操作数据模板的第一数据项,并解析所述第一数据项的数据类型和数据值;在预设脚本库中查找与所述数据类型匹配的编程函数,并基于所述数据值生成所述编程函数的脚本参数;将所述脚本参数注入所述编程函数,得到与所述第一数据项对应的测试语句,在遍历完所述操作数据模板中的最后一个数据项之后,输出测试用例的测试编程文件。
可选的,监测linux系统中针对目标蜜罐节点的用户行为数据和第一蜜罐运行数据包括:监测linux系统中针对目标蜜罐节点执行以下操作行为时的用户行为数据:编辑文件、编辑蜜罐诱饵、更改权限、调用进程、配置漏洞数据、添加拦截规则;在所述操作行为执行完成之后,读取所述目标蜜罐节点采集的攻击情报数据,采用随机森林模型对所述攻击情报数据进行迭代解析,得到多个特征深度的所述第一蜜罐运行数据,其中,所述随机森林模型由多颗分布在不同模型深度的决策树组成。
可选的,采用随机森林模型对所述攻击情报数据进行迭代解析,得到多个特征深度的所述第一蜜罐运行数据,包括:将所述攻击情报数据转换为特征向量矩阵;根据所述特征向量矩阵的特征尺寸,自适应选择所述随机森林模型的多层次决策树,其中,每相邻的两颗决策树用于对所述特征向量矩阵进行回归处理,每颗决策树用于对特征向量矩阵进行判别处理;将所述多层次决策树处理为N层网络模型,其中,每层网络模型由若干颗决策树组成;针对每层所述网络模型,基于网络模型的对应层级阈值系数,所述特征尺寸,以及所述特征向量矩阵的矩阵尺寸,计算得到当前层所述随机森林模型的概率系数,每个层级阈值系数对应一层所述网络模型,其中N为大于等于1的正整数 ;基于所述概率系数逐层迭代所述特征向量矩阵,得到多个特征深度的所述第一蜜罐运行数据。
可选的,在所述linux系统中运行所述测试编程文件,并记录测试结果数据包括:初始化所述linux系统,在初始化完成之后,在所述linux系统中触发运行所述测试编程文件;读取所述目标蜜罐节点的第二蜜罐运行数据,并将所述第二蜜罐运行数据记录为测试结果数据。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的基于linux系统的蜜罐测试方法。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的基于linux系统的蜜罐测试方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk (SSD))等。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (14)

1.一种基于linux系统的蜜罐测试方法,其特征在于,包括:
监测linux系统中针对目标蜜罐节点的用户行为数据和第一蜜罐运行数据;
采用所述用户行为数据生成测试编程文件;
在所述linux系统中运行所述测试编程文件,并记录测试结果数据;
判断所述测试结果数据与所述第一蜜罐运行数据是否匹配;
若所述测试结果数据与所述第一蜜罐运行数据匹配,确定所述测试编程文件符合测试要求,并输出所述测试编程文件。
2.根据权利要求1所述的方法,其特征在于,采用所述用户行为数据生成测试编程文件包括:
基于所述用户行为数据生成原始数据记录表;
将所述原始数据记录表中的表项内容填充至操作数据模板;
基于所述操作数据模板编辑测试用例的测试语句,生成测试编程文件,其中,所述测试编程文件由若干个测试语句组成。
3.根据权利要求2所述的方法,其特征在于,基于所述用户行为数据生成原始数据记录表包括:
分别读取所述用户行为数据中多个操作行为的操作时间和操作对象,其中,所述操作对象为所述目标蜜罐节点或所述linux系统的一个虚拟元素;
按照操作时间对所述多个操作行为的操作对象进行排序,生成第一队列,按照操作时间对所述多个操作行为的行为标识进行排序,生成第二队列;
基于所述操作时间对所述第一队列和所述第二队列进行对齐操作,生成二维数组,并将所述二维数组确定为第一原始数据记录表。
4.根据权利要求3所述的方法,其特征在于,在按照操作时间对所述多个操作行为的操作对象进行排序,生成第一队列,按照操作时间对所述多个操作行为的行为标识进行排序,生成第二队列之后,所述方法还包括:
若第一操作行为的第一操作时间与第二操作行为的第二操作时间相同,且所述第一操作行为的第一操作对象与第二操作行为的第二操作对象相同,在所述第一队列中将所述第一操作对象与所述第二操作对象合并为第三操作对象;
若第一操作行为的第一操作时间与第二操作行为的第二操作时间相同,且所述第一操作行为的第一行为标识与第二操作行为的第二行为标识相同,在所述第二队列中将所述第一行为标识与所述第二行为标识合并为第三行为标识。
5.根据权利要求2所述的方法,其特征在于,基于所述用户行为数据生成原始数据记录表包括:
分别读取所述用户行为数据中多个操作对象的历史状态数据和状态更新数据,其中,所述操作对象为所述目标蜜罐节点或所述linux系统的一个虚拟元素,所述历史状态数据用于表征所述操作对象在操作之前的状态,所述状态更新数据用于表征所述操作对象在操作之后的状态;
针对每个操作对象,采用对应的历史状态数据和状态更新数据生成行为映射表;
以操作对象的对象标识为关键字key,所述行为映射表为值value,生成元数据表,并将所述元数据表确定为第二原始数据记录表。
6.根据权利要求5所述的方法,其特征在于,在采用对应的历史状态数据和状态更新数据生成行为映射表之后,所述方法还包括:
针对每个操作对象,判断所述历史状态数据与状态更新数据是否相同;
若所述历史状态数据与状态更新数据相同,删除对应操作对象的行为映射表。
7.根据权利要求2所述的方法,其特征在于,将所述原始数据记录表中的表项内容填充至操作数据模板包括:
定位所述操作数据模板中待填的数据项,其中,所述操作数据模板包括多个按照预设测试逻辑进行布局的数据项,每个数据项对应测试用例的一个测试参数;
在所述原始数据记录表查找与所述数据项匹配的表项,并将对应的表项内容填充至所述数据项。
8.根据权利要求2所述的方法,其特征在于,基于所述操作数据模板编辑测试语句,生成测试用例的测试编程文件,包括:
查找所述操作数据模板的第一数据项,并解析所述第一数据项的数据类型和数据值;
在预设脚本库中查找与所述数据类型匹配的编程函数,并基于所述数据值生成所述编程函数的脚本参数;
将所述脚本参数注入所述编程函数,得到与所述第一数据项对应的测试语句,在遍历完所述操作数据模板中的最后一个数据项之后,输出测试用例的测试编程文件。
9.根据权利要求1所述的方法,其特征在于,监测linux系统中针对目标蜜罐节点的用户行为数据和第一蜜罐运行数据包括:
监测linux系统中针对目标蜜罐节点执行以下操作行为时的用户行为数据:编辑文件、编辑蜜罐诱饵、更改权限、调用进程、配置漏洞数据、添加拦截规则;
在所述操作行为执行完成之后,读取所述目标蜜罐节点采集的攻击情报数据,采用随机森林模型对所述攻击情报数据进行迭代解析,得到多个特征深度的所述第一蜜罐运行数据,其中,所述随机森林模型由多颗分布在不同模型深度的决策树组成。
10.根据权利要求9所述的方法,其特征在于,采用随机森林模型对所述攻击情报数据进行迭代解析,得到多个特征深度的所述第一蜜罐运行数据,包括:
将所述攻击情报数据转换为特征向量矩阵;
根据所述特征向量矩阵的特征尺寸,自适应选择所述随机森林模型的多层次决策树,其中,每相邻的两颗决策树用于对所述特征向量矩阵进行回归处理,每颗决策树用于对特征向量矩阵进行判别处理;
将所述多层次决策树处理为N层网络模型,其中,每层网络模型由若干颗决策树组成;
针对每层所述网络模型,基于网络模型的对应层级阈值系数,所述特征尺寸,以及所述特征向量矩阵的矩阵尺寸,计算得到当前层所述随机森林模型的概率系数,每个层级阈值系数对应一层所述网络模型,其中N为大于等于1的正整数 ;
基于所述概率系数逐层迭代所述特征向量矩阵,得到多个特征深度的所述第一蜜罐运行数据。
11.根据权利要求1所述的方法,其特征在于,在所述linux系统中运行所述测试编程文件,并记录测试结果数据包括:
初始化所述linux系统,在初始化完成之后,在所述linux系统中触发运行所述测试编程文件;
读取所述目标蜜罐节点的第二蜜罐运行数据,并将所述第二蜜罐运行数据记录为测试结果数据。
12.一种基于linux系统的蜜罐测试装置,其特征在于,包括:
监测模块,用于监测linux系统中针对目标蜜罐节点的用户行为数据和第一蜜罐运行数据;
生成模块,用于采用所述用户行为数据生成测试编程文件;
处理模块,用于在所述linux系统中运行所述测试编程文件,并记录测试结果数据;
判断模块,用于判断所述测试结果数据与所述第一蜜罐运行数据是否匹配;
确定模块,用于若所述测试结果数据与所述第一蜜罐运行数据匹配,确定所述测试编程文件符合测试要求,并输出所述测试编程文件。
13.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至11中任一项所述的方法步骤。
14.一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:
存储器,用于存放计算机程序;
处理器,用于通过运行存储器上所存放的程序来执行权利要求1至11中任一项所述的方法步骤。
CN202111075993.5A 2021-09-14 2021-09-14 基于linux系统的蜜罐测试方法及装置 Active CN113515464B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111075993.5A CN113515464B (zh) 2021-09-14 2021-09-14 基于linux系统的蜜罐测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111075993.5A CN113515464B (zh) 2021-09-14 2021-09-14 基于linux系统的蜜罐测试方法及装置

Publications (2)

Publication Number Publication Date
CN113515464A true CN113515464A (zh) 2021-10-19
CN113515464B CN113515464B (zh) 2021-11-19

Family

ID=78063179

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111075993.5A Active CN113515464B (zh) 2021-09-14 2021-09-14 基于linux系统的蜜罐测试方法及装置

Country Status (1)

Country Link
CN (1) CN113515464B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114416668A (zh) * 2022-03-29 2022-04-29 杭州默安科技有限公司 一种pkg诱饵文件生成方法和系统
CN114826996A (zh) * 2022-05-10 2022-07-29 上海磐御网络科技有限公司 基于busybox文件系统的路由器蜜罐测试方法及装置

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101567811A (zh) * 2009-05-26 2009-10-28 西北工业大学 基于BitTorrent的主动式特定信息传播监测方法
CN101582907A (zh) * 2009-06-24 2009-11-18 成都市华为赛门铁克科技有限公司 一种增强蜜网诱骗力度的方法和蜜网系统
CN104303148A (zh) * 2012-03-22 2015-01-21 爱迪德加拿大公司 更新软件组件
CN104978520A (zh) * 2014-11-26 2015-10-14 哈尔滨安天科技股份有限公司 一种基于实际业务系统的蜜罐数据构造方法及系统
CN107295072A (zh) * 2017-06-13 2017-10-24 复旦大学 一种基于私有云的缓存数据一致性维护方法
CN110035079A (zh) * 2019-04-10 2019-07-19 阿里巴巴集团控股有限公司 一种蜜罐生成方法、装置及设备
US10379995B1 (en) * 2018-07-06 2019-08-13 Capital One Services, Llc Systems and methods to identify breaking application program interface changes
CN110839025A (zh) * 2019-11-08 2020-02-25 杭州安恒信息技术股份有限公司 中心化web渗透检测蜜罐方法、装置、系统及电子设备
US10594722B2 (en) * 2012-11-17 2020-03-17 The Trustees Of Columbia University In The City Of New York Methods, systems and media for evaluating layered computer security products
US20200201744A1 (en) * 2018-12-20 2020-06-25 Paypal, Inc. Real time application error identification and mitigation
CN111506808A (zh) * 2020-02-23 2020-08-07 北京三快在线科技有限公司 用户数据处理方法、二维码展示方法、系统及装置
CN111683055A (zh) * 2020-05-14 2020-09-18 北京邮电大学 一种工控蜜罐方法及装置
CN112104613A (zh) * 2020-08-24 2020-12-18 广州锦行网络科技有限公司 基于数据流量包分析的蜜网测试系统及其测试方法
CN107209711B (zh) * 2015-01-30 2021-01-08 德国电信股份有限公司 用于测试在测试网络中的计算机系统的计算机的测试系统

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101567811A (zh) * 2009-05-26 2009-10-28 西北工业大学 基于BitTorrent的主动式特定信息传播监测方法
CN101582907A (zh) * 2009-06-24 2009-11-18 成都市华为赛门铁克科技有限公司 一种增强蜜网诱骗力度的方法和蜜网系统
CN104303148A (zh) * 2012-03-22 2015-01-21 爱迪德加拿大公司 更新软件组件
US10594722B2 (en) * 2012-11-17 2020-03-17 The Trustees Of Columbia University In The City Of New York Methods, systems and media for evaluating layered computer security products
CN104978520A (zh) * 2014-11-26 2015-10-14 哈尔滨安天科技股份有限公司 一种基于实际业务系统的蜜罐数据构造方法及系统
CN107209711B (zh) * 2015-01-30 2021-01-08 德国电信股份有限公司 用于测试在测试网络中的计算机系统的计算机的测试系统
CN107295072A (zh) * 2017-06-13 2017-10-24 复旦大学 一种基于私有云的缓存数据一致性维护方法
US10379995B1 (en) * 2018-07-06 2019-08-13 Capital One Services, Llc Systems and methods to identify breaking application program interface changes
US20200201744A1 (en) * 2018-12-20 2020-06-25 Paypal, Inc. Real time application error identification and mitigation
CN110035079A (zh) * 2019-04-10 2019-07-19 阿里巴巴集团控股有限公司 一种蜜罐生成方法、装置及设备
CN110839025A (zh) * 2019-11-08 2020-02-25 杭州安恒信息技术股份有限公司 中心化web渗透检测蜜罐方法、装置、系统及电子设备
CN111506808A (zh) * 2020-02-23 2020-08-07 北京三快在线科技有限公司 用户数据处理方法、二维码展示方法、系统及装置
CN111683055A (zh) * 2020-05-14 2020-09-18 北京邮电大学 一种工控蜜罐方法及装置
CN112104613A (zh) * 2020-08-24 2020-12-18 广州锦行网络科技有限公司 基于数据流量包分析的蜜网测试系统及其测试方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
贾召鹏等: ""ArkHoney:基于协同机制的Web蜜罐"", 《计算机学报》 *
陌度: ""开源蜜罐测评报告"", 《HTTPS://WWW.FREEBUF.COM/ARTICLES/PAPER/207739.HTML》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114416668A (zh) * 2022-03-29 2022-04-29 杭州默安科技有限公司 一种pkg诱饵文件生成方法和系统
CN114416668B (zh) * 2022-03-29 2022-07-08 杭州默安科技有限公司 一种pkg诱饵文件生成方法和系统
CN114826996A (zh) * 2022-05-10 2022-07-29 上海磐御网络科技有限公司 基于busybox文件系统的路由器蜜罐测试方法及装置

Also Published As

Publication number Publication date
CN113515464B (zh) 2021-11-19

Similar Documents

Publication Publication Date Title
CN107908541B (zh) 接口测试方法、装置、计算机设备及存储介质
CN113515464B (zh) 基于linux系统的蜜罐测试方法及装置
CN108089893B (zh) 冗余资源的确定方法、装置、终端设备与存储介质
CN107632827B (zh) 应用的安装包的生成方法及装置
CN110737584A (zh) 基于区块链的业务数据测试方法、装置及计算机设备
CN110704062A (zh) 依赖管理方法、数据获取方法、装置及设备
CN111382073A (zh) 自动化测试用例确定方法、装置、设备及存储介质
CN111258680B (zh) 资源加载方法和装置、存储介质及电子装置
CN105204986A (zh) 产品的自动化测试方法、服务器及移动设备
CN110941632A (zh) 一种数据库审计方法、装置及设备
CN111124480A (zh) 应用程序包的生成方法、装置、电子设备及存储介质
CN111259212B (zh) 一种遥测数据判读方法、装置、设备及存储介质
CN114780485A (zh) 一种电子档案管理方法、系统、可读存储介质及设备
CN110990350A (zh) 日志的解析方法及装置
CN112115039A (zh) 测试用例生成方法、装置及设备
CN109933515B (zh) 一种回归测试用例集的优化方法和自动优化装置
CN111124872A (zh) 基于差异代码分析的分支检测方法、装置及存储介质
CN112631704A (zh) 一种界面元素识别方法、装置、存储介质及电子设备
CN110008698A (zh) 病毒检测方法及装置
CN109670317B (zh) 一种基于原子控制流图的物联网设备继承性漏洞挖掘方法
CN114879985B (zh) 一种证书文件的安装方法、装置、设备及存储介质
CN113127352B (zh) 一种自动化用例的统计方法、装置及计算机可读存储介质
CN113342632A (zh) 仿真数据自动化处理方法、装置、电子设备及存储介质
CN107506299B (zh) 一种代码分析方法及终端设备
CN114253867B (zh) 基于神经网络模型的自动化测试方法、装置及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant