APP下载

基于滑动时间窗口的IPv6地址跳变主动防御模型

2018-08-27孔亚洲张连成王振兴

计算机应用 2018年7期
关键词:接收者攻击者数据包

孔亚洲,张连成,王振兴

(数学工程与先进计算国家重点实验室(信息工程大学),郑州 450002)(*通信作者电子邮箱coyote0916@163.com)

0 引言

2017年11月26日,中共中央办公厅、国务院办公厅印发了《推进互联网协议第六版(IPv6)规模部署行动计划》[1](简称“计划”),“计划”要求不仅要实现移动互联网全面支持IPv6,还要强化网络安全保障。IPv6具有许多新特性,如巨大的地址空间、强制的IPSec支持、良好的移动性、高效的路由集聚等[2]。由于IPv6网络恢复了端到端通信,不再使用网络地址转换(Network Address Translation, NAT)等技术,每个IPv6节点均可获得一个全球可路由的单播地址,失去了一层屏障,因此,攻击者能够更加准确地对目标IPv6节点实施探测攻击,如何保证IPv6节点的安全性已受到越来越多的关注。

移动目标防御(Moving Target Defense, MTD)[3]是美国提出的“改变游戏规则”的革命性技术之一,旨在增加信息系统随机性、多样性和动态性,从而提升攻击难度与代价。地址跳变(Address Hopping, AH)[4]是指通信双方按照既定协议伪随机地改变通信地址,实现网络主动防御,是MTD在网络层的一种典型应用。

文献[5]提出一种动态网络地址转换(Dynamic Network Address Translation, DyNAT)技术,通过动态改变终端节点标识来防御攻击者对内部节点的信息收集;文献[6]提出一种网络地址空间随机化(Network Address Space Randomization, NASR)技术,主机通过随机地获得网络地址来抵御蠕虫传播与攻击;Badishi等[7]提出一种基于端口配给信道的防御机制,不同信道使用伪随机函数跳变选择端口,使得不同信道在不同时刻使用不同端口进行通信;Al-Shaer等[8]提出一种基于软件定义网络(Software Defined Network, SDN)的地址随机变换技术(OpenFlow Random Host Mutation, OF-RHM),通过OpenFlow控制器随机分配虚拟IP,并利用OF-switch在真实IP与虚拟IP之间转换;之后,Al-Shaer等[9]针对OF-RHM部署困难的问题,提出一种随机主机交换技术(Random Host Mutation, RHM),利用低频变换和高频变换相结合的机制为主机随机分配地址;为进一步提升其安全性,Al-Shaer等[10]提出一种时空地址变换机制,以源标识和时间戳为参数生成某一时刻与主机真实IP所对应的瞬时IP,主机利用瞬时IP在某一时间间隔内与其他主机进行通信;Lee等[11]提出一种在服务器进行端口跳变的技术,该技术使服务器端口按照以本地时间为参数的某个函数进行变化,使得攻击者无法获知服务器已开放端口,提高了服务器的抗攻击能力,但是该技术要求精准的时间同步;Sifalakis等[12]提出一种网络地址跳变方案,通过将单个会话分成多个会话的方式,迷惑了攻击者,隐藏了通信双方的数据交换,该方案无需严格时间同步,但容易造成会话中断或数据接收错误;文献[13]提出移动目标IPv6防御(Moving Target IPv6 Defense, MT6D),通信双方以接口标识符、共享密钥和系统时间戳为参数,计算出将要使用的接口标识符,MT6D可以在不中断会话的情况下多次变换网络地址,增加了攻击难度;文献[14]提出一种利用IPv6多穴特性,实现地址跳变的IPv6主动防御模型(Multi-Homing Hopping based Proactive Defense model in IPv6, MHH-PD6),并通过双重随机地址生成算法保证了通信的持续。

从以上分析可知,现有的地址跳变技术主要存在以下三方面的问题:1)依赖时间同步机制,对网络延迟等要求较高;2)依赖事件触发机制,相应报文存在被截获的可能;3)地址跳变过程中容易产生数据包的丢失,影响会话效率。

