张连成 王 禹 孔亚洲 邱 菡
1(解放军信息工程大学 郑州 450001)2(数学工程与先进计算国家重点实验室 郑州 450001)3 (河南工程学院 郑州 451191) (liancheng17@gmail.com)
流关联技术通过检测2条数据流是否存在关联性来进行流量分析,在跳板攻击源定位[1-3]、僵尸主控机(botmaster)溯源[4-5]、匿名滥用用户关联[6-8]和匿名网络电话追踪[9-11]等网络安全和隐私方面有着广泛的应用.
当前,网络攻击者在对远程主机进行入侵时往往采用多跳中间代理方式,在最后一台主机上对目标实施攻击,网络防御者很难准确定位到真正的攻击源头.同时,匿名通信系统的广泛应用,使犯罪分子在进行各种不法和犯罪活动(如传播不良信息、开展恐怖活动、贩卖毒品和儿童等)时能够躲避监督机构对其的审查与追踪.因此,如何确定网络中各种信息的原始发布者已成为网络安全领域一个新的研究热点.
本质上,无论多跳攻击还是匿名通信,都通过若干中间节点(如跳板或中继节点)对信息进行多次转发以掩盖发送者的真实身份与准确位置.由于这些信息一般经过加密处理,很难通过其中所包含的内容定位到发送者,因此,对信息源的追踪一般采用流量分析的方法,计算进出中间节点的数据流之间的相似性,从中找出相关联的数据流,通过这些相关联的数据流向前追溯直至定位到信息源.
流关联技术可分为被动方式和主动方式2种.被动流关联技术[2-3,6,10,12-13]通过观察数据流的流量特性(如包大小、包时间、包数量等)来进行数据流关联.为满足一定的准确率,该类技术需要原始数据流信息、观测时间长、误报率高、数据流存储与通信需求大、数据流关联量大,且难以应对网络传输引入的或攻击者主动添加的时间扰乱、包丢失、包添加、包重组等各类干扰.
相比而言,基于流水印(flow watermarking)的流关联技术则采用主动流量分析方式,通过向发送者的流量中主动添加水印信息来帮助确认发送者和接收者的通信关系,具有准确率高、误报率低、观测时间短和所需观测数据包数量少等优点,除了可广泛应用于跳板攻击源定位、僵尸主控机发现、匿名滥用用户关联和匿名网络电话追踪之外,还可应用于云平台中共存(co-residency)云实例检测[14-15]、网络服务依赖关系检测[16]等方面,甚至用于匿名通信系统拥塞攻击(congestion attack)防御上[17],近年来得到学术界的广泛关注.
按照流水印载体的不同,当前网络流水印技术主要有基于包载荷、基于流速率和基于包时间的流水印技术3种.
1) 基于包载荷[18]的流水印技术通过调制数据流中数据包的应用载荷以嵌入水印,进而达到关联数据流的目的.Wang等人[18]提出休眠水印追踪(sleepy watermark tracing, SWT)的主动入侵响应框架,只有检测到入侵时,它才会被激活,并将水印(不同的字符串组合)注入到网络入侵者的返回连接中,并与入侵路径上的中间路由器合作来进行攻击源追踪.但该类流水印技术与具体应用层协议(如telnet,rlogin)有关,难以处理加密流量,适应范围较窄,且易被检测和过滤.
2) 基于流速率[19-25]的流水印技术通过调制数据流的速率进而达到嵌入水印、追踪数据流的目的.Fu等人[19]采用频域分析技术将时域水印转变成特征不变的频率,通过电磁干扰将其嵌入到无线网络数据流中,可有效降低基于流的无线Mix网络的匿名度.通过修改发送者流量的速率,Yu等人[20]提出基于直序扩频(direct sequence spread spectrum,DSSS)的流水印技术用于追踪匿名通信者.但该类流水印技术在关联数据流时需要设置流量干扰器,不易部署和实施,且会向网络中注入大量无用数据流,影响网络的可用性.
3) 基于包时间的流水印技术通过调制数据包的时间信息进而达到嵌入水印、追踪数据流的目的,是当前学术界研究的热点.按照调制对象的不同,将其分为基于间隔到达时延(inter-packet delay, IPD)、基于时间间隔(interval)和基于间隔质心(interval centroid)的流水印技术3类.
① 基于间隔到达时延的流水印技术
间隔到达时延是指一条数据流中数据包先后到达的时间间隔,通过调制该流量特征可有效嵌入水印信息进行流关联.Wang等人[13]提出基于IPD的概率流水印技术,对于随机时间扰乱具有鲁棒性.Park等人[26]提出一种自适应概率流水印技术,能容忍任何形式的时间扰乱.Wang等人[9]提出追踪P2P(peer-to-peer)匿名VoIP(voice over Internet protocol)电话的主动流水印技术.Houmansadr等人[27-28]提出RAINBOW流水印技术,所用时延只有先前流水印技术的几百分之一.李强等人[29]提出一个主动干扰跳板机连接中数据包间隔延迟的方法.Gong等人[30-31]使用量化索引调制(quantization-index modulation, QIM)来嵌入水印.Peng等人[32]提出基于包匹配(packet matching)和IPD的主动流水印技术.张璐等人[33]研究了包间隔流关联技术中的同步问题,并以贪心法和递进法为基本思路分别提出同步算法,可有效提高流同步效果.
② 基于时间间隔的流水印技术
基于时间间隔的流水印(interval based water-marking, IBW)技术通过将数据流切成固定长度的时间间隔,调整包时间来控制特定时间间隔中的包数量来嵌入水印,最早由Pyun等人[34]提出.Houmansadr等人[4]提出BotMosaic协同流水印技术,通过向多个僵尸实例中嵌入水印,可提高基于IRC(Internet relay chat)的僵尸主控机的追踪效果.Houmansadr等人[17]提出SWIRL可扩展流水印技术,对于包丢失和时延抖动具有鲁棒性,可用于大规模范围的流量分析.多数流水印技术采用固定采样大小(fixed sample size, FSS)检测器,导致误报率高、检测效率低,针对该问题,Wang等人[35-36]提出一种有效序列水印检测(efficient sequential watermark detection, ESWD)模型来追踪网络数据流,提出基于间隔对的最优水印检测器(paired-intervals-based optimum watermark detector, POWD)和基于单间隔的最优水印检测器(single-interval-based optimum water-mark detector, SOWD),可有效抵御时间干扰.
③ 基于间隔质心的流水印技术
间隔质心代表了时间间隔段的平衡点,通过对其进行调制可有效关联数据流.Wang等人[8]提出基于间隔质心的流水印(interval centroid based watermarking, ICBW)方案.在扩频流水印模型的基础上,张璐等人[37]将直序扩频(DSSS)与间隔质心相结合,提出一种基于时隙质心的流水印技术.通过将基于间隔质心的数据流调制方法和扩频编码相结合,Wang与Luo等人[38-39]提出基于间隔质心的扩频流水印方案.Wang等人[40]提出基于双重间隔质心的流水印(DICBW)方案,并将DICBW方案与扩频编码相结合,进一步提出用于高效数据流追踪的通用混合流水印框架.针对基于包时间的流水印技术中存在的同步机制弱且缺乏可靠自纠错方法的问题,王昌达等人[41]提出基于包交叉分组间隔质心双盲流水印技术.Lin等人[42]基于间隔组质心匹配提出一种隐形时序流水印方法,基于数据包IPD质心和密钥来修改目标数据流的时序信息.Xu等人[43]提出基于均衡间隔质心的扩频流水印(equalized interval centroid based spread spectrum watermarking, EICBSSW)方案,大大减小了所选取的间隔长度,更适宜追踪短流量.
表1对基于3种载体的典型流水印方案从鲁棒性、隐蔽性、水印容量、嵌入开销、提取开销和应用场景等方面进行了对比.因表1所对比的这些因素之间存在一定的冲突,不同的流水印技术针对不同的应用需求,需要在鲁棒性、隐蔽性和水印容量等方面做出权衡和取舍.SWT流水印因在应用层载荷中加入水印信息,因此鲁棒性强,但其隐蔽性不好,容易被检测和过滤.DSSS流水印采用流速率嵌入水印,需要设置流量干扰器,所以隐蔽性较差,且水印嵌入开销较大.RAINBOW流水印属于非盲流水印,因其可访问原始数据流的特征信息,且对包间隔时间的增加较小,因此隐蔽性相对较好,水印容量较大,但部署要求高,部署难度较大.SWIRL流水印鲁棒性较好,可适应大规模网络,但其在嵌入水印信息时需要基准间隔和标记间隔,因此水印嵌入效率不高,水印容量低.ICBW流水印因采用间隔质心作为水印载体,抗干扰能力较好,因此鲁棒性较好,但相对而言,嵌入效率方面表现一般,且水印容量也不是很大.
为应对数据流加密,目前流水印技术往往使用流速率、包时间等流量特征来嵌入水印信息,而通过修改这些流量特征必然会在已嵌入水印的已标记数据流中引起一些特征的变化.此外,为增强鲁棒性,流水印技术大都采用扩频等方式对水印信息进行扩展或者重复嵌入,也会加大这些流量特征的变化幅度.
为躲避流水印技术的追踪,攻击者通过分析和对比已标记数据流与正常数据流特性不一致的地方或者与水印嵌入前的原始数据流特征进行对比,进而发现流水印的存在性.此外,为提升攻击效果和干扰追踪者,攻击者通过对特定流水印的嵌入方式、参数选择和特征变化等进行深入研究,则有可能移除、恢复数据流中所嵌入的水印信息,甚至将水印信息复制到其他数据流中.
基于攻击者所掌握资源和自身能力的不同,可将攻击者分为4类:
1) 第1类攻击者只能观察到已嵌入水印的已标记数据流.
攻击者能力最弱,只能观察到已标记数据流(如图1所示),但检测要求低、方便部署、实用性较好.
Fig. 1 Level 1 attacker can only observe the watermarked flow图1 第1类攻击者只能观察已标记数据流
为检测直序扩频(DSSS)流水印,Jia等人[44-45]提出一种基于单条数据流的攻击方案——均方自相关(mean-square autocorrelation, MSAC)攻击.Luo等人[46]提出基于传输控制协议(transmission control protocol, TCP)流控制机制的DSSS流水印移除方法.Lin等人[47]针对RAINBOW和SWIRL流水印技术,依据其特定的时延处理方式引起的时延差异分别提出相应的输出检测(output-only detection)方法.
2) 第2类攻击者可以观察到已嵌入水印的已标记数据流,并且知道原始数据流的特定特性.
攻击者可通过统计方法观察特定特性(如IPD的经验分布)是否偏离原始数据流来揭示水印的存在性.
Kiyavash等人[48-49]提出多流攻击(multi-flow attack, MFA),该攻击对IBW,ICBW,DSSS流水印技术均有效,还可恢复出水印参数、将水印从已标记数据流中移除.对于基于IPD的流水印技术,数据流IPD的先验分布不应以较高的概率改变,可通过K-S(Kolmogorov-Simirnov)测试[27-28]来检测嵌入水印的已标记数据流.
3) 第3类攻击者可以观察到已嵌入水印的已标记数据流,并且拥有特性已被改变过的原始数据流.
Luo等人[50]提出BACKLIT检测系统,可利用请求响应时间、IPD和突发长度等特性来检测IBW,ICBW,SWIRL,RAINBOW这4种典型流水印技术.
4) 第4类攻击者可以观察到已嵌入水印的已标记数据流和原始数据流.
该类攻击者因为具备更高的访问权限(如图2所示),在检测水印存在性时相对容易一些.
Fig. 2 Level 4 attacker can observe the watermarked flow and the original flow图2 第4类攻击者能观察已标记数据流和原始数据流
Peng等人[51]对基于IPD的概率流水印技术进行深入研究,提出一种基于相邻跳板间数据包延迟的时间分析攻击技术——PNR(Peng Ning Reeves)攻击.Lin等人[47]针对RAINBOW和SWIRL流水印技术,依据其特定的时延处理方式引起的时延差异提出相应的已知流攻击(known flow attack)技术.
由于第4类攻击模型对攻击者的要求比较高,需要攻击者能够观察到网络中的任意数据流,在实际网络中很难实现.
另外值得注意的是,大部分攻击者模型都是采用单条已标记数据流进行攻击或检测,而多流攻击则采用多条已标记数据流进行联合检测.
本节主要介绍针对网络流水印技术的典型攻击思路、攻击对象、攻击效果等.
Kiyavash等人[49]对基于时间间隔[34]、基于间隔重心[8]和基于直序扩频[20]的3种流水印技术进行研究后发现,由于这些技术将数据流分割成不同的时间间隔,会导致数据流间产生时间依赖性.未嵌入水印的多条数据流在单位时间内无数据包到达的概率非常小,而多条嵌入水印后的已标记数据流则呈现明显的静默间隔(即单位时间内无数据包到达,如图3和图4所示),从而使得多流攻击者通过收集和观察多条已标记数据流造成的静默间隔或低速间隔可有效检测流水印的存在性.
Fig. 3 10 flows before and after IBW watermark图3 嵌入IBW流水印之前和之后的10条数据流
Fig. 4 Average rate of 10 flows after DSSS watermark图4 嵌入DSSS流水印后10条数据流的平均速率
以流水印的存在性检测为基础,多流攻击还可将水印信息从已标记数据流中移除,甚至恢复出流水印信息及相关参数.
Jia等人[44]提出MSAC攻击方式来检测DSSS流水印的存在性.由于DSSS流水印技术在调制多比特水印信号时采用了同一伪随机(pseudo-noise,PN)码,使得标记数据流具有自相似性,使得攻击者通过单条标记数据流的流量速率时间序列的MSAC来检测恶意DSSS流水印(如图5和图6所示),即使对其所用PN码毫无所知.
Fig. 5 Workflow of detecting DSSS watermark图5 DSSS流水印检测流程
Fig. 6 Detecting DSSS watermark over Tor图6 检测Tor之上的DSSS流水印
该攻击方案复杂度低,比基于多流攻击的DSSS流水印检测方案[49]更加灵活和准确.
Peng等人[51]指出K-S测试可有效检测基于IPD的流水印技术[13].嵌入水印后数据流中的数据包间隔到达时延的分布相当于正常分布和独立分布的相加.而K-S测试可用于确定样本是否来自特定的分布,确定2个样本(或1个样本和1个分布)是否是不同的,且K-S测试是与分布无关的,即该测试不依赖于特定的分布.因此,K-S测试可应用于不同分布的不同类型流量.K-S测试统计测量2个经验分布函数(empirical distribution function)之间的最大距离为max|S1(x)-S2(x)|,其中S1和S2是2个样本的经验分布函数.
Peng等人[51]提出一种针对基于IPD的概率流水印技术的基于相邻跳板间数据包延迟的时间分析攻击技术——PNR攻击.
首先采用期望最大化(expectation maximization, EM)算法估计量化步长(quantization step)和水印延迟比例;接着使用贝叶斯判决规则(Bayes decision rule)识别被延迟的已标记数据包;然后针对水印嵌入的4种不同情况分别给出了水印恢复和复制的具体步骤,使得攻击者能在某些情况下从跳板链中移除水印或向非跳板链中复制水印.
在评估水印检测率、误报率及延迟数据包最小数量之后,通过序列概率比测试(sequential proba-bility ratio test)来检测水印的存在性,可实时确认跳板链中是否被嵌入水印.
为攻击针对匿名通信系统的流水印技术,傅翀等人[52]提出时延规范化(delay normalization)攻击方法.该方法将数据流中所有数据包的时延间隔调整至一个固定值(如图7所示),防止追踪者嵌入水印信息,从而达到破坏流关联的目的.
Fig. 7 The schematic of inter-packet delay normalization图7 时延规范化攻击示意图
基于DSSS流水印的追踪者通过电磁干扰调制无线通信流量的速率向其中嵌入水印来追踪恶意用户,Fu等人[19]借鉴信号处理理论(signal processing theory),使用数字过滤器(digital filter)将攻击者所引入的频率过滤掉,进而能有效保护无线Mix网络以抵御该追踪方式.
通过对DSSS流水印技术的研究,Luo等人[46]发现:1)与信号处理中的波幅调制一样,该技术会造成标记数据流产生低吞吐量和高吞吐量的交替周期;2)不但不能增强流水印的隐蔽性,PN码反而会增加被检测到的概率,因其提高了低吞吐量周期的次数;3)在扩频无线通信时,无线信号被扩展到宽频带区域,而该技术将水印嵌入到单条数据流中,使得单流检测成为可能.
基于此,通过定位数据流中的低吞吐量周期,然后检测其中的异常序列(如图8所示),提出基于TCP流控制机制的DSSS流水印移除方法,使得终端用户可有效移除数据流中的扩频流水印,且不需要中间路由器、代理或中继节点的支持.
Fig. 8 Throughput of a DSSS watermarked flow through Tor network图8 通过Tor网络的DSSS已标记数据流的吞吐量
基于包时间的流水印技术会导致TCP数据流的内在时间特性发生可观察的改变.针对RAINBOW与SWIRL等流水印技术,Luo等人[50]提出BACKLIT检测系统.采用请求响应时间、IPD和突发长度等5种指标(如表2所示),足以检测针对块传输(bulk transfer)和交互式流量的IBW,ICBW,SWIRL,RAINBOW这4种典型流水印技术.
Table 2 Metrics Used by BACKLIT to Detect Timing-Based Flow Watermarks表2 BACKLIT为检测基于包时间的流水印所采用的指标
Fig. 9 The distributions of metrics R in normal HTTP flows and those in HTTP flows watermarked by IBW using different settings图9 正常HTTP流和被不同设置IBW水印嵌入后的HTTP流在指标R的分布差异
下面以IBW流水印的检测为例进行介绍.假设ξ是在BACKLIT检测系统和远程服务器之间的最小往返时延(round-trip time, RTT).在超文本传输协议(HTTP)块传输流量下,BACKLIT通过指标R来检查IBW流水印的存在性.指标R表示数据包IPD大于特定门限值(正常流量中数据包IPD大于ξ的集合的均值和方差之和)的积累率(accumulative rate).正常HTTP流和被不同设置IBW水印嵌入后的HTTP流在指标R的分布存在显著差异(如图9所示),因此可有效检测IBW流水印.
在安全外壳(secure shell, SSH)交互式流量下,BACKLIT通过指标T来检查IBW流水印的存在性.指标T表示RTT大于特定门限值(正常流量中数据包往返时延大于ξ的集合的均值和方差之和)的积累率.正常SSH流和被不同设置IBW流水印嵌入后的SSH流在指标T的分布也存在显著差异(如图10所示),可用于有效检测IBW流水印.
Fig. 10 The distributions of metrics T in normal SSH flows and those in SSH flows watermarked by IBW using different settings图10 正常SSH流和被不同设置IBW水印嵌入后的SSH流在指标T的分布差异
BACKLIT检测系统可以很容易地部署于跳板和匿名网络系统(如Tor),因为它不依赖于强大的攻击者能力假设,且可以主动或被动模式实现.
Lin等人[47]提出针对RAINBOW和SWIRL流水印的已知流攻击方式.已知流攻击中,攻击者可以观察任意数据流,可以观察获得嵌入水印信息之前和之后的数据流,使其有能力来计算传输网络与水印嵌入器所施加的真实时延,进而有利于检测基于包时间的流水印技术.
1) RAINBOW流水印检测
为检测RAINBOW流水印,就需要区分向量w+d和d之间的差异,其中d是服从拉普拉斯分布(Laplacian distribution)Lap(0,β)的正常时延,w是嵌入水印信息造成的时延.
检测算法为:使用一个移动时间窗口(moving time window)来扫描数据包到达时间,在该窗口的[-β4,β4]范围内计算时延抖动的比例.如果该比例低于门限值q,则标记该窗口内的数据包为“已标记”.
该检测方式可以使用单条数据流和多条数据流来检测RAINBOW流水印.
2) SWIRL流水印检测
为检测SWIRL流水印,攻击者使用均匀分布流量来与受控主机建立连接,即每秒均匀发送K个数据包.该类数据流的间隔质心一定会落在[12,12+1K]之间,且与初始偏移无关.只要K足够大,量化质心(quantized centroid)就不会改变.因此,每个已标记数据流会拥有同样的清除间隔(cleared interval)与占用间隔(occupied interval).通过从不同的数据流中观察此类模式,提出类似于多流攻击的新攻击,用于检测SWIRL流水印.值得注意的是,多流攻击是基于时间间隔的,而此攻击是基于数据包的.
输出检测[47]只能获取水印嵌入后的已标记数据流,一般在单条数据流上开展攻击.
1)RAINBOW流水印检测
假设水印信息不是持续不断地嵌入到已标记数据流中,即已标记数据流中应包含已嵌入部分(marked segment)和未嵌入部分(unmarked seg-ment),那么通过抽样可发现一些异常.RAINBOW流水印嵌入之前和之后的数据流的IPD分布会发生大的偏差(如图11所示).随着RAINBOW流水印调制幅度和长度的增加,其被检测到的概率也在增加.
Fig. 11 Histogram of the first 2 000 IPDs of one flow before and after being watermarked图11 1条数据流嵌入水印之前和之后的前2 000个IPD的直方图
2) SWIRL流水印检测
通过对SWIRL流水印的研究发现:①因为间隔选择算法的问题,标记间隔(mark interval)通常会位于整个水印周期的后部.直观地,64个间隔中第1个间隔一定是基准间隔(base interval),而第64个间隔一定是标记间隔,最后几个间隔通常都是标记间隔.②初始偏移通常不足以打破标记间隔的同步.
Lin等人[47]测试了清除子间隔(sub-interval)和占用子间隔的分布以及它们之间的相对位置,每个指定间隙(slot)与邻居指定间隙的距离大于1.5倍子间隔长度的概率大于75%,这种情况称之为孤立(isolation),即在已标记区域的数据包要么与邻居数据包较近(因它们分配在同一间隙内),要么与其他数据包相隔较远.因为孤立,已标记间隔中的数据包倾向于组成短时的组.根据这些特性,可有效检测SWIRL流水印.
Lin等人[47]对复制攻击(如图12所示)进行了研究,可以对SWIRL流水印在不了解水印参数情况下进行不完美的(imperfectly)复制.通过对SWIRL的研究发现:①当小部分数据包丢失时,间隔质心并不会改变;②SWIRL解码器仅观察1个数据包是否出现在右侧间隙,而并不需要填充所有的指定间隙.
Fig. 12 The copy attack game图12 复制攻击示意图
为了能复制其中的水印信息,攻击者只需要按照前面记录的时间模板对数据包进行延迟即可.SWIRL流水印的提取算法会进行自同步,因此攻击者无需担心这些水印信息在数据流中的真实位置.复制攻击的工作流程如图13所示.该复制攻击可实时运行,只需要2个小缓存区.
Fig. 13 The best-effort copy attack on SWIRL scheme图13 针对SWIRL方案的尽力而为的复制攻击
目前流水印技术所面临的主要攻击、攻击形式及攻击者模型如表3所示,目前针对流水印技术的攻击呈现以下特点:
1) 从针对单一流水印的攻击到针对多种流水印的攻击发展,攻击适用范围逐步增大.如2009年提出的MSAC攻击只用于检测DSSS这一特定流水印,而2011年提出的BACKLIT检测系统则用于检测IBW,ICBW,SWIRL,RAINBOW这4种流水印.
2) 从单一攻击形式向多重攻击形式发展,攻击能力逐步提升.如2006年提出的K-S测试只能对IPD流水印进行存在性检测,而2008年提出的多流攻击不但可以针对IBW,ICBW,DSSS这3种典型流水印进行存在性检测,还可将水印信息从已标记数据流中移除,甚至恢复出流水印信息及相关参数.
3) 针对的攻击对象由传统流水印到新型流水印逐步演进.如K-S测试(2006年)针对的对象为IPD(2003年)传统流水印;多流攻击(2008年)针对的对象为IBW(2007年)、ICBW(2007年)和DSSS(2007年)传统流水印;MSAC攻击(2009年)针对的对象为DSSS(2007年)传统流水印,而2012年Lin等人[47]提出可检测RAINBOW和SWIRL新型流水印(分别提出于2009年和2011年)的已知流攻击和输出检测,以及针对SWIRL流水印的复制攻击.
4) 针对流水印的攻击呈现不对称性,部分流水印存在多种攻击方式,而部分新型流水印则无针对性攻击手段出现.如IBW流水印面临多流攻击、BACKLIT的检测、移除与恢复,DSSS流水印面临多流攻击、MSAC攻击、水印移除的检测、移除与恢复,而2013年提出的QIM流水印[31]和BotMosaic协同流水印[4]、2015年提出的基于包交叉分组间隔质心双盲流水印[41]和2016年提出的EICBSSW流水印[43]等则尚未发现有效的攻击技术和手段.
Table 3 Comparison of Technologies of Attacks onFlow Watermarks
为提升流水印的隐蔽性和抗攻击能力,现有流水印技术已经提出一些解决方案来应对和抵御多流攻击、MSAC攻击、K-S测试、BACKLIT检测等检测与攻击.
针对多流攻击,Houmansadr等人[53]提出嵌入位置随机化方法,提出抗多流攻击、基于间隔重心的流水印(MAR-ICBW)方案,通过将不同数据流中的水印嵌入位置进行随机化处理,可有效消除标记数据流之间的依赖关系,因此能有效抵御多流攻击.
嵌入位置随机化方法会增加水印检测器的计算复杂性和流水印技术的误报率,针对该问题,王振兴等人[54]提出基于水印信息重排序的多流攻击反制方法(multi-flow attack resistance method based on watermark bit reordering, MFAR-WBR),对于不同的目标数据流,采用不同的随机种子来随机选择水印信息的不同排列进行嵌入,有效消除了已标记数据流之间的依赖关系.与嵌入位置随机化方法相比,MFAR-WBR误报率低,而且对水印检测器性能影响小,是一种抵御多流攻击的有效方法.
Houmansadr等人[17]提出的SWIRL方案采用“一流一印”方法,针对不同的数据流嵌入不同的水印信息,使得多条数据流的直方图不再呈现可重复的模式,进而可抵御多流攻击.此外,Houmansadr等人[17]拓展了流水印技术的应用场景,将SWIRL应用于防御Tor拥塞攻击[55].
针对MSAC攻击,主要解决思路是“一流一码”,对不同的数据流采取不同的PN码,消除已标记数据流的自相似性.Huang等人[21]和Pan等人[22]提出基于长PN码的直序扩频流水印(long PN code based DSSS watermarking, LPNC-DSSS)技术,每个水印比特都是用长PN码的一部分来调制(如图14所示),可抵御MSAC攻击.另外,可使用大量长PN码在不同阶段进行多流并行追踪,而不用担心PN码之间的干扰.
Fig. 14 Shift of long PN code图14 长PN码移位
针对K-S测试,Houmansadr等人[27-28]提出的RAINBOW非盲流水印技术对K-S测试不可见.因为RAINBOW方案是非盲的(如图15所示),为嵌入水印信息而对目标数据流所造成的延迟就比较小,K-S测试难以准确检测RAINBOW流水印的存在性.
Fig. 15 Model of RAINBOW network flow watermarking scheme图15 RAINBOW网络流水印方案模型
张连成等人[56]引入扩频编码,提出一种新的隐形流水印(invisible and private flow watermarking, IPFW)方案,其所使用的数据包对都是随机选择产生的,且对数据包所造成的时间延迟较小,某些选择的数据包根本就不延迟,与网络抖动处于同一数量级,因此K-S测试很难判断数据流中是否被嵌入水印.
部分流水印技术在设计时的目标是抵御多种攻击方式.
张璐等人[37]提出基于时隙质心的流水印(interval centroid based flow watermarking, ICBFW)技术,可有效抵抗多流攻击和MSAC攻击.为抵御多流攻击,对不同的数据流使用不同的时隙组分配方式,攻击者一旦无法获知准确的时隙组分配方式,也就难以准确定位承载特定信号的水印载体在数据流中的具体位置,从而无法简单地通过叠加多条嵌入水印的数据流放大数据流特征的改变,进而发现流水印的存在.在ICBFW流水印技术中,由于时隙组是随机分配的,攻击者在不确定时隙组具体分配方式的情况下难以得到相应码片所具体对应的时隙质心,进而无法判断数据流是否在短时间内出现了自相似性,因此该技术对MSAC攻击具有天然的免疫力.
张连成等人[23]提出可抵御MSAC和多流攻击的扩频流水印(MSAC and multi-flow attacks resistant spread spectrum watermarking, MMAR-SSW)方案,使用多个正交PN码来扩展信号的不同比特位,并使用相同的PN码序列来解扩以恢复信号(如图16所示).因在嵌入水印信息时采用随机选择的嵌入位置,可抵御多流攻击.此外,由于这些PN码是正交的,因此标记数据流速率的时间序列的均方自相关就不会显现出峰值,进而可有效抵御MSAC攻击.
通过将IBW流水印技术和扩频编码技术相结合,张连成等人[57]提出基于时间间隔的扩频流水印(interval-based spread spectrum watermarking,IBSSW)技术(如图17所示),使用多个正交PN码作为水印嵌入位置随机化的随机种子,能抵御多流攻击和MSAC攻击.
Fig. 16 Process of spreading and despreading the MMAR-SSW watermark图16 MMAR-SSW方案的扩频与解扩
Fig. 17 IBSSW layered model图17 IBSSW流水印分层模型
Gong等人[30-31]使用量化索引调制(quantiza-tion index modulation, QIM)来嵌入稀疏水印(sparse watermark)信息,并通过添加纠错码来应对包丢失、包加入可能引入的水印不同步和提取错误问题,且可应对大量的包丢失和包添加情况.实际测试结果表明,可抵御K-S测试、多流攻击和BACKLIT的检测.
Lin等人[42]提出基于间隔组质心匹配的网络流水印方法(network flow watermarking method based on centroid matching of interval group,NFWM-CMIG),基于数据包IPD质心和密钥来修改目标数据流的时序信息,可更好抵抗数据包延迟、数据包删除和数据包插入.经过K-S测试、多流攻击和KLD(kullback-leibler divergence)典型检测工具的检测,验证了其良好的不可检测性.
当前流水印技术可抵御的各类攻击汇总表如表4所示,目前主流的网络流水印技术在抵御各类安全威胁时呈现以下特点:
1) 从抵御单个攻击向抵御多个攻击演进,防御能力逐步提升.如Houmansadr等人[53]提出的MAR-ICBW方案和王振兴等人[54]提出的水印信息重排序方法只可抵御多流攻击这一种攻击,而张璐等人[37]提出的ICBFW技术和张连成等提出的MMAR-SSW方案[23]与IBSSW技术[57]可抵御多流攻击和MSAC攻击这2种攻击,Gong等人[30-31]提出的QIM流水印则可抵御K-S测试、多流攻击和BACKLIT检测3种攻击的检测.
2) 现有防御手段侧重于抵御检测手段,提升流水印隐蔽性,而对移除、恢复和复制等其他手段缺乏足够关注.现有的防御手段主要针对的是多流攻击、MSAC攻击、K-S测试等流水印存在性检测技术,而对移除(会中断追踪者的追踪)、恢复(会泄露流水印信息及参数等信息)、复制(会误导追踪者,使其追踪到错误的攻击源)等攻击手段则缺乏有效抵御手段.
3) 现有防御手段集中于抵御传统检测手段,缺乏对最新检测手段的抵御技术和方法.目前大多数防御手段所针对的攻击方式集中于多流攻击、MSAC攻击、K-S测试等流水印存在性传统检测技术,而对已知流攻击、输出检测等新型检测手段仍缺乏有效抵御手段.
Table4FlowWatermarkingTechnologiesWhichCanResistOneorMoreAttacks
表4 流水印技术可抵御攻击汇总表
隐蔽性是流水印技术的典型特征和要求,然而,攻击者为逃避追踪,会对其攻击数据流中可能存在的流水印信息进行检测、移除、恢复和复制等攻击.为提高流水印的抗攻击能力,部分流水印技术已经针对多流攻击、MSAC攻击和K-S测试等检测与攻击方法进行了研究和防范.可以预见,流水印的攻击与抗攻击研究将呈现出矛和盾的反复交替过程.在流水印安全威胁及对策方面,还存在以下问题:
1) 流水印抗攻击能力有待进一步加强.目前针对时延规范化攻击、已知流攻击、输出检测、复制攻击等仍缺乏有效的抵御方式和手段.如何进一步提高网络流水印技术的隐蔽性与抗攻击能力是亟待解决的难题.目前可参考的主要策略有:调整的时延值尽可能小、尽可能对所嵌入的位置进行随机化、对嵌入位置的选择范围尽可能小等,当然在使用具体策略时需要在鲁棒性与隐蔽性之间做出取舍和权衡.
2) 流水印隐蔽性的统一评价体系与指标缺乏.缺乏对流水印隐蔽性整体的理论上限与下限的相关研究,目前评价流水印技术隐蔽性的指标多样,相互之间难以有效对比,致使很难评价不同流水印技术之间的优劣,不利于流水印技术的改善与革新.郭晓军等人[58]提出对隐蔽性、水印容量、时空开销、提取难度、鲁棒性、实用性等评价指标进行有效量化,然后再借鉴现有综合评价方法(如主成分分析法、数据分组络分析法、模糊评价法等)对量化的指标进行有机融合以生成综合评价模型的研究思路,为开展后继研究奠定了基础.
3) 其他载体及多重载体流水印技术的攻击手段亟待研究.现有攻击技术多针对的是基于包时间的流水印技术,而针对基于长度-时间的流水印[5]、多维流水印[59]、包序流水印[60]等流水印技术的检测与攻击手段尚缺乏研究.
ZhangLiancheng, born in 1982. PhD, associate professor. His main research interests include flow watermarking, IPv6 network security and SDN security.
WangYu, born in 1984. PhD, lecturer. His main research interests include flow watermarking and inter domain routing system security (stonchor@163.com).
KongYazhou, born in 1989. PhD candidate. His main research interests include IPv6 network security (coyote0916@163.com).
QiuHan, born in 1981. PhD, associate professor. Her main research interests include Internet routing security, modeling and evaluation of network security (qiuhan410@aliyun.com).