一种基于Web通信行为的抗审查隐蔽通信协议Word格式.docx
- 文档编号:21821739
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:13
- 大小:126.65KB
一种基于Web通信行为的抗审查隐蔽通信协议Word格式.docx
《一种基于Web通信行为的抗审查隐蔽通信协议Word格式.docx》由会员分享,可在线阅读,更多相关《一种基于Web通信行为的抗审查隐蔽通信协议Word格式.docx(13页珍藏版)》请在冰豆网上搜索。
因此,在设计隐蔽通信协议时需要考虑到隐蔽、安全、可靠等问题。
在隐蔽信息传输过程中,如果采用SSL加密隧道进行通信,虽然其通信内容不可见,但可能因为加密连接而引起怀疑。
基于网络协议的隐蔽通道是隐蔽通信经常采用的传统方法,然而这种方法信道容量比较低,并且容易受到流量规格化的攻击。
本论文关注的是隐蔽通道协议的设计,利用HTTP协议中上传隧道和下载隧道的不对称性,将隐蔽通信协议的命令信息传送隐蔽在上传Web通信行为中,将信息传输过程中的内容信息利用隐写术隐藏在下行网络流量中,从而抵御流量审查和流量规格化攻击,同时在信息传输中采用加密认证的方式保证信息内容的安全性,利用免费代理和志愿者代理来达到抵御追踪的目的,从而在隐蔽通信客户端和隐蔽通信服务端之间构成一条隐蔽隧道。
隐蔽通信协议设计的最大挑战在于通信行为的私密性同时提供一个较好的性能,此外隧道协议还应该能够抵御各种被动攻击和各种主动攻击方法,即攻击者能通过流分析,修改包头协议,篡改消息和会话,或者伪装成一个“合法”的HTTP请求等。
为了验证协议的可行性,我们设计了一个原型系统,测试结果表明:
该系统为web浏览提供很好的通信带宽,并具有很好的隐蔽性。
2相关工作
在互联网发展初期,人们通过代理,或者匿名代理绕过审查,如A和ZeroKnowledge[2]提供匿名的web浏览,通过加密HTTP请求来保护用户的隐私,然而这种匿名代理的方式存在单点失效问题,基于SSL的加密连接,内容虽不可见,但是其加密连接的行为会引起怀疑,甚至有些组织会对所有的加密连接进行直接过滤。
后来研究人员提出Mix-net和洋葱路由思想,并根据此思想设计了许多匿名通信工具,如TOR,JAP,I2P等[4-6],然而匿名通信技术本身只能隐藏信息发送者和接收者的身份,或者隐藏谁跟谁在通信,而不能解决通信的隐蔽性问题。
隐蔽通讯的目标是避开如此问题,通过在预先存在的正常通信行为中隐藏额外的信息。
互联网用户往往拥有较高的下行带宽与较低的上行带宽,许多通信技术利用这种不对称性提高通信的性能。
Adler与Maggs在他们的文章[3]中考虑是否可以利用服务器的高带宽去帮助用户发送消息以提高通信性能。
在已知消息分布的情况下,他们证明上述想法是可行性的,并且在理论上提出了服务器利用它们所掌握的信息去减少客户端发送请求所需的字节数。
Adler与Maggs的工作被后来的许多研究者改善或扩展。
TravisGagie在他的文章[8]中提出了四种协议。
其中DynamicBit-EfficientSplit(DBES)是对Adler等人的bit-EfficientSplit(BES)协议的改进,该协议不需要服务器事先知道消息的分布。
Feamster等人基于Adler与Maggs不对称通信理论设计出一个抗流量审查的隐蔽通信系统Infranet[1]--在HTTP中使用隐蔽通道以绕过审查员,即通过Infranet将一个隐蔽的HTTP请求编码为一系列正常的掩体HTTP请求,并利用隐写术将目标内容隐藏在掩体资源文件的图片中。
然而我们在测试中发现Infranet具有迭代次数过多,延时过大等缺点。
我们的协议设计目标是抵御审查,并提供在统计上可抵赖性。
此外我们的协议保证隐蔽通信服务端的隐蔽性。
并在隐蔽通信客户端和服务器端建立一个安全的隐蔽通道,通过HTTP协议中上传隧道和下载隧道的不对称性,把客户端目标HTTP请求映射为一系列正常的web请求。
隐蔽通信服务器端解码这个HTTP请求序列,获得目标URL。
相对于其他的抗流量审查的隐蔽通信方法,我们的方法更加难于检测和阻塞,其通信行为更加难于发现。
因此具有更好的隐蔽性。
3系统架构
这个部分主要陈述我们系统的协议设计和系统架构。
首先给出系统的总体架构设计目标,然后详细阐述协议设计的各种考虑,其架构如下图所示。
图1系统架构图
3.1概述
如上图所示,系统主要包括以下三个部分。
●隐蔽通信客户端代理
客户端代理接收用户请求,通过隐蔽通信协议将用户请求编码后经代理服务器发送给隐蔽通信服务器,同时接受隐蔽通信服务器返回的结果,提取隐藏信息,通过排序、重组、解密等方法恢复原有信息,并提交给用户。
此外,客户端代理还和服务器进行会话协商等工作,进行协议初始化和认证等工作。
●代理资源发布模块
为了更好隐藏隐蔽服务器,我们设计了一个代理资源发布模块,该模块是一个可以定时发布一批可用的代理资源列表,这些代理资源是通过加密的,其中代理资源发布策略是我们这个模块设计的重点,在此我们设计一种资源发布策略使得即便某些恶意节点能够拿到这些代理也永不可能拿全所有这些代理资源,以实现隐蔽服务器的私密性即在统计学上的隐蔽性。
●隐蔽通信服务端
通过客户端的通信行为解码获取用户目标资源信息,则其一方面访问目标服务器获取用户的目标信息,另一方面访问掩体网站,获取掩体信息,利用信息隐藏方法将用户目标信息隐藏在掩体信息中,然后通过代理服务器转发到客户端。
此外,服务器还和客户端代理进行会话协商等工作,进行协议初始化和认证等工作。
隐蔽通讯的服务器端的重点是如何设计一个更好的码书,以实现客户端在统计学意义上的可抵赖性,高通讯健壮性以及低的时延。
我们的思路是采用自适应映射算法即通过建立马尔科夫模型,并通过增量的学习来预测下一个最有可能的请求页。
3.2设计目标
因此,我们采用这种隐蔽通讯的架构,其目的是设计一个:
1)客户端可抵赖性
2)控制服务器的私密性(统计学上的私密性)
3)通讯的健壮性
4)较好的性能(包括带宽,延时等)
3.3通信协议
通讯协议的设计是本文的关键部分,也是重点和难点,如何设计一个具有安全,可靠,隐蔽匿名的通讯协议是本系统的最大挑战,在此我们的主要思想是利用web通讯行为来实现这一目标,即将隐蔽通信协议的命令信息传送隐藏在上传Web通信行为中,将信息传输过程中的目标信息利用隐写术隐藏在下行网络流量中。
隐蔽通讯技术相对于加密连接,代理,匿名通信等技术有什么特点,我们采用的这种隐蔽通讯方案有什么优势?
这正是我们要回答并解决的。
首先,在有的通信系统或者场景中限制加密技术的使用(使用加密技术可能会引起审查者的怀疑,进而对相应的行为进行监控);
其次,隐蔽通讯的目标是避开如此问题,通过在预先存在的正常通信行为中隐藏额外的信息;
最后,由于Internet上有大量的数据流和各种不同的协议,因此互联网是一个非常理想的场所,更是一种作为一种隐蔽通讯的工具,相对于基于网络协议的隐蔽通讯和基于存储的隐蔽通讯,基于Web的通讯行为的隐蔽方式可以更好的抵御网络审查员的审查。
下面我们重点阐述通讯协议构建的三个主要部分。
图2客户端和服务端通信的顺序图
3.3.1隧道建立
建立私密通讯隧道是为了更好的抵御审查,以一种安全,隐蔽,匿名的方式与隐蔽服务器通讯。
隧道建立包括两个阶段,第一阶段是请求可用的代理资源。
第二阶段是会话初始化阶段。
即通过代理与隐蔽通信服务器建立连接,初始化会话,并与服务器交换共享密钥。
3.3.2命令通道
隐蔽通信的一个关键点在于请求信息的编码和解码,即如何将用户请求的目的URL转换成一系列掩体URL,通过请求这些掩体URL来获取目的URL。
命令通道是一系列的HTTP请求,通过HTTP请求行为来隐藏目标URL地址。
其主要思想是客户端通过产生一系列可见的HTTP请求,并把该HTTP请求序列的URL映射到客户端秘密的不可见的URL,即目标URL。
其方法是通过服务器端动态产生码书,客户端共享该码书,通过码书把可见得URL映射到客户秘密的不可见的目标URL。
由于上行通讯的信道容量较低,而下传通道的信道容量较高,下行通信主要是传递服务器的返回内容,通过信息隐藏的方法来隐蔽返回信息。
利用HTTP协议通道容量的不对称性,我们把命令信息隐藏在上行通讯中,把目标信息隐藏在下行通讯流中。
服务器端通过自适应范围映射算法产生码书,然后把该码书隐藏在图片中,返回给客户端,客户端收到这个请求的页面,并提取该响应中隐藏在图片中的码书。
即客户端和服务器端共享一个码书(Codebook),在每一次迭代查找的过程中,服务端响应一个有序的URL对(si,ri),其中si为目标域名下当前访问统计上最可能的链接地址或者是被分割的链接地址,即为一个不可见的目标URL或者URL的一部分。
ri为下一个HTTP请求,这里的ri为掩体服务器的URL。
当客户端收到码书后,通过Encode函数编码,获得下一个HTTP请求,其伪码如下图所示:
ProcedureEncode(CodeBook,URL)
Input客户端和服务器端共享的码书(Codebook)和当前的URL,
//码书为一个字典顺序的(si,ri)对,ri为通过编码后的下一个请求的URL。
Output下一个HTTP请求的URL(即ri)
Begin
Foreach(si,ri)do
IfSi>
=url:
break
Endfor
把与Si相对应的ri赋值给R
ReturnR
End
其中下一个最有可能URL的预测问题,可以通过如下概率模型来解决,如果W为某用户web会话序列,其长度为l,即在此之前已经访问了l个web页面,P(pi|W)为用户访问W以后下次访问页面pi的概率,通过公式
(1)我们可以计算出下一个web访问页面pl+1的概率,其中P是某个站点所有页面的集合。
因此,由这个公式我们可以计算出每一个页面pi的概率,然后选择概率高的作为最有可能访问的下一个web页面。
(1)
为了编码上行通道的HTTP请求,客户端每次动态查找来自服务端的码书,然后作为下一个HTTP请求。
因此,码书的设计是我们设计隐蔽通道的一个重点,也是我们实现隐蔽通讯的关键,通过把命令编码转换成流量监管系统不被怀疑的HTTP请求信息,并在服务器端可以解码还原出用户目标请求。
我们的思路是联合Infranet的范围映射算法和基于马尔科夫模型的web访问预测去生成一个动态字典即码书,这个算法我们称为自适应范围映射(AdaptiveRangeMapAlgorithm)。
通过该算法来动态产生码书,预测用户下一个最有可能请求的URL。
下面重点介绍几种产生码书的映射算法,通常映射的方法有如下几种。
1)静态字典
实现起来方便,简单,而且性能上很高。
但是安全性,私密性很低。
一个审查者可能通过对网络流的监视,能够统计出码书的字典。
如下图所示
图3静态字典示意图
2)范围映射(RangMap)
在Adler和Maggs的文章中[3]提出非对称通信模型,并给出一个相应的非对称通信协议,在这种通信模型中,由于隐蔽通信服务端可以知道所有来自客户端的知识即HTTP请求信息,而客户端只知道它自己的请求信息,因此,服务器端可以精确计算出来自所有客户端请求信息的概率分布,这样我们就可以利用这种非对称通信通道维护掩体服务器上所有存在的web页面P的频率分布,即客户可能发送到服务端的HTTP请求(URL)和该HTTP请求所对应的频率,以此来减少隐蔽通信客户端发送到隐蔽通信服务段的请求次数。
在Infranet的范围映射中作者基于这种非对称通信协议,改进了原作者算法的缺陷,提出一种基于范围映射的算法来产生码书。
该算法设计相对比较复杂,但安全性比较好,而其每次都会动态的产生码书。
下图为范围映射算法的示意图。
图4范围映射算法示意图
上图为基于范围映射秘密请求的示意图,其中左边是不可见的HTTP请求(目标URL),右边是来自掩体服务器的web页面,作为下一个编码后的可见HTTP请求,通过范围映射算法可以保证在当前请求下,下一次在统计上最有可能发送到隐蔽通信服务端的可见的HTTP请求。
3)自适应范围映射
自适应范围映射在范围映射基础之上,联合客户端的用户偏好,使用习惯,去预测下一个web请求行为模式。
即对于服务端的预测我们建立一个马尔科夫模型,去预测下一步用户最有可能会请求的URL1,URL2…URLn,然后生成码书。
下面重点介绍我们采用的自适应范围映射算法。
自适应范围映射包括预处理部分,马尔科夫预测模型和自适应算法。
预处理模块对Web日志进行预处理,生存一个Session序列,并保存为一个XML文件。
其中主要工作是会话识别,用户识别和访问页识别,该主题不在本论文讨论范围之内。
基于马尔科夫模型在web访问行为预测方面的研究在参考文献[13-15]有详细讨论,在这里我们借鉴Brian,D.Davison在文献[14]提出的算法思想,设计一个增量学习的全K阶的马尔科夫树,通过频率剪枝来提高他们的预测精度,降低时间复杂度。
由于全k阶马尔科夫模型具有更好的时间和空间复杂度,而且能够具有更好的预测精度和适应范围。
最后算法的重点是利用建好的马尔科夫模型预测下一步用户最有可能访问的web页面,然后联合范围映射生成码书。
下图为增量建立一个全K-Order的马尔科夫树,算法伪码如下所示:
//将HTTP请求序列,增量插入马尔科夫树中
ProcedureBuildMarkovTree(session,root)
Input:
session为HTTP请求序列,root马尔科夫树的根节点
Output:
马尔科夫树
Ptr=root;
Count=min(|session|,k)//k为马尔科夫阶数
Fori=0tocount
Copy(session.end()–i,session.end(),back_inserter(S))
If|S|==0:
Ptr->
selfCount++
Else
Foriter=S.begin()toS.end()
childCount++
Ifnot_exit_first_child(iter,ptr)
numChildren++
addFirstChildNode(iter,ptr)
elseifnot_exit_next_sibling(iter,ptr)
ptr->
numchildren++
addNextSiblingNode(iter,ptr)
EndIf
Ifiter==session.end()
selfCount++;
Endif
EndFor
End
由于存在P个页面的web站点,在全K阶马尔科夫模型中总共有Θ(|P|k)个状态,因此我们需要对其进行剪枝,通过条件概率来估算那些在统计上最不可能发生的状态,其中最常见的方法就是通过最大似然原理。
如下所示,我们可以通过计算出<
Pi>
序列的访问次数,和
序列的访问次数,然后通过公式
(2)来计算条件概率P(pi|
)。
P(pi|
)=
(2)
自适应算法是一个增量学习和剪枝的过程,通过当前的Session增量建立并维护一个马尔科夫树,并裁减在统计上频率的期望值比较低的枝叶节点。
因此,自适应范围映射其实质是一种动态的字典,它改进了范围映射迭代次数过多,时延太大的缺点,旨在设计一个更加健壮,低时延的隐蔽通讯系统。
下图为联合范围映射和基于马尔科夫模型的web访问行为产生码书的伪代码:
//利用马尔科夫模型产生的推荐URL序列和Infranet的范围映射产生的动态字典生成一个新的码书
ProcedureGenCodeBook(SS,dict)
SS为利用马尔科夫模型产生的推荐URL序列,dict为范围映射产生的动态字典,其中dict为(si,ri)对。
产生新的码书
ForeachsinSS
//在字典dict中查找si,使得Si刚好大于等于s,并返回相对应的ri
R=Search(s,dict)
//更新字典dict,即把(R,s)添加到字典dict中
dict=dict∪(s,R)
Endfor
returndict
3.3.3数据通道
数据传输通道包括两个方面,一个是传输码书即传输命令,另一个方面就是利用隐写术把目标信息隐藏在掩体信息中,然后通过数据传输通道返回到客户端。
因此设计数据通道主要要考虑目标数据的隐藏以及网络性能问题即带宽,时延。
当我们获得资源即目标信息后,利用Outguess、F5等信息隐藏工具将用户请求的资源(网页链接、图片)等嵌入到掩护信息中,然后利用数据通道返回给客户端。
而设计一个较低延时的隐蔽通讯系统是系统可用性,系统性能的一个重要方面。
我们的做法是利用web预取技术和缓存技术来解决。
通过马尔科夫模型预测下一个最有可能的页面,然后预取存到我们的隐蔽服务器端,通过预取,并采用Cache技术来降低时延。
如果cache的页面过多可能会造成性能过低,因此我们必须采用某种算法去置换最近没有请求的资源,在此我们采用LRU算法。
4实验结果及性能分析
在这个部分我们讨论通信协议的性能。
我们设计了一个原型系统来验证我们的隐蔽通信协议,该系统服务端运行的硬件平台:
CPU主频3.0GHZ,内存1G;
操作系统为Ubuntu发行版9.04;
支撑环境:
JavaRuntimeEnvironment6.0、Tomcat服务器6.0、Squid2.6。
客户端运行环境为硬件平台:
CPU主频3.0GHZ,内存1G;
操作系统:
LinuxUbuntu发行版9.04。
主要测试了上行通信和下行通信过程中码书的交互次数,也就是迭代查找目标资源的次数。
同时我们还测试了每次交互的时延。
我们的测试方案为任意选择一个站点作为我们的目标服务器,然后随机访问其中的50个web页面,访问结束后Sleep一段时间后又继续随机访问这50个页面,并比较我们的自适应范围映射算法和范围映射算法在交互次数,时延等的区别。
图5上图为迭代次数对比图,即客户端和服务端交换码书的次数,在上图中无马尔科夫推荐为原算法的范围映射算法,而有马尔科夫推荐则是我们自适应范围映射的算法。
图6码书大小为8的迭代次数对比图
从上图可以看到我们的自适应范围映射算法在第一次访问序列没有明显优化,而在第一次访问之后,以后的访问就会有明显的优化,即在大部分情况只需要2次就可以找到目标资源,而范围映射其交互次数不管访问多少次其性能都没有明显改进,其在码书大小为16的情况下大部分URL的迭代查找次数为6,在码书大小为8的情况下为7。
而在时延方面,范围映射算法无论在第一次访问某个站点情况下还是后续的访问,请求每个页面的平均时延为4秒到5秒之间,而其码书大小为对时延没有明显影响。
而我们的算法平均时延为3.5秒到4.5秒之间。
在通讯的信道容量方面,我们的隐蔽通讯服务器为一个图片网站的镜像,其平均每页图片信息为600k左右,如果按照信息隐藏嵌入量为20%估算,则平均信道容量期为120k,即返回结果可嵌入120k的隐蔽信息。
另外,根据最新统计,互联网上网页的平均大小为312k,按gzip压缩比30%计算,压缩后的内容为93.6k,如果一页信息隐藏不够,可以采用多页信息隐藏。
5结束语
本文提出一种基于web通信行为的抗审查隐蔽通信协议,该方法联合非对称通信理论和web行为预测方法,利用HTTP协议中的上传隧道和下载隧道的不对称性,将命令信息隐藏在一系列的HTTP请求中,将目标资源隐藏在掩体资源中,其优点是该方法没有增加每次HTTP请求的额外负载,每次HTTP请求行为都是一次正常的web请求,另一方面,该协议没有采用加密算法,来显示加密HTTP连接,HTTP头字段,或者净载荷,而是通过信息隐藏算法把信息隐藏在掩体资源中。
在通信过程中,我们应用非对称理论,在服务器端计算出掩体资源的概率分布,保证每次HTTP请求都是在当前请求下概率最大的。
从而保证协议通信行为具有统计学意义上的可抵赖性。
最后,我们利用马尔科夫的web行为预测方法,来预测目标资源的请求,试验结果显示我们的协议显著提高了以前方法中性能低下,隐蔽通信客户端和服务端交互次数过多等问题。
参考文献
[1]NickFeamster,MagdalenaBalazinska,GregHarfst,HariBalakrishnan,DavidKarger,Infranet:
CircumventingWebCensorshipandSurveillance,InProceedingsofthe11thUSENIXSecuritySymposium,2002,pp.247-262
[2]Anonymizer.
[3]M.Adler,B.Maggs,protocolsforasymmetriccommunicationchannels,inproceedingof39thIEEEsymposiumonfoundationsofcomputerscience(FOCS),PaloAlto,CA,1998
[4]RogerDingledine,NickMathewson,PaulSyverson,Tor:
TheSecond-GenerationOnionRouter,InProceedingsofthe13thUSENIXSecuritySymposium,2004
[5]JAP.anon.inf.tu-dresden.de/index_en.html
[6]I2P.www.i2p2.de/
[7]T.HandelandM.Sandford.HidingdataintheOSInetworkm
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一种 基于 Web 通信 行为 审查 隐蔽 通信协议