分布式时间戳同步技术的改进
2012-11-06林楷贾春福石乐义
林楷,贾春福,石乐义
(1. 南开大学 信息技术科学学院,天津 300071;
2. 中国石油大学(华东) 计算机与通信工程学院, 山东 青岛 266555)
1 引言
传统的网络防护技术难以满足人们日益增长的安全需求[1,2],如防火墙和入侵检测等技术。于是,人们越来越关注更为主动、积极的防护技术,如蜜罐[3,4]和端信息跳变[5]等技术。在端信息跳变技术中,跳变系统不断改变网络服务的网络信息(如IP地址、端口、协议和服务程序等),使攻击者无法确定攻击目标,从而达到保护网络服务的目的。同步技术是端信息跳变技术的核心技术之一[6],决定着跳变系统的抗攻击性能和受保护目标系统的服务性能。
在无线跳频通信中[7,8],将时间划分为等长的时间片并为每个时间片分配一个固定的频率,形成一张时间与频率之间的映射表。其中,由于无线通信的传输延迟很小(接近于零),很少出现同步失败的情况。然而,在存在大量网络拥塞和延迟的Internet网络中,基于严格时间分片的高耦合度同步技术难以适用于端信息跳变技术。
在无线传感器网络通信[9,10]中,各个传感器节点往往需要基于时间逻辑顺序的协同工作,节点需要周期性地进行时钟同步以校正节点的时间。传感器网络一般处于小型局域网环境中,节点间的传输延迟较小且平稳,可以利用NTP或者PTP时钟同步协议达到高精度的时钟同步。然而,在 Internet网络中,NTP/PTP时钟同步协议难以达到局域网环境的同步精度,因此简单的基于NTP/PTP时钟同步协议的同步技术也难以适用于端信息跳变技术。
在 Gal等[11]提出的跳端口技术中,Ack-based同步技术利用已经成功发送的数据分组的数目和共享的私钥计算得出本次通信所采用的端口。这种同步技术不需要时间上的严格耦合,而依赖于已成功传输的数据分组的数目,解决了网络拥塞和延迟等问题。但其仍存在许多不足之处,主要包括:对“一对多”的通信方式支持不足,需要维护大量的同步消息;跳变的参数仅包含端口,如果攻击者能够过载通信一方的上级路由节点,依然能够成功实现攻击;仅适用于类似于 UDP协议的无连接数据通信模式;需要修改上下层网络协议,兼容性难以保证。
在端信息跳变技术中,石乐义等[5]提出了时间戳同步技术,利用时间戳计算出端信息,并提供一个统一的时间戳服务器负责分发时间戳。然而,这种集中式的时间戳分发机制存在很大安全风险,一旦攻击者成功入侵时间戳服务器,攻击者将会很容易瓦解跳变系统。
为此,文献[12]提出了分布式时间戳同步(DTS,distributed timestamp synchronization)技术,在时间戳同步技术的基础之上,将时间戳分发的过程分布式地部署在 Internet网络上。这不但能够解决网络拥塞和延迟等问题,也使得跳变技术的安全性能摆脱了时间戳服务器的约束。然而,即使在没有受到网络攻击的情况下,DTS仍存在一定程度的同步失为最大时间漂移,Δ为最大传输延迟[12]。Φ和Δ受计算机系统和所处网络环境的影响,因此降低同步失败率的方法只有增加δ,但这也意味着安全性能的下降。
本文分析了DTS的缺陷并对其做出了改进,提出了DTS的改进方案IDTS,分析了IDTS的有效性和安全性,并通过真实的网络环境下的攻防实验验证了分析结论的正确性。
2 跳变系统的建模与IDTS方案
2.1 几个重要的概念
最大传输延迟Δ:数据分组的最长传输时间。无论 2个网络节点相隔多远(路由跳数),数据分组的传输延迟应小于或等于最大传输延迟,否则认为传输失败。
时间戳:计算机系统的本地时间;实际时间:指现实世界的时间,而不是钟表仪器上显示的刻度;最大时间漂移Φ:节点的时间戳与实际时间的最大偏差。计算机系统的时间戳tloc和实际时间trealtloc(t)是指计算机在任意实际时间treal=t的时间戳。
端信息ε:网络服务的信息或参数,一般包括 IP地址和端口,即ε = (IP, Port)。数据分组有目的端信t根据计算机的时间戳计算而得到的端信息。
端信息的状态空间E:跳变系统中所有可用端信息的集合。端信息的状态空间与跳变系统所配置的软硬件有关,若跳变系统有 IP地址集合 A ={IP1,…, IPn}和端口集合Ψ = {Port1,…, Portψ},则端信息的状态空间E=A×Ψ = {(IPi, Portj) | 1≤i≤n,1≤j≤ψ}。
跳变事件:指跳变系统更新端信息。
跳变时隙δ:2个相邻跳变事件之间的时间且满足δ >2Φ+Δ,因为如果δ≤2Φ+Δ,那么数据分组的传输时间总会横跨一个或多个跳变时隙,本文不考虑跨多个时隙的情况。
最大服务性能 I:在一个跳变时隙之内,单个端信息能够响应的最大数据流量(文中为了简化模型,将服务性能简单地等价于数据流量)。如果某个端信息接收到的数据流量R≤I,则所有的服务请求流量都能够得到端信息的服务响应,服务率为 1(100%);如果R>I,那么只有数据流量R的一部分能够得到端信息的服务响应,服务率为I/R。
服务率μ:客户端数据分组得到响应的概率。对于本文中的网络服务,有2点假设:第一,服务不存在崩溃型拒绝服务漏洞(指只要少量的攻击流量就会造成服务崩溃);第二,服务是无损的(只要服务请求流量不超过I,则μ为1)。
最大攻击强度C:在一个跳变时隙之内,攻击者所能产生的最大攻击流量。
期望攻击强度US:在攻击策略S(C)下,单个端信息所受到攻击流量的期望值。
2.2 改进方案IDTS
DTS同步技术是在时间戳同步技术基础之上提出的,利用分布式的时间戳服务器分发时间戳,解决在集中时间戳服务模式中的安全瓶颈。在Internet上部署多个独立的时间戳服务器,其中每个服务器能够独立提供时间戳分发服务。跳变系统和客户端分别维护自己的时间戳服务器列表,并周期性地从列表中选择一个或多个服务器来更新本地时间戳。
DTS将时间分割成等长的时间片(即跳变时隙)并编号,所有属于同一时间片的时间戳都可以利用单向散列函数(PRF)映射到同一个端信息,ε(tloc)= PRF(slot(tloc), key),其中,slot(tloc) = ■tloc/δ■,key为跳变系统和客户端共享的密钥。在任意实际时间t,客户端根据其时间戳tc(t)计算出数据分组的目的端信息ε(tc(t)),跳变系统也根据其时间戳 ts(t)计算出服务端信息ε(ts(t))。当数据分组到达跳变系统时,只要满足ε(tc(t)) = ε(ts(t)), 则认为同步成功。然而,由于存在时间漂移和传输延迟,而且跳变系统和客户端分别与不同的时间戳服务器进行同步,因此,一般情况tc(t) ≠ ts(t)。为了使同一时间片内的不同时间戳能够映射到同一端信息,即对于∀tc(t),ts(t)∈ [mδ, (m+1)δ)) → ε(tc(t)) = ε(ts(t)) = ε(mδ),对时间戳 tloc进行时隙处理 slot(tloc),将 tloc映射为对应的跳变时隙编号[12]。
然而,DTS存在一定程度的同步失败。例如,令t0和t1分别为客户端发出数据分组和跳变系统接收数据分组的实际时间,如果 tc(t0) ∈ [mδ, (m+1)δ)),而 ts(t1) ∈ [(m-1)δ, mδ))或 ts(t1) ∈ [(m+1)δ, (m+2)δ)),则 slot(tc(t0)) ≠ slot(ts(t1)),即ε(tc(t0)) ≠ ε(ts(t1)),所以同步失败。
为此,本文提出了 DTS技术的改进方案(IDTS):依据跳变时隙的时间顺序,在原基础之上,额外开启一个前置端信息εprev和一个后置端信息εnext。例如,跳变系统的当前时间戳对应着跳变时隙i,则额外开启第i-1和i+1个跳变时隙所对应启的端信息集合。
在IDTS中,跳变系统与客户端的通信协议如图1所示,分别包括跳变系统和客户端。只要密钥key是安全的,则基于IDTS的通信就是安全的。跳变系统和所有的客户端都共享着一个同步密钥key。
图1 IDTS同步协议
3 IDTS的分析
3.1 服务性能分析
令ts(t)为跳变系统的时间戳,tc(t)为客户端的时间戳,则0≤|ts(t)-t|≤Φ,0≤|tc(t)-t|≤Φ。因此,ts(t)和tc(t)可能存在以下2种情况。
情况 1 ts(t) < tc(t)。即存在θ,使 ts(t)= tc(t)-θ ,0<θ<2Φ。数据分组传输过程如图 2所示,其中 2条带箭头的粗线分别代表客户端和跳变系统的本地时间轴,带编号的有向线指出了在一个跳变时隙δ之内数据分组发收状态,m为任意大于0的整数。
图2 ts(t) = tc(t)-θ时,数据分组传输状态
在跳变时隙之初(如图 2中①所示),令 t0为数据分组发出的实际时间且tc(t0) = mδ,则目的端信息为εdest(tc(t0)) = ε(mδ)。在实际时间 t0+Δ,数据分组达到跳变系统,此时ts(t0+Δ) = tc(t0+Δ)-θ =mδ+Δ-θ。由δ > 2Φ+Δ,可得Δ-θ ∈ (Δ-2Φ, Δ) ⊂(-δ, δ),若Δ-θ ∈ (-δ, 0)(如图 2(a)中①所示),则 ts(t0+Δ) ∈ [(m-1)δ, mδ),于是 E* = {ε((m-2)δ),ε((m-1)δ), ε(mδ)},εdest(tc(t0)) ∈ E*;若Δ-θ ∈ [0, δ)(如图 2(b)中①),则 ts(t0+Δ) ∈ [mδ, (m+1)δ),于是 E* = {ε((m-1)δ), ε(mδ), ε((m+1)δ)},εdest(tc(t0))∈ E*。
在跳变时隙之末(如图2中②所示),令t0为数据分组发出的实际时间且 tc(t0) = (m+1)δ-ξ,0<ξ<δ-Δ-2Φ, 则 目 的 端 信 息 为 εdest(tc(t0)) =εdest((m+1)δ - ξ) = ε(mδ)。在实际时间 t0+Δ,数据分组达到跳变系统,此时 ts(t0+Δ) = tc(t0+Δ)-θ = (m+1)δ+Δ-θ-ξ。由δ > 2Φ+Δ,可得Δ-θ-ξ ∈ (2Δ-δ, Δ) ⊂ (-δ,δ),若Δ-ξ-θ ∈ (-δ, 0)(如图 2(a)中②),则 ts(t0+Δ)∈ [mδ, (m+1)δ),于是 E* = {ε((m-1)δ), ε(mδ),ε((m+1)δ)},εdest(tc(t0)) ∈ E*;若Δ-ξ-θ ∈ [0, δ)(如图 2(b)中②所示),则 ts(t0+Δ) ∈ [(m+1)δ, (m+2)δ),于是 E* = {ε(mδ), ε((m+1)δ), ε((m+2)δ) },εdest(tc(t0))∈ E*。
情况2 ts(t)≥tc(t)。存在θ,使在t时刻,ts(t) =tc(t)+θ,0<θ<2Φ,传输过程如图3所示。
在跳变时隙之初(如图3中①所示),令t0为客户端发出数据分组的实际时间且tc(t0) = mδ,则目的端信息为εdest(tc(t0)) = ε(mδ)。在实际时间 t0+Δ,数据分组达到跳变系统,此时ts(t0+Δ) = tc(t0)+θ =mδ+Δ+θ,Δ+θ ∈ [0, δ),因此 ts(t0+Δ) ∈ [mδ, (m+1)δ),于是 E* = {ε((m-1)δ), ε(mδ), ε((m+1)δ)},εdest(tc(t0))∈ E*。
图3 ts(t) = tc(t)+θ 时,数据分组传输状态
在跳变阶段之末(如图 3中②所示),令t0为数据分组发出的实际时间且 tc(t0) = (m+1)δ-ξ,0<ξ<δ-Δ-2Φ,则目的端信息为εdest(tc(t0)) = ε((m+1)δ- ξ) = ε (mδ)。在实际时间 t0+Δ,数据分组达到跳变系统,此时 ts(t0+Δ) = tc(t0)+θ= (m+1)δ +Δ+θ-ξ。由δ> 2Φ+Δ,可得Δ+θ-ξ ∈ (2Φ+2Δ-δ, Δ+2Φ) ⊂ (-δ,δ)。此时,若Δ+θ-ξ ∈ (-δ, 0) (如图 3(a)中②所示),则 ts(t0+Δ) ∈ [mδ, (m + 1)δ),于是 E* = {ε((m-1)δ),ε(mδ), ε((m+1)δ)},εdest(tc(t0)) ∈ E*;若Δ+θ-ξ ∈ [0, δ)(如图 3(b) 所示中②所示),则 ts(t0+Δ) ∈ [(m+1)δ,(m+2)δ),于是 E* = {ε(mδ), ε((m+1)δ), ε((m+2)δ)},εdest(tc(t0)) ∈ E*。
3.2 安全性能分析
攻击者有2种可供选择的攻击方式:盲攻击和窃听攻击[11]。
1) 盲攻击
在盲攻击中,攻击者无法得知通信所采用的端信息,于是采用随机选取的盲攻击方式。攻击者随机选取一个或多个端信息进行攻击,即从E中随机地选择l(l>0)个端信息作为攻击目标,则任一端信息被选中的概率Pg= l/|E|,每个端信息受到的攻击流量c = C/l。因此单个端信息所受到的期望攻击强度US=cPg= C/|E|。因此,在受到盲攻击时,服务率μ满足如下公式:
其中,q为客户端流量,I为单个端信息的最大服务性能,C为攻击者的最大攻击强度。
在盲攻击中,当q和I固定不变时,服务率由C/|E|决定,而|E| = |A||Ψ|。
2) 窃听攻击
窃听攻击指的是攻击者利用嗅探技术捕获客户端与跳变系统的通信数据分组,并对数据分组进行分析处理,进而获取跳变系统所开启的端信息。
由于网络传输时间都为Δ,在数据分组到达跳变系统时,也同时被攻击者截获。假设攻击者需要花费时间γ来进行攻击准备(称γ为攻击者的攻击耗时)。为了简化攻击耗时与服务率之间关系的分析过程,考虑特殊情况:ts(t) = tc(t)-θ,θ>0且Δ = θ,如图4所示,客户端与跳变系统完全同步。
图4 窃听攻击的时间轴状态
如图4中所描绘的情况,令t0为客户端数据分组发出的实际时间且tc(t0) = mδ,则目的端信息为数据分组,经过时间γ的分析处理后发出攻击数据分组到端信息ε(mδ)。最后,在实际时间 t0+2Δ+γ,攻击数据分组到达跳变系统。
若γ ∈ [δ-Δ, ∞)(如图 4(a)所示),假设存在正整数 n,使γ ∈ [nδ-Δ, (n+1)δ-Δ),则 ts(t0+2Δ+γ) =tc(t0+2Δ+γ)-θ = mδ+γ+Δ ∈ [(m+n)δ, (m+n+1)δ)。这意味着当攻击数据分组达到跳变系统时,客户端利用ε((m+n)δ)进行通信,因此,发向ε(mδ)的攻击数据分组无法影响客户端的数据分组,服务率为1。
若γ ∈ [0, δ-Δ)(如图 4(b)所示),则 ts(t0+2Δ+γ)= mδ+γ+Δ ∈ [mδ+Δ , (m+1)δ)。如果客户端数据分组在∀ts(t) ∈ [mδ, mδ +γ+Δ)内到达跳变系统,不会受到攻击数据分组的影响,服务率为μ1=1;如果客户端数据分组在∀ts(t) ∈ [mδ+γ+Δ, (m+1)δ)到达跳变系统,则只有部分数据分组能够得到跳变系统的响应。假设攻击数据分组和客户端数据分组以均匀速率达到跳变系统,则期望攻击强度 US为 C(δ-γ-Δ)/δ,客户端流量 qc为 q(δ-γ-Δ)/δ,服务率μ2=I/(qc+US) = Iδ/((δ-γ-Δ)(q+C))。因此,综合服务率为
因此,在窃听攻击中,服务率由跳变时隙和攻击耗时共同决定,攻击耗时越高,服务率越高。
4 攻防实验
在局域网环境下,分别搭建了基于DTS技术和IDTS技术的端信息跳变系统。跳变系统和客户端的系统为Arch-Linux(内核版本2.6.32,双核处理器:2.66GHz,内存:1GB),跳变系统的IP地址集合为{12.12.12.30, 12.12.12.31},端口集合为{2 000,2 001,…, 3 000},最大服务性能I为200kbit/s,客户端流量 q为 30kbit/s,攻击者的最大攻击强度 C为1 000kbit/s,最大时间漂移Φ为40ms,数据分组的最大传送延迟Δ为2ms。
4.1 盲攻击实验
在盲攻击实验中,采用3种跳变时隙(200ms、500ms和1 000ms),对跳变系统进行了3组实验,每组实验分别包含500, 1 000, … , 5 500个服务请求。实验结果如图5所示。
由实验结果可得,IDTS的服务率接近1,而且不受跳变时隙长短的影响。然而,DTS技术由于受时间漂移和传输延迟的影响,服务率不足1,且依赖于跳变时隙的长短:跳变时隙越短,服务率越低。
4.2 窃听攻击实验
在窃听攻击实验中,对跳变系统(采用了3个不同跳变时隙200ms、500ms和1 000ms)进行请求实验,攻击者发送攻击数据分组给所截获的端信息,客户端发送请求数据分组,分别测试了不同攻击耗时情况下的服务率,结果如图6所示。
由实验结果可以得出以下结论。
1) 攻击耗时越短,跳变系统的服务率越低,攻击效果越好。
2) 当攻击耗时下降为 0ms时,DTS同步技术的服务率μ下降为0,而IDTS同步技术仍能够保证一定程度服务率μ,其原因是因为客户端与跳变系统之间的存在时间漂移,使得客户端数据分组发送到了前置端信息,而攻击者仅仅攻击当前端信息。
3) IDTS技术减轻了跳变系统对跳变时隙的依赖程度。DTS技术过度依赖于跳变时隙的长短:随着跳变时隙的变长,服务率也增高。但是,随着时隙的变长,安全性能也随之下降。
图5 盲攻击实验
图6 窃听攻击实验
5 结束语
本文对端信息跳变系统进行了建模,在此基础上,分析了分布式时间戳同步技术的通信过程,并阐述了同步失败的原因。进而给出了分布式时间戳同步技术的改进方案,并对IDTS分别进行了服务性能和安全性能2个方面的分析。在服务性能分析中,分别从 ts(t) < tc(t)和 ts(t)≥tc(t)2种情况分析了IDTS在服务过程中的同步情况。在安全性能分析中,从攻击者的角度,分别对盲攻击和窃听攻击的攻击效果进行推理分析。结果表明IDTS拥有更好的服务性能和安全性能。
最后,在真实的网络环境中对比了 DTS和IDTS的攻防服务过程。实验结果表明IDTS拥有较高的实践价值。
[1] 杨雅辉, 姜电波, 沈晴霓等. 基于改进的 GHSOM 的入侵检测研究[J].通信学报, 2011, 32(1): 121-126.YANG Y H, JIANG D B, SHEN Q N, et al. Research on intrusion detection based on an improved GHSOM[J]. Journal on Communications,2011, 32(1): 121-126.
[2] 钟婷, 刘勇, 李志军等. 基于网络处理器的 IPv4/IPv6综合防火墙体系结构研究[J]. 通信学报, 2006, 27(2):142-146.ZHONG T, LIU Y, LI Z J, et al. Research of a comprehensive IPv4/IPv6 firewall system based on network processor[J]. Journal on Communications, 2006, 27(2): 142-146.
[3] PING W, LEI W, RYAN C. Honeypot detection in advanced botnet attacks[J]. International Journal of Information and Computer Security,2010, 4(1): 30-51.
[4] LEE K, CAVERLEE J, WEBB S. The social honeypot project: protecting online communities from spammers[A]. Proceedings of The 19th International Conference on World Wide Web[C]. Piscataway, NY,USA: IEEE, 2010. 1139-1140.
[5] 石乐义, 贾春福, 吕述望. 基于端信息跳变的主动网络防护研究[J].通信学报, 2008, 29(2): 106-110.SHI L Y, JIA C F, LV S W. Research on end hopping for active network confrontation[J]. Journal on Communications, 2008, 29(2): 106-110.
[6] 石乐义, 贾春福, 吕述望. 服务跳变抗 DoS 机制的博弈理论分析[J].电子与信息学报, 2009, 31(1): 228-232.SHI L Y, JIA C F, LV S W. A game theoretic analysis of service hopping mechanism for DoS defense[J]. Journal of Electronics & Information Technology, 2009, 31(1): 228-232.
[7] FUJI R, FUJIWARA Y, JIMBO M, et al. Sets of frequency hopping sequences: bounds and optimal constructions[J]. IEEE Transactions on Information Theory, 2009, 55(7): 3297-3304.
[8] JIAN Z, XIN Y W, XIAO G N. Performance analysis of frequency hopping communication system synchronization[EB/OL]. http://www.Scientific.net/AMR.403-408.59.
[9] PHILIPP S, ROGER W. Gradient clock synchronization in wireless sensor networks[A]. Proceedings of the 2009 International Conference on Information Processing in Sensor Networks[C]. San Francisco,USA. Piscataway, NJ, USA, 2009. 37-48.
[10] ARUN K T, AJAY A, YASHPAL S. An approach towards secure and multihop time synchronization in wireless sensor network[J]. Communications in Computer and Information Science, 2010, 101(2): 297-302.
[11] GAL B, HERZBERG A, KEIDAR L. Keeping denial-of-service attackers in the dark[J]. IEEE Transactions on Dependable and Secure Computing, 2007, 4(3): 191-204.
[12] LIN K, JIA C F, WENG C. Distributed timestamp synchronization for end hopping[J]. China Communications, 2011, 8(4): 164-169.