掌桥专利:专业的专利平台
掌桥专利
首页

一种网络靶场下模拟真实流量的方法及系统

文献发布时间:2024-04-18 19:58:26


一种网络靶场下模拟真实流量的方法及系统

技术领域

本申请涉及云计算服务平台技术领域,尤其是涉及一种网络靶场下模拟真实流量的方法及系统。

背景技术

网络靶场是一种先进的工具,其目的在于模拟和复现真实网络空间的运行状态和环境,从而帮助人员及机构提升网络安全对抗能力。虚拟化技术是网络靶场的重要支持,而Openstack作为虚拟化技术的杰出代表,其开源、成熟的特性使其成为网络靶场的首选。然而,在模拟互联网等场景中,Openstack并不能模拟类似在互联网中存在着的文本,音频,视频,游戏等真实流量。这是一个需要解决的问题,因为在网络靶场中模拟互联网是非常重要的,模拟互联网的环境能够更真实地模拟网络安全的真实情况,使人员及机构能够更好地准备和应对网络安全的挑战。在这样的环境中,人员可以进行各种网络安全相关的学习、研究、检验、竞赛、演习等行为,从而提高网络安全对抗能力。

发明内容

为了解决上述技术问题,本申请提供一种网络靶场下模拟真实流量的方法,包括:

S1、基于预设的互联网流量和网络靶场中用户产生的流量,构建包括源IP、目的IP、源端口、目的端口、服务类型、数据包大小和内容特征为标签的初始训练集;

S2、基于所述初始训练集训练随机森林模型;

S3、基于训练后的随机森林模型对实时采集的互联网流量进行分类,得到随机流量;

S4、对所述随机流量进行特征的修改,将修改后的随机流量输入到网络靶场的虚拟网桥中作为背景流量。

在一些具体的实施例中,步骤S1所述初始训练集的构建包括基于流量抓包工具针对源IP、目的IP、源端口、目的端口、服务类型、数据包大小和内容特征,对所述预设的互联网流量和网络靶场中用户产生的流量进行分类。

在一些具体的实施例中,步骤S2所述基于所述初始训练集训练随机森林模型具体包括以下步骤:

S21、基于所述初始训练集采用放回抽样,取样若干次得到第二训练集;

S22、基于所述第二训练集中随机选取若干特征构建第二特征组,其中选取的所述第二特征组中的特征数量小于原始训练集的特征数量;

S23、基于所述第二训练集和选取的对应特征获取决策树;

S24、重复执行步骤S21至S23,直至决策树的数量达到目标数量,得到随机森林模型。

在一些具体的实施例中,步骤S3所述实时采集的互联网流量通过接收交换机镜像端口采集的互联网中产生的流量进行获取。

在一些具体的实施例中,步骤S3所述训练后的随机森林模型基于绝对多数投票法对实时采集的互联网流量进行分类,包括通过随机森林模型的决策树从类别标记集合中预测出一个标记,将预测输出表示为一个N维向量

其中,维度N包括流量的源IP、目的IP、源端口、目的端口、服务类型、数据包大小和内容特征。

在一些具体的实施例中,步骤S4基于OpenFlow的流表对所述随机流量进行特征的修改。

在一些具体的实施例中,步骤S4还包括基于预设的流量模板,对所述流量模板中的若干个特征进行修改和对应流量的生成以得到随机流量输入到网络靶场的虚拟网桥中作为背景流量。通过另一种方式获取随机流量,让使用网络靶场的人可以自定义所需流量进行输入。

根据本发明的第二方面,提出了一种网络靶场下模拟真实流量的系统,该系统包括:

训练集构建模块,被配置用于基于预设的互联网流量和网络靶场中用户产生的流量,构建包括源IP、目的IP、源端口、目的端口、服务类型、数据包大小和内容特征为标签的初始训练集;

模型训练模块,被配置用于基于所述初始训练集训练随机森林模型;

流量获取模块,被配置用于基于训练后的随机森林模型对实时采集的互联网流量进行分类,得到随机流量;

流量发生模块,被配置用于对所述随机流量进行特征的修改,将修改后的随机流量输入到网络靶场的虚拟网桥中作为背景流量。

根据本发明的第三方面,提出了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。

根据本发明的第四方面,提出了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。

本发明提出了一种基于海上目标检测的船舶预警系统,其技术效果在于:

基于预设的互联网流量和网络靶场中用户产生的流量,构建包括源IP、目的IP、源端口、目的端口、服务类型、数据包大小和内容特征为标签的初始训练集;基于所述初始训练集训练随机森林模型;基于训练后的随机森林模型对实时采集的互联网流量进行分类,得到随机流量;对所述随机流量进行特征的修改,将修改后的随机流量输入到网络靶场的虚拟网桥中作为背景流量,极大的提高了网络靶场中流量模拟的真实性,随机性,复杂性,提升了训练场景的效能,使人员及机构能够更好地应用网络靶场进行各种网络安全相关的学习、研究、检验、竞赛、演习等行为,从而提高网络安全对抗能力。

