一种被动的Tor网络去匿名化方法

目前针对Tor的攻击检测方法都是采用主动攻击,本文将介绍一种被动攻击的去匿名化方法。

一、当前Tor网络检测方法

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

1.控制出口节点,篡改未加密流量。网站如果没有使用HTTPS协议则出口节点可以看到并篡改明文信息。 2.指纹攻击。Tor网络的数据加密阻止了节点查看用户在线活动,但是控制入口节点后仍可以根据流量的包长度和时序特征分析推断用户正在访问什么网站。 3.端到端的关联。攻击者需要至少运行一个入口节点和一个出口节点,利用入口节点的身份识别能力和出口节点的信息识别能力相关联分析出某用户正在访问某网站。 4.收集网桥地址。在一些限制使用Tor上网的地方用户会使用私有的网桥跳转到Tor网络中,这些网桥不被公开所以没法限制。攻击者也可以通过运行一个中继节点专门收集不是公共入口节点的网桥地址。

以上方法都属于主动探测,攻击者需要控制少数节点获取流量信息。

第一,少数节点难以被Tor客户端随机选中,第二,Tor项目对所有 Tor节点通过在线情况进行投票标识flag(包括Stable、Valid、Exit、BadExit、Valid、Fast等),只有稳定节点被选取的机会大。

为了掌握更多的流量信息,一些攻击者实施Sybils攻击,即控制更多的Tor节点,这对资源有限制。因此对Tor网络的主动攻击还是很困难的,以下介绍一种被动的Tor网络检测方法,主要针对服务器端的去匿名化。

二、被动检测介绍

被动检测与主动检测最主要的区别是:不依赖于Tor网络的任何协议缺陷,只需要作为一个用户正常访问暗网网站就可以,也不需要在一个封闭的网络里搭建试验性网站做验证。只需要:

1.访问网站,根据网站的一些配置问题或证书信息或网页内容等泄露的 IP地址或域名进行提取。 2.然后根据提取的信息进行访问验证。

三、被动检测方法

1.需要提取的泄露信息有:

互联网终端信息(DNS domains、IP address) 特殊字符串(Google Analytics ID、page title等) HTTPS证书信息

2.具体思路:

图1 Tor网络被动去匿名化思路

(1)收集暗网URL及它的响应信息(头信息、网页HTML内容等),为提取泄露信息做准备。“Deepweb links”、“The Hidden Wiki”等暗网网站会提供一些URL 列表。

(2)收集3类泄露信息作为提取内容。在响应信息里查找互联网终端信息和网站特殊字符串,以及查找HTTPS证书信息。

终端信息包括DNS domains,URLs,email domains,IP address等。

这些信息如果在暗网网页或访问错误页面中出现,则可能与运行暗网的服务器有关,即同一服务器上运行多个服务(暗网和互联网网站),这种相关性可以通过互联网地址暴露暗网地址。但以下信息不作为提取内容:

(a)URLs里包含暗网地址,因为不能暴露出本来的暗网地址,但可以把它收集到数据库做进一步分析; (b)Domians包含在Alexa域名列表里的,因为比较流行的域名不会在同一个服务器上运行另一个暗网网站或者就是公开运行的(如Facebook); (c)IP地址在同一个网页出现多次(5次以上),可能是跳转地址。

特殊字符串包括Google Analytics ID,Google AdSense ID,Bitcoin wallets,page title等。

Google Analytics ID可作为网页的唯一标识,Google AdSense ID可作为网站发布商的唯一标识,Bitcoin wallets地址可作为暗网用户账户的唯一标识。

特殊的page title也可以作为网页唯一标识,排除在超过10个暗网都出现过的标题以及具有公共性的标题(如错误提示页面标题)。

字符串越特殊被提取的信息越有效,如果在暗网网页中查找到的这些信息同样也嵌入了互联网网站,则很大可能这两个网站运行在同一服务器上,就提取这些出现过暗网特殊字符的互联网网站的域名作为备用信息。

收集证书信息,为了方便管理一个Web服务器可能运行的多个网站使用相同的证书,或者现在使用的证书是用于之前网站的配置。提取信息包括:

(a)证书中的CN(the Subject’s Common Name)和SAN(the Subject’s Alternatice Name )里包含的IP地址或其他多域名信息; (b)DER格式证书的SHA1哈希值或证书的公钥,将这些值在证书库工具(如Sonar)中查找是否有相同信息的证书的网站。将这些网站的IP地址或域名提取出来作为备用信息。

