无界之地,生死之门——Tor

历史背景

1995年,美国军方希望军事情报机构可以让情报人员的网上活动不被敌对国进行监控,从而可以秘密的进行开源情报收集。于是,美国海军研究实验室的科学家开始开发一种匿名技术,可以避免人们的行迹在Internet上被追踪到。他们把这个技术叫做“洋葱路由”。“洋葱路由”利用P2P网络,把网络流量随机的通过P2P的节点进行转发,这样可以掩盖源地址与目标地址的路径。使得在Internet上难以确定使用者的身份和地址。

可以看出Tor最初始并非为保护大众的隐私而开发,Tor的大众化应用是由于Tor网络如果单纯的只提供给情报部门使用的话反而使得流量不能安全(Tor网络上的所有流量都是情报部分的机密数据, 人们一看到来自这个系统的流量就知道,啊,这是一个CIA的间谍)。所以,为了将情报部门的流量进行混淆就将Tor开放给大众,这样情报流量就很好的隐藏了。

匿名原理

首先,了解一下日常生活中我们的上网流量是怎么样进行路由处理的,简化版上网流量传输模型如下(PC/客户端 ==> 家庭路由器 ==> 骨干路由器 ==> 数据源/网站服务器):

无界之地,生死之门——Tor

上网流量路由示意图

有网络基础的朋友应该知道流量报文中包含了的请求来源和目的地,它才能将网站服务器的响应准确的返回你的上网PC。这样的话,从网络截取的流量就可以轻松的追踪到你的IP地址,进一步通过电信局的IP分配记录就可以找到真实的你“查水表”了。

而洋葱路由器要解决正是为了解决上述的问题:中间人即使在Internet上截获通信的流量也无法判定通信的源头与目的地。

无界之地,生死之门——Tor

Tor网络示意图

洋葱路由的原理就好像你送一封匿名信,不是自己送或者通过邮差送,而是大街上随便找一个不认识的人让他帮你送。这样收信方就很难往回找到你。

实现原理描述:Tor网络由大量的志愿者贡献自己的PC/服务器运行洋葱路由协议的节点(node)而组成,Tor客户端(如嵌入Tor的浏览器)随机的从Tor网络中选取3台路由器形成一个私有网络路径传输加密的流量,每台节点路由器只知道数据送往的一下跳,而不知道发送流量的来源。这样就保证了这3个节点没有谁知道完整的流量传输路径。也就是说,Tor网络将流量的源地址与目的地址进行了隔断,从而无法根据截取的流量进行源地址追踪。

当前Tor网络检测方法

当前对Tor网络的攻击检测一般有以下几种方法:

1.控制出口节点,篡改未加密流量。网站如果没有使用HTTPS协议则出口节点可以看到并篡改明文信息。

2.指纹攻击。Tor网络的数据加密阻止了节点查看用户在线活动,但是控制入口节点后仍可以根据流量的包长度和时序特征分析推断用户正在访问什么网站。

3.端到端的关联。攻击者需要至少运行一个入口节点和一个出口节点,利用入口节点的身份识别能力和出口节点的信息识别能力相关联分析出某用户正在访问某网站。

4.收集网桥地址。在一些限制使用Tor上网的地方用户会使用私有的网桥跳转到Tor网络中,这些网桥不被公开所以没法限制。攻击者也可以通过运行一个中继节点专门收集不是公共入口节点的网桥地址。

关于tor详细的学习教程 在网络黑白有详细的讲解 ,有兴趣的可以看看。

以上方法都属于主动探测,攻击者需要控制少数节点获取流量信息,第一,少数节点难以被Tor客户端随机选中,第二,Tor项目对所有 Tor节点通过在线情况进行投票标识flag(包括Stable、Valid 、Exit、BadExit、Valid、 Fast等),只有稳定节点被选取的机会大。为了掌握更多的流量信息,一些攻击者实施Sybils攻击,即控制更多的Tor节点,这对资源有限制。因此对 Tor网络的主动攻击还是很困难的。

Tor(洋葱网络)匿名的恶意使用

勒索软件利用Tor

勒索软件是一种可控制用户系统或资产,并以此为条件向用户勒索钱财的恶意软件。