为解决IPv6网络节点地址跳变过程中存在的上述问题,本文提出一种基于滑动时间窗口的IPv6地址跳变(Address Hopping based on Sliding Time Window in IPv6, AHSTW)主动防御技术,通信双方利用共享密钥协商地址跳变参数,引入时间窗口机制,通信双方仅接收处于时间窗口内的通信数据包,既保证了通信安全性,又保证了通信效率。

1 AHSTW模型

在具体介绍AHSTW模型之前,首先给出AHSTW模型的若干重要概念。

定义1 AHSTW模型节点。采用AHSTW模型对自身实施保护的IPv6节点。

定义2 发送时间窗口(Sender Time Window)。通信发送者向接收者发送数据包的窗口。

定义3 接收时间窗口(Receiver Time Window)。通信接收者接收发送者数据包的窗口。

定义4 地址跳变间隔。通信双方根据地址跳变方案从一个IP地址跳变到下一个IP地址的时间间隔。

定义5 参数协商过程。通信双方对滑动窗口大小、跳变间隔时长等参数进行协商的过程。

定义6 地址跳变通信过程。参数协商完成后,通信双方进行通信的过程。

1.1 AHSTW结构组成

AHSTW模型的结构如图1所示。其中:Alice和Bob为AHSTW节点,且Alice为通信发起者,Bob为通信接收者;AR为IPv6子网的接入路由器;虚线单向箭头表示AHSTW节点的地址跳变过程,双向实箭头表示AHSTW节点间的通信。

1.2 AHSTW工作过程

AHSTW的工作过程主要有两个:参数协商过程和地址跳变通信过程。

以图1中的Alice与Bob之间的通信为例,当Alice初次与Bob进行通信或Alice欲更改时间窗口等参数时,将执行参数协商过程。假设Alice与Bob之间拥有一个共享密钥key,那么参数协商过程具体如下。

1)参数协商过程。

①首先,Alice以时间戳为种子生成一个随机数nonce,同时,生成一个地址跳变间隔τ和发送者时间窗口stw(stw≥1):

Alice:nonce=GenerateRandom(seedtimestamp),stw=GenerateSTW()

②然后,Alice将随机数nonce、地址跳变间隔τ和发送者时间窗口stw用共享密钥key加密后发送给Bob:

Alice → Bob:Encryptkey(nonce|τ|stw)

③Bob收到Alice发送的消息后,用共享密钥进行解密并提取出其中的参数信息,生成接收者时间窗口rtw(rtw≥stw),然后向Alice发送确认消息:

Bob:Decryptkey(nonce|τ|stw),rtw=GenerateRTW(stw) and Bob → Alice:Encryptkey(Ack)

④Alice判断是否收到Bob发回的确认消息,若未收到,返回①;若收到,Alice和Bob将进行地址跳变通信过程。

2)地址跳变通信过程。

①首先,Alice和Bob按照式(1)生成一个哈希链hashchain={hc0,hc1,…,hcn}:

(1)

其中Hashi(nonce)=Hashi-1(Hash(nonce))。

然后,Alice和Bob根据哈希链hashchain生成跳变地址信息列表(Address Hopping List, AHL),该表中的每项通过式(2)生成:

(2)

每个表项的结构如图2所示。

图2 AHL中表项结构

Fig. 2 Entry architecture in AHL

②然后,Alice和Bob根据地址跳变间隔τ和各自当前系统时间Tcurrent进行地址跳变,进而决定采用AHL中的哪一项进行通信。假设初始系统时间为Tinit,那么从初始系统时间到当前系统时间所经过的地址跳变间隔次数可由式(3)算得:

Indexnew=(Tcurrent-Tinit)/τ

(3)

如果Indexold

如果Indexold=Indexnew,那么Alice和Bob按照entryIndexnew中的信息进行通信,此过程可描述为:

Alice and Bob:cacl(Indexnew) and cacl(entryIndexnew),

Extract(SuffixAlice,PortAlice,SuffixBob,PortBob)

Alice ↔ Bob:sendpacket(tupleAlice,tupleBob)

其中,tupleAlice=〈PrefixAlice‖SuffixAlice,PortAlice〉,tupleBob=〈PrefixBob‖SuffixBob,PortBob〉。

1.3 时间窗口自适应调整算法

在实际IPv6通信过程中,网络时延是不可避免的,包括发送时延Delaysend、传输时延Delaytransit、处理时延Delayhandle和排队时延Delayqueue等。为提高AHSTW模型的适应能力,本文提出一种时间窗口自适应调整(Time Window Adaptive Adjustment, TWAA)算法,其基本思想是根据IPv6网络传输往返时延(Round-Trip Time, RTT)自适应调整通信双方的时间窗口。具体算法如下:

Start

//获取发送者数据包发出时的时间T1

SendPacketAndWait;

//发送者发送数据包并等待回应

GetReceiveTimestampT2

//发送者获取收到数据包时的时间T2

CalculateRTT

//计算往返时延

RTT=T2-T1=Delaytransit+Delayhandle+Delayqueue+

Delaysend+Delaytransit

//计算新的时间窗口

stw=「λRTT/(2τ)⎤=「λDelaytransit/τ+λ(Delayhandle+

Delayqueue+Delaysend)/(2τ)⎤

立方格域数据中的每一点模拟滚球的滚动轨迹,如果球体和接闪器发生接触,则计算下一点;如果未发生接触,球体内的立方格域数据标志为1,如此循环,直至计算完所有的点。保留立方格域数据标志为0的点,通过Delaunay法构造平滑曲面,该曲面就是接闪器的联合保护范围。模拟滚球的算法流程如图4所示,最终接闪杆的计算模拟效果如图5所示。

rtw=「μDelaytransit/τ⎤,其中λ≥1,μ≥1

End

由TWAA算法可知,由于网络传输时延是随着网络环境、数据包长度与数量等因素的变化而改变的,因此,攻击者难以准确提前获知新的时间窗口大小。此外,λ和μ这两个变量的引入增加了生成新的时间窗口的随机性,使得攻击者难以通过简单的重放相同时间戳的数据包等手段对目标节点实施攻击。

在TWAA算法中,假设发送者与接收者之间的传输时延是相同的,且只考虑接收者回复数据包时的处理时延、排队时延和发送时延。通过TWAA算法,通信双方能够自适应调整时间窗口的大小,保证数据传输的效率与网络环境适应能力,其中stw≤rtw,因为发送者时间窗口若大于接收者时间窗口,容易出现以下问题,即发送者的数据包到达接收者后,接收者判断出可接收时间已超出窗口范围,接收者丢弃该数据包,引起通信效率降低或终止等后果。

滑动时间窗口的基本思想如图3所示,由图3可知,根据TWAA算法,发送者在时间窗口内选择IPv6地址和端口与接收者进行通信,每经过地址跳变间隔τ,通信双方的时间窗口就向前滑动一次。

2 模型安全性分析

针对IPv6网络节点的攻击主要有以下两种类型:一是流量截获分析攻击,即攻击者对网络流量进行截获分析后,获取目标IPv6网络节点通信要素;二是拒绝服务攻击,即攻击者对目标IPv6网络节点发送大量数据包导致其资源耗尽而无法正常工作。下面本文将对AHSTW模型针对这两种攻击的防御能力进行分析。

图3 滑动时间窗口基本思想

2.1 抗流量截获分析能力

由1.2节可知,AHSTW模型的安全性依赖于AHL的安全性,即如果攻击者成功获取AHL,那么攻击者就能准确判断出通信双方的地址跳变规律,从而对其实施下一步攻击。

