谈流身份鉴别技术研究进度

时间:2022-06-30 09:40:37

谈流身份鉴别技术研究进度

1基本概念及框架

S.Muthukrishn最早提出了流数据[4]概念,认为“流”是建立在“瞬间”基础上的,具有连续、无限、快速的特点。流交换的主体是流,它也是流身份鉴别技术的研究对象。流身份鉴别的目的是在流交换中对流数据源身份进行鉴别,以保证流身份的可信。

定义1:流[5]是在一段时间内,由<源IP地址、目的IP地址、源端口号、目的端口号、协议号>五元组唯一表示的单向数据包集合。流的特点:1)动态性:流中的元素实时、有序、连续地到达,整个数据集合呈现出动态特征,这意味着所有的数据包不是一次到达的,而是潜在变化的;2)无限性:动态性导致流是无界或近似无界的。随着时间的流逝,数据包不断产生直至流终结。3)单次扫描:由于流的动态性,使得服务器对流的处理仅能访问很少的次数。

定义2:流交换[6]是一段时间内由同一种应用产生的在一对源IP地址和目的IP地址间传输的双向报文流。流交换的特点是:1)不可预测性:流交换的数据量、内容不可预测;2)低时延:由于应用系统对延时敏感,流交换要求具有低延时特性。

定义3:身份鉴别[7]是采用密码技术,依照安全性高的协议,通过交换承载信息使系统审查身份的过程。

定义4:流身份鉴别是在流交换中,以流特征统计量为基础,采用密码技术,通过交换承载信息,鉴别信源身份的过程。流身份鉴别的基本框架[8]如图1所示。当网络流数据经过监测点A时,监测点统计信源发送的流特性,或改变流的某些特性,并将相应的特征信息存入中心服务器。被监测的流在交换时会遭受一些干扰和形变。最终,当被扰乱之后的流到达监测点B时,监测点通过统计流的特征值,或提取流的特征,再和中心服务器的记录进行对比,从而裁决经过的流身份。

2面临的关键问题

因为流身份鉴别技术采用基于特征的方式进行统计、标记,所以该技术对于包丢失、包乱序、流混杂等问题较为敏感。而在流交换过程中,由于网络抖动或敌手恶意攻击会出现以上问题,它们统称为流变换问题。基于此流变换是流身份鉴别技术面临的关键问题。已有的流变换问题分为两类:流内变换问题[9-12],即单一流中数据包的变换;流间变换问题[13-16],即多流间相互的变换。

2.1流内变换问题图2-5列举了常见的流内变换问题。1)虚假数据包添加是向流中添加不属于原有流的数据包现象。绝大部分跳板主机会利用加密和添加虚假数据包实现流的去关联性;2)包丢失是流交换过程中出现的有意或无意的随机数据包丢弃现象。它在正常的流交换中时有发生,也可能是敌手刻意为之;3)包重组是流交换过程中出现的相邻包合并或分裂现象。这种情况常常伴随跳板主机、网络的配置产生。4)包乱序是流交换过程中出现的数据包序号错乱现象。它常常由网络抖动、时间扰乱攻击等因素引起。

2.2流间变换问题图6-8列举了常见流间变换问题。5)流混杂是多条不相关的流随机混淆成新流的现象。它常出现在匿名通信系统中;6)流分离就是一条流分离成了多个子数据流的现象。这种情况常常伴随跳板主机、网络的配置产生;7)流合并是多条相同目IP地址的流合并成一个数据流的过程。它与流分离是相反的过程。

3典型技术分析

从时间角度,为了解决流身份鉴别问题,1991年S.Snapp首次提出基于主机的DIDS方案。由于基于主机的检测方法是建立在信任监控主机的基础上,一旦有主机被敌手控制,它提供的信息会误导中心服务器对流身份的鉴别。于是S.StanifordChen在1995年提出了基于网络的Thumbprints方案,该方案通过提取报文内容摘要获得会话指纹、比较判断两个会话的关联性,从而实现身份鉴别。之后又陆续有学者提出了基于包数量、包时间、RTT等特征的方案。为了提高检测效率、降低计算复杂度,1998年D.Schnackenberg提出了基于网络的IDIP方案。XinyuanWang等人又提出了基于不同载体的流水印技术。随着流水印技术的广泛应用,鉴别流身份的作用不仅仅局限于判断该流是否被标记过,而要获得更多的信息,HoumansadrA等学者于2012年提出了流指纹鉴别技术,愈加注重水印的编码内容。通过文献分析方法,把流身份鉴别技术分类。首先以可信终端的选择为依据,分为基于主机和基于网络两种类型,现有的绝大部分流身份鉴别技术方案都是基于网络实现的;其次,按照检测方式将流身份鉴别技术分为主动检测方式和被动检测方式,被动流关联技术就是通过被动检测方式实现的;主动检测方式再依据编码信息内容划分为主动流追踪技术和流指纹鉴别技术。

