基于xdp技术的单主机虚拟多个蜜罐节点的方法及装置制造方法及图纸

技术编号:38378655 阅读:11 留言:0更新日期:2023-08-05 17:38
本发明专利技术公开了一种基于xdp技术的单主机虚拟多个蜜罐节点的方法及装置,包含:S1.配置实体蜜罐信息表;利用linux容器技术在当前物理机上创建多个具有交互功能的实体蜜罐;S2.配置蜜罐节点信息表;将蜜罐节点的信息记录在蜜罐节点信息表中,借助蜜罐节点信息表完成单物理主机创建多蜜罐节点;S3.配置服务关联策略表;通过请求服务关联策略表记录蜜罐服务到实体服务的映射关系,实现多蜜罐服务复用实体服务;S4.策略关联及转发;将xdp程序以offload模式运行,此时xdp程序会拦截物理网卡上的数据包,并根据服务关联中的关联策略,将满足策略的攻击流量转发到实体服务上,同时动态创建一条反向映射,用于将实体服务的响应数据转发到攻击者。攻击者。攻击者。

【技术实现步骤摘要】
基于xdp技术的单主机虚拟多个蜜罐节点的方法及装置


[0001]本专利技术涉及计算机和网络安全防御
,尤其是一种基于xdp技术的单主机虚拟多个蜜罐节点的方法及装置。

技术介绍

[0002]接入网络的某台主机如果意外感染了恶意程序,此恶意程序会按照自定义策略对所处的网络进行扫描,一旦发现脆弱性设备,就会发起攻击进行感染,如同病毒一样由点到面逐步渗透整个网络;如何快速感知网络中是否存在攻击行为就迫在眉睫。
[0003]蜜罐技术通过部署一些存在安全缺陷的节点、服务,诱使攻击方对它们实施攻击,从而可以对攻击行为进行捕获和分析,并进行预警。通过蜜罐的原理可知,一个业务网段中,属于蜜罐的IP越多,即蜜罐节点越多,就越能增加攻击者的触碰几率。如果需要为每一个IP都分配一台物理主机作为蜜罐节点,将需要大量的物理资源,形成较大的资源浪费,因此,需要通过技术手段在一台物理主机上虚拟多个具有独立IP的蜜罐节点。
[0004]现有技术专利“CN 112134891 A一种基于linux系统的单主机产生多个蜜罐节点的配置方法、系统、监测方法”通过在同一主机上配置多个同网段的不同IP虚拟感应节点,并通过关联策略与对应的实体蜜罐实现交互,再基于Linux容器虚拟化技术,创建多个虚拟网卡,实现实体蜜罐与虚拟感应节点交互时向攻击者返回不同的mac地址,从而达到复用资源来创建大量高伪装性的蜜罐节点的目的,有效地节约了资源,提高了蜜罐的伪装性。但是,这一现有技术虽然基于linux虚拟化技术能够在单主机上创建具有不同MAC地址的蜜罐节点,并且基于关联策略的流量转发实现实体蜜罐的复用;但是这些基于linux虚拟化技术创建的虚拟网卡接收的数据包都必须经过linux网络协议栈处理后,才会被传递到蜜罐感应模块,接着才根据关联策略转发到实体蜜罐。而linux网络协议栈会消耗较多的物理主机的CPU资源和内存资源去解析数据包,如果蜜罐节点以及伪装服务比较多时,并且存在大量攻击流量时,这些资源的消耗就越加明显。

技术实现思路