2017年5月12日,WannaCry蠕虫通过MS17-010漏洞在全球范围大爆发,感染了大量的计算机,该蠕虫感染计算机后会向计算机中植入敲诈者病毒,导致电脑大量文件被加密。

病毒WannaCry,病毒利用前阵子泄漏的方程式工具包中的“永恒之蓝”漏洞工具,进行网络端口扫描攻击,目标机器被成功攻陷后会从攻击机下载WannaCry病毒进行感染,并作为攻击机再次扫描互联网和局域网其他机器,形成蠕虫感染,大范围超快速扩散。

病毒母体为mssecsvc.exe,运行后会扫描随机ip的互联网机器,尝试感染,也会扫描局域网相同网段的机器进行感染传播。此外,会释放敲诈者程序tasksche.exe,对磁盘文件进行加密勒索。

病毒加密使用AES加密文件,并使用非对称加密算法RSA 2048加密随机密钥,每个文件使用一个随机密钥,理论上不可破解。

主要分为两类:

加密型勒索:感染目标设备后通过强大的加密算法(AES、RSA等)将用户文件、磁盘、数据库进行加密。

锁定型勒索:感染目标设备后通过篡改设备密码将设备锁定,使得用户无法正常使用。

近几年,勒索攻击事件愈演愈烈,勒索软件在全球范围内猖獗。CyberEdge公司发布2017年度网络威胁防御报告,报告中指出有61%的组织受到过勒索软件的侵害,其中1/3的用户选择了支付赎金。勒索软件不断呈现新的态势,在目标感觉阶段、本地攻击阶段、勒索支付阶段的复杂性和多样性一直在增加。其中,在本地攻击阶段和勒索支付阶段分别使用了Tor。

在本地攻击阶段勒索软件使用Tor隐藏C&C服务器,如CTB-Locker[5]。用户被感染后CTB-Locker利用不可破解的EllipticCurve Diffie-Hellman算法对文件进行加密,所有通信和数据传递都通过Tor网络来进行,C&C服务器使用Hidden Service,使其更加难以追踪和关停。用户不需要安装有Tor浏览器,Tor的可执行程序被硬编码到恶意软件中。

在勒索支付阶段使用了Tor网络提供支付比特币赎金地址,如CryptoWall3.0和PETYA ransomware,勒索信息里会包含一条以“.onion”结尾的链接地址,告知用户交易地址,这样很难被追踪,即使没有解密也难以追回赎金,但是勒索者在这方面都具有惊人的良好信用。

黑市交易

Tor网络不仅可以隐藏发送者的地址信息,也可以隐藏接收者的服务器地址信息。很多黑市商人利用Tor网络搭建匿名服务器进行黑市交易,著名的“丝绸之路”就是利用Tor网络的犯罪市场。虽然“丝绸之路”已被查封,但是暗网中仍然存在大量的黑市交易产业。

Tor的应用在一定程度上会给恶意应用者带来隐蔽性,但是由于Tor本身的流量特殊性以及去匿名化的研究越来越多,Tor的附加应用不一定会带来更好的效果。

Botnet利用Tor

僵尸网络作为最有效的网络攻击平台,给互联网安全带来了巨大的威胁。随着攻防技术的不断研究,僵尸网络的形态和控制命令机制也在不断变化[1]:

(1)首先是IRC机制,中心化结构但是有单点故障问题;

(2)P2P结构,解决了单点故障问题,但是无法监视命令状态,实现又很复杂;

(3)HTTP协议的botnet,又不断改进为动态访问机制的Fast-Flux和Domain-Flux。

僵尸网络利用Tor进行匿名通信首次被提出是在2010 DefCon大会上,以“ZeuS”为例将C&C服务器部署于Tor暗网中,但是它不支持代理,不能直接使用Tor,但是可以通过设置URL使用tor2web代理服务进行访问暗网。这样以最小的代价提高了botnet的存活性,Tor网络配置简单,只需提供一个.onion地址就可以实现隐藏C&C。

Botnet over Tor