3.1被动流关联

被动流关联技术是以统计学为基础,通过较长的观测,利用数据挖掘得到不同流在统计方面的特性的技术,也叫流检测。因为在绝大部分应用中,流交换是双向对称或双向非对称的,所以流检测主要利用相关流在内容、时间等特性的不变性和相关性前提下进行流的关联。它具有准确性、非线性[21]和不可感知性的特点。

3.2主动流追踪

主动流追踪技术以流检测为基础,结合数字水印思想,通过增加不同数据流某些方面的特性差异实现流追踪,也叫流水印。它主要通过调制发送端数据包特性,从而增加不相关流的差异性、增强相关流的相似性,并在接收端鉴别这种异同性,以此达到鉴别流身份的目的。在流检测的基础上,它又具有独异性、自同步性、高效性和神秘性的特点。按照上文载体的分类,将典型技术归纳如下:

基于包载荷[29]的流水印技术:包载荷是数据包所携带的数据量,它又分为存放数据的有效载荷(payload)以及其余的“管理”部分。由于包载荷具有较高的健壮性,所以最初的流水印方案是以包载荷为载体的。Wang等人于2001年提出了可休眠的水印追踪框架。这种方法相较于被动流关联,潜在的优势有:a将入侵检测和入侵追踪分离;b无需记录所有进出的流;c无需时钟同步,可以有效抵抗包重放;d准确率高。但该方法基于包内容,和具体协议有关,要求包是不变量,所以并不适用于加密的情况,且易受到攻击者检测和过滤。2008年RamsbrockD又提出通过添加填充字符改变包长度的方法。这种方法可以应对SSL加密、多节点、网络流量混杂的情况。

基于长度-时间[30,31]的流水印技术:长度-时间是通过调整包载荷长度,结合时间戳,构成的组合载体。由于加密、包重组等方式易造成包载荷的内容不可见和长度变换,从而导致检测的效率下降、准确率降低,所以通过加入时间戳信息,结合包载荷可以提高检测的效率和准确性。Wang于2008年提出了基于长度-时间的载体方式,在追踪僵尸主控机方面有效地解决了低流量、跳板、加密、流混杂这四个问题。并在PlanetLab平台上达到了近乎100%的检测率。但是由于包载荷这种载体本身存在隐蔽性差、载体容量小的问题,基于包载荷的流水印技术在这两方面先天地存在缺陷。

基于流速率[32-34]的水印技术:流速率就是流数据的速率。针对包载荷本身存在神秘性差的问题,有学者通过选用流速率作为载体提高流水印的神秘性。FuXin-wen提出在无线网络环境下,先将时域水印转换为特征不变的频率,再利用电磁干扰将水印嵌入无限网络流数据的方法。但是这种方法难以抵抗数字过滤攻击,导致水印编码无法提取。随后YuWei又通过修改发送者流量的速率,结合直序扩频技术,以达到提高水印容量、可灵活选用参数、无需长时间训练的目的;但该方案只适用于流量速率固定的情形,与实际应用有一定的差距。2011年Jun等人提出了对FuXin-wen的方案进行了改进。它利用PN码技术实现了1)可以较好抵御均方自关联的检测;2)可以追踪匿名网络中的多条流。但是这种方法存在的问题就是难以产生符合要求的PN序列。