附图说明

包括附图以提供对实施例的进一步理解并且附图被并入本说明书中并且构成本说明书的一部分。附图图示了实施例并且与描述一起用于解释本申请的原理。将容易认识到其它实施例和实施例的很多预期优点,因为通过引用以下详细描述,它们变得被更好地理解。附图的元件不一定是相互按照比例的。同样的附图标记指代对应的类似部件。

图1是本申请的一个实施例的网络靶场下模拟真实流量的方法的流程图;

图2是本申请的一个具体的实施例的随机森林模型训练的流程图;

图3是本申请的一个具体的实施例的网络靶场下模拟真实流量的系统的框架图;

图4是本申请的一个具体的实施例的包括域名解析模块、虚拟机注入模块和流量监控模块的系统框架图;

图5是适于用来实现本发明实施例的电子设备的计算机装置的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

根据本申请的一个实施例的网络靶场下模拟真实流量的方法,图1是本申请的一个实施例的网络靶场下模拟真实流量的方法的流程图,如图1所示,该方法包括:

S1、基于预设的互联网流量和网络靶场中用户产生的流量,构建包括源IP、目的IP、源端口、目的端口、服务类型、数据包大小和内容特征为标签的初始训练集;

在一些具体的实施例中,步骤S1所述初始训练集的构建包括基于流量抓包工具针对源IP、目的IP、源端口、目的端口、服务类型、数据包大小和内容特征,对所述预设的互联网流量和网络靶场中用户产生的流量进行分类。

S2、基于所述初始训练集训练随机森林模型;

在一些具体的实施例中,图2是本申请的一个具体的实施例的随机森林模型训练的流程图,如图2所示,基于所述初始训练集训练随机森林模型具体包括以下步骤:

S21、基于所述初始训练集采用放回抽样,取样若干次得到第二训练集;

S22、基于所述第二训练集中随机选取若干特征构建第二特征组,其中选取的所述第二特征组中的特征数量小于原始训练集的特征数量;

S23、基于所述第二训练集和选取的对应特征获取决策树;

S24、重复执行步骤S21至S23,直至决策树的数量达到目标数量,得到随机森林模型。

S3、基于训练后的随机森林模型对实时采集的互联网流量进行分类,得到随机流量;

在一些具体的实施例中,步骤S3所述实时采集的互联网流量通过接收交换机镜像端口采集的互联网中产生的流量进行获取。在交换机上配置镜像口,以将网络中产生的流量镜像到流量采集设备,使用tcpdump工具针对流量的协议类型,服务类型,端口,MAC地址等多个维度进行分类。

在一些具体的实施例中,步骤S3所述训练后的随机森林模型基于绝对多数投票法对实时采集的互联网流量进行分类,包括通过随机森林模型的决策树从类别标记集合中预测出一个标记,将预测输出表示为一个N维向量

其中,维度N包括流量的源IP、目的IP、源端口、目的端口、服务类型、数据包大小和内容特征。

其中,绝对多数投票法具体包括当投票超过半数则预测为对应分类,否则拒绝预测,根据以下公式进行计算:

S4、对所述随机流量进行特征的修改,将修改后的随机流量输入到网络靶场的虚拟网桥中作为背景流量。

在一些具体的实施例中,步骤S4基于OpenFlow的流表对所述随机流量进行特征的修改。

在一些具体的实施例中,步骤S4还包括基于预设的流量模板,对所述流量模板中的若干个特征进行修改和对应流量的生成以得到随机流量输入到网络靶场的虚拟网桥中作为背景流量。使用预先采集好的流量模板,使用tcpwrite工具对其中特若干特征进行改写,使用tcpreplay工具进行发生,让使用网络靶场的人可以自定义所需流量进行输入。

图3是本申请的一个具体的实施例的网络靶场下模拟真实流量的系统的框架图,如图3所示,该系统包括训练集构建模块301、模型训练模块302、流量获取模块303、流量发生模块304。其中,训练集构建模块301被配置用于基于预设的互联网流量和网络靶场中用户产生的流量,构建包括源IP、目的IP、源端口、目的端口、服务类型、数据包大小和内容特征为标签的初始训练集;模型训练模块302被配置用于基于所述初始训练集训练随机森林模型;流量获取模块303被配置用于基于训练后的随机森林模型对实时采集的互联网流量进行分类,得到随机流量;流量发生模块304被配置用于对所述随机流量进行特征的修改,将修改后的随机流量输入到网络靶场的虚拟网桥中作为背景流量。

在一些可选的实施例中,训练集构建模块301、模型训练模块302、流量获取模块303可构成流量学习模块。图4是本申请的一个具体的实施例的包括域名解析模块、虚拟机注入模块和流量监控模块的系统框架图,如图4所示,上述系统还可以包括:

