APP下载

基于HTTP请求行为的组合式隐蔽信道的构造研究

2016-12-26兰少华树雅倩朱书宏

计算机应用与软件 2016年11期
关键词:包间传输速率数据流

郑 威 兰少华 树雅倩 朱书宏

(南京理工大学计算机科学与工程学院 江苏 南京 210094)



基于HTTP请求行为的组合式隐蔽信道的构造研究

郑 威 兰少华 树雅倩 朱书宏

(南京理工大学计算机科学与工程学院 江苏 南京 210094)

为了更好地使隐蔽信道在容量、可靠性、抗检测性方面取得一个合适的平衡,提出一种基于HTTP请求行为的隐蔽信道HRCC(Combined Covert Channel Based on HTTP Requests)。将HTTP请求动态分配在多个HTTP流上,利用数学组合的方式传输隐蔽信息,且通过模拟正常的HTTP流使得信道的抗检测性大大增强。同时TCP协议的可靠传输使得传输过程不会受到网络状况的影响,从而保证了信道的鲁棒性。最后通过实验结果证明了该新型隐蔽信道具有很强的实用性,而且在传输速率、传输正确率和抗检测性方面均优于传统基于HTTP的隐蔽信道。

隐蔽信道 HTTP请求 数学组合

0 引 言

网络隐蔽信道是一种在网络中进行非正常协议通信的手段,对网络安全有极大危害。网络隐蔽信道依据载体的不同分成存储式隐蔽信道和时间式隐蔽信道,时间式隐蔽信道利用不同算法调整数据包的时序信息完成信息嵌入。文献[1]提出利用时间间隔通信与否进行隐蔽信息传输(IPCTC),文献[2]提出基于模拟正常数据流模型的构建算法(MBCTC),文献[3]提出利用TCP重传特性的算法(TRCTC),文献[4,5]又相继多种改进的利用传输包时间间隔传输的算法。存储式隐蔽信道大部分利用IP协议和TCP协议包头中明显规律的特性,包括IP包的IPID位、TTL位,TCP包的序列号位等都已经在文献[6-8]中被用来实现存储式隐蔽信道。然而上述两种信道传输速率比较低,而且很容易受到网络抖动、丢包等网络环境的影响,信道的可靠性表现较差。

近年来,多种利用HTTP协议首部的隐秘信道方法被提出。例如文献[9]提出利用协议首部选项域排序的方法,文献[10]利用HTTP不区分大小写的特性,文献[11]将隐蔽信息嵌入Cookie中,然而这些传统构造的方法信道容量并不是很高,而且很容易会被检测出来。文献[12,13]中进一步提出基于模仿合法信道的方案以提高信道隐蔽性,然而先进的检测算法依然能够检测出这些隐蔽信道[14]。因此,设计一种兼顾可靠性与传输速率,同时具有高抗检测性的HTTP隐蔽信道是非常具有实际意义的。

本文提出一种新的基于HTTP请求行为的组合式隐蔽信道HRCC。它利用正常网页浏览时HTTP请求的分布规律来构造隐蔽信道,将隐蔽信息转换为二进制符号,并利用特殊的数学分布调制到多个HTTP流的HTTP请求行为中,使得信道容量有所提高,利用模拟包间间隔和数据流特征的方法又提高其抗检测性。

1 相关工作

1.1 FBD检测算法

基于协议指纹的检测技术(FBD)于2007年由Manuel等人提出[15],这是一种针对行为特征的非常有效的检测方法。HTTP协议有其特定的协议指纹,该方法指出,如果有协议封装在HTTP中,传输的行为特征必定与合法的行为特征有所不同。FBD主要关注于数据包序列中的某些统计特征,如包间间隔或数据包的大小,通过这些统计特征计算出HTTP指纹并设定阈值,检测过程中将阈值与某次通信的协议指纹比较可判定出是否存在隐蔽通信。

1.2 HTTP请求行为

