钱玉文,宋华菊,孔建寿,朱晓妹
(1.南京理工大学 自动化学院,江苏 南京210094;2.南京晓庄学院,江苏 南京211711)
随着计算机网络的日益普及,基于计算机网络的各种信息系统也应用到各个领域中,而保证这些系统的安全性成为当前研究的重要课题。网络身份鉴别是这些应用系统中必不可少的安全机制,传统的身份鉴别系统只是在用户登录时认证用户的身份,而在交易过程中无法鉴别用户的身份,这往往会给电子交易系统带来致命的安全威胁。一旦黑客截获正在交易的用户信息,进行黑客活动(如重放攻击等)会造成巨大的经济损失。因而,防止电子交易系统在交易中被欺骗的网络指纹是信息安全领域研究的一个热点问题,它也是目前入侵追踪、网络身份认证以及网络犯罪取证的重要工具。
网络指纹(network thumb printer)的概念首先由Staniford 等人提出,它是指能够标识用户身份的一小块信息[1]。该技术首先被用在入侵追踪中,即在入侵事件发生以后,利用网络指纹可以准确地追踪到入侵的源头。在该领域研究的初期,大量的工作都是利用网络包的扩展位、未用位(即隐蔽存储信道)来传输网络指纹的,如文献[2]等。但这种网络指纹信息很容易遭到黑客的怀疑、破坏。因此,文献[3]提出了睡眠网络指纹技术,只有当入侵发生时才嵌入网络指纹,这有效地减少了指纹信息出现的频率。然而,利用这些方法在广域网络上传输网络指纹时,很难绕过防火墙、跳板机等网络节点。因为一旦防火墙等网络设备对隐藏的指纹信息位强行置位后,指纹信息将会完全失效,从而导致整个指纹系统瘫痪。为了解决这个问题,利用时间以及网络行为进行信息隐藏的隐蔽时间信道陆续被利用来嵌入网络指纹,如文献[4-7]提出了基于网络包发送时间的信息嵌入法;文献[8]利用多个计算机的协作行为进行隐蔽信息的嵌入。隐蔽时间信道技术虽然可以较好地绕过防火墙等设备,但由于网络包传输时间、网络节点行为等的不确定性,使得网络指纹信息缺乏稳定性。文献[9]提出了可靠网络指纹的方法,但该方法工作效率很低,也无法嵌入能够标识用户身份的指纹信息。
为了解决网络指纹传输时不稳定、效率低、不安全等问题,本文提出了一种适合传输网络指纹的隐蔽时间信道。这种隐蔽信道采用跨多个网络包、冗余嵌入技术来提高网络指纹信息传输的稳定性、隐蔽性。为了弥补冗余嵌入法降低信道效率的问题,采用几何编码的方式提高了隐蔽信道的传输效率。为了验证模型的性能,在多层交换网络系统中实现了网络指纹的仿真系统,并对该系统的鲁棒性、正确性和安全性等进行了理论分析与实验验证。
建立网络指纹系统的目的是确保电子交易系统中的交易不被入侵者破坏,而当入侵发生后可对入侵进行追踪,它也可用于网络犯罪的取证等。指纹系统一般由业务系统、指纹服务器、客户端以及网关组成。该系统工作时,客户端一般将其所在网络的硬件信息,如网关(GW)地址、物理地址(MAC)等,定义为网络指纹。网络指纹被嵌入到完成正常工作的业务网络包(简称为正常数据包或载体数据包)中。客户端利用隐蔽时间信道将指纹信息发送到服务器端。服务器端利用指纹服务器验证指纹。如果指纹服务端能够正确地提取指纹信息,则允许下一步交易进行,否则交易终止。若在该信息系统中,发生业务纠纷,指纹服务器根据网络指纹对网络包源头进行网络追踪,利用指纹信息以及网络路由器的信息可准确地追踪网络连接的源头[3]。该方法利用网络硬件信息作为指纹可较好地解决了网络交易中的抵赖问题。图1是网络指纹系统的模型示意图。
图1 网络指纹系统模型Fig.1 Model of network thumb printer
图1中,电子交易系统的客户端有一个专门的嵌入网络指纹功能模块,实现每个网络包的身份确认,防止在交易过程中发生网络欺骗。而没有该客户端的用户,由于无法插入网络指纹而被认为交易无效从而杜绝了入侵者冒充某个客户端的危险。另外,在该系统中,指纹服务器中维护了一个数据库,该数据库保存了每个客户的硬件指纹。这样,即使客户端软件丢失,也不会造成重大安全事故,因为客户端如果嵌入的当前的网络信息、硬件信息与指纹服务器上用户数据库中的信息不符,也会被认为无效。而这些硬件信息能否有效、安全地传输到服务端,是该模型正常工作的关键,它取决于隐蔽信道的设计技术。
网络指纹是利用网络包携带的信息来对网络包的源头进行身份辨识的技术,如何将指纹信息嵌入到网络包中是该技术的关键点。一般地,嵌入信息到网络包中有两种方法,即隐蔽存储信道和隐蔽时间信道。因为隐蔽存储信道只是利用网络包中的某些未用位、扩展来嵌入信息,这种信道非常不安全。网络隐蔽时间信道(简称时间信道)则不同,它通过调制网络包的发送速率、发送延迟等行为来嵌入信息,它比存储信道更安全。
隐蔽时间信道中利用网络包的发送时间间隔来嵌入数据,因此需要先定义时间间隔。设某发送节点先后发送了两个包a 和b,发送的时间分别为Ta和Tb,则时间间隔ipd 为Tb-Ta.若嵌入信息的密钥为K,嵌入函数为E,生成的信息为i,则信息的嵌入函数为
由于隐蔽信息的载体—网络包间的时间间隔,是一个连续量,而表示信息的数据位是离散的。因此,在嵌入信息前需要将连续的时间量处理成离散量,即离散化处理。离散化处理中,首先需定义时间量化粒度s 以及离散化处理函数Q,满足:
其中:s 为量化粒度,函数R(x)为对x 取最近的整数,即若存在整数z,当x ∈(z- s/2,z + s/2],则R(x)=z.离散化处理以后,隐蔽时间信道自身具有一定的抗干扰能力。若网络中存在扰动,使时间信号ipd 偏移到,设受到干扰后偏离的时间间隔值为Y=-ipd.若Y∈(-s/2,s/2],使用离散处理函数Q 进行离散化,则
因此,只要信号偏离范围在(-s/2,s/2]内,便不会影响嵌入信息的正确性。然而,式(1)嵌入信息是明文嵌入的,很容易被攻击者察觉。在嵌入信息时一般需要进行数据加密,加密函数设计如下:
式(4)中,i 为需嵌入的明文信息;s 是离散化粒度,它决定了嵌入信息的安全性、可靠性;O 可用下式来计算:
式(5)中,Gm为一个正整数,它的选择非常重要,二进制隐蔽信道将该值设为2,在多进制隐蔽信道中它的值为编码集中编码的个数,如选择时间间隔为(1 s,2 s,4 s,16 s),则Gm=4.将嵌入信息后的网络包的发送时间间隔表示为ipdi,则它的其取值范围为自然数。则根据最大熵定理,一个取值为自然数的随机变量如果服从满足几何分布,则其信息熵最大[10]。因此使ipdi服从几何分布时传递的信息量最大,即
式(6)中,ipdik表示第k 个网络包对中嵌入了信息i,且嵌入信息i 的概率为p.网络包在传输时,它会受到各种因素的影响,特别是路由器等存储转发设备对网络延迟的影响最大。为了消除存储转发设备引起的错误,本文引入最小时延Tbase,使得每个网络包间延迟都大于该最小时延。设Gm=4,则隐蔽信息的嵌入原理如图2所示。
图2 基于几何编码嵌入法的隐蔽时间信道Fig.2 Covert time channel based on geometry code
在图2所示的嵌入信息方法中,当信息位为“00”时,将ipd 舍入到s 的1 倍数值上,而当信息位为“11”时,将ipd 舍入到s 的16 倍数值上,嵌入“01”、“10”的情况与此类似。此外,式(4)中对ipd +s/2 进行量化的目的是确保嵌入信息后的时间间隔(表示为ipdi)略大于嵌入信息前的时间间隔,即ipdi>ipd,这保证了嵌入信息的正确性。
但若信息位只是一次性地嵌入到网络包中,该信息位将非常脆弱,因为该信息位一旦被攻击者破坏或者网络包在网络拥塞后被丢弃后便再也无法恢复。因此,这种信息还无法称为网络指纹,因为他不能用来识别用户的身份。为了使这些信息真正能够成为能够标识发送者身份的指纹信息,它们需要被可靠地嵌入到网络数据流中而形成网络指纹。
为了使得嵌入的信息在受到网络干扰后仍然能够恢复,本文采用多次向数据流中嵌入相同的信息位的方法。若嵌入的指纹有l 位,而每一位嵌入次数为m 次,嵌入过程如图3所示。
图3 网络指纹嵌入示意图Fig.3 Example of embedding network thumb printer into network packets
由图3可知,由于每一位信息都被冗余m(m≥1)次地嵌入到网络数据包中,嵌入一个比特位不是根据相邻两个网络包的时间间隔,而是间隔d 个网络包的时间间隔记为ipdd(如图3中,d 为m-1).这样处理后,即使某几个网络包在传输过程中丢失,也不会造成信息的丢失。另外,采用间隔多个网络包的嵌入信息方式也提高了信息的安全性。发送端方选取n 个数据包P1,…,Pn,发送时间为t1,ti,…,tj,…,tn(ti<tj且1≤i≤j≤n),令(Pi,k,Pj,k)为个被选择用来嵌入指纹的第k 个包对,则有:
则平均时间间隔ipdavg可表示为
由式(8)知,客户端不再以某一个ipd 来携带网络指纹信息,而是以多个网络包时间间隔的均值作为指纹信息。这提高了系统的可靠性。相应地,指纹服务器可以通过约定的s 来提取信息,即:
发送端通过该平均间隔时间,并选择离散时间粒度s,使用式(4)将指纹嵌入。接收方接收到这些网络包后,提取网络包中的指纹信息。设If表示实际提取的l 位指纹信息,则由于干扰的影响,If与真实嵌入的l 位指纹I 之间会有一定的差距。为了衡量实际提取的信息If与原嵌入的信息I 之间的不同的位数,引入海明距离H(If,I),该距离表示在传输过程中引起的错误位数,若错误位数在一定的范围内则认为提取成功。设h 为成功提取的比特位数,则在传输中出错的位数为l-h.选择h 为阈值,即H(If,I)>h,认为隐蔽信息可以成功提取。因此,指纹被正确识别的概率P 为
式(10)中,p 为嵌入信息经过网络中传输后仍能够通过式(3)准确提取的概率。而由式(4)可知,若干扰范围在(-s/2,s/2]之间,便可以准确地识别出嵌在网络包上的指纹。
网络指纹模型的正确性体现网络指纹是否被正确地嵌入与提取上。设系统以相隔d(d≥1)个发送的网络包之间时间间隔作为载体传输隐蔽数据,并有一个含n 个包的流中随机选择2r 个离散且相互独立的包Pz1,… ,P2r(1≤zk≤n-d,1≤k≤2r),则产生2r 个包对(Pk,Pk+d)(k=1,…,2r).因此,有ipdk,d=tk+d-tk(k =1,…,2r),ipdk,d(k =1,…,2r)独立同分布。设ipdk,d服从正态分布N(μ,δ2).此时,将2r 个ipd 随机分离成相等数量的两组:ipd1,k,d和ipd2,k,d(k=1,…,r).用X1,k,d与X2,k,d表示这两组时间间隔,有E(X1,k,d)=E(X2,k,d)=μ;Var(X1,k,d)=Var(X2,k,d)= δ2,其中E 为数学期望,Var 为方差。用Yk,d表示两组包中对应位置的时间间隔之差,它可表示为
对r 个时间间隔之差Yk,d求均值,表示为Yr,则:
由式(12)知,嵌入了指纹后的时间间隔之差的方差与均值满足如下关系μ.另外,多次嵌入同一信息后,可近似地看作一个正态分布,由中心极限定理:
式(13)中,Yir为嵌入了信息后,两组网络包对应位置的时间间隔之差的均值,两组网络包都含有r 个网络包。下面以嵌入信息i 为“0”来说明嵌入方法的正确性。则若≤0,则便无法提取出正确的信息,只有>0 才能区别于其它嵌入的信息。因此,可由正确提取信息位的概率Pr(>0)来推导正确性。
从式(14)的推导可知,提取信息的正确性依赖于μ,σ,r.随着σ 增大,提取信息的准确率会逐步减小,而随着μ,r 的增大准确率逐步提高。
基于网络指纹系统的鲁棒性,是指系统受到干扰后系统恢复正常运行的能力。这取决于嵌入的信息是否在干扰后能够恢复,即嵌入的信息是否具有鲁棒性。嵌入信息的鲁棒性指不因载体对象的受到某种干扰而导致信息丢失的能力。下面以量化的形式说明嵌入信息的鲁棒性。设随机变量Ti,Tj分别表示第i 个包的延迟与第j 个包的延迟时间,令时间间隔之差Y=Ti-Tj,因此平均时间间隔可表示为
设网络干扰的小于s/2,则若嵌入信息位可以成功提取的概率满足P(<s/2),则称该信息位具有鲁棒性。而嵌入信息位被成功提取的概率P(≥s/2),则称该位不具有鲁棒性。下面分析在这种定义下,隐蔽信息的鲁棒性。设时间间隔ipd 服从正态分布N(μ,δ2),则:
根据中心极限定理:
由此可见,嵌入信息的鲁棒性随嵌入冗余组数m 的增大而增大,随着各组时间间隔的方差增大而减少。下面通过仿真的方法来进一步验证系统的正确性、鲁棒性。
为了验证指纹系统的相关指标,需要建立其工作环境。不但可以取得同一个网络的认证结果,也可以取得不同网络的认证效果。仿真环境如图4所示。
在图4中,采用H3C SecPath100 型号的8 个路由器构成了8 个网络,路由协议设置为静态路由协议和OSPF 路由协议共同工作。在仿真中,选择网络 172.16.1.0,网 络 172.16.3.0 以 及 网 络172.16.8.0 中的部分计算机进行实验。
为了实现在线指纹提取,使用自行开发的网络包重放软件对NZIX-II 网络数据测量数据集(该数据集可从网页http:∥pma.nlanr.net/traces/long/nzix2.html 获取)在各个客户端进行重放。并以2 000个网络包作为发送窗口重放数据集中的网络包。取时间量化单位s =200 ms.鲁棒性随嵌入冗余次数m 的变化曲线如图5所示。
图4 网络指纹的仿真环境Fig.4 Simulation environment of network thumb printer
图5 提取率、鲁棒性与冗余次数m 的关系曲线Fig.5 Detection ability curves with different embedding times m
图5表明,随着嵌入冗余次数m 增加,嵌入信息的鲁棒性也增加。当m 足够大时,指纹被恢复的概率便接近1.同时m 的增加,也提高了指纹被正确提取的概率,且只要m 足够大,便可使提取信息的正确率趋向于1.取嵌入的信息位数l =24,信息的鲁棒性概率p =0.910 2,得到海明距离h 与信息提取率、量化单位s 之间的曲线如图6所示。
从图6可知,信息的提取率随阈值h 的增加而增加,随着嵌入信息的时间量化单位s 的增加而增加。
不可检测性(undetectability)是指伪装对象与载体对象具有一致的特性。不可检测性衡量隐秘信息的隐秘程度。当信息位被嵌入后,每个嵌入了信息包的延迟是网络的延迟与正常网络延迟之和。假定网络延迟服从随机过程X,嵌入信息位后网络延迟的随机过程Y.则嵌入网络信息后的分布服从Z =X+Y.Z 的概率分布为[12]:
因此,可以通过fz来检测数据流中是否有嵌入信息。采用Bayes 决策法使错误决策的代价最小[12]。正常网络数据包分为正常类与嵌入类,ω ={ω1,ω2}决策空间ψ 由2 个决策αi(i =1,2)组成ψ={α1,α2},α1定义为判断异常观测量为安全类,α2定义为判断异常观测量为嵌入信息类;损失函数为λ(αi,ωj),表示当真实状态为ωj,采取的决策为αi所带来的损失。利用先验概率的决策规则可得[12]:
选取NZIX-II 数据集中50 万条数据进行检测,选取其中90%作为训练集,10%作为测试集,并选取阈值为0.05.检测率、误报率和漏报率随嵌入次数m 变化的曲线如图7所示。
图7 不同的冗余m 与检测性能的关系曲线Fig.7 Detection ability curves with different embedding times m
从图7中可知,虽然检测的性能随着m 的提高有所提高,但是检测精度结果小于80%,误报率与漏报率都非常高。因此,从以上的检测结果知对于嵌入在网络数据流中的指纹,很难检测,因此,该系统具有较好的隐蔽性。
一般地,在设计隐蔽时间信道时,嵌入方式有多种如:on/off 法、时延统计法等,但这些方法使用在网络指纹上并不适合,因此文献[4]提出了使用奇偶嵌入法进行了设计。为了比较该方法与本文设计的基于几何编码嵌入法的差别,设计实验让这两种系统分别发送同样大小的数据,统计发送时间,且选择最小时延Tbase=3 ms.实验结果如图8所示。
图8 奇偶嵌入法和几何编码嵌入法的嵌入效率对比曲线Fig.8 Efficiency curves of information embedded with the ways of odd-even and geometry
由图8可知,在相同的网络中,使用几何分布编码发送隐蔽数据时,效率约为利用奇偶编码法的发送数据的16 倍。这有效地弥补了由于冗余嵌入信息带来的指纹信息传输速率低的问题。
为了验证本文设计的网络指纹技术的有效性,分别采用4 种常见的网络欺骗方法对系统中的节点进行欺骗攻击:IP 欺骗、ARP 欺骗、DNS 欺骗以及Web 欺骗。在使用攻击的节点冒充被攻击的节点向服务器申请交易。指纹服务器分别使用传统的口令识别身份的方法,口令和追踪技术结合的方法以及使用网络指纹的方法进行识别。在网络指纹系统中,取m =12,s =500 ms.攻击包的个数为250 K个,分5 组分别使用包重放软件发送到服务器上,服务器识别的结果如图9所示。
从图9可知,网络主动认证对欺骗攻击的包准确鉴别的概率超过了99%,而其它的身份识别率方式对欺骗攻击的包准确鉴别的能力非常弱。
图9 不同鉴别方法的鉴别能力曲线Fig.9 Curves of the ability of identity authentication with different ways of authentication
本文给出一种网络指纹的模型,在该模型中识别用户身份的指纹信息被嵌入到正常的通信数据中,与正常数据一同发送到指纹服务器上,指纹服务器可以通过提取嵌入的信息并根据该信息追踪网络数据包的源头进行身份确认。在这种模型中,网络的物理信息通过隐蔽信道秘密地参与到身份识别中,它这是一种全新的身份识别模型,且隐蔽信道采用几何编码、间隔多个包嵌入冗余地信息等,有效提高了信道容量以及信道的稳定性、安全性等。在网络环境下建立了实际的系统并进行了身份识别实验,实验结果说明该仿真系统具有良好的鲁棒性、不可检测性并能够较好地抵抗网络欺骗攻击的能力。同时,网络指纹模型也克服了传统电子交易系统中抵抗网络欺骗的缺点,是一种可靠、有效、安全的身份识别的方式。目前的电子交易系统中,公钥技术等仍是主流的身份识别技术,但本文提出的网络指纹技术是对目前身份认证系统必要的辅助,有利于防止网络欺骗。
References)
[1] Staniford-Chen S,Heberlein L.Holding intruders accountable on the internet[J].IEEE Symposium Security Privacy,1995:39-49.
[2] TIAN Zhi-qiang,LIU Yang,DU Ye,et al.Research and implementation of active intrusion tracing[J].Applied Science and Technology,2003,30(7):43-45.
[3] Wang X,Reeves D,Wu S,et al.Sleepy watermark tracing:An active network-based intrusion response framework[C]∥Information Security Conference,2001:369-384.
[4] Peng P,Ning P,Reeves D S.On the secrecy of timing-based active watermarking trace-back techniques[C]∥Proceedings of the 2006 IEEE Symposium on Security and Privacy,2006.
[5] Wang X,Reeves D S.Robust correlation of encrypted attack traffic through stepping stones by manipulation of inter-packet delays[C]∥Proceedings of the 2003 ACM Conference on Computer and Communications Security,2003:20-29.
[6] Sellke S,Wang C C,Bagchi S,et al.Covert TCP/IP timing channels:theory to implementation[C]∥Proceedings of INFOCOM 2009.Rio de Janeiro:IEEEE,2009:19-25.
[7] Cabuk S,Brodley C E,Shields C.IP covert channel detection[J].Transactions on Information and System Security of ACM,2009,12(4):22:1-22:27.
[8] QIAN Yu-wen,WANG Fei,KONG Jian-shou,et al.On study of network steganography system based on multi-agent[J].Journal of Nanjing University of Science and Technology,2009,33(3):302-306.
[9] Giles J,Hajek B.An information-theoretic and game-theoretic study of timing channels[J].IEEE Transaction on Information Theory,2003,48:2455-2477.
[10] 钱玉文,赵邦信,孔建寿,等.一种基于Web 的可靠网络隐蔽时间信道的研究[J].计算机研究与发展,2011,48(11):423-431.QIAN Yu-wen,ZHAO Bang-xin,KONG Jian-shou,et al.Robust covert timing channel based on Web[J].Journal of Computer Research and Development,2011,48(11):423-431.(in Chinese)
[11] 王永吉,吴敬征,曾海涛,等.隐蔽信道研究[J].软件学报,2010,21(9):2263-2288.WANG Yong-ji,WU Jing-zheng,ZENG Hai-tao,et al.Covert channel research[J].Journal of Software,2010,21(9):2263-2288.(in Chinese)
[12] Duda R,Hart P,Stork D.Pattern classification[M].John Willey & Sons,2001.