1.本技术涉及网络技术领域,更具体地,涉及一种基于隧道技术的动态安全防护方法及应用。
背景技术:2.随着信息技术的发展,网络攻击手段不断更新,新的病毒、木马以及利用系统漏洞实施的攻击层出不穷。传统的被动网络安全防护利用防火墙、杀毒软件等网络安全设备难以抵御新型的病毒、木马和漏洞攻击。同时,“高价值”网络目标将面临各种目的性强、有组织、专业化的网络攻击,其攻击工具和手段将利用各种已知或未知的系统漏洞来进行攻击,传统的网络安全防护设备将无能为力。
3.动态安全防护突破原来“固定死守”的安全系统防护思想,通过不断的变化来增加攻击的难度和代价,提出了容忍安全漏洞的存在,但不允许对方利用的新的安全思想,开启了网络安全防护技术的新途径,并成为网络安全技术发展的趋势。基于sdn的ip地址和端口跳变是动态安全防护领域的重要技术之一,通过对外服务ip地址和端口的不断变化使攻击者难以探测到攻击目标,进而瓦解攻击方形成的网络攻击威胁。
4.ip地址和端口跳变范围越大,其动态变化空间就越大,防护效果就越好。但是,更大的变化空间意味着sdn流表显著增长,将会导致数据转发效率降低。
技术实现要素:5.针对现有技术的至少一个缺陷或改进需求,本发明提供了一种基于隧道技术的动态安全防护方法及应用,无论ip地址和端口的跳变空间的如何增长,其数据包的转发效率都不会降低,提高了地址和端口跳变的适用性。
6.为实现上述目的,按照本发明的第一个方面,提供了一种基于隧道技术的动态安全防护方法,在每个跳变网路的对外出口处部署网络跳变设备,所述网络跳变设备用于将对外发送的数据包基于隧道技术进行封装处理后发送,所述封装处理包括为数据包增加包头,并在包头中填充当前时间通信双方的跳变ip地址和跳变端口。
7.进一步地,基于隧道技术的动态安全防护方法还包括:所述网络跳变设备还用于验证从外网接收的数据包中的接收端跳变ip地址和跳变端口是否与本设备所述当前时间的跳变ip地址和跳变端口一致,若一致则进行隧道解封装处理,去掉包头,恢复原始数据包。
8.进一步地,所述通信双方的跳变ip地址和跳变端口的确定包括:
9.每个网络跳变设备有唯一的id标识;
10.网络跳变设备根据本设备的id标识、当前时间和跳变图案,生成本设备所述当前时间的跳变ip地址和跳变端口;
11.网络跳变设备查询接收端网络跳变设备的id标识,根据接收端网络跳变设备的id标识、当前时间和跳变图案,生成接收端网络跳变设备所述当前时间的跳变ip地址和跳变
端口。
12.进一步地,部署各个跳变网络共用的时钟同步设备,各个网络跳变设备从所述时钟同步设备获取时间实现时钟同步。
13.进一步地,预先设定映射函数,所述映射函数描述了根据网络跳变设备的id标识、时间和跳变图案生成本设备跳变ip地址和跳变端口的算法,根据所述映射函数生成本设备所述当前时间的跳变ip地址和跳变端口的算法。
14.进一步地,网络跳变设备的id标识是根据网络跳变设备所在跳变网络的ip地址按照预设方法计算得到的;
15.所述查询接收端网络跳变设备的id标识是根据接收端网络跳变设备所在跳变网络的ip地址计算得到的。
16.进一步地,对网络跳变设备所在跳变网络的ip地址网段进行哈希计算得到网络跳变设备的id标识。
17.按照本发明的第二个方面,还提供了一种基于隧道技术的动态安全防护系统,在每个跳变网路的对外出口处部署有网络跳变设备,所述网络跳变设备用于将对外发送的数据包基于隧道技术进行封装处理后发送,所述封装处理包括为数据包增加包头,并在包头中填充当前时间通信双方的跳变ip地址和跳变端口。
18.进一步地,基于隧道技术的动态安全防护系统还包括:所述网络跳变设备还用于验证从外网接收的数据包中的接收端跳变ip地址和跳变端口是否与本设备所述当前时间的跳变ip地址和跳变端口一致,若一致则进行隧道解封装处理,去掉包头,恢复原始数据包。
19.按照本发明的第三个方面,还提供了一种存储介质,其存储有可由处理器执行的计算机程序,当所述计算机程序在处理器上运行时,使得处理器执行上述任一项所述方法的步骤。
20.总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:无论ip地址和端口的跳变空间的如何增长,其数据包的转发效率都不会降低,解决了ip地址/端口的跳变空间和数据包转发效率之间的矛盾,在提高动态安全防护能力的同时,又保证了系统的性能。
附图说明
21.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1为本技术实施例提供的基于隧道技术的动态安全防护系统的架构图;
23.图2为本技术实施例提供的数据包进行隧道封装与解封装的流程示意图;
24.图3为本技术另一实施例提供的基于隧道技术的动态安全防护系统的架构图;
25.图4为本技术另一实施例提供的添加包头的示意图。
具体实施方式
26.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对
本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
27.本技术的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或模块。
28.如图1所示,本发明实施例的基于隧道技术的动态安全防护系统面向计算网络,每个跳变网络可以是一个独立的数据中心,或是一个独立的内部网络,跳变网络之间通过专用数据通信网络相互连接。每个跳变网络中的应用和服务系统,通过网络跳变设备与外部进行通信,屏蔽数据中心内部的ip地址和端口信息,对外统一提供跳变ip和跳变端口。客户端主机部署在跳变网络中,客户端主机通过应用系统的真实ip地址,直接访问其他跳变网络中的应用服务。
29.进一步地,部署各个跳变网络共用的时钟同步设备,各个网络跳变设备从时钟同步设备获取时间实现时钟同步。跳变网络之间通过精准时钟同步设备实现时钟同步,精准时钟同步设备的时钟同步信息通过独立网络进行传输和获取,避免由于时钟不同步导致数据传输中断,而数据传输中断又导致无法传输时钟同步信息的死循环。
30.ip地址跳变:每个网络跳变设备在不同的时刻,其对外通信的ip持续变化。ip地址通常用“点分十进制”表示成(a.b.c.d)的形式。以c类ip地址为例,a.b.c为网段号,d为设备编号。在网络跳变过程中,网段号码(a.b.c)保持不变,设备编号(d)根据系统定义的算法持续改变,且设备编号(d)的变化规律必须是合法用户可知,非法用户未知,以此来屏蔽非法用户的请求和访问。
31.端口跳变:每个网络跳变设备在不同的时刻,其对外通信的应用端口持续变化。应用系统的端口使用范围为1到65535,其中包括知名服务所用的端口(比如ftp:21,http:8080等端口),为避免冲突,网络跳变设备在端口跳变的取值空间可采用10000至65535。
32.本发明实施例的基于隧道技术的动态安全防护系统及方法中,网络跳变过程中,通信双方分别部署在两个不同的跳变网络,在每个跳变网路的对外出口处部署网络跳变设备,实现地址跳变和端口跳变。
33.在数据发送端,网络跳变设备用于将对外发送的数据包基于隧道技术进行封装处理后发送,封装处理包括为数据包增加包头,并在包头中填充当前时间通信双方的跳变ip地址和跳变端口,实现地址跳变和端口跳变。
34.在数据接收端,网络跳变设备从外网接收数据包后,验证从外网接收的数据包中的接收端跳变ip地址和跳变端口是否与本设备所述当前时间的跳变ip地址和跳变端口一致,若一致则进行隧道解封装处理,去掉包头,恢复原始数据包,将原始数据包转发给数据接收端,实现一次完整的数据包发送过程。
35.数据包处理流程如图2所示,若接收到数据包,判断数据包来自外网端口还是内网端口,若网络跳变设备收到的数据包来自内网端口,则需要将数据包进行隧道封装,完成封装后发往外网。若网络跳变设备收到的数据包来自外部网络端口,则需要判断数据包的合法性,如果数据包合法,则将数据包的隧道头去掉,还原数据包。如果数据包非法,则丢弃该
数据包。
36.实施例1
37.本发明实施例的所述基于隧道技术的动态安全防护方法包括:
38.s1.1、在每个跳变网络的出口部署网络跳变设备,跳变网络之间的数据通信,必须要经过网络跳变设备。跳变网络内各服务器上的应用系统向跳变网络外发送的数据包,必须由网络跳变设备转发至外网。同样的,由外网发送给跳变网络内服务器的数据包,也必须由网络跳变设备转发至内网。
39.s1.2、网络跳变设备生成己方跳变ip和跳变端口。
40.生成己方跳变ip和跳变端口的优选实现如下。
41.(1)每个网络跳变设备都有一个唯一的id作为标识。
42.进一步地,网络跳变设备的id标识是根据网络跳变设备所在跳变网络的ip地址按照预设方法计算得到的。预设方法可以是哈希算法。
43.(2)在每个跳变周期的起始时刻,网络跳变设备以全网共享的跳变图案、网络跳变设备id、和当前时间作为输入值,计算出自己在当前时间段的跳变ip地址和跳变端口。
44.进一步地,跳变图案可以是动态更新的。
45.s1.3、网络跳变设备将从内网收到的数据包,计算出对端网络跳变设备当前的跳变ip地址和跳变端口。
46.(1)查询获得接收方id标识。
47.进一步地,是根据接收方ip地址网段按照预设方法计算得到的。
48.(2)以跳变图案、接收方网络跳变设备id、和当前时间作为输入值,计算出接收方的跳变ip地址和跳变端口。
49.s1.4、网络跳变设备将数据包进行封装,并将封装后的数据包转发至通信对端网络跳变设备。
50.(1)网络跳变设备进行数据包封装,根据通信双方的跳变ip地址和端口,构建隧道包的包头,封装数据包。
51.(2)网络跳变设备将封装后的数据包发送给数据传输网络。数据传输网络通过路由协议,将封装后的数据包转发至接收端跳变网络的网络跳变设备。
52.s1.5、网络跳变设备接收外网发来的数据包,并对数据包进行验证。
53.具体是,验证接收端ip地址和端口号,与本设备当前时间的ip地址和端口号是否一致,如果一致则进行下一步操作。如果不一致,则该数据包为非法数据包,将数据包丢掉。这里的“本设备当前时间”,是指的上述步骤s1.3时计算对端网络跳变设备当前的跳变ip地址和跳变端口时的时间。
54.s1.6、网络跳变设备将验证成功的数据包的隧道头去掉得到原始数据包,并将数据包转发至目标服务器。
55.实施例2
56.如图3所示,给定如下设备实体:
57.跳变网络服务端和跳变网络客户端分别是两个通信域;
58.应用服务器和客户端主机为通信双方的设备;
59.跳变网络节点分别部署在两个通信域中,作为数据通信网关;
60.本发明实施例的基于隧道技术的动态安全防护方法包括:
61.s2.1、在每个跳变网络的出口部署网络跳变设备,跳变网络之间的数据通信,必须要经过网络跳变设备。跳变网络内各服务器上的应用系统向跳变网络外发送的数据包,必须由网络跳变设备转发至外网。同样的,由外网发送给跳变网络内服务器的数据包,也必须由网络跳变设备转发至内网。
62.s2.2、网络跳变设备生成己方跳变ip和跳变端口。
63.(1)每个网络跳变设备都有一个唯一的id作为标识。
64.(2)在每个跳变周期的起始时刻,网络跳变设备以自己的id、和当前时间和跳变图案作为输入值,通过映射函数map()计算出自己在当前时间段的跳变ip地址和跳变端口。
65.hi(ip,port)=map(id,time,mkey);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
66.其中,hi(ip,port)为第i个跳变周期内网络跳变设备的跳变ip地址和跳变端口。id为网络跳变设备的全局唯一id,time为当前跳变周期的起始时刻,mkey当前跳变周期对应的跳变图案。
67.s2.3、网络跳变设备将从内网收到的数据包,根据数据包目的地址和端口,计算出对端网络跳变设备当前的跳变ip地址和跳变端口。
68.(1)根据接收方ip地址网段可以查询获得接收方id标识。
69.id=hash(ip)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
70.(2)网络跳变设备依据公式(1)以接收方网络跳变设备id和时间作为输入值,计算出接收方的跳变ip地址和跳变端口。
71.s2.4、网络跳变设备将数据包进行封装,并将封装后的数据包转发至通信对端网络跳变设备。
72.(1)网络跳变设备进行数据包封装,根据通信双方的跳变ip地址和跳变端口,构建隧道包的包头,封装数据包。网络跳变设备利用udp数据包封装原始ip数据包,ip数据包载荷会被封装在一个新的udp头中,网络跳变设备提供了udp数据包的udp端口号以供跳变。如图4所示。通过这种方式,在进行网络跳变时,网络跳变设备就可以针对外部的隧道头中所带ip地址和端口进行网络层次的跳变,并且对业务提供透明传输,因为内部报文作为载荷并没有改变。地址跳变和端口跳变将可以共享相同的一套图案算法来进行跳变。
73.跳变ip和跳变端口直接填充至隧道头中的相应字段,而不是基于sdn流表项匹配的方式,因此,无论跳变ip和跳变端口的取值范围如何扩展,都不会增加sdn流表项的规模,因此不会降低数据包转发效率。
74.(2)网络跳变设备将封装后的数据包发送给数据传输网络。数据传输网络通过路由协议,根据隧道ip地址将封装后的数据包转发至接收端跳变网络的网络跳变设备。
75.s2.5、网络跳变设备接收外网发来的数据包,并对数据包进行验证,验证接收端跳变ip地址和跳变端口号,与本设备当前的跳变ip地址和跳变端口号是否一致,如果一致说明数据包发送方了解本网络跳变设备的跳变规律,为合法用户,则进入步骤s2.6的操作。如果不一致,则该数据包为非法数据包,将数据包丢掉。
76.s2.6、网络跳变设备将验证成功的数据包的隧道头去掉得到原始数据包,并将数据包转发至目标服务器。
77.本发明实施例的基于隧道技术的动态安全防护方法具有以下特点:
78.(1)高效性:基于隧道技术,ip地址和端口的跳变空间与sdn交换机流表规模无关,网络跳变节点能够高效的实现对原始ip数据包的封装和解封装,降低网络跳变对系统的资源消耗。
79.(2)高安全性:更大的ip地址和端口的跳变空间意味着更大的随机性,我们以b类ip地址和端口为例,b类ip地址的跳变空间为65534,端口的跳变空间选择10000-65534,在一个跳变周期中,网络跳变节点的ip地址和端口的组合有36亿个(3,639,365,156),如此庞大的跳变空间极大的降低了敌方攻击成功的概率。
80.(3)高适配性:基于隧道技术的动态安全防护方法能够更好的兼容现有网络,就可以与现有的网络安全设备(如:防火墙、入侵检测、waf网关等)无缝对接,对应用系统没有特殊的要求,因此能够更好的适配现有网络设备和应用系统。
81.(4)灵活性:本发明能够适配多种映射函数,即计算跳变地ip地址和跳变端口的映射函数可以根据实际需要灵活调整,以应对不同网络ip地址规划方案,适配多种类型ip地址跳变范围,极大的降低系统的部署难度,具有显著的灵活性。
82.基于隧道技术的动态安全防护系统的具体实现和上述方法相同,此处不再赘述。
83.本技术还提供一种存储介质,其存储有可由处理器执行的计算机程序,当计算机程序在处理器上运行时,使得处理器执行上述任一项上述基于隧道技术的动态安全防护方法的步骤。其中,计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、dvd、cd-rom、微型驱动器以及磁光盘、rom、ram、eprom、eeprom、dram、vram、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器ic),或适合于存储指令和/或数据的任何类型的媒介或设备。
84.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
85.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
86.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,可通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,系统或模块的间接耦合或通信连接,可以是电性或其它的形式。
87.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
88.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通进程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器
可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
89.以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。
90.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
技术特征:1.一种基于隧道技术的动态安全防护方法,其特征在于,在每个跳变网路的对外出口处部署网络跳变设备,所述网络跳变设备用于将对外发送的数据包基于隧道技术进行封装处理后发送,所述封装处理包括为数据包增加包头,并在包头中填充当前时间通信双方的跳变ip地址和跳变端口。2.如权利要求1所述的基于隧道技术的动态安全防护方法,其特征在于,还包括:所述网络跳变设备还用于验证从外网接收的数据包中的接收端跳变ip地址和跳变端口是否与本设备所述当前时间的跳变ip地址和跳变端口一致,若一致则进行隧道解封装处理,去掉包头,恢复原始数据包。3.如权利要求1所述的基于隧道技术的动态安全防护方法,其特征在于,所述通信双方的跳变ip地址和跳变端口的确定包括:每个网络跳变设备有唯一的id标识;网络跳变设备根据本设备的id标识、当前时间和跳变图案,生成本设备所述当前时间的跳变ip地址和跳变端口;网络跳变设备查询接收端网络跳变设备的id标识,根据接收端网络跳变设备的id标识、当前时间和跳变图案,生成接收端网络跳变设备所述当前时间的跳变ip地址和跳变端口。4.如权利要求1所述的基于隧道技术的动态安全防护方法,其特征在于,部署各个跳变网络共用的时钟同步设备,各个网络跳变设备从所述时钟同步设备获取时间实现时钟同步。5.如权利要求3所述的基于隧道技术的动态安全防护方法,其特征在于,预先设定映射函数,所述映射函数描述了根据网络跳变设备的id标识、时间和跳变图案生成本设备跳变ip地址和跳变端口的算法,根据所述映射函数生成本设备所述当前时间的跳变ip地址和跳变端口的算法。6.如权利要求3所述的基于隧道技术的动态安全防护方法,其特征在于,网络跳变设备的id标识是根据网络跳变设备所在跳变网络的ip地址按照预设方法计算得到的;所述查询接收端网络跳变设备的id标识是根据接收端网络跳变设备所在跳变网络的ip地址计算得到的。7.如权利要求1所述的基于隧道技术的动态安全防护方法,其特征在于,对网络跳变设备所在跳变网络的ip地址网段进行哈希计算得到网络跳变设备的id标识。8.一种基于隧道技术的动态安全防护系统,其特征在于,在每个跳变网路的对外出口处部署有网络跳变设备,所述网络跳变设备用于将对外发送的数据包基于隧道技术进行封装处理后发送,所述封装处理包括为数据包增加包头,并在包头中填充当前时间通信双方的跳变ip地址和跳变端口。9.如权利要求8所述的基于隧道技术的动态安全防护系统,其特征在于,还包括:所述网络跳变设备还用于验证从外网接收的数据包中的接收端跳变ip地址和跳变端口是否与本设备所述当前时间的跳变ip地址和跳变端口一致,若一致则进行隧道解封装处理,去掉包头,恢复原始数据包。10.一种存储介质,其特征在于,其存储有计算机程序,当所述计算机程序在处理器上运行时,使得所述处理器执行权利要求1~7任一项所述方法的步骤。
技术总结本申请公开了一种基于隧道技术的动态安全防护方法及应用。该方法包括在每个跳变网路的对外出口处部署网络跳变设备,在数据发送端,网络跳变设备用于将对外发送的数据包增加包头,并在包头中填充当前时间通信双方的跳变IP地址和跳变端口;在数据接收端,网络跳变设备用于验证从外网接收的数据包中的接收端跳变IP地址和跳变端口是否与本设备当前时间的跳变IP地址和跳变端口一致,若一致则去掉包头,恢复原始数据包。本发明无论IP地址和端口的跳变空间的如何增长,其数据包的转发效率都不会降低,提高了地址和端口跳变的适用性。提高了地址和端口跳变的适用性。提高了地址和端口跳变的适用性。
技术研发人员:付国宾 余奇 胡佳 彭靥 罗颖光 严其飞 李斌
受保护的技术使用者:中国人民解放军国防科技大学
技术研发日:2022.07.15
技术公布日:2022/11/1