刘政祎 嵩 天
(北京理工大学计算机学院 北京 100081) (liuzhengyi@bit.edu.cn)
隐蔽信道(covert channel)是指允许进程以危害系统安全策略的方式传输信息的通信信道[1-2].随着网络安全防护日益严格,防火墙和网络流量审查等功能越来越多地对用户隐私构成严重威胁.传统提供隐私数据保护的通信技术主要是以保护数据安全的加密隧道及重路由技术如Tor和VPN等为主.此类方法的通信协议具有明显特征,网络监管部门能够有效检测其通信连接,获取传输节点,并进一步监视或截断传输节点的数据流量,故其并不能有效保护通信信道安全.隐蔽通信技术能够提供在网络流量内容之外传输数据的功能,且其协议设计上具有较高的复杂性和多样性,使得网络监管难以检测或对抗.因此在特定需求下,隐蔽信道可以作为一种有效保护传输内容机密性和通信信道隐蔽性的网络通信方法,而事实上该方法也已经广泛应用于网络数据安全传输领域.
1973年Lampson[1]第1次提出“covert channel”,其最初的定义是建立于多安全等级(multilevel security, MLS)的自动化信息系统(automated information system, AIS)中,主要针对在不同主体和对象间的访问控制及安全分类.如今,其主要针对高度互联的网络,实体为网络应用程序或网络节点.因而隐蔽信道的另一个更广泛更具适应性的定义为“策略上被拒绝但性质上允许的通信信道”.据此定义,隐蔽信道可以延伸至网络传输中的各个协议,尤其是以HTTP等应用层协议为公开信道(overt channel)的隐蔽通信方法.本文所指网络传输中的隐蔽信道,依据信息发送者和接收者访问的某个或某些共享资源的属性,一般来说分为基于存储的信道和基于时间的信道.
基于存储的隐蔽信道,主要选取将网络传输协议中的某些次要字段进行隐蔽消息填充的方式以实现隐蔽通信,如将某些无用、保留或随机字段替换为指定数据,如谭庆丰等人[3]设计实现的基于P2P协议DHT网络键值对的StegoP2P信道.基于HTTP协议的此类信道可对包括URI,Cookies,Entity-body,HTML页面代码[4]等内容进行替换,或使用HTTP请求头域中不同字段的顺序交错实现编码[5]等方法实现隐蔽信道的构建.此类方法一般能够达到较高的隐蔽数据传输速率,但由于填充了实际信息,将这类流量与正常流量进行对比将产生概率上分布偏差,易被协议分析方法识别,且这类识别引擎易于部署,识别率较高[6-8].此外Aggarwal等人[9]将隐写术(steganography)应用于HTML页面代码,列举包括是否存在空标签或无用空格等多种编码隐蔽信息的不同方法.对于此类基于隐写术的隐蔽信道可通过相关针对性方法实现该信道的识别及消除[9-10].
基于时间的隐蔽信道主要利用网络传输数据包的时间属性信息加以编码,如选择单位时间片内有无数据包发送或到达,或判断2个数据包间隔时间是否在某个区间内以实现编码.此类信道最初于2004年由Cabuk等人[11]提出,他们设计了一种基于IP协议以判断时间段内是否发送数据包实现编码的时间类隐蔽信道,被称作IPCTC(IP covert timing channel),类似的还有基于TCP协议的时间类隐蔽信道[12].随后2005年Berk等人[13]设计了一种利用数据包间隔时间(inter-packet delays),令编码比特1的时间间隔为编码比特0的时间间隔的2倍.钱玉文等人[14]将时间间隔应用至HTTP协议实现双工通信,以进一步提高此类信道的鲁棒性.一般情况下此类隐蔽信道具有较高的隐蔽性,且在通信双方网络距离较近时稳定性较好,但在相距较远时会受到较大干扰,导致误码率较高,并且其隐蔽数据传输速率较低.在HTTP协议中构建时间隐蔽信道,除了基本网络层传输层构建方法以实现外,Kolegov等人[15]介绍了一种基于HTTP协议Cache字段的时间类隐蔽信道.另外Ji等人[16]设计一种基于传输数据报文长度的隐蔽信道并实现在HTTP协议上,此方法的数据传输速率相比其他时间类信道较好,但其需要相应的网络先验数据,且仅以发送者生成的正常网络数据作为基准,并不能保证特定网络环境的特征.针对此类方法一般采用两大类检测方法,即形状(shape)参数检测和规律性(regularity)检测[8].其中形状参数检测主要分析统计数据包括均值、方差和概率分布等相关一阶统计参数,如Kolmogorov-Smirnov方法和熵值检测方法[8,17].规律性检测主要分析统计数据的数据间相关性,如基于修正条件熵(corrected conditional entropy)及Regularity的相关测试方法[17-19].
Fig. 1 The process of normal HTTP2 session图1 正常HTTP2会话过程
除上述两大类隐蔽信道外,还有一些基于通信行为以组合数学思想实现编码的隐蔽信道构建方法.如2012年Luo等人[20]提出的一种基于TCP的枚举组合的Cloak隐蔽信道,其将多个TCP流合并在一起构成了符合The 12-Fold Way模型的数据编码方法.该方法是第1个引入组合数学思想实现编码的隐蔽信道构建方法,其能够较好地平衡信道的隐蔽性与传输速率,但需要多个TCP连接用于构建信道,反而在一定意义上因行为异常而降低了隐蔽性.Shen等人[21]在2015年提出LiHB,一种基于HTTP行为建立隐蔽信道的方法,其利用连续的HTTP请求组合成流以其不同序列进行编码,即每1组隐蔽消息可对应编码为1组若干特定HTTP请求流的排列.此方法隐蔽性相对较高,然而该方法隐蔽数据传输速率随参数呈对数增长趋势,实验中也仅最高达到201 bps,传输速率相对不足.对于此类隐蔽信道检测方法一般通过对通信数据提取合适的特征信息,并带入上述针对时间类隐蔽信道的形状参数及规律性等检测方法以实现.
超文本传输协议第2版由互联网工程任务组(IETF)的Hypertext Transfer Protocol Bis工作小组进行开发.HTTP2标准于2015年5月以RFC 7540[22]正式发表.W3techs网站统计,截至2017年11月,已有20.6%的网站支持HTTP2协议[23].
本节主要介绍H2CSC的设计目标和威胁模型,并详细描述H2CSC的方法原理.本文的出发点是建立一种可靠的隐蔽通信模型,能够在保证隐蔽通信数据的隐蔽性和信道稳定性的基础上,提供较高的传输速率.
隐蔽信道需要选择合适的共享资源,并在此基础上寻找提供高数据传输速率及数据准确性的编码方以满足隐蔽性原则、安全性原则和可靠性原则设计目标.其中隐蔽性原则指网络监管设备不能准确判断或区分目标是否有意发布或接收特殊数据;安全性原则指通信内容对于任何的第三方均是不可见的;可靠性原则指在通信过程中该信道需保证传输数据准确.
本文假设所对抗的网络流量监管设备,可能会对全部的网络流量进行协议分析及内容审计,尤其是从监控范围内发出的网络连接.其主要可以分为2类:主动监管设备和被动监管设备.被动监管设备能够检查全部网络数据流量,并使用不同方法检测隐蔽信道的存在,或存储数据以供后续协议分析方法进行分析.而主动监管设备除具备上述能力外,还可能尝试篡改数据帧中非必要的内容,如修改HTTP协议头中部分域;或调整其通信属性,如延迟或人为丢包等.
Fig. 2 H2CSC working network environment图2 H2CSC工作网络环境
隐蔽消息接收者可以是1个正常的HTTP客户端程序,仅需保证其能够正确获取响应的序列信息,这样可以在接收HTTP页面响应的同时对隐蔽消息进行解码.消息发送者控制HTTP服务器,并将隐蔽数据部署在多个不同的网页中,此过程不受网络监管者监控.受控HTTP服务器为开启NGHTTP模块、TLS模块支持的Apache HTTP服务器,其源码经过修改以满足操控接收HTTP请求或发送HTTP响应的目的.对于正常的页面访问请求,其能够正常传输未添加隐蔽消息的响应信息;对于隐蔽消息接收者的页面访问请求,其能够将该页面对应的隐蔽消息加载在响应的过程中,以实现隐蔽通信.
在隐蔽信道构建过程中,涉及隐蔽数据、网络环境等若干假设,本文在此处一并给出:
假设4. 假设网络流量监管设备能够通过某种手段获取HTTP2协议传输数据内容,此假设是考虑存在HTTP客户端提供h2c(HTTP2 cleartext)服务,即运行于非加密通道之上的HTTP2协议服务.
本节将详细介绍H2CSC所采用的编码机制,以及如何根据隐蔽消息设计页面并选取合适参数以建立该信道.
隐蔽通信编解码与一般通信协议编解码过程类似.信源的原始数据首先经过压缩加密处理得到待编码数据U,然后该二进制序列经隐蔽信道编码器编码,转换为离散序列V发送至隐蔽消息发送端;接收端访问获取页面,同时获取该离散序列,记为V′,使用同样方法逆向过程进行解码得到二进制序列U′,最终经过解密解压缩得到原始数据.由于本文方法底层由TCP协议提供数据可靠性,即在传输过程中序列顺序不会发生改变,故V′=V,仅需保证解码方法能够无错解码使得U′=U即可.
依据所选择共享资源的特点,将待编码的二进制数据U分为若干组,每组记为Ui,其所包含的位数记为|Ui|.在正常HTTP2请求响应过程中,得到其正常响应待发送数据帧序列,本编码方法将对此序列做再排序操作.为保证数据帧处理响应位置不发生大的改动,将此正常序列切割为若干组,每组共包含n个数据帧,分属m个HTTP2流,每个流在当前位置存在有mj个数据帧待发送,记该序列为Vi,则Vi组中不同数据帧顺序共存在|Vi|种互不相同情况,其计算为
(1)
由实际情况可得出条件m≤n且mj≥1.故此编码问题可简化为n个有序位置、m种不同小球,每种分别有mj个小球的组合数学问题.依据本文假设1,即mj=1;若满足每组包含n个数据帧,共需n个流,即m=n.则最大可编码数据帧排列情况数为
(2)
此情况下其编码过程即为康托展开式(Cantor expansion)的逆向过程.康托展开是一种特殊的散列函数,其是对n个数的排列进行状态的压缩和存储.将数据序列Ui以先输出位为高位转为十进制数ui,通过ui计算逆向康托展开结果序列,依据该序列为n个数据帧依据流序号大小进行排序,完成编码.康托展开公式为
X=a[n]×(n-1)!+a[n-1]×(n-2)!+…+
a[i]×(i-1)!+…+a[1]×0!,
(3)
其中,a[i]为整数,表示当前元素在所有未出现的元素中排在第i个,并满足0≤a[i]
为提高数据传输量,可在编码过程中,将在Ui基础上额外添加1位,判断添加此位后的结果是否溢出,若未溢出,则添加此位进行编码,若溢出则此次仅编码|Ui|位,以此扩充序列编码范围至|Vi|,提高数据传输率.
本节将进一步举例描述二进制数据编码至数据帧流编号序列过程.假设隐蔽消息为“Hello World”时;且主页面代码在第13号流中完成传输,共包含120个资源文件;选取参数n=4.表1为此时Vi输出序列与Ui序列的对应关系示例.
Table 1 Encoding 4-bit Data into Sequence表1 4-bit数据序列编码
取隐蔽消息第1个字符‘H’,其ASCII码二进制高4位为0100,则对应Vi为1,4,2,3.若后续4个数据帧的流编号原发送顺序为15,17,19,21,对其重新排序后的数据结果即为15,21,17,19.同理,‘H’的二进制低4位为1000,对应Vi为2,3,1,4,若此时下一组数据帧流编号按顺序依次是23,27,25,29,则舍弃原顺序并依据大小关系重新排序得到输出的数据帧流编号序列为25,27,23,29.随后,依据该顺序执行数据帧发送,后续依次读取隐蔽消息数据并编码序列,直至全部数据发送完毕.
客户端解码过程与之相反,首先分组并读取到数据帧流编号序列为15,21,17,19,依据表得到原二进制数据为0100,随后再计算下一组,最终将全部解码数据合并,即可得到加载的隐蔽消息.
Fig. 3 Web server internal flow chart图3 Web服务器内部工作流程图
实现H2CSC方法的Web服务器工作流程如图3所示.其中正常Web服务器将对客户端请求依次进行处理,并依次发送处理完成的数据帧,如图3中左侧实线所示.服务器实现H2CSC方法流程如右侧虚线所示,依据页面读取待传输的一段隐蔽消息后,依据3.1节方法获得顺序序列Vi,并对待发送的数据帧序列重新进行排序,并最终发送回客户端.
隐蔽信道的分析对抗工作包括3类,分别是信道检测、信道限制和信道消除.
本文认为网络监管设备处理H2CSC方法时会选择中断该HTTP2协议连接,或重定向使用HTTP 1.1协议,此时会导致H2CSC方法无效.因此本文着重关注H2CSC隐蔽信道的信道检测工作.
客户端请求顺序一般依据页面解析得到的资源URI顺序和优先级依次请求获取.本方法中隐蔽消息载体页面为静态页面,由于页面设计存在优先级关系,即每行图片资源第1个图片优先级最低,最后进行处理传输;其他图片资源优先级相同,依次进行请求处理.另本方法在服务器设置中不引入包括服务器推送等功能,故最终所能影响数据帧序列的因素包括服务器HTTP2处理速度、拥塞控制及优先级关系等.
由于最终数据帧传输序列存在规律性和非规律性因素,故本文选择基于熵值的检测方法进行检测.以获取的相邻2个数据帧流ID之差作为输入数据,以熵值分析该差值的变化规律,用以表明数据帧序列的变化规律,其取值应均为正负整数.由于熵率是一个极限概念,是无穷序列的条件熵,表示无穷序列的不确定性,利用有限采样数据进行估计无法真实反映数据帧序列的随机性质,故本文最终选择修正条件熵(corrected conditional entropy, CCE)用来解决有限数据采样的问题,其计算公式为
CCE(Xj|Xj-1)=CE(Xj|Xj-1)+
perc(Xj)×EN(X1),
(4)
其中,j≤n;CE(Xj|X1,X2,…,Xj-1)为经验概率密度条件熵;perc(Xj)为采样中长度为j的序列只出现1次的比例;EN(X1)是子序列长度j=1时的熵,即一阶熵.实际计算时,需将获取1次HTTP2会话中全部数据帧序列流ID差值,并进行数据正规化后作为CCE计算输入,计算得到j的所有取值对应的修正条件熵后,取最小值作为其隐蔽性评分,如式(5)所示:
(5)
计算得到CCE熵值后,需要对加载隐蔽消息页面与正常页面进行分类识别.由于计算得到的CCE熵值为一维数据,故选择使用逻辑回归(logistic regression, LR)分类器对其进行分类,通过对训练集学习以得到参数的合适取值.
隐蔽消息接收者在接收隐蔽消息时,行为与访问正常Web页面完全一致;在结果处理中,不需要进行页面展示,而是将获取数据帧的流编号组成序列,分组解码即可.故选择nghttp2-client程序作为客户端程序,通过python脚本对结果输出进行解码处理.
隐蔽消息服务器由于较少存在配置粒度达到可直接操控HTTP2帧处理的服务器程序,选择采用nghttp2库和Apache Httpd服务器程序以修改源码方式实现.由于本文假设1全部HTTP2流均有且仅有1个数据帧,故本文修改程序使得服务器在HTTP2会话处理过程中,另额外建立流发送队列,独立于原流处理优先级队列,当流发送队列中流发送条件不满足时,取出原队列流执行发送处理.在发送数据帧时,确保流发送队列中出队流第1个数据帧发送后,即将其出队;解码时仅取该流的第1个数据帧所在位置进行解码处理,忽略后续数据帧.
在隐蔽信道载体页面设计中,需要考虑元素显示的先后顺序而导致的页面资源文件获取优先级问题.服务器页面设置为以表格控件为主,以若干图片切片资源作为表格每1项,以此组成服务器隐蔽消息载体静态页面.实验中共实现8个页面,由均分图片矩形切片构成,全部页面资源为以表格形式可组成具有编号的同一大图片页面.其页面URI、总大小及该页面加载隐蔽消息参数如表2所示:
Table 2 Information of 8 Covert Pages表2 8个隐蔽页面信息
本文使用的1核、1 GB内存、1 Mbps带宽的云主机作为HTTP2服务器,其物理主机位于中国广东省广州市.客户端所在主机位于中国北京市海淀区,其与服务器平均RTT约为44 ms.
对每个页面分别计算加载隐蔽消息和未加载隐蔽消息情况下访问100次的平均耗时,所加载的隐蔽消息为ASCII码英文字母及数字字符串,每次访问间隔时间为1 s.所得平均访问时间如图4所示.对于同一个页面,其中加载隐蔽信道与普通页面访问时间平均相差均不超过10 ms,该时间间隔相比整体页面访问时间约占1%或更少,可以忽略不计.结果表明H2CSC方法对于Apache HTTPD服务器的性能影响较小.另外1~8号页面之间访问时间相差的主要原因在于其页面总体大小的逐渐递增.
Fig. 4 Page access time图4 页面访问时间
实验所用8个页面分别加载长度内容均不同的隐蔽消息以进行数据传输速率测试.由于本文选择使用Adobe Photoshop软件对原始图片进行切片,该软件最大支持10 000个图片切片,且由于图片效果、切片数量等原因使得各页面总大小不同且较难减小.作为目标传输页面,其所加载隐蔽消息均使用全部页面资源进行编码,实验中测量每个页面访问100次的平均用时,以此计算隐蔽数据传输速率.
访问各页面对应隐蔽信道速率如图5所示.当服务器带宽确定时,此隐蔽信道数据传输速率主要和HTTP2编码相关页面资源文件大小和编码参数选取相关.比较页面1~5,其页面总大小相差较小.随分块帧数n取值的增大,可传输数据量大致呈指数增长趋势.页面6~8比较可以看出,隐蔽数据传输速率受页面整体传输时间影响较大,可以通过提高服务器带宽或降低页面整体大小以提高传输速率.在确定编码方式n和|Ui|取值情况下,其与HTTP2服务器带宽成正比,与页面总大小成反比.另外,随页面资源文件个数的增加,HTTP2协议中其他类型帧等额外传输数据也将增加,这些额外开销将导致隐蔽信道数据传输速率略有下降.
Fig. 5 Covert data transmission rate of each page图5 各页面隐蔽数据传输速率
本文选择目前具有较高的传输速率和安全性的基于时间和基于通信行为以组合数学思想实现编码的JIBC[15],Cloak[20],LiHB[21]方法和本文H2CSC进行速率比较,如表3所示.基于多HTTP请求的LiHB在实验中达到约200 bps,但该方法传输速率对于页面对象取值增长缓慢.基于多TCP流排列组合的Cloak隐蔽信道实验中最多达到450 bps,其在
Table 3 Transmission Rates of Covert Channels表3 隐蔽信道数据传输速率
20个TCP流中排列组合40个数据包,且需要数据包具有先后顺序,该方法占用网络资源较多且实际使用环境较小.
(6)
其中,Ni表示第i个页面的资源文件总数,PageSizei表示第i个页面的页面总大小,Bandwidth表示服务器带宽.
此项测试以页面4为基础页面,总计测试5组.其中,第1组4-Normal不加载任何隐蔽消息;第2组4-ASCII加载以ASCII码编码的英文数字隐蔽消息;第3组4-Random加载随机二进制隐蔽消息;第4组4-UTF8-CHS加载中文UTF-8编码的隐蔽消息;第5组为网络中支持HTTP2协议的正常页面.
从图6中可以得出,对于基础页面,未加载隐蔽消息时,CCE熵值较低基本保持在0.6以下,表明其数据帧流编号序列基本保持不变,主要原因在于其页面资源文件大小均较小,不会因拥塞控制机制调整顺序,故大部分数据帧流编号依据客户端请求顺序依次递增.另外页面资源布局导致的优先级结构也相对简单,不能显著影响数据帧响应发送顺序.
Fig. 6 CCE of different pages图6 不同页面修正条件熵
而对于加载ASCII编码和UTF-8编码的隐蔽消息而言,其CCE值变化相似,表明2种编码分块后数据分布基本类似;而对于加载随机二进制数据的CCE值变化即相对随机,变化范围是0.4~2.5.从图6中可以较清晰地观测到,H2CSC方法加载消息页面与正常页面提取的CCE熵值具有一定区别,可以使用修正条件熵作为特征提取方法以进行识别区分.
本文考虑对于网络监管设备,实时监控目标访问网页并预先进行熵值计算方式并不可取,其可选择预先训练检测模型,随后直接计算目标访问页面熵值并直接带入检测分类程序得出结果.故实验中选择页面资源文件较多、网站访问量较大的100个正常页面,计算访问过程的CCE熵值,将其均匀分为训练集和测试集,并保证其页面资源文件分布情况及总和大致相当,用于学习训练及后续测试.并以同样方式处理访问以页面1为基础平均加载文本和随机数据的100个页面所得到的CCE熵值.每个页面以访问10次的平均CCE熵值作为该页面特征.
本文选择使用Python scikit-learn内建逻辑回归分类器进行实现.使用该逻辑回归函数对测试集进行分类检测所得准确率结果矩阵如图7所示.其中识别正常会话准确率为90%,识别H2CSC隐蔽信道会话准确率为91%.
(Result) Overt(Result) Covert(True) Overt90%10%(True) Covert9%91%
Fig. 7 Detection method accuracy
图7 检测方法准确率
基于5.4节的检测结果,考虑可行的对抗检测方法为降低每组传输位|Ui|取值,以缩小每组修改后数据帧序列与正常会话序列编辑距离,从而降低熵值.为测量比较多种取值情况下熵值的变化规律,选择页面3为目标页面,加载同一文本隐蔽消息,不同n和|Ui|取值及相应的熵值如表4所示:
Table 4 Optimize Parameters for CCE表4 CCE熵值参数优化
由表4可知,当n取值确定时,|Ui|取值越小,则熵值越小;|Ui|取值确定时,n取值越大,则熵值越小;其余部分给出部分熵值在阈值范围内或接近阈值边界的n与|Ui|取值.由于加载的隐蔽消息不同会使得页面熵值不同,实际使用时可依据需要加载的隐蔽消息数据量大小及对应页面熵值以调整n与|Ui|的取值.以选取n=5,|Ui|=1为例,即每5个数据帧传输1 b数据,会话以最大容量编码隐蔽数据,其熵值约为0.384 5.此情况下使用上述基于修正条件熵的检测方法进行识别,得到其被识别为正常通信行为,故针对对抗性参数取值n=5且|Ui|=1时,基于熵值的检测方法将存在极大误差,其也表明使用降低|Ui|取值可以有效降低信道被识别率.相应数据传输速率可通过5.1节中数据及参数取值和调整后参数取值相比对进行数学计算.实际使用时亦可依据数据传输速率要求及安全性要求选取合适的参数.
[1]Lampson B W. A note on the confinement problem[J]. Communications of the ACM, 1973, 16(10): 613-615
[2]Gligor V D. A Guide to Understanding Covert Channel Analysis of Trusted Systems[M]. Fort Meade, Maryland: National Computer Security Center, 1994
[3]Tan Qingfeng, Fang Binxing, Shi Jinqiao, et al. StegoP2P: A hidden communication approach in P2P networks[J]. Journal of Computer Research and Development, 2014, 51(8): 1695-1703 (in Chinese)(谭庆丰, 方滨兴, 时金桥, 等. StegoP2P: 一种基于 P2P 网络的隐蔽通信方法[J]. 计算机研究与发展, 2014, 51(8): 1695-1703)
[4]Brown E, Yuan B, Johnson D, et al. Covert channels in the HTTP network protocol: Channel characterization and detecting Man-in-the-Middle attacks[C]Proc of the 5th Int Conf on Cyber Warfare and Security. South Oxfordshire, England: Academic Conferences International Limited, 2010: 56-64
[5]Heilman S, Williams J, Johnson D. Covert channel in HTTP User-Agents[C]Proc of the 11th Annual Symp on Information Assurance. Albany, NY: GCCIS, 2016: 68-73
[6]Schwenk G, Rieck K. Adaptive detection of covert communication in HTTP requests[C]Proc of the 7th European Conf on Computer Network Defense. Piscataway, NJ: IEEE, 2011: 25-32
[7]Tomar N, Gaur M S. Information theft through covert channel by exploiting HTTP post method[C]Proc of the 10th Int Conf on Wireless and Optical Communications Networks. Piscataway, NJ: IEEE, 2013: 1-5
[8]Wang Yongji, Wu Jingzheng, Zeng Haitao, et al. Covert channel research[J]. Journal of Software, 2010, 21(9): 2262-2288 (in Chinese)(王永吉, 吴敬征, 曾海涛, 等. 隐蔽信道研究[J]. 软件学报, 2010, 21(9): 2262-2288)
[9]Aggarwal P K, Jain P, Verma T. Adaptive approach for information hiding in WWW pages[C]Proc of IEEE ICICT’2014. Piscataway, NJ: IEEE, 2014: 113-118
[10]Kwecka Z. Application layer covert channel analysis and detection[D]. Edinburgh: Edinburgh Napier University, 2006
[11]Cabuk S, Brodley C E, Shields C. IP covert timing channels: Design and detection[C]Proc of the 11th ACM Conf on Computer and Communications Security. New York: ACM, 2004: 178-187
[12]Luo Xiapu, Chan E W W, Chang R K C. TCP covert timing channels: Design and detection[C]Proc of the 38th IEEE Int Conf on Dependable Systems and Networks with FTCS and DCC. Piscataway, NJ: IEEE, 2008: 420-429
[13]Berk V, Giani A, Cybenko G, et al. Detection of covert channel encoding in network packet delays, TR2005-536[R]. Hanover, NH: Department of Computer Science, Dartmouth College, 2005
[14]Qian Yuwen, Zhao Bangxin, Kong Jianshou, et al. Robust covert timing channel based on Web[J]. Journal of Computer Research and Development, 2011, 48(3): 423-431 (in Chinese)(钱玉文, 赵邦信, 孔建寿, 等. 一种基于 Web 的可靠网络隐蔽时间信道的研究[J]. 计算机研究与发展, 2011, 48(3): 423-431)
[15]Kolegov D N, Broslavskiy O V, Oleksov N E. Covert timing channel over HTTP cache-control headers[J]. Prikladnaya Diskretnaya Matematika, 2015(2): 71-85
[16]Ji Liping, Jiang Wenhao, Dai Benyang, et al. A novel covert channel based on length of messages[C]Proc of the 1st Int Symp on Information Engineering and Electronic Commerce. Piscataway, NJ: IEEE, 2009: 551-554
[17]Gianvecchio S, Wang Haining. Detecting covert timing channels: An entropy-based approach[C]Proc of the 14th ACM Conf on Computer and Communications Security. New York: ACM, 2007: 307-316
[18]Tumoian E, Anikeev M. Network based detection of passive covert channels in TCPIP[C]Proc of the 30th Anniversary of the IEEE Conf on Local Computer Network. Piscataway, NJ: IEEE, 2005: 802-809
[19]Zander S, Armitage G, Branch P. A survey of covert channels and countermeasures in computer network protocols[J]. IEEE Communications Surveys & Tutorials, 2007, 9(3): 44-57
[20]Luo Xiapu, Chan E W W, Zhou Peng, et al. Robust network covert communications based on TCP and enumerative combinatorics[J]. IEEE Trans on Dependable and Secure Computing, 2012, 9(6): 890-902
[21]Shen Yao, Huang Liusheng, Wang Fei, et al. LiHB: Lost in HTTP Behaviors—A behavior-based covert channel in HTTP[C]Proc of the 3rd ACM Workshop on Information Hiding and Multimedia Security. New York: ACM, 2015: 55-64
[22]Belshe M, Peon R, Thomson M. RFC 7540: Hypertext Transfer Protocol Version 2 (HTTP2)[SOL]. IETF, 2015 [2017-11-15]. https:tools.ietf.orghtmlrfc7450
[23]W3techs.com. Usage Statistics of HTTP2 for Websites[EBOL]. [2017-11-15]. https:w3techs.comtechnologiesdetailsce-http2allall
LiuZhengyi, born in 1993. Master. His main research interests include covert communication and network security.
SongTian, born in 1980. PhD, associate professor in Beijing Institute of Technology. Senior member of CCF. His main research interests include future Internet architecture, network security and computer architecture.