基于包时延(IPD)[35-43]的水印技术:IPD是流中特定的一对数据包先后到达的时间差。它是针对包载荷载体容量小的问题提出的,且这种载体具有较好的神秘性、对时延敏感等优点。但是它易受到时间扰乱。Wang于2003年提出了针对时间扰乱问题的水印技术,这种方法针对加密和符合独立恒等分布的随机时间扰乱问题具有一定的鲁棒性。但是此方案存在三个问题:1)IPD分布模型与实际不符;2)难以有效应对虚假数据包添加;3)由于使用固定的最大包时延值以及需较多包以嵌入单个水印位,所以难以有效抵御时间扰乱。针对第一个问题,Amir提出了网络流数据符合泊松分布的假设,虽然在只有网络抖动的理想环境下是成立的,但是在实际环境下很难成立。针对第二个问题,Peng等人将包匹配技术用于水印方案中,它在一定时间限制的条件下,提出了权衡检测率、误报率和计算复杂度的多个算法。并且通过实验证实了该方案可有效地在有垃圾包的流数据中发掘所有相关数据包,以达到流身份鉴别的目的。针对第三个问题,Pan通过将数据包先分组,再随机调整部分包间时延的方法实现了嵌入水印。通过验证每组的平均IPD值的差异以及水印位的值,从而决定是否调整以及如何调整包时间,以此嵌入具有抵御时间扰乱特质的水印。与此同时,ParkYH提出了自适应的水印技术,这种自适应性是通过测量包时延或包大小、对所要嵌入的水印进行调整来实现的。该方法最大的突破在于其可用在数据包较少的情况,同时可以较好地抵抗网络抖动带来的失真。这种方案能容忍任何形式的时间扰乱,并且正确检测率可达到几乎100%。由于以上方案在嵌入水印时要产生较大的延时,Houmansadr提出了利用直序扩频技术,引入微小延迟的方案。同时,他通过非盲检测方式降低了时间复杂度,但是该方法存在以下三个问题:1)假设攻击者不能够主动对流进行变换;2)需要假设网络数据流服从独立泊松分布;3)需要数据库支撑,所以实际应用部署较难。随后XunGong针对Houmansadr方案中的第二个问题提出了一种基于隐马尔科夫模型的隐形水印技术。该方案利用量化索引调制方法,将水印隐形地嵌入IPD中。同时利用基于隐马尔科夫模型的最大似然解码方案,以提高水印检测的准确率和效率。

3.3流指纹鉴别所谓指纹是指可以提供数据源信息、嵌入端身份等其他依具体应用而定的信息。流指纹鉴别技术是流水印技术的发展和提升,目前研究处于起步阶段。它以密码学和统计学为基础,依托流水印技术,通过改进水印内容,向流中添加唯一指纹信息实现流数据身份的鉴别。流指纹鉴别技术具有以下新特性:1)唯一性:流指纹信息具有唯一属性值,可以唯一地标识流的身份。2)大容量:从信息论角度看,相较于流标记,指纹信息容量大。

4研究热点和前景展望

经过学者们多年的不懈努力,流身份鉴别技术逐步发展起来,并取得了一定的成果。但从解决流变换问题的效果和实际应用的状况来看,该技术还未达到所期待的效果。目前流身份鉴别技术存在的研究热点和发展趋势主要有一下四个方面:

载体选择方法在流身份鉴别技术中,载体的选择是基础。已有的载体选择方式比较单一,且每种载体都有自身存在的弊端及针对它的攻击。所以通过研究如何对载体进行优化、组合,可从根本上提高流身份鉴别方案抵御流变换的能力。

网络流量模型构建方法在目前的研究中,网络流量对于指纹嵌入和提取的影响缺乏合适的解决方案模型[49]。且已有的方案都是假设时间扰乱是随机的,网络流量服从泊松分布[50],这些往往和实际情况不相符。

指纹信息研究这个问题分为指纹信息的容量、内容、和健壮性三方面。指纹信息容量问题是流身份鉴别技术中的一个难点问题。因为到目前为止,还没有可以对某种载体可嵌入的容量进行准确计算的理论方法。同时,已有的指纹信息都是无意义的,这方面研究有待开展。另外,修改流中的某些特征本身易造成指纹存在性及参数泄露等问题,所以如何进一步提高指纹的健壮性,从而更好地抵御流变换也是重要的问题。

实际部署研究流身份鉴别技术的实际应用难点主要包括嵌入点和监测点的部署、自适应能力以及多流追踪能力。首先,现有的不同部署方式缺乏一定的规范性和合理性分析;其次,针对不同类型流数据、不同网络环境,流身份鉴别技术要能自适应地选择指纹参数,提高对环境的适应能力;最后在实际网络环境下,由于多条流经过同一跳板时会有一定的干扰,不利于流身份的鉴别。所以实际部署难点亟待解决。结束语流身份鉴别技术已成为研究的热点并得到了广泛的应用。随着该技术的不断发展,它必将在流源身份可信、流范围控制、监管网络流和流安全交换等方面发挥愈加重要的作用。

作者:雷程张红旗孙奕杜学绘单位:解放军信息工程大学河南省信息安全重实验室