Tor本来是为用户提供匿名上网保护用户隐私的工具,但是对于一些用户来说,他们可以利用Tor的隐蔽性进行黑客攻击或非法交易活动。总结Tor的恶意应用主要表现在以下几方面。
1.Botnet利用Tor
僵尸网络作为最有效的网络攻击平台,给互联网安全带来了巨大的威胁。随着攻防技术的不断研究,僵尸网络的形态和控制命令机制也在不断变化[1]:
(1)首先是IRC机制,中心化结构但是有单点故障问题;
(2)P2P结构,解决了单点故障问题,但是无法监视命令状态,实现又很复杂;
(3)HTTP协议的botnet,又不断改进为动态访问机制的Fast-Flux和Domain-Flux。
僵尸网络利用Tor进行匿名通信首次被提出是在2010 DefCon大会上,以“ZeuS”为例将C&C服务器部署于Tor暗网中,但是它不支持代理,不能直接使用Tor,但是可以通过设置URL使用tor2web代理服务进行访问暗网(图1,图2)。这样以最小的代价提高了botnet的存活性,Tor网络配置简单,只需提供一个.onion地址就可以实现隐藏C&C。
图1 ZeuS不支持配置dialing
图2 通过Tor2Web格式化请求脚本
直到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进行通信(图4)。
图3 botnet利用Tor隐藏C&C
但是利用Tor的botnet也存在一些弊端[3]:
(1)Botnet大量使用Tor,导致Tor的下载速度下降、Tor的用户量剧增,必然会引起Tor用户的关注和安全专家的研究;
(2)使用Tor访问需要安装、配置和运行Tor,导致botnet的网络异常;
(3)Tor本身的流量特征模式也比较明显,增加botnet的异常性;
(4)使用Tor可能需要增加额外的大量功能代码;
(5)使用Tor后botnet仍然面临着Crawling攻击和Sinkholing攻击。
可见botnet和Tor的强强联合没有并带来更好的效果。
勒索软件是一种可控制用户系统或资产,并以此为条件向用户勒索钱财的恶意软件。主要分为两类:
加密型勒索:感染目标设备后通过强大的加密算法(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的可执行程序被硬编码到恶意软件中(图5)。
在勒索支付阶段使用了Tor网络提供支付比特币赎金地址,如CryptoWall3.0和PETYA ransomware,勒索信息里会包含一条以“.onion”结尾的链接地址(图6),告知用户交易地址,这样很难被追踪,即使没有解密也难以追回赎金,但是勒索者在这方面都具有惊人的良好信用。
图5 勒索软件利用Tor隐藏C&C
图6 通过Tor支付赎金
比特币是一种在P2P网络里进行交易的基于密码学的分散式虚拟货币。比特币交易系统里的付款人和收款人的交易地址都是公钥编码后的哈希值,所以一般不可识别。但是可以通过IP地址与你的交易联系起来,如通过ISP、NSA、恶意节点攻击等方法。所以Tor被用到比特币中防止交易方的IP地址泄露(图7)。
图7 比特币利用Tor隐藏地址
图8 攻击者部署恶意节点
但是,比特币通过Tor进行交易并不是一个好的想法,很容易被攻击者利用[5]。
首先,在比特币网络中,如果比特币节点收到恶意构造的畸形消息(如某些协议字段的大小不正确),通过其内部机制的判断,会将消息发送者的源IP地址加入黑名单中,导致该IP在24小时内无法访问该比特币服务节点。
攻击者的攻击流程如下:
(1)分别构造少量恶意的比特币节点和Tor出口节点,并向各自所在网络中宣传,让普通用户的地址列表中存在这些恶意节点。
(2)攻击者通过Tor网络向合法的比特币服务节点发送大量恶意构造消息,导致Tor网络正常的出口节点被比特币服务节点拒绝访问。
(3)用户通过Tor网络访问合法比特币节点时,如果选择了被拒绝访问的Tor出口节点则不得不重新选择访问链路。此时用户可能会选择攻击者构造的恶意Tor出口节点,或者Tor出口节点是合法的,但最终指向了攻击者部署的恶意比特币节点(图8)。
以上两种可能都实现了中间人攻击,可见Bitcoin利用Tor隐藏地址会出现新的风险。
Tor网络在设计之初,只是为了隐藏发送者和接收者的位置信息,并没有对内容信息进行隐藏,网站可以使用HTTPS对其加密。但是很多网站仍然使用HTTP协议构建网络,这给Tor网络的出口节点制造了嗅探流量的机会。利用蜜罐技术可以识别恶意出口节点(图9)。
(1)研究者在实验中[6]部署一个蜜罐网站,并且设置访问权限。
(2)通过正常的Tor网络访问该蜜罐网站,每次访问都分别使用唯一的用户名密码账号信息,并记录出口节点IP地址及其他信息。
(3)如果该网站被登录过的用户名密码再次访问说明账号信息泄露,该账号对应的Tor出口节点已嗅探流量,视为恶意出口节点。
实验证明在1400个出口节点中存在7个恶意嗅探流量的节点,毕竟大多数的志愿者是友好的。另外,Tor的出口节点也有可能修改用户请求数据或插入恶意代码实施中间人攻击,该种情况可以通过比较使用Tor网络访问网站和不使用Tor网络访问相同网站的响应数据是否一致,如果不一致即说明出口节点可能实现了中间人攻击(图10)。
图9 识别恶意Tor出口节点嗅探流量
图10 识别恶意Tor出口节点中间人攻击
Tor网络不仅可以隐藏发送者的地址信息,也可以隐藏接收者的服务器地址信息。很多黑市商人利用Tor网络搭建匿名服务器进行黑市交易,著名的“丝绸之路”就是利用Tor网络的犯罪市场。虽然“丝绸之路”已被查封,但是暗网中仍然存在大量的黑市交易产业(图11)。
图11 暗网非法交易
Tor的应用在一定程度上会给恶意应用者带来隐蔽性,但是由于Tor本身的流量特殊性以及去匿名化的研究越来越多,Tor的附加应用不一定会带来更好的效果。
[1] http://securityaffairs.co/wordpress/13747/cyber-crime/http-botnets-the-dark-side-of-an-standard-protocol.html [2] https://blogs.technet.microsoft.com/mmpc/2014/01/09/tackling-the-sefnit-botnet-tor-hazard [3] Casenove M, Miraglia A. Botnetover Tor: The illusion of hiding[C]//Cyber Conflict (CyCon 2014), 2014 6thInternational Conference On. IEEE, 2014: 273-282. [4] http://www.coinbuzz.com/2014/07/29/ctb-locker/ [5] Biryukov A, Pustogarov I.Bitcoin over Tor isn’t a good idea[C]//Security and Privacy (SP), 2015 IEEESymposium on. IEEE, 2015: 122-134. [6] https://motherboard.vice.com/en_us/article/badonion-honeypot-malicious-tor-exit-nodes