直到2012年12月“Skynet”的出现验证了“Botnet over Tor”的思想。Botnet主要利用Tor的隐藏服务功能隐藏C&C服务器,并在恶意程序中包含Tor程序,通过下达指令使bot自动安装Tor组件,进而通过Tor网络进行通信(如图3)。控制者将所有命令与控制信道都在Tor网络中进行,这样的好处有:

(1)不存在出口节点泄露信息的威胁;

(2)控制者身份不易被追踪和暴露;

(3)C&C服务器几乎可以免除被关闭或删除。

随后2013年随着Tor用户量的异常增加,“Sefnit”[2]僵尸网络出现了,也是通过Tor隐藏C&C服务器,之后Tor项目对该版本的Tor(恶意代码随意执行无验证漏洞)进行升级,微软更新安全组件、扫描工具等进行清理恶意程序。2014年又出现了首个基于Tor的Android僵尸网络隐藏C&C进行通信。

利用Tor的botnet弊端

(1)Botnet大量使用Tor,导致Tor的下载速度下降、Tor的用户量剧增,必然会引起Tor用户的关注和安全专家的研究;

(2)使用Tor访问需要安装、配置和运行Tor,导致botnet的网络异常;

(3)Tor本身的流量特征模式也比较明显,增加botnet的异常性;

(4)使用Tor可能需要增加额外的大量功能代码;

(5)使用Tor后botnet仍然面临着Crawling攻击和Sinkholing攻击。

可见botnet和Tor的强强联合没有并带来更好的效果。

比特币利用Tor

比特币是一种在P2P网络里进行交易的基于密码学的分散式虚拟货币。比特币交易系统里的付款人和收款人的交易地址都是公钥编码后的哈希值,所以一般不可识别。但是可以通过IP地址与你的交易联系起来,如通过ISP、NSA、恶意节点攻击等方法。所以Tor被用到比特币中防止交易方的IP地址泄露。

但是,比特币通过Tor进行交易并不是一个好的想法,很容易被攻击者利用。

首先,在比特币网络中,如果比特币节点收到恶意构造的畸形消息(如某些协议字段的大小不正确),通过其内部机制的判断,会将消息发送者的源IP地址加入黑名单中,导致该IP在24小时内无法访问该比特币服务节点。

攻击者的攻击流程如下:

(1)分别构造少量恶意的比特币节点和Tor出口节点,并向各自所在网络中宣传,让普通用户的地址列表中存在这些恶意节点。

(2)攻击者通过Tor网络向合法的比特币服务节点发送大量恶意构造消息,导致Tor网络正常的出口节点被比特币服务节点拒绝访问。

(3)用户通过Tor网络访问合法比特币节点时,如果选择了被拒绝访问的Tor出口节点则不得不重新选择访问链路。此时用户可能会选择攻击者构造的恶意Tor出口节点,或者Tor出口节点是合法的,但最终指向了攻击者部署的恶意比特币节点。

以上两种可能都实现了中间人攻击,可见Bitcoin利用Tor隐藏地址会出现新的风险。

Tor出口节点嗅探流量

Tor网络在设计之初,只是为了隐藏发送者和接收者的位置信息,并没有对内容信息进行隐藏,网站可以使用HTTPS对其加密。但是很多网站仍然使用HTTP协议构建网络,这给Tor网络的出口节点制造了嗅探流量的机会。利用蜜罐技术可以识别恶意出口节点。

(1)研究者在实验中[6]部署一个蜜罐网站,并且设置访问权限。

(2)通过正常的Tor网络访问该蜜罐网站,每次访问都分别使用唯一的用户名密码账号信息,并记录出口节点IP地址及其他信息。

(3)如果该网站被登录过的用户名密码再次访问说明账号信息泄露,该账号对应的Tor出口节点已嗅探流量,视为恶意出口节点。

实验证明在1400个出口节点中存在7个恶意嗅探流量的节点,毕竟大多数的志愿者是友好的。另外,Tor的出口节点也有可能修改用户请求数据或插入恶意代码实施中间人攻击,该种情况可以通过比较使用Tor网络访问网站和不使用Tor网络访问相同网站的响应数据是否一致,如果不一致即说明出口节点可能实现了中间人攻击。


分享到:


相關文章: