2015年4月24日星期五

研究论文:隐蔽信道的相关研究

本研究针对网络中典型的ICMP隐蔽信道、DNS隐蔽信道、Tor隐蔽信道进行了基本原理的分析、搭建与配置、传输特性的测试、适用场合的探讨、检测技术的提出,带领读者学习信息安全领域最前沿的研究技术与理论知识,实现隐蔽信道的最佳实践。


1.引言
图1 ICMP隐蔽信道和DNS隐蔽信道
网络中广泛存在着大量的隐蔽信道,每时每刻在世界的各个角落,都有信息在隐蔽信道的保护下秘密地传输。隐蔽信道是信息安全领域的一个全新的研究方向,在中华人民共和国网络审查的背景下为了突破网络审查实现真正的自由,必须领先于网络审查系统的研究前沿不断地对最新的隐蔽信道进行更加深入的研究,精通掌握并善于利用隐蔽信道对自己的一切网络活动实施必要的保护。
2.ICMP隐蔽信道
图2 ICMP协议未被网络审查系统封锁
由于ICMP协议并不是为了传输数据信息而设计的,网络审查系统也没有想到利用ICMP协议也可以传输数据信息,所以ICMP协议成为了至今仍然幸存的少数几个未被审查的协议之一。2014年中国大陆屏蔽Google服务事件导致中国大陆与Google之间的所有TCP/UDP数据报被中国骨干网国际出口节点直接丢弃,但是与Google之间的ICMP回显数据报至今仍然一直保持着正常状态,这就为ICMP隐蔽信道的存在提供了可能性。
2.1.ICMP隐蔽信道的基本原理
图3 ICMP回显数据报
ICMP回显数据报中的数据部分在一般情况下为“abcdefghijklmnopqrstuvw”循环,最小长度为0字节,最大长度为65500字节。ICMP回显数据报中的数据部分在特殊情况下可以由用户进行自定义,通过自定义ICMP回显数据报就可以实现数据信息的传输。由于Internet协议(TCP/IP)在一般情况下遵循协议标准对ICMP回显请求进行ICMP回显应答,所以实现ICMP回显数据报的自定义需要使用Internet协议(TCP/IP)增强技术。Internet协议(TCP/IP)增强技术通过对操作系统中的Internet协议(TCP/IP)实施自定义,允许Internet协议(TCP/IP)向用户程序提供特殊的接口,将用户程序所产生的数据装载到ICMP回显请求数据报中的数据部分进行发送,将从接收到的ICMP回显应答数据报中的数据部分提取出的数据推送给用户程序。
2.2.ICMP隐蔽信道的搭建与配置
图4 SoftEther VPN Server管理器
由于隐蔽信道为了实现隐蔽性的最大化,必须使用加密算法对所传输的数据进行加密。本研究特别选用了Intel最新的Core i7-4790处理器,该处理器具有的AES指令集可以实现硬件加密提高隐蔽信道的吞吐量。支持ICMP隐蔽信道搭建的工具较多,为了确保传输信息的隐蔽性应该选择没有被政府植入后门的开源工具。本研究选用了SoftEther VPN Server作为服务器端,SoftEther VPN Client作为客户端,使用OpenWrt Barrier Breaker防火墙对服务器端和客户端之间的所有含有传输层及更高层协议的数据报进行封禁。
2.3.ICMP隐蔽信道的传输特性
图5 网络通信速度测试工具
为了对ICMP隐蔽信道的传输特性进行分析,本研究使用SoftEther VPN附带的网络通信速度测试工具对ICMP隐蔽信道的传输特性进行测试。测试服务器与VPN服务器直接连接,VPN服务器与VPN客户端通过ICMP隐蔽信道建立VPN连接,VPN客户端与测试客户端直接连接。测试服务器侦听9821号TCP端口,测试客户端从9821号TCP端口连接到测试服务器,同时建立32个并行的TCP连接,进行周期为10秒的测量。为了测量实际物理网络的最大吞吐量,在没有使用隐蔽信道协议的情况下进行基准测试,同时对测试数据报进行捕获分析,可以获得测试环境以太网的基本传输特性,再通过ICMP隐蔽信道建立VPN连接进行测试,获得ICMP隐蔽信道的传输特性。
表1 ICMP隐蔽信道的传输特性
隐蔽信道协议 加密算法 吞吐量 数据报长度 丢失率 信道利用率
无(基准测试) 无(基准测试) 0.98Gbps(平稳) 1514字节 0% 可达到98%
VPN over ICMP  125Mbps(间断突发) 1444字节 80% 不高于10%
 RC4-MD5 75Mbps(间断突发)  85% 不高于5%
 RC4-SHA 78Mbps(间断突发)  85%
 AES128-SHA 76Mbps(间断突发)  86%
 AES256-SHA 74Mbps(间断突发)  86%
 DES-CBC-SHA 74Mbps(间断突发)  87%
 DES-CBC3-SHA 73Mbps(间断突发)  87%
 DHE-RSA-AES128-SHA 72Mbps(间断突发)  88%
 DHE-RSA-AES256-SHA 70Mbps(间断突发)  90%
ICMP隐蔽信道的传输特性测试结果如表1所示。由于使用Internet协议(TCP/IP)增强技术的影响,导致ICMP隐蔽信道不能平稳而连续地高速传输数据,只能在一段时间并不长的窗口期内以周期性间断突发的方式传输数据。通过对操作系统资源监视器的观察,可发现每次测试开始后5秒之内可以达到并保持较大的吞吐量,然后吞吐量急剧下降到几乎为零的状态。此时ICMP隐蔽信道离开窗口期暂时进入饱和状态,瞬时数据报长度从窗口期的1444字节下降到200字节左右,数据报之间的间隔加长。处于饱和状态的ICMP隐蔽信道不能传输更多的数据报,此时所传输的数据报几乎全部丢失。饱和状态的持续时间大约为20秒,离开饱和状态之后ICMP隐蔽信道将回归窗口期,直到窗口再次被填充饱和之后又会进入饱和状态。ICMP隐蔽信道的传输特性较差,实际的信道利用率不高于5%。
2.4.ICMP隐蔽信道的适用场合
图6 NAT防火墙的穿透
由于ICMP隐蔽信道的传输特性较差,限制了ICMP隐蔽信道传输数据的效率,导致ICMP隐蔽信道的适用场合比较有限。根据ICMP协议规范和NAT/SPI防火墙基本原理,只要通信双方至少有一方拥有全球可路由的IP地址,另一方就可以通过发起ICMP回显的方式使用ICMP隐蔽信道穿过NAT/SPI防火墙与全球可路由的一方建立VPN连接。ICMP隐蔽信道的特殊优势是其它隐蔽信道所不具有的,即使在所有传输层及更高层协议均被封禁的恶劣网络环境下,ICMP隐蔽信道仍然有可能可以正常工作。
2.5.ICMP隐蔽信道的检测技术
图7 ICMP隐蔽信道所传输的ICMP回显数据报
在一般情况下正常使用ICMP协议时不太可能按照ICMP隐蔽信道的传输特性传输ICMP回显数据报,所以按照ICMP隐蔽信道的传输特性传输的ICMP回显数据报很有可能就是为了建立ICMP隐蔽信道而传输的,ICMP隐蔽信道的检测技术的基本原理就是检测所传输的ICMP回显数据报是否具有ICMP隐蔽信道的传输特性。ICMP隐蔽信道最明显的传输特性就是ICMP回显数据报中的数据部分从一般情况下的“abcdefghijklmnopqrstuvw”循环变成了近似于伪随机序列的加密数据,通过对数据部分的检测就可以推测ICMP回显数据报是否有可能是为了建立ICMP隐蔽信道而传输的。按照ICMP隐蔽信道的其它传输特性也可以检测ICMP隐蔽信道,例如所传输的ICMP回显数据报在时间上的密度分布和所传输的ICMP回显数据报在数据报长度上的密度分布。
3.DNS隐蔽信道
图8 DNS记录查询过程
DNS是网络中最重要的几个基础设施之一,通过53号UDP端口传输DNS请求和DNS应答的方式实现DNS记录查询。由于DNS协议并不是为了传输数据信息而设计的,网络审查系统也没有想到利用DNS协议也可以传输数据信息,所以DNS协议成为了至今仍然幸存的少数几个未被完全封锁的协议之一。虽然DNS协议已经受到了网络审查系统的污染,但是网络审查系统无法污染使用域名系统安全扩展(DNSSEC)技术的DNS协议数据报。另外几乎所有的计费网络在未登录的状态下允许DNS协议数据报通过计费系统,这就为DNS隐蔽信道的存在提供了可能性。
3.1.DNS隐蔽信道的基本原理
图9 DNS隐蔽信道的DNS查询传输模式
DNS记录的查询过程可以分为几个简单而独立的阶段,首先DNS客户端向本地DNS服务器发送DNS请求数据报,接着本地DNS服务器对所请求的域名进行NS记录查询,如果发现该域名存在NS记录,就向NS记录所指向的权威DNS服务器发送DNS客户端所发送的DNS请求数据报,然后再将从权威DNS服务器接收到的DNS应答数据报返回给DNS客户端。在DNS记录查询的过程中,DNS客户端将上行信道的数据信息装载到了DNS请求数据报中,经过了本地DNS服务器的转发,最终到达了权威DNS服务器,权威DNS服务器将下行信道的数据信息装载到了DNS应答数据报中,再次经过了本地DNS服务器的转发,最终到达了DNS客户端。
3.2.DNS隐蔽信道的搭建与配置
图10 iodine(IP-over-DNS tunnel)
DNS隐蔽信道具有两种不同的传输模式,分别是DNS协议传输模式和DNS查询传输模式,其中DNS协议传输模式与本研究上文所提到的ICMP隐蔽信道没有本质差异,直接使用DNS协议实现端到端的数据传输,但是由于大部分计费网络在未登录的状态下不允许非本地DNS服务器的DNS协议数据报通过计费系统,所以DNS协议传输模式并不适用于这些网络,而DNS查询传输模式可以借助本地DNS服务器通过DNS记录的查询过程中NS记录的作用将DNS协议数据报间接地传输到权威DNS服务器,权威DNS服务器返回的DNS协议数据报又可以借助本地DNS服务器间接地传输到DNS客户端。本研究选用了iodined作为服务器端,iodine作为客户端,在北京联通(AS4808)网络环境中对DNS隐蔽信道的传输特性进行了测试。
3.3.DNS隐蔽信道的传输特性
图11 通过DNS隐蔽信道建立连接
DNS隐蔽信道传输特性的测试方法与ICMP隐蔽信道传输特性的测试方法基本一致,所以在此处就不需要再一一赘述了。
表2 DNS隐蔽信道的传输特性
隐蔽信道协议 传输模式 吞吐量 数据报长度 信道利用率
无(基准测试) 无(基准测试) 下行10Mbps上行10Mbps 1494字节 可达到100%
VPN over DNS 协议模式 下行10Mbps上行10Mbps 1494字节 可达到100%
 查询模式 下行1.5Mbps上行128Kbps 1335字节 可达到15%
