目前针对Tor的攻击检测方法都是采用主动攻击,本文将介绍一种被动攻击的去匿名化方法。一、当前Tor网络检测方法当前对Tor网络的攻击检测一般有以下几种方法:
以上方法都属于主动探测,攻击者需要控制少数节点获取流量信息,第一,少数节点难以被Tor客户端随机选中,第二,Tor项目对所有 Tor节点通过在线情况进行投票标识flag(包括Stable、Valid 、Exit、BadExit、Valid、 Fast等),只有稳定节点被选取的机会大。为了掌握更多的流量信息,一些攻击者实施Sybils攻击,即控制更多的Tor节点,这对资源有限制。因此对 Tor网络的主动攻击还是很困难的,以下介绍一种被动的Tor网络检测方法,主要针对服务器端的去匿名化。 二、被动检测介绍被动检测与主动检测最主要的区别是:不依赖于Tor网络的任何协议缺陷,只需要作为一个用户正常访问暗网网站就可以,也不需要在一个封闭的网络里搭建试验性网站做验证。只需要:
三、被动检测方法 1.需要提取的泄露信息有:
2.具体思路:
图1 Tor网络被动去匿名化思路 (1)收集暗网URL及它的响应信息(头信息、网页HTML 内容等),为提取泄露信息做准备。“Deepweb links”、“The Hidden Wiki”等暗网网站会提供一些URL 列表。 (2)收集3类泄露信息作为提取内容。在响应信息里查找互联网终端信息和网站特殊字符串,以及查找HTTPS 证书信息。 终端信息包括DNS domains,URLs,email domains ,IP address等。这些信息如果在暗网网页或访问错误页面中出现,则可能与运行暗网的服务器有关,即同一服务器上运行多个服务(暗网和互联网网站),这种相关性可以通过互联网地址暴露暗网地址。但以下信息不作为提取内容:
特殊字符串包括Google Analytics ID,Google AdSense ID,Bitcoin wallets ,page title等。Google Analytics ID可作为网页的唯一标识,Google AdSense ID 可作为网站发布商的唯一标识,Bitcoin wallets地址可作为暗网用户账户的唯一标识。特殊的page title也可以作为网页唯一标识,排除在超过 10个暗网都出现过的标题以及具有公共性的标题(如错误提示页面标题)。字符串越特殊被提取的信息越有效,如果在暗网网页中查找到的这些信息同样也嵌入了互联网网站,则很大可能这两个网站运行在同一服务器上,就提取这些出现过暗网特殊字符的互联网网站的域名作为备用信息。 收集证书信息,为了方便管理一个Web服务器可能运行的多个网站使用相同的证书,或者现在使用的证书是用于之前网站的配置。提取信息包括:
最后将提取的备用信息(IP地址或域名)与对应的暗网地址组成键值对(<onion_address, Internet_endpoint>)做进一步验证。 (3)验证。首先如果键值对中是域名则转换为IP地址,然后将所有暗网地址与提取出的IP 地址分别发送HTTP请求(更改不同的请求信息,如HOST绑定),根据HTTP响应信息和 body信息比较两个网站的“距离”进而验证是否有地址泄露。 四、注意事项同一个服务器上同时运行着暗网和互联网网站,在相互切换或连接时,可能会有一些配置错误或内容展示错误,很容易泄露暗网地址。因此管理员在配置匿名网站时需注意:
参考文献 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 |