当使用浏览器下载一个网页时,首先会请求HTML文档,然后接收其他相关的网络对象。例如图像和脚本,这些都称为HTTP请求行为。同时我们发现通用浏览器在接收HTML文件的同时会对页面中的一些引用对象进行加载,所以HTTP请求可由多个端口发送,一个端口也可以发送多个请求,通用浏览器提供并能够打开多条并行的连接,每条连接上可以有多个请求。需要注意的是,在不同时间段浏览同一个网站时端口开放数量和每个端口发送请求数量并不相同,而且HTTP请求和HTTP流之间的对应关系也是不固定的。例如,一个网页含有一个HTML文档和四个相关对象,用户通对这些对象HTTP请求设为(n1,n2,n3,n4,n5),假设有两个HTTP流(F1,F2),当我们第一次访问时,F1上的请求为(n1,n2),F2上的请求是(n3,n4,n5),但是第二次访问时F1上是请求对象(n2,n4,n5),另一条上却是(n1,n3)这两个请求。

2 基于HTTP请求行为的隐蔽信道

2.1 通信模式

在传统的HTTP隐蔽信道通信模型中,隐蔽信息发送方(Encoder)与远程服务器(Server)相连,发送方浏览网页并发送请求数据包,隐蔽信息接收方(Decoder)只能在传输链路中任何一点截获数据包并解码出隐蔽信息,然而这样的通信模型并不具有实际意义。因此,HRCC设计将接收方作为服务器接受发送方的请求数据包,接收方构造网站并发布出去,发送方与其他用户正常根据地址访问该网站。当发送方使用浏览器下载网页浏览网页对象时,利用发送的HTTP请求分布嵌入隐蔽信息,接收方接收到请求数据包解码出信息,这样的HTTP通信模型实用性更强。我们的通信模型如图1所示。

图1 通信模型

2.2 编解码方案

假设某次发送过程中有5个请求包和3个流,数据流是可区分的,将请求分配到数据流中共有21种组合方式,每次可传输4比特数据,以组合方式中16种按顺序构造出编码表,编码表如图1所示。每一种组合方式对应着分布关系,即3条HTTP流中不同HTTP请求的个数,例如传输的二进制隐蔽信息为“0010”,其对应的十进制数为‘2’,查表1可得HTTP请求数量的分布是F1=4,F2=0,F3=1。

表1 编码表

由于上述编码方式在编解码的过程中共享码表,这使得工作效率变得很低,而且在编码器和解码器之间交换明确的码表也是不安全的。因此,我们利用文献[16]中的两个函数Rank()和Unrank()对隐蔽信息进行编解码,Rank()函数接收数据流中请求个数的分布F,返回F对应的十进制索引值,Unrank()函数有着相反的功能。

排列组合C(N+X-1,X-1)和R的关系如图2所示,Unrank()和Rank()函数算法伪代码由算法1和算法2给出。

图2 排列组合与R关系图

算法1

1:i=1;

2:while r>0 do

3:r=r-C(N+i-1,i-1)

4:i=i+1;

5:end while

6:i=i-1;

7:r=r+C(N+i-1,i-1);

8:return Unrank(r,N+i-1,i-1);

算法2

1:r=Rank(Arrange,N+X-1,X-1);

2:i=1;

3:while i

4:r=r+C(N+i-1,i-1);

5:end while

6:return r;

发送方策略如下:

首先,编码器和解码器事先约定选定的网页对象的数目N和HTTP流数量X。编码器译码器首先建立X个HTTP连接。

第二步,编码器将隐蔽信息字符串划分为多个L比特的字符块(seg1,seg2,…,segi,…)。字符块被转换为十进制状态Ri。接着编码器通过Unrank()函数将Ri映射为HTTP请求的分布F,并将ni个HTTP请求分布到ith流上。

最后,编码器只有等收到每个流上所有请求包的ACKs,也就是N个ACKs,才进行下次N个请求包的发送。如果没有全部收到,依靠TCP的重传机制发送方部分重传HTTP请求,这样可保证通信的可靠性。

解码过程与编码过程相类似。在解码的第一步,接收方从HTTP请求流中获取对应的分布关系F。基于三次的握手顺序,解码器可以区分不同的HTTP请求流。同时解码器只有全部收到N个请求包后才开始解码过程,解码器调用函数Rank()将请求数的分布映射成相应的十进制数Ri,最后转换为隐蔽信息。需要注意的是,当接收方收到发送方的HTTP请求后,同时需要返回相应的ACK包。

2.3 传输速率提高方案

基于上述的编解码方案,假设在一次传输过程中有N个HTTP请求包需要发送,而根据某种分布方式,可能会出现这样的情况,N个包大部分被分布在一条或几条HTTP流上,其他流只有很少或者没有请求包。此时传输时间由传输最多数据包的那条数据流决定,从而导致传输时间大大增加。

为了解决这样的问题,文献[17,18]提出一种叫做上限d的传输方法。上限d的基本思想是限制每个HTTP流上的最多请求个数不超过d,即max{F1,F2,…,Fm}

因此,我们对编码方式进行一些调整。首先需要了解共轭的概念,假设n个数据包需要分配,每条数据流分配最多d个数据包和共d个数据流分配是共轭的分配方式,计算共轭则采用组合数学中Ferrers图。图3显示了Ferrers图计算共轭的一个例子。根据共轭原理,当隐蔽通信需要发送x条数据流时,数据包的个数n需满足n

图3 Ferrers图

2.4 抗检测方案

1) 基于包间间隔的检测

基于协议指纹的检测技术主要关注包间间隔IPD的统计分布,为了提高HRCC隐蔽信道的抗检测性,使它能够躲避类似的检测,我们通过模拟正常网站会话中统计的IPD,以构造合法的HTTP行为请求。根据文献[19]实际的统计和研究数据,合法HTTP请求包之间的正常包间间隔是服从泊松分布的,所以我们提出泊松产生器来构造离散的时间序列,产生器由式(1)定义:

Tn=Possion(λ,n)

(1)

其中 Tn是包间间隔序列{t1,t2,…,tn},λ是泊松分布的期望值,n+1是HTTP请求包的总个数。

模拟IPD的步骤如下:

(1) 统计正常HTTP请求的时间信息,根据泊松产生器产生包间间隔序列T,对应HTTP流中包的个数n+1个;

(2) 发送方与接收方建立连接并发送数据包,如果是第一个请求包,直接传输,记录数据包个数i=1;

(3) 当发送第i+1个数据包时,选择ti进行延时发送,并使得 i=i+1;

(4) 如果i>n结束,否则转到(3)。

经过统计正常会话HTTP请求的包间间隔,将HTTP请求包进行一定延时,使得HRCC能够实现包间间隔的伪装,从而能够躲避FBD的检测。

2) 基于数据流特征的检测

正常通信活动中HTTP请求的数据流比较短小,HRCC中利用多条混合的数据流不断传输请求包会产生较长的数据流。这便会引起怀疑,检测方可能会利用数据流容量大小的特性构造检测算法,并以此检测出HRCC隐蔽信道。

因此,HRCC隐蔽信道需要躲避基于数据流特征的检测,本文采用模拟正常HTTP数据流的大小来实现编码过程。S为正常信道数据流的大小集合,s是其中元素,首先在ith数据流上的包个数ni和合法数据流大小之间建立映射关系,具体模拟方法如下:

(1) 将元素s对(N+1)取模使得合法数据流大小映射与[1,2,…,N]建立映射关系;

(2) 发送方根据上文编码策略得出数据流上的HTTP请求包分布F,然后从合法数据集S中挑选s作为ith数据流的大小,并满足ni等于s模(N+1);

(3) 接收方接收到ith数据流,首先用数据流的大小对(N+1)取模得到数据包个数ni,再根据数据包个数的分布解码出十进制信息从而得出隐蔽信息。

经过上述步骤,使得HRCC能够模拟合法数据流的大小特性,从而躲避基于数据流特征的检测。

3 实验结果与分析

实验验证主要分为三个部分,主要针对误码率,信道容量和抗检测性这三个方面,实验结果对比其他传统型隐蔽信道并验证我们的隐蔽信道的高性能。

通信场景如图4所示,实验环境包括四台主机和一台交换机,其中两台主机分别作为隐蔽通信的发送端和接收端,另两台作为网络环境模拟器和数据包采集器。数据包采集器采集发送端发出的数据包,实验数据由采集的数据包统计计算,网络环境模拟器搭载Netem,通过设置不同的丢包率来模拟实际复杂的网络环境。

图4 通信场景图

3.1 可靠性实验

本次实验通过模拟正常网络环境,设置丢包率为1%、5%、10%,在三种不同丢包率下,统计IPCTC、Jitterbug和HRCC的传输正确率。每类隐蔽信道分别从发送端发送20 KB的隐蔽信息,并且三种隐蔽信道分别做20组传输正确率实验,三种隐蔽信道的平均传输正确率如表2所示。

表2 信道传输正确率

对于IPCTC和Jitterbug,它们都是利用网络传输过程中的时序信息来进行传输,网络丢包、抖动、重传等势必会对其解码造成一定影响。在一定网络环境下传输正确率较差,与它们相比,TCP可靠传输协议使得HRCC的数据传输过程不受网络环境影响。同时HRCC不利用时序信息的特性能够保证在较差的网络环境下仍能保证100%的正确解码率,这样的结果验证了HRCC的可靠性。

3.2 信道容量实验

在本次实验中,分别用IPCTC、Jitterbug和HRCC隐蔽信道各发送l~5 KB的数据,实验记录传输速率,分别对三种隐蔽信道测试20次,得出三种隐蔽信道的传输时间,计算出平均传输速率如图5所示。

图5 各信道传输速率

根据图5,HRCC的平均传输速率要优于IPCTC和Jitterbug。因为IPCTC和Jitterbug每次传输一个数据包,最多只能携带1 bit的隐秘信息。而HRCC采用了数学组合的方式,将HTTP请求动态分配到HTTP流上,使得每个数据包嵌入更多的隐蔽信息,结果HRCC传输速率会相应提高。

3.3 抗检测性实验

本次实验利用形状测试和规律性测试对HRCC进行检测测,对于前者,实验统计正常通信信道和HRCC的HTTP请求数量的分布情况,两种通信请求的分布如图6所示。从图中可看出,两者请求分布数量基本重合,形状测试无法区分,所以通过泊松发生器模拟正常的HTTP行为使得HRCC能够躲避一般形状测试。

图6 HTTP请求数量分布

规律性检测主要采用上文介绍的基于协议指纹的检FBD检测方法,其检测内容主要是数据流中HTTP包的IPD分布,实验统计通信的IPD分布,得出异常分数(协议指纹)并与设定的阈值比较来判断隐蔽信道是否存在。

实验检测正常数据通信和HRCC通信的IPD分布,分别得出两者的异常分数,两者异常分数的累积分布函数CDF如图7所示。从图中可以看到,两种信道的分数非常接近,FBD很难将它们区分。结论是,基于协议指纹的检测方法也很难检测出HRCC。

图7 信道异常分数CDF

4 结 语

传统隐蔽信道在可靠性、抗检测性等方面依旧存在某些不足,在本文中提出了一种基于HTTP请求行为的新型隐蔽信道HRCC。HRCC基于浏览器应用的HTTP请求行为,TCP可靠传输保证其可靠性,模拟正常包间间隔的分布保证其抗检测性。实验结果显示,HRCC具有良好的传输能力、可靠性和高抗检测性。本文并没有将浏览器与服务器之间可能存在的代理服务器列入考虑,未来工作可基于代理服务器做进一步研究。

[1] Cabuk S,Brodley C E,Shields C.IP covert timing channels:Design and detection[C]//Proc of the 11th ACM Conference on Computer and Communications Security,New York:ACM,2004:178-187.

[2] Cabuk S.Network Covert Channels:Design,Analysis,Detectionand Elimination[D].Lafayette:Purdue University,2006.

[3] Gianvecchio S,Wang H,Wijeslera D.Model-based covert timing channels:Automated modeling and evasion[C]//Proc of the 11th International Stmposium on Recent Advances in Intrusion Detection.Berlin:Springer-Verlag,2008:211-230.

[4] Archibald R,Ghosal D.A Covert Timing Channel Based on Fountain Codes[C]//Proc.of the IEEE 11th International Conference on Trust,Security and Privacy in Computing and Communications Liverpool:IEEE,2012:970-977.

[5] Dong P,Qian H,Lu Z,et al.A Network Covert Channel Based on Packet Classification[J].International Journal of Network Security,2012,14(1):147-154.

[6] Lou D C,Liu J L.Steganographic method for secure communications[J].Computers & Security,2002,21(5):449-460.