[0005]针对现有技术存在的问题,本专利技术的目的在于提供一种将策略关联的时刻从内核协议栈之后提前到数据包进入物理主机的早期阶段,即利用网卡的计算资源去实现策略关联,避免在内核协议栈中消耗CPU资源的一种基于xdp技术的单主机虚拟多个蜜罐节点的方法及装置。
[0006]为实现上述目的,本专利技术提供一种基于xdp技术的单主机虚拟多个蜜罐节点的方法,所述方法包含以下步骤:
[0007]S1.配置实体蜜罐信息表;利用linux容器技术在当前物理机上创建多个具有交互功能的实体蜜罐;
[0008]S2.配置蜜罐节点信息表;将蜜罐节点的信息记录在蜜罐节点信息表中,借助蜜罐节点信息表完成单物理主机创建多蜜罐节点;
[0009]S3.配置服务关联策略表;通过请求服务关联策略表记录蜜罐服务到实体服务的映射关系,实现多蜜罐服务复用实体服务;
[0010]S4.策略关联及转发;将xdp程序以offload模式运行,此时xdp程序会拦截物理网卡上的数据包,并根据服务关联中的关联策略,将满足策略的攻击流量转发到实体服务上,同时动态创建一条反向映射,用于将实体服务的响应数据转发到攻击者。
[0011]进一步,步骤S1的实现过程如下:
[0012]S101:为了实现具有独立IP和MAC地址的蜜罐,使用容器网络技术和MACVLAN技术,使得每个实体蜜罐都具有独立的IP地址和MAC地址;
[0013]S102:在每个容器中安装需要的服务和应用程序,当攻击者的请求流量被转发到实体蜜罐对应的服务时,这些服务会响应并记录攻击者的行为;
[0014]S103:在xdp程序启动过程中创建的实体蜜罐信息表中包含实体蜜罐IP地址、MAC地址、网关和网段的hash map,其中实体蜜罐的IP地址作为key,MAC地址、网关和网段作为value;
[0015]S104:通过bpftool工具将实体蜜罐信息填入实体蜜罐信息表中;在之后的服务关联过程中,xdp程序调用bpf_map_lookup_elem函数并使用ip地址作为key查询实体蜜罐信息表从而获得实体蜜罐的信息。
[0016]进一步,步骤S2的实现过程如下:
[0017]S201:在xdp程序启动的过程中创建一张BPF_MAP_TYPE_HASH类型的hashmap作为蜜罐节点信息表,用于存储蜜罐节点信息,蜜罐节点信息表包含蜜罐节点的IP地址、MAC地址、网关和网段;
[0018]S202:利用bpftool工具将蜜罐节点的IP地址作为hash map的key,MAC地址、网关和网段作为hash map的value存入蜜罐节点信息表中,在之后的服务关联过程中,xdp程序调用bpf_map_lookup_elem函数并使用ip地址作为key查询该表从而获得蜜罐节点的信息。
[0019]进一步,步骤S3的实现过程如下:
[0020]S301:xdp程序启动过程创建一张BPF_MAP_TYPE_HASH类型的hash map作为服务关联策略表,用于存储关联策略,关联策略包含协议类型、蜜罐节点IP、蜜罐服务端口、实体蜜罐IP和实体服务端口;其中协议类型、蜜罐节点IP和蜜罐服务端口作为key,实体蜜罐IP和实体服务端口作为value;
[0021]S302:通过bpftool工具将关联策略存入服务关联策略表中;xdp程序通过调用bpf_map_lookup_elem函数并以协议类型、蜜罐节点IP和蜜罐服务端口作为key,在请求关联表中查询value。
[0022]进一步,步骤S4的实现过程如下:
[0023]S401:xdp程序启动过程中创建BPF_MAP_TYPE_LRU_HASH类型的响应关联表用于存储反向关联策略;
[0024]S402:当请求流量到达xdp程序时,xdp程序阻断其进入内核避免占用CPU资源而直接在网卡层面处理流量;
[0025]S403:当非ARP请求流量到达xdp程序时,从中提取协议类型、目的IP、目的端口作为key,然后调用bpf_map_lookup_elem函数在请求关联表中查询value,并利用查询到的value替换修改请求流量中的目的IP和目的端口;
[0026]S404:创建反向关联策略;将步骤S403中修改前的请求流量中的协议类型、源IP,源端口作为key,目的IP、目的端口作为value并调用bpf_map_update_elem函数在响应关联表中创建反向关联策略;
[0027]S405:将步骤S403查询到的实体蜜罐IP作为key在实体蜜罐信息表中查询,如果命中则转发到对应的实体蜜罐,否则直接丢弃;
[0028]S406:实体蜜罐中对应的实体服务会创建响应包并发送给xdp程序,xdp程序从响应流量中提取协议类型、目的ip地址、目的端口作为value在响应关联表中查询,并用查询到ip地址、端口修改响应流量的源IP地址和源端口,然后从物本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于xdp技术的单主机虚拟多个蜜罐节点的方法,其特征在于,所述方法包含以下步骤:S1.配置实体蜜罐信息表;利用linux容器技术在当前物理机上创建多个具有交互功能的实体蜜罐;S2.配置蜜罐节点信息表;将蜜罐节点的信息记录在蜜罐节点信息表中,借助蜜罐节点信息表完成单物理主机创建多蜜罐节点;S3.配置服务关联策略表;通过请求服务关联策略表记录蜜罐服务到实体服务的映射关系,实现多蜜罐服务复用实体服务;S4.策略关联及转发;将xdp程序以offload模式运行,此时xdp程序会拦截物理网卡上的数据包,并根据服务关联中的关联策略,将满足策略的攻击流量转发到实体服务上,同时动态创建一条反向映射,用于将实体服务的响应数据转发到攻击者。2.根据权利要求1所述的基于xdp技术的单主机虚拟多个蜜罐节点的方法,其特征在于,步骤S1的实现过程如下:S101:为了实现具有独立IP和MAC地址的蜜罐,使用容器网络技术和MACVLAN技术,使得每个实体蜜罐都具有独立的IP地址和MAC地址;S102:在每个容器中安装需要的服务和应用程序,当攻击者的请求流量被转发到实体蜜罐对应的服务时,这些服务会响应并记录攻击者的行为;S103:在xdp程序启动过程中创建的实体蜜罐信息表中包含实体蜜罐IP地址、MAC地址、网关和网段的hashmap,其中实体蜜罐的IP地址作为key,MAC地址、网关和网段作为value;S104:通过bpftool工具将实体蜜罐信息填入实体蜜罐信息表中;在之后的服务关联过程中,xdp程序调用bpf_map_lookup_elem函数并使用ip地址作为key查询实体蜜罐信息表从而获得实体蜜罐的信息。3.根据权利要求2所述的基于xdp技术的单主机虚拟多个蜜罐节点的方法,其特征在于,步骤S2的实现过程如下:S201:在xdp程序启动的过程中创建一张BPF_MAP_TYPE_HASH类型的hash map作为蜜罐节点信息表,用于存储蜜罐节点信息,蜜罐节点信息表包含蜜罐节点的IP地址、MAC地址、网关和网段;S202:利用bpftool工具将蜜罐节点的IP地址作为hashmap的key,MAC地址、网关和网段作为hashmap的value存入蜜罐节点信息表中,在之后的服务关联过程中,xdp程序调用bpf_map_lookup_elem函数并使用ip地址作为key查询该表从而获得蜜罐节点的信息。4.根据权利要求3所述的基于xdp技术的单主机虚拟多个蜜罐节点的方法,其特征在于,步骤S3的实现过程如下:S301:xdp程序启动过程创建一张BPF_MAP_TYPE_HASH类型的hashmap作为服务关联策略表,用于存储关联策略,关联策略包含协议类型、蜜罐节点IP、蜜罐服务端口、实体蜜罐IP和实体服务端口;其中协议类型、蜜罐节点IP和蜜罐服务端口作为key,实体蜜罐IP和实体服务端口作为value;S302:通过bpftool工具将关联策略存入服务关联策略表中;xdp程序通过调用bpf_map_lookup_elem函数并以协议类型、蜜罐节点IP和蜜罐服务端口作为ke...

【专利技术属性】
技术研发人员:陈鹤峰董阳白宇星
申请(专利权)人:宁波如磐科技有限公司
类型:发明
国别省市:

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

1