最后将提取的备用信息(IP地址或域名)与对应的暗网地址组成键值对(<onion_address, Internet_endpoint>)做进一步验证。

(3)验证。首先如果键值对中是域名则转换为IP地址,然后将所有暗网地址与提取出的IP 地址分别发送HTTP请求(更改不同的请求信息,如HOST绑定),根据HTTP响应信息和body信息比较两个网站的“距离”进而验证是否有地址泄露。

四、注意事项

同一个服务器上同时运行着暗网和互联网网站,在相互切换或连接时,可能会有一些配置错误或内容展示错误,很容易泄露暗网地址。因此管理员在配置匿名网站时需注意:

1.使用一个专用的Web服务器,而不是通过创建一个虚拟机来托管服务,也不要在暗网网站服务器上运行多个其他网站。 2.配置暗网服务时,使Web服务器只绑定到localhost,这样除了通过Tor网络可以访问服务,在互联网上直接访问泄露的IP地址是访问不到的。 3.现场审计,管理员在发布网站之前要手动检查网页中是否包括互联网IP地址或域名或容易被识别的身份信息。 4.合理利用证书,避免CN或SAN中包含其他DNS或IP,使证书只用于当前暗网服务。 5.避免在Tor中继节点上托管暗网服务。Tor节点的正常运行时序、IP地址等信息都是公开的,可以一一验证。

参考文献

https://software.imdea.org/~juanca/papers/caronte_ccs15.pdf

https://www.cs.princeton.edu/~rensafi/papers/sybilhunting-sec16.pdf

https://www.torproject.org/docs/tor-hidden-service.html.en

https://www.symantec.com/content/zh/cn/enterprise/white_papers/WhitePaper_Multiuse_SSL_Cert_SC.pdf

*本文原创作者:ArkTeam/weedy,转载请注明来自FreeBuf

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2016-12-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Linyb极客之路

web安全浅析

写这篇文章的初衷,主要由于自己所负责的项目有这方面的需求,就简要提一提web安全方面的一些知识 ? 一.web安全的兴起 web攻击技...

50450
来自专栏SpringBoot 核心技术

OAuth 2和JWT - 如何设计安全的API?

67520
来自专栏FreeBuf

一款高度可定制的WiFi钓鱼工具 – WiFiPhisher

工具简介 WiFiPhisher是一款高度可定制的WiFi钓鱼攻击工具,它可以对具体的WiFI客户端进行攻击,例如获取用户凭证或感染恶意软件。与其他攻击不同的是...

650100
来自专栏阮一峰的网络日志

如何验证 Email 地址:SMTP 协议入门教程

Email 是最常用的用户识别手段。 开发者常常需要验证邮箱的真实性。一般的方法是,注册时向该邮箱发出一封验证邮件,要求用户点击邮件里面的链接。 ? 但是很多时...

72630
来自专栏FreeBuf

Metasploit中的JAVA反向TCP做法的研究

在研究CVE-2015-7450这个JAVA反序列化漏洞时,面临着一个问题:在WebSphere中,该漏洞仅可以执行命令,但是不能回显执行结果。 遇到这种漏洞,...

256100
来自专栏实用工具入门教程

如何部署 MQTT 服务器

MQTT是一种机器到机器的消息传递协议,旨在为“物联网”设备提供轻量级的发布/订阅通信。Mosquitto是一种流行的MQTT服务器(或MQTT中的代理),具有...

2.3K40
来自专栏FreeBuf

打开文件夹就运行?COM劫持利用新姿势

*本文原创作者:菠菜,本文属FreeBuf原创奖励计划,未经许可禁止转载 打开文件夹就能运行指定的程序?这不是天方夜谭,而是在现实世界中确实存在的。利用本文探讨...

27680
来自专栏架构师小秘圈

互联网安全威胁及应对方案

作者:蒋海滔,阿里巴巴国际事业部,高级技术专家,爱好Java/JavaScript,长期关注高性能、并发编程以及Web安全。 来自:高可用架构(ID:ArchN...

41340
来自专栏FreeBuf

关于C/S架构系统的安全监测

由于工作需求,需要对一大批C/S架构的系统进行测试,所以这几天一直在摸索怎么个套路法,踩过的坑就不发了,直接奔我个人的套路: C/S架构的系统,说最直白一点就是...

44480
来自专栏java达人

JWT VS Session

作者:Prosper Otemuyiwa 译者:java达人 来源:https://ponyfoo.com/articles/json-web-tokens-...

48360

扫码关注云+社区

领取腾讯云代金券