DNS隐蔽信道的传输特性测试结果如表2所示。与ICMP隐蔽信道相比存在着较大的差异,DNS隐蔽信道的信道利用率可达到较高的水平,在DNS隐蔽信道处于空闲和满载状态时均未出现数据报丢失现象,数据传输吞吐量可以长时间保持平稳状态而不存在饱和状态。DNS隐蔽信道的DNS查询传输模式的非对称性受制于其所需遵循的协议标准的限制,由于一般情况下一个域名可以对应多个DNS记录,一次只能发送一个DNS请求数据报但是可以接收多个DNS应答数据包,所以DNS隐蔽信道的DNS查询传输模式的下行信道吞吐量大于上行信道吞吐量。
3.4.DNS隐蔽信道的适用场合
图12 计费网络在未登录的状态下
DNS隐蔽信道的两种不同的传输模式适用于两种不同的网络环境,在未登录的状态下允许使用非本地DNS服务器的计费网络中为了实现数据传输吞吐量的最大化和对称性可以使用DNS隐蔽信道的DNS协议传输模式,在未登录的状态下只允许使用本地DNS服务器进行DNS记录查询的计费网络中只能使用具有非对称传输特性的DNS隐蔽信道的DNS查询传输模式。DNS隐蔽信道的DNS协议传输模式在通信双方至少有一方拥有全球可路由的IP地址的情况下就可以成功搭建,DNS隐蔽信道的DNS查询传输模式还需要借助通信双方所拥有的域名并完成了NS记录的设置之后才可以成功搭建,所以只有在通信双方拥有域名的情况下DNS隐蔽信道的DNS查询传输模式才适用。
3.5.DNS隐蔽信道的检测技术
图13 DNS隐蔽信道所传输的DNS协议数据报
在一般情况下正常使用DNS协议时不太可能按照DNS隐蔽信道的传输特性传输DNS协议数据报,所以按照DNS隐蔽信道的传输特性传输的DNS协议数据报很有可能就是为了建立DNS隐蔽信道而传输的,DNS隐蔽信道的检测技术的基本原理就是检测所传输的DNS协议数据报是否具有DNS隐蔽信道的传输特性。DNS隐蔽信道的两种不同的传输模式具有两种不同的传输特性,DNS隐蔽信道的DNS协议传输模式最明显的传输特性就是所传输的DNS协议数据报是不符合DNS协议标准的畸形数据报,DNS隐蔽信道的DNS查询传输模式最明显的传输特性就是DNS客户端所请求的域名和DNS服务器所应答的记录都属于通信双方所拥有的域名的子域名,通过对DNS协议数据报中数据部分的检测就可以推测DNS协议数据报是否有可能是为了建立DNS隐蔽信道而传输的。按照DNS隐蔽信道的其它传输特性也可以检测DNS隐蔽信道,例如所传输的DNS协议数据报在时间上的密度分布和所传输的DNS协议数据报在数据报长度上的密度分布。
4.Tor隐蔽信道
图14 Tor Project
审查就是以违反公众利益为由修改或压制言论和写作的行为。站在互联网这一全球性的平台上来看,审查具有全新的涵义。大多数人并未意识到,信息审查和内容发布监控远比想象的要司空见惯。Tor Project的研究人员致力于开发对抗审查的工具并能够领先于审查技术与策略,从而为每个人提供开放的在线通信渠道。Tor团队与一些机构合作,增强用户对于在线隐私的意识,改善大家对于在线安全重要性的认知。网络版图一直在变化,来自法律、政策和科技领域的最新趋势将对隐私带来前所未有的威胁:侵害我们的在线言论自由以及获取在线信息的权利。除了监控国内的公民,国家之间也在互相监视:封锁网站,显示网络通信内容,限制重大世界信息。作为一家非盈利机构,Tor Project开发了一系列的自由软件和服务。利用这些工具,任何人,包括记者、人权活动家、外交官以及商务人士,都能够在使用互联网的时候,不再担心政府与企业的监控。同时Tor Project也是一个有领导力的全球性的非营利组织,致力于言论自由、在线隐私和反抗审查并提供相应的技术、研究、教育以及宣传推广。
  绝大部分Tor用户是想要保护自身在线隐私的普通公民,还有一部分是需要突破网络审查的用户。至于那些敢于违法的罪犯,他们已经能够使用比Tor更为有效的工具了。用户可以依赖Tor提供的隐私保护。根据设计意图,Tor中继搭建者,以及能够实际接触这些节点的人,也无法获取Tor用户的真实IP地址。学术界和开源社区一直在对Tor源码进行审核,确保Tor不存在后门。对于证人与消息提供者,确保在线通信渠道安全至关重要,而Tor能够为需要完全匿名的在线密报提供最为可靠的基础架构。执法机构和调查人员用Tor匿名监视可疑网页和网络服务。Tor可以隐藏调查人员的身份和位置,有助于成功进行在线侦察。