域名解析模块:被配置为解析网络靶场下模拟互联网场景中需要定向解析的域名,其实现方式主要是通过修改OpenStackNeutron组件的相关源码,调整域名解析的流程,并引入需要定向解析的IP地址和域名。本模块利用dnsmasq作为域名解析的工具,利用linux名称空间的特性,为每一个场景创建单独的dnsmasq进程,提供域名解析支持,并且支持实时增加删除域名解析条目,极大的提高了本模块的可用性;

虚拟机注入模块:被配置为修改虚拟机的域名解析相关功能,使其能够连接到域名解析模块。这一实现方式主要是通过修改OpenStackNova组件的相关源码,采用cloud-init工具,对虚拟机的初始化配置文件进行修改,包括但不限于虚拟机的本地域名解析相关配置,将虚拟机的域名解析服务器IP指向域名解析模块,将修改后的注入虚拟机中,以实现虚拟机侧的域名解析配置;

流量监听与控制模块:被配置为监听和过滤域名解析相关流量,并屏蔽掉使用场景中可能存在的其他域名解析服务。这一功能主要是通过在网络层实现,利用相关流量监听工具对域名解析流量进行过滤和屏蔽,从而实现对域名解析的定向控制。本申请下的虚拟机的虚拟网卡都连接在支持openflow协议的虚拟网桥上,通过openflow协议,对网桥中的流量源IP,目的IP,源端口,目的端口,类型等多方面进行辨别,丢弃掉可能由普通用户创建的域名解析服务的相关流量,并且将不同场景下的虚拟机产生的域名解析相关的流量,转发到域名解析模块。

作为示例,构建一个本实施例的网络靶场用于模拟真实的网络环境。在这个网络环境中,有一个域名为www.example.com的网站,需要定向解析到虚拟机的IP地址为192.168.1.100。首先,通过域名解析模块将www.example.com解析到IP地址192.168.1.100,基于虚拟机注入模块,将域名解析相关的配置信息注入到虚拟机中,当虚拟机的用户访问www.example.com时,虚拟机就会自动解析到对应的IP地址192.168.1.100。同时,基于流量学习模块和流量发生模块模拟互联网中真实存在的文本,音频,视频,游戏等流量以提升训练场景的效能,并且基于流量监听模块对场景中的域名解析相关流量进行监听,以确保在网络环境中,只有www.example.com被定向解析到IP地址192.168.1.100,避免了其他域名解析服务的干扰。

通过以上方式,在网络靶场中可以更加真实地模拟出真实网络环境,进而更好地测试网络应用的性能和安全性。通过虚拟机注入模块,可以在创建虚拟机时自动设置虚拟机的域名解析设置,无需人工干预,极大地提高了场景构建的效率。通过流量监听模块能够对场景中的域名解析相关流量进行监听和过滤,有效地避免了场景中出现的其他域名解析服务对模拟场景的干扰。并且用户可以根据自己的需求,调整域名解析的相关流程,引入需要定向解析的IP和域名,使得本发明的方法和系统具有很高的灵活性和适应性。通过引入随机森林模型,可以实时学习互联网以及靶场中的相关流量特征,在网络靶场中进行真实互联网流量的模拟,极大的提高了流量发生与模拟的真实性,随机性,复杂性,提升了训练场景的效能。本申请还基于OpenStack组件,具有较为成熟的架构和功能,易于维护和升级。本实施例提供的系统可以帮助网络安全研究人员更好地进行模拟实验,提升网络安全研究的水平。

下面参考图5,其示出了适于用来实现本申请实施例的电子设备的计算机系统500的结构示意图。图5示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM503中,还存储有系统500操作所需的各种程序和数据。CPU501、ROM502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。

以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。

作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:基于预设的互联网流量和网络靶场中用户产生的流量,构建包括源IP、目的IP、源端口、目的端口、服务类型、数据包大小和内容特征为标签的初始训练集;基于所述初始训练集训练随机森林模型;基于训练后的随机森林模型对实时采集的互联网流量进行分类,得到随机流量;对所述随机流量进行特征的修改,将修改后的随机流量输入到网络靶场的虚拟网桥中作为背景流量。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

相关技术
  • 一种模拟安卓用户真实系统资源环境的测试方法及系统
  • 一种用于高温强磁场下浓相颗粒流流量测量仪及测量方法
  • 一种核电厂止回阀不同流量工况流阻系数模拟方法及系统
  • 一种用于网络计算机的仿真实训系统及其方法
  • 一种基于NB-IoT网络下行流量控制的方法及系统
  • 一种模拟计算机网络应用程序真实运行环境的测试方法和系统
  • 基于客户端生成分布式真实网络流量数据集的方法及系统
技术分类

06120116486714