基于SDN 的匿名通信追踪模型的研究∗

2019-11-12 06:38薛智宇
计算机与数字工程 2019年10期
关键词:误码率数据包交换机

薛智宇

(中国石油大学(华东)计算机与通信工程学院 青岛 266580)

1 引言

随着互联网的迅猛发展和广泛应用,网络上的隐私问题受到越来越多的关注。为保证用户身份的隐私性,研究人员设计了多种匿名通信系统,如Crowds[1],Tor[2],Anonymizer[3]等。这些系统大多采用重路由技术,在发送者和接收者的通信路径上插入一个或多个中间节点,在对数据包进行转发的同时改写其中的IP 地址等相关信息,隐藏数据包的来源、目的及出入关系。使得攻击者从数据包中获得的IP 地址并非属于真正的发送者或接收者,从而无法推断准确的通信关系。然而,匿名通信技术在保护用户身份隐私的同时,也可能为不法分子所利用而进行犯罪活动,身份的隐藏给网络犯罪的调查与追踪带来了严峻的形势,给攻击源追踪、网络监管和攻击取证等带来严峻挑战。

针对这一问题,提出了多种匿名通信追踪方案。从实施对象和层次上,大致可将其分为两类:通信流层追踪技术和匿名协议层追踪技术。两类技术各有所长,总体而言,由于在通用性和资源需求方面具有优势,通信流层追踪技术的应用更为广泛。网络流水印[4]作为一种主动流量分析[5]手段,可用于追踪通过跳板链进行的网络攻击源或采取匿名通道进行非法通信的恶意用户。但是由于传统的网络流水印技术需要在网络中进行嵌入点的部署,资源消耗大且易于引起警惕,一直无法大规模实施。

随着软件定义网络(Software-Defined Networks,SDN)的出现[6],促进了匿名通信追踪技术的发展,其将数据平面与控制平面相分离,提高了网络的可编程性。交换机仅提供简单的数据转发功能,可以快速处理匹配的数据包,适应流量日益增长的需求。数据层和控制层之间采用开放的统一接口(如OpenFlow[7]协议)进行交互。目前已广泛应用于校园、数据中心和广域网。传统网络中的追踪方案可以直接部署于SDN 中的数据层,因此,SDN技术能够有效降低设备负载,协助网络运营商更好地控制基础设施,降低整体运营成本,成为最具前途的网络技术之一。本文针对传统匿名追踪模型的部署等问题,研究结合SDN交换机和控制器对网络中的数据流的控制机制与网络流水印技术,提出一种新型基于SDN 的匿名通信追踪模型(SDN-based Anonymous Communication Tracking,SACT),利用IP 隐通道[8]来进行水印信息的写入,解决部署问题,提高隐蔽性的同时对数据进行追踪。对于解决攻击源跟踪、网络监控和取证困难等问题具有重要意义。

2 相关工作

网络流水印(Network Flow Watermarking)作为一种主动流量分析手段,可用于追踪通过跳板链进行的网络攻击源或采取匿名通道进行非法通信的恶意用户。通过向发送者的发送流量中主动添加水印来帮助确认发送者和接收者的通信关系,利用诸如数据包之间的时间间隔、目标流量的速率等隐通道信息进行追踪,将“跳板链”或匿名信道作为“黑盒”处理,只关心进出这个“黑盒”的网络数据报文流的特征[9]。网络流水印技术具有准确率高、误报率低、观测时间短和所需观测数据包数量少等优点。

张璐等[10]提出了基于时隙质心流水印技术,采用扩频技术对水印信号进行编码,以不依赖于特定流的时隙质心作为水印载体,使用数据包时间间隔(IPD)技术,通过给每个IPD 增加固定的值来嵌入水印信息,由于该技术使用固定值对IPD 进行调制,导致抵御时间扰乱特性较弱,且隐蔽性不强。

为了解决当前网络数据包在嵌入水印时需要对数据包的内容进行修改以及分组方式单一性的问题,文献[11]提出基于变化窗口间隔分组包延迟均值水印技术,通过统计分析不同窗口内IPD 的均值进行水印的嵌入和提取,同时采用了码分复用的思想对水印信息扩频后再发送,实现了自适应纠错性能,提高了检测效率。但是其为调高抗干扰性而采用的扩频机制降低了水印容量,并且由于该方法使用的偏移值根据不同的网络变化情况可能无法进行正确地估计选择,因此会影响检测的准确率。

现有网络由单独运行的、封闭的设备连接构成,每台设备都有单独的操作系统,内置许多相关协议,并通过路由协议等来交换可达信息,而以上方法因为算法的复杂性等问题,无法在传统交换机或路由器上进行部署,均需要在相应的网络环境下加入水印嵌入器等额外的设备,接管全部的网络流量,对网络的部署修改将会是一个大规模的、复杂的、高耗费的工作,对方法的实施产生障碍。SDN的出现为解决该问题增加了契机。印苏凯[12]等提出一种基于响应报文次序组合调制的多流时间式隐信道设计方案,该方案利用控制器与多交换机之间的链路层发现协议响应报文到达的次序分布构建组合累计分布函数并调制秘密信息,但无法应用于常用数据协议包,缺乏追踪性。

如上所述,虽然在水印匿名跟踪技术方面做了大量的研究工作。如何平衡实用性和资源开销,以及如何更科学地嵌入和提取水印是一个需要进一步研究的问题。为了解决上述问题并进一步提高网络流水印方法的可应用性,本提出了基于SDN的流水印匿名通信追踪模型。

3 基于SDN的匿名通信追踪模型

3.1 追踪模型系统结构

本文采用SDN 架构进行模型系统的实现,图1中的概念模型描述了SACT 的工作模型。如图所示,例如为确认客户端A 与客户端B 是否存在通信行为,控制器X 将水印信息W 嵌入到A 发送的数据包流之上,并发送到通信网络中。数据流到达B 所在的网络交换机之后触发流表动作,通知Y 从中提取水印W' 。若W' 与W 的相似度小于阈值η,则认为A与B存在通信行为。

图1 SACT工作模型

为了使数据平面可追踪,需要在SDN控制器上安装追踪应用。追踪控制器通过修改要安装的流表项,或者将其他条目安装到数据平面以启用追踪功能。在数据平面中,当支持SACT 追踪模型的OpenFlow 交换机接收到数据包时,会查找流表中的匹配条目。匹配项的动作可以确定数据包的协议类型。如果协议类型为非水印嵌入类型,则将该数据包转发到下一个SDN 交换机。如果协议类型为水印嵌入类型,则该包将通过PACKET IN 消息发送给控制器,其中包含匹配流表项的附加信息,包括交换机收到此包时的交换机ID,输入端口,时间戳等。当控制器上的追踪应用收到此消息时,它可以将数据包的来源相关信息转化为水印信息并嵌入到数据流中返回给交换机进行转发。该跟踪信息不仅可以包括匹配的流表项,交换机标识等,还可以包括其他网络运行信息,可以根据需要定义。

3.2 基于SDN的水印调制方法

SACT采用SDN北向接口协议缓存机制和流表机制控制网络数据流量以及捕获所需数据包流来进行水印信息的嵌入,SACT 利用数据包间隔到达时延来进行水印信息的写入,其优点是不需要时钟同步,它利用IP 数据包传输时间间隔来编码信息,不必改动数据包,具有较高的隐蔽性。对信息的编码形式拟采用同源数据包进行编码,即捕获同种协议、同一端口的数据包,例如捕获利用FTP 协议传往同一端口的数据包进行编码信息。其工作过程如下:

1)SACT程序载入水印信息并通过译码器将其转码成二进制比特流B,长度为L。

2)卷积码[13]是一种性能优越的信道编码,它的编码器和译码器都比较容易实现,卷积码主要用来纠正随机错误,它的码元与前后码元有一定的约束关系,同时具有较强的纠错能力。而且特别适合以串行形式进行传输,时延小。

SACT 引入卷积码的编码方式,将水印比特流B 通过编码效率为1/2 的卷积码进行扩展输出,将序列B卷积扩展后成为序列E,则E长度为2L。

3)为了解决引入卷积码导致的信道容量降低问题,本文引入L-bits to N-packets 编码方案[14]。设发送端先后发送2 个IP 数据包a 和b,发送时间分别为ta和tb,则间隔时间T=tb-ta。在该编码方案中,每L 比特字符串被映射为N 个IP 数据包间隔(T1,T2,…,Tn),其中Ti必须取值于集合E={T:Tmin+n·I,n = 0,1,…}。Tmin表示时间间隔序列中的最小时间间隔,I 表示相邻时间间隔之间的步长。以“2-bits to 1-packets”编码方案为例,令Tmin=20 ms,I=10 ms。结果如表1。序列E 编码后得到数据包间隔时间序列M。

表1 L-bits to N-packets编码方案

4)最后,根据调制好的时间间隔序列M来控制发送线程,将这些信息加载于宿主IP 包流之上向交换机下发Packet Out 消息控制交换机进行后续转发操作,从而完成水印嵌入。

3.3 基于SDN的水印解调方法

已嵌入水印的数据包流经过网络传输后,到达接收方,SDN交换机根据流表筛选出需要解调的数据包,上传到SDN 控制器后SACT 程序提取每个数据包到达的时间时延信息,根据发送方对应阶段使用的变换函数,将数据包间隔时间序列进行逆变换,将解调后得到的时间间隔序列按照编码表通过转码得到对应的比特序列。

当收发双方处于不通网络区域时,复杂的网络环境会引入各种干扰,使发送的时间间隔与接收到的时间间隔不一致,因此,为了保证水印信息的正确确认,需要在接收端进行抗干扰处理,即对时间间隔进行校正。根据可选时间间隔集合E 以及时间间隔步长I,校正函数C满足:

其中:Ti=Tmin+(i-1)I(i=1,2,…,n),若接收到的间隔时间为x,且x∈[Ti-I/2,Ti+I/2),则认为发送端传来的时间间隔为Ti。这种动态的调整机制保证了IP 时间隐通道的误码率在可控、可估算的范围内。

校正得到比特信号序列即卷积序列后,使用Viterbi 解码算法将其与所有可能的发送序列比较,选择其中汉明距离[15]最小的序列作为发送方所发送的信号序列,并根据卷积码编码的网格图由此序列回溯得到编码前的信号序列B'。

最后计算提取恢复的水印序列与原始水印序列的相似度。将得到的序列码B'与原始嵌入水印码B 进行相似度计算。由于在卷积码译码过程中,已经使用了汉明距离进行分析,因此选择余弦相似度进行分析。

由于式(2)中自变量参数的值Bi∈{0,1},B'i∈{0,1},均为非负值,因此得到的值域范围为0 ≤sim ≤1。通过设定置信区间阈值参数进而度量提取恢复的水印序列与原始水印序列的相似度。若计算结果在设定置信阈值中,则判定检测的数据包流中嵌入了水印,即进行监测的通信双方存在关联关系,否则不存在通信关系。

4 实验结果与分析

4.1 实验环境

为了验证SACT 的性能,本文实现了这种匿名通信追踪模型系统,并在TCP/IP 网络环境下进行了性能测试。实验程序基于SDN架构实现,控制器在目前较主流的SDN 开源控制器之一的Floodlight基础上开发,为操作数据包与流表提供接口。应用程序在Ubuntu系统下开发,使用Eclipse开发工具,以Java 编程语言实现,由于网络传输拥塞情况不同,因此相邻数据包发送时间间隔在实际运行中将存在诸多的干扰因素,因此在实验中采用满足不同标准差正态分布的数据包传输抖动时间,模拟多种网络数据包传输情况并分析不同标准差的抖动时延和间隔步长对SACT模型的鲁棒性的影响。

4.2 实验结果分析

实验过程中,发送端写入的水印信息按字节序读取、转换为比特序列,共传输了8000 bit信息。实验首先测试了SACT 在固定数据包时间间隔步长I=40ms 时,不同网络时延抖动标准差σ下的检测率(对应水印序列的相似率),结果如图2所示。

图2 不同σ下的误码率

由图2 可知,网络时延抖动标准差σ越小,抖动对检测率产生的影响越小,SACT的检测率越高,若预设置信区间为[0.8,1],则可准确判断水印的存在性,从而证明通信双方存在通信关系。这表明,本文提出的匿名通信追踪模型能够在大部分网络中可靠、稳定地工作。

为了进一步考察所设计模型的鲁棒性,实验对比SACT 模型与传统的水印技术INBFW 模型在局域网和广域网两种网络环境下的误码率。

在对比过程中,分别测试了两种模型在不同情况下的误码率。

1)固定数据包时间间隔步长(I=30 ms),分别测试在不同时延抖动均方差σ下的误码率。

2)固定网络时延抖动均方差(σ=4),分别测试在不同数据包时间间隔步长I下的误码率。测试结果如图3、4所示。

图3 相同I不同σ下的误码率比较

图4 相同σ不同I下的误码率比较

从图中可以看出,在这两种情况下,SACT的传输误码率均小于INBFW。由此可见,SACT 提升了匿名通信追踪的鲁棒性。而且相对于INBFW 复杂的配置过程,SACT具有更高的可配置性和可用性。

5 结语

本文针对传统匿名通信追踪方法在传统网络结构下难以部署、复用性、扩展性差的问题,结合SDN新型架构与网络流水印技术,利用SDN将控制平面与数据平面相分离的架构优势,提出一种新型匿名通信追踪模型SACT。为了验证SACT 的鲁棒性,通过与INBFW 模型在不同网络环境下进行误码率对比实验,实验结果表明,在多种网络环境下SACT 具有更高的鲁棒性,能够可靠地确认追踪双方的通信关系。对于解决攻击源跟踪、网络监控和取证困难等问题具有重要意义。下一步工作将研究该技术在广域网下如何提高抗检测性的问题。

猜你喜欢
误码率数据包交换机
二维隐蔽时间信道构建的研究*
面向通信系统的误码率计算方法
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
C#串口高效可靠的接收方案设计
浅谈交换机CAN基本配置
失效网络中节点可通信性能评估方法研究
D—BLAST基带系统的FPGA实现研究
线性调频扩频技术的研究与分析
罗克韦尔发布Strat ix 5410分布式交换机
信息网络中交换机的分类和功能