各位同学们大家好,我将会在这一系列的文章中跟大家讨论有关匿名系统安全方面内容,包括暗网的运行机制以及其中的各种匿名服务。以下是我在2016年HackFest大会(2016年11月5日)上所做的演讲内容,如果有不对的地方欢迎大家批评指正。
写在前面的话
我的名字叫Sarah,我是一名独立的匿名隐私研究人员。在此之前,我曾经是一名任职于亚马逊公司的安全工程师,当时我的工作就是帮助公司防止攻击者通过机器学习系统来对我们客户进行网络欺诈活动。在加入亚马逊之前,我还是英国情报机构政府通信总部(GCHQ)一名计算机科学家。不过不好意思,有关GCHQ的工作内容我就不能告诉各位了。
今天,我准备跟大家讨论一些关于匿名性和隐私安全方面的东西,所有的这些内容我都已经在网站mascherari.press上发布过了,感兴趣的同学可以访问查看。
内容概述
首先,我会跟大家简单介绍一下关于隐藏服务安全方面的内容。请大家放心,我不会再去跟各位详细讨论Tor网络的运行机制。我相信即便你并不是十分了解匿名服务,你同样能够听得懂我在说什么。在今年年初,我曾对目前匿名系统的安全性进行了研究,我总结出了该系统目前所面临的五大安全风险,所以我首先会向大家介绍这五大安全风险。
接下来就是我此次演讲的核心内容了,我会告诉大家暗网所能实现的匿名化程度到底有多高,这部分内容也是我这几个月以来的研究成果。介绍完之后,我还会给大家提供几个研究案例。不过在此我要提醒大家的是,虽然我会提到关于去匿名化的内容,但是在演讲过程中我并不会直接告诉大家如何实现去匿名化以及哪些因素将有可能导致访问者身份暴露。
最后,我将在演讲结束之前与大家分享我对暗网未来的看法。除此之外,我也会与大家讨论我们应该如何去解决暗网目前所面临的安全问题。
基本概念
现在,我准备给大家介绍一下什么是隐藏服务,尤其是如何实现隐藏服务的去匿名化。这其实并不算是密码学研究上的新突破,而且也不会对Tor网络和其他的匿名网络产生影响。实际上,我今天所要演示给大家看的东西可以让网站运营者和软件设计者更加清楚地知道我们到底应该保护那些类型的信息。
关于隐藏服务最重要的一点就是,它们所要隐藏的东西其实就是IP地址,这一点请你记住。如果服务隐藏在某个匿名网络(例如Tor网络)的后面,那么客户将永远无法获取到这个暗网服务的IP地址,反之亦然,隐藏服务同样无法得知客户的IP地址。但是,隐藏服务在设计之初并没有提供任何防止服务信息外泄的保护机制。比如说,我现在运营着一大堆隐藏服务,而所有的这些服务都与我的“明网”身份有着某种联系,所以别人可以轻易地发现这些隐藏服务背后的运营者其实就是我。
今天我们主要讨论的是隐藏服务无意间的身份泄漏问题,待会儿你就会看到,识别出隐藏服务的身份信息其实并不难。
匿名服务的安全现状
在今年年初,我曾扫描了8000多个暗网网站,希望可以找出一些包含错误配置的暗网站点。需要注意的是,由于很多隐藏服务的正常运营时间具有不确定性,因此整个扫描过程花费了我好几周的时间。在对扫描结果进行了非常详细的人工分析之后,我总结出了暗网服务目前所面临的五大安全风险。
问题NO.5:开放/可读的网站目录
首先,问题NO.5是开放/可读的网站目录。这种情况在“明网”中非常的常见,但是这种开放目录将会对隐藏服务的安全性带来非常严重的影响。网站管理员通常喜欢将网站资源直接存放在类似“Backup”这样的目录中,因为他们觉得没人会来查看这些目录或文件。上图显示的就是我在某个暗网服务中扫描到的网站目录,其中每一个文件夹中都包含有22个隐藏服务的相关资源。由此可以看出,所有的这些隐藏服务全部都托管在同一台网络服务器之中,其中还包括多个出售非法药物的暗网市场和一个社交网站。其实这还不是最糟糕的情况,某些隐藏服务的管理员会直接将网站的数据库备份文件(sql文件)和配置文件直接存放在“Backup”文件夹中,这才是最可怕的事情。
问题NO.4:EXIF元数据
问题NO.4是EXIF元数据。这类数据是编码在图片之中的,它可以告诉你这张数字相片是在哪里拍摄的、用哪种设备拍摄的、或者是用什么软件编辑的等等。实际上,EXIF元数据的安全问题早在几年前就已经出现了。比如说,你可以从暗网市场中下载一张在售可卡因的商品图片,然后从中提取出拍照地点的GPS坐标,接下来你就可以利用地图服务的街景模式来找到这个地方了。
最近,很多大型暗网市场已经开始对所有上传的图片进行重新编码了,以确保图片不会留下可被分析的元数据。但是,你仍然可以在很多小型网站或产品厂商页面中找到包含EXIF元数据的图片,虽然已经没有多少图片还包含GPS数据了,但是这些元数据仍然会给暗网服务带来安全问题。
上面这张截图显示的是我从某个暗网市场收集到的一张图片的元数据,如果你想要了解关于这个隐藏服务的更多内容,那么这些数据绝对会非常有用。管理员在制作这张图片时,使用的是Windows还是Mac呢?他们有没有固定的制图软件?他们使用的是相机附带的编辑软件吗?别担心,EXIF元数据会告诉你一切。
问题NO.3:克隆网站
问题NO.3是克隆网站。在扫描过程中,我发现大约有29%的匿名服务有至少一个副本,这里的“副本”指的是网站页面内容的sha1哈希完全相同。在进行了大量分析工作之后,我发现如果暗网服务使用的是动态页面的话,那么包含至少一个副本的网站数量可能会更高。
这些网站副本通常是管理员故意留下的,有可能是出于对网站均衡负载的考虑,也有可能是为了进行某些其他的活动。但是我们要知道,现在暗网中存在大量这种类型的克隆网站,这些网站可以监听并篡改合法网站所发送的网络请求,例如比特币钱包地址等等。通常情况下,辨别克隆网站的唯一方法就是仔细查看网页中的每一张图片,看看这些图片中是否有相应网站的水印或者信息识别标识。
问题NO.2:SSH指纹
问题NO.2是SSH指纹。每一台服务器通常只有一个唯一的公共密钥,所以我们可以通过对比两个隐藏服务所使用的SSH指纹来判断它们是否使用的是同一台服务器。除此之外,如果你的服务器存在错误配置或者主机端口对“明网”开放的话,Shodan引擎将可以搜索到你的SSH公共密钥。这样一来,他人就可以直接找到你的隐藏服务所使用的IP地址了。在研究过程中,我通过Shodan引擎发现了至少有30个暗网网站的SSH指纹配置存在安全问题。
问题NO.1:Localhost绕过
问题NO.1是本地主机绕过。如果你在隐藏服务中所运行的软件会给本地流量分配特殊的权限,或者是你对你的Web应用进行了额外的配置,那么就有可能发生问题1所描述的这种情况,最常见的就是Apache的mod_status模块了。我发现目前大约有6%的暗网网站存在Apache本地主机绕过问题,这种安全问题不仅会暴露服务器的IP地址,而且该服务器所托管的其他网站也将会受到影响。
这种问题非常的常见,而且还会带来非常严重的影响。目前大约有12%的Apach服务器存在mod_status泄漏的问题,而且在过去的几年里,这个数字有增无减。
总结
在这篇文章中,主要跟大家介绍了关于暗网服务的一些基本内容,并且告诉了大家目前隐藏服务所面临的五大安全问题。在下一篇文章中,我将会给大家深入分析暗网服务的安全机制与匿名化的问题。敬请关注!