4.1.Tor隐蔽信道的工作原理

图15 Tor隐蔽信道的工作原理
当Tor客户端启动之后,会首先以加密的方式连接到Tor目录服务器,接着检索全球的Tor网络节点的状态,随机选择一组Tor网络节点并载入它们的详细状态,然后通过一个Tor入口节点连接到Tor网络,最后通过Tor入口节点与Tor中继节点和Tor出口节点的连接建立一条Tor线路。为了确保Tor客户端与Tor目录服务器之间的加密连接免于遭受网络审查系统的审查,Tor目录服务器使用了例如IP任播技术、Kad网络、DHT网络、NAT穿透、UPnP协议等安全技术和安全机制,Tor客户端与Tor目录服务器之间建立的加密连接可以确保在检索网络状态和载入网络状态的过程中免于遭受网络审查系统的审查,避免之后即将建立的Tor线路上的Tor中继节点和Tor出口节点信息的泄露。Tor网络节点在某一时刻仅在Tor网络中承担一个角色,Tor客户端与Tor入口节点之间直接建立加密连接或者通过Tor网桥节点建立加密连接,Tor入口节点对多重加密的流量解开一重加密并传送给Tor中继节点,Tor中继节点再对多重加密的流量解开一重加密并传送给Tor出口节点,Tor出口节点对多重加密的流量解开最后一重加密后离开Tor网络进入Internet,通过连接到Tor网络并建立的Tor线路上的几个Tor网络节点分别属于不同的国家和地区,多重加密的流量在跨越了多个国家和地区的传送之后就会变得难以被网络审查系统审查。
4.2.Tor隐蔽信道与Internet隐蔽服务





图16 Tor隐蔽信道与Internet隐蔽服务
除了可以用来保护Internet访问客户端的身份之外,Tor隐蔽信道的特色就是可以用来保护Internet隐蔽服务提供者的身份,让客户端和服务器都在Tor隐蔽信道的保护下保持身份的隐蔽。使用Tor隐蔽信道建立Internet隐蔽服务首先需要从Tor网络中随机选择几个Tor节点作为介绍点并与它们之间通过Tor线路建立连接,接着Internet隐蔽服务提供者使用自己的公钥和所选择的介绍点的摘要生成一个描述符,然后Internet隐蔽服务提供者使用自己的私钥对描述符进行数字签名并将描述符提交到DHT网络中,最后Internet隐蔽服务提供者使用自己的公钥计算出所对应的.onion域名并通过秘密的方式将访问自己的Internet隐蔽服务所需的域名告诉Internet访问客户端。Internet访问客户端通过某种秘密的方式获取到了Internet隐蔽服务的域名,首先需要从Tor网络中随机选择一个Tor节点作为会合点并将Internet隐蔽服务的描述符提交到DHT网络中,接着Internet访问客户端使用Internet隐蔽服务的公钥对所选择的会合点的摘要进行加密并将密文提交到从DHT网络中查询到的介绍点,然后介绍点收到访问请求后将请求传送给Internet隐蔽服务提供者,最后Internet隐蔽服务提供者通过会合点与Internet访问客户端建立连接。
4.3.Tor隐蔽信道与Tor网桥
图17 Tor网桥
如果Tor网络中的Tor入口节点被网络审查系统封锁,还可以使用集成的Tor网桥突破网络封锁连接到Tor网络,Tor网桥支持的传输类型包括fte-ipv4、fte-ipv6、meek-amazon、meek-azure、meek-google等。meek网桥依赖于公有云平台提供的中继服务,由于公有云平台上运行着大量合法的的商业服务,网络审查系统为了保证这些商业服务的可用性,不敢随意封锁公有云平台上的服务,而且由于meek网桥设计了流量填充与流量混淆机制,网络审查系统难以鉴别流量的目的是正常的公有云平台服务的使用还是为了借助公有云平台连接到Tor网络的来自Tor隐蔽信道的流量。fte网桥的基本原理是格式转换加密,可以把任何协议和任何加密方式的流量转换为特定的协议和特定加密方式的流量,网络审查系统通常会封锁加密的流量,但是可以通过将加密的流量伪装成看似没有加密的流量,例如将https转换为http,但实际上在转换过程中看似去除了加密,而实质上仍然是加密的流量,从而突破网络审查系统的封锁。Tor Project正在不断地完善网桥的丰富性和可用性,将以更加有力的方式突破网络审查系统的封锁。
4.4.Tor隐蔽信道的隐蔽性与检测技术
图18 Tor网络在Internet中的所在位置
由于Tor隐蔽信道的研究一直领先于网络审查系统,并且针对所有可能被网络审查系统所检测到的特征,Tor隐蔽信道都实施了相应的反探测技术,尽可能地消除网络审查系统通过这些特征检测到Tor隐蔽信道的可能性,确保Tor隐蔽信道难以被网络审查系统检测到,网络审查系统一直在试图检测Tor隐蔽信道并实施封锁,但是Tor隐蔽信道至今仍未被网络审查系统完全封锁,所以目前针对Tor隐蔽信道尚无有效的检测方法。
5.隐蔽信道的最佳实践
图19 Edward Snowden和Tor隐蔽信道
为了突破网络审查系统的审查和封锁,合理地选择与使用隐蔽信道,既可以在计费网络环境中实现免费接入,又可以实现匿名访问Internet和提供Internet隐蔽服务,还可以学习到信息安全领域最前沿的研究技术与理论知识,实现隐蔽信道的最佳实践。我们计划下一步的研究方向将利用DNS隐蔽信道技术设计并实现汽车跟踪与监控系统,主要方法就是利用公用计费无线网络在未登录状态下允许DNS查询的特性,只需花低端汽车的钱即可享受高端汽车的服务,让隐蔽信道技术发挥它最大的价值。
6.参考文献
[1] RFC792 - INTERNET CONTROL MESSAGE PROTOCOL - https://tools.ietf.org/html/rfc792
[2] SoftEther VPN Manual - http://www.softether.org/4-docs
[3] OpenWrt Documentation - http://wiki.openwrt.org/doc/start
[4] RFC1631 - The IP Network Address Translator (NAT) - https://www.ietf.org/rfc/rfc1631.txt
[5] RFC1035 - DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION - https://www.ietf.org/rfc/rfc1035.txt
[6] kryo.se: iodine (IP-over-DNS tunnel) - http://code.kryo.se/iodine
[7] Tor Project Documentation - https://www.torproject.org/docs/documentation.html

没有评论:

发表评论