[7] Giffin J,Rachel G P.Covert Messaging Through TCP Timestamps[C]//Proceedings of the 6th Privacy Enhancing Technologies Workshop,San Francisco:Citeseer,2002:263-281.

[8] Zander S,Armitage G,Branch P.A survey of covert channels and countermeasures in computer network protocols[J].Communications Surveys and Tutorials,IEEE,2007,9(3):44-57.

[9] 吴其祥,李祖猛,马华.基于HTTP协议的隐蔽信道研究[J].信息安全与通信保密,2009,31(1):73-75.

[10] Van M H.Deception on the Network:Thinking Differently About Covert Channels[C]//Information Warfare and Security,Australia:Citeseer,2006:114-120.

[11] Castro S,Gray Word Team.Cooking Channels[J].Hakin9 Magazine,2006,72(4):50-57.

[12] Liu Guangjie,Zhai Jiangtao,Dai Yuewei.Network Covert Timing Channel with Distribution Matching[J].Telecommunication Systems:Modeling,Analysis,Design and Management,2012,49(2):199-205.

[13] Liu Yali,Ghosal D,Armknecht F,et al.Robust and undetectable steganographic timing channels for i.i.d. traffic[C]//Proceedings of the 12th Information Hiding Conference. Canada:Calgary,2010:193-207.

[14] Qian Yuwen,Song Huaju,Song Chao,et al.Covert Channel Detection with Cluster based on Hierarchy and Density[J].Procedia Engineering,2012(29):4175-4180.

[15] Crotti M,Dusi M,Gringoli F.Detecting HTTP Tunnels with Statistical Mechanisms[C]//Proceedings of the 2007 IEEE International Conference on Communication.New York:IEEE,2007:263-280.

[16] Myrvold W,Ruskey F.Ranking and Unranking Permutations in Linear Time[J].Information Processing Letters,2001,79(6):281-284.

[17] Luo Xiaopu,Zhou Peng.Robust Network Covert Communications Based on TCP and Enumerative Combinatorics[J].IEEE Transaction on dependable and secure computing,2012,9(6):890-902.

[18] 石进,刘光杰.网络隐信道Cloak的分析与检测[D].南京:南京理工大学,2013.

[19] Wang Fei,Huang Liusheng,Miao Haibo,et al.A novel distributed covert channel in http[J].Security and Communication Networks,2014,7(6):1031-1041.

ON STRUCTURE OF COMBINED COVERT CHANNEL BASED ON HTTP REQUEST BEHAVIOUR

Zheng Wei Lan Shaohua Shu Yaqian Zhu Shuhong

(School of Computer Science and Engineering,Nanjing University of Science and Technology,Nanjing 210094,Jiangsu,China)

To achieve a proper balance in capacity, reliability and undetectability of the covert channel better, we proposed an HTTP request behaviour-based covert channel. We dynamically assigned the HTTP requests onto multiple HTTP flows and transmitted the hidden information using a way of mathematics combination. Furthermore, by simulating normal HTTP flows we made the undetectability performance of the channel be greatly enhanced. At the same time, the reliable transmission of TCP protocol ensures the transmission process not to be affected by the influence of network status, which guarantees the robustness of the channel. At last we proved through experimental result that the new covert channel has high availability, and is superior to the traditional HTTP-based covert channels on the aspects of transmission rate, transmission accuracy and undetectability.

Covert channel HTTP requests Mathematical combination

2015-07-13。国家自然科学基金项目(61170250,6110 3201);中央高校基本业务费专项资金项目(30920140121006)。郑威,硕士,主研领域:计算机网络和安全。兰少华,教授。树雅倩,硕士。朱书宏,硕士。

TP393.08

A

10.3969/j.issn.1000-386x.2016.11.062

猜你喜欢

包间传输速率数据流
机场行李系统开包间分流器应急装置的设计与应用
中式餐厅包间设计
汽车维修数据流基础(下)
一种提高TCP与UDP数据流公平性的拥塞控制机制
跨山通信中频段选择与传输速率的分析
哪去了
提供网吧包间供友吸毒构成容留他人吸毒罪
数据传输速率
基于数据流聚类的多目标跟踪算法
新一代全球卫星通信网络将百倍提升传输速率