假设AHL中每个表项的长度为512 b,IPv6地址长度为128 b,由64 b子网前缀和64 b接口标识符组成,IPv6节点子网前缀通常由网络服务提供商(Internet Service Provider, ISP)分配,假设ISP分配的IPv6地址前缀长度为48 b,IPv6地址后缀长度为80 b。当攻击者通过截获分析通信数据包的方式来获取AHL时,假设攻击者初始的分析空间为S0,且|S0|=2512,若攻击者每次截获分析能够确认的表项位数为α,那么经过β次截获分析,攻击者分析空间为Sβ,且|Sβ|=2512-α·β,那么当|Sβ|=1时,攻击者即可获得唯一正确的通信双方的地址与端口信息,此时α与β之间的关系为β=「512/α⎤。攻击者每次截获到数据包之后,都要分别对哈希链中节点和AHL中的表项进行哈希计算,那么在第β次截获数据包之后,攻击者需要进行哈希计算的次数为Numk,且Numβ=2·2512-α·β,那么攻击者所需哈希计算次数之和为:

(4)

由此可得如下结论:

结论1 攻击者计算资源的消耗远大于其收益,AHSTW能够有效抵抗攻击者的流量截获分析攻击。

2.2 抗DoS攻击能力

在攻击者无法准确获知受AHSTW保护的IPv6节点的地址跳变规律时,攻击者将采取对目标IPv6网络发送大量地址随机数据包的方式进行DoS攻击。假设某一时刻攻击者发送攻击报文的数量为θ,目标节点地址跳变空间为2suffix,令φ表示攻击者所发送的数据包地址在rtw中的数目,那么φ的均值可表示为:

E(φ)=θ·τ/2suffix

(5)

由此可得如下结论:

结论2 攻击者攻击成功的概率与地址跳变间隔成正比,与地址跳变后缀长度成反比。

3 实验验证

我们在Ubuntu 17.04操作系统上实现了AHSTW原型系统,为验证模型的性能与安全能力,接入CERNET2并搭建如图所示的测试环境。其中Alice和Bob分别为通信发起者和接收者,分别处于不同IPv6子网(子网前缀分别为2001:da8:2017::/48和2001:da8:2018::/48),Attacker为攻击者,所在子网前缀为2001:da8:2019::/48。其中,点线带箭头直线代表攻击者实施流量截获分析攻击,虚线带箭头直线代表攻击者实施DoS攻击。发送时间窗口为4,接收时间窗口为8,地址跳变间隔为8 s。此外,模型采用Blowfish算法完成参数协商过程,因为Blowfish是一种简单且高效的加密算法,其子密钥和S盒都由Blowfish算法本身生成,使得数据完全不可辨认、难以发现,对其密钥分析异常困难;模型采用SHA- 512算法完成地址跳变通信过程。

图4 测试环境

3.1 抗时间误差能力测试

由于AHSTW模型是依据系统时间来进行地址跳变和收发窗口滑动的,因此,抗误差能力是判断AHSTW模型性能的重要指标之一。

本文选择Alice向Bob发送1 000个ICMPv6 Echo Request为例,记录其丢包率,测试结果如图5所示。由图5可知,当系统时间误差大于16 s时,AHSTW系统丢包率呈现快速上升趋势,且经过多次实验发现,当系统时钟误差大于((rtw-stw)/2)·τ时,系统丢包率即会呈此趋势。

图5 系统时间误差与丢包率

3.2 系统开销测试

AHSTW系统的开销主要包括Blowfish算法加密计算开销和SHA- 512算法的计算开销。通过对AHSTW发送不同长度、不同类型的数据包进行采样分析,记录系统CPU占用比例,测试结果如图6所示。

从图6中可以看出,使用AHSTW对IPv6节点实施保护后的系统开销并无显著提高,基本保持在2~5个百分点。由于用户数据报协议(User Datagram Protocol, UDP)数据包无需建立连接等因素,使得AHSTW在UDP数据包传输时的开销低于传输控制协议(Transmission Control Protocol, TCP)数据包。

3.3 抗流量截获分析能力测试

为测试AHSTW系统抗流量截获分析能力,在地址跳变间隔为8s的情况下,记录Alice与Bob在1 h内的地址跳变情况,Alice地址跳变的部分统计结果如图7所示。

图6 系统开销测试

图7 Alice地址跳变情况统计

由图7可知,Alice跳变过程中后缀变化空间大小为280,远程攻击者攻击成功的概率很低。通过Wireshark对前2 min的通信流量抓包分析,Alice和Bob的通信地址与端口统计情况如图8所示。

图8 Alice与Bob通信地址和端口统计情况

从图8可以看出,Alice与Bob之间的通信流量随机地分散在巨大的跳变空间里,攻击者即使截获到足够多的数据包,通过分析获得地址跳变规律的难度也是极大的。

3.4 抗DoS攻击能力测试

攻击者在无法获知目标IPv6节点地址信息的情况下,采用向目标IPv6子网发送大量不同目的地址数据包的形式对其进行DoS攻击。根据2.2节分析,假设攻击者发送的数据包均能到达IPv6子网,在攻击者每秒发送数据包数量分别为106、107和109个的情况下,攻击者能够对目标实施DoS攻击的概率统计如图9所示,从中可以看出,攻击者对受AHSTW保护的节点实施DoS攻击是非常困难的。

3.5 对比测试

MT6D与MHH-PD6是两种典型的应用于IPv6网络环境的地址跳变技术,故本文将AHSTW与这两种技术进行对比,更具针对性,经过分析发现,其抗流量截获分析能力与抗DoS攻击能力如表1所示。

然后,在Alice与Bob传输相同长度的数据包的情况下,对AHSTW与其他两种技术的系统开销进行了测试,测试结果如图10所示。从图10中可以看出,当通信双方传输相同长度的数据包时,AHSTW的系统开销比MT6D和MHH-PD6少13~45个百分点。

图9 AHSTW系统抗DoS攻击能力测试

Tab. 1 Comparison of security capabilities of AHSTW, MT6D and MHH-PD6

图10 AHSTW、MT6D、MHH-PD6系统开销对比

最后,对3种方法的丢包率进行了测试,假设地址跳变间隔为10 s,Alice与Bob间每秒发送100个长度为100 B的数据包,那么经过数据包抓取分析后得到如图11所示。从图中可以看出,随着通信的持续进行,AHSTW的通信丢包率平均比其他两种方法低6~8个百分点,保证了通信效率。

图11 AHSTW、MT6D、MHH-PD6丢包率对比

4 结语

随着IPv6规模部署的不断深入,针对IPv6网络的攻击呈现上升趋势。为解决IPv6网络恢复端到端通信,IPv6网络节点易遭受攻击的问题,本文提出一种基于滑动时间窗口的IPv6地址跳变(AHSTW)模型,通过引入时间窗口自适应调整算法,使IPv6节点间的通信呈现随机化、动态化的特点,且能适应较复杂的网络环境。理论分析和实验测试结果表明,AHSTW模型不仅能够保证IPv6节点间通信的安全性,还能保证其通信的整体效率不受太大影响;同时,对外表现出较好的抗流量截获分析能力和抗DoS攻击能力。服务器往往是攻击者的首选目标,该模型能够为IPv6网络下服务器的安全防护提供新思路。由于IPv4向IPv6过渡是一个漫长的过程,因此,在下一步研究工作中,拟研究该方法在IPv6/IPv4共存环境中的使用方案,包括不同隧道环境、不同双栈机制下如何保证纯IPv6网络与IPv6/IPv4共存网络间地址跳变通信的一致性与安全性。

猜你喜欢

接收者攻击者数据包
基于贝叶斯博弈的防御资源调配模型研究
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
基于SDN的组播安全机制
功能翻译理论视角下英语翻译技巧探讨
可撤销用户动态更新广播加密方法的研究
C#串口高效可靠的接收方案设计
正面迎接批判
正面迎接批判
口碑传播中影响因素作用机制研究及应用