ToR 0day:查找IP地址

2020-09-17 12:12:57

去年2月,我的Tor洋葱服务遭遇了基于Tor的分布式拒绝服务(DDoS)攻击。我花了几天时间分析攻击,开发缓解方案,并保护我的服务器。(我为互联网档案馆(Internet Archive)运行的Tor服务停机了几个小时,但在攻击的大部分时间里,我设法保持了它的正常运行。)。在试图找到创造性的方法来维持服务的同时,我咨询了一群在网络事件响应领域非常活跃的朋友。其中一些人就是警告世界注意新的网络攻击的人。其他人在追踪拒绝服务攻击及其相关的命令与控制(C&;C)服务器方面非常有经验。我问他们是否能帮我找到攻击的来源。当然可以,他们回答说。他们只需要我的IP地址。我读出地址:152点,他们又重复了一遍。然后他们告诉我剩下的网络地址。(我大吃一惊。)。托尔应该是匿名的。您不应该知道隐藏服务的IP地址。但是他们知道。他们一直在关注基于Tor的DDoS。他们有一份隐藏的服务地址列表,这些地址是攻击的目标。他们只是不知道这个具体地址是我的。事实证明,这在互联网服务界是一个公开的秘密:你在Tor上不是匿名的。有很多文档介绍了Tor如何对数据包进行三重加密,如何使用保护、中继和出口选择路由,以及如何将路径随机化以混合网络流量。然而,很少有文档涵盖威胁模型。谁能看到你的流量?您的对手可能在任何地方:您的ISP可以看到从您的计算机到ToR网络的数据包。正如我在前两篇Tor博客文章中所述,无论您使用直接连接还是网桥,他们都可以看到您正在与Tor网络通信。

第一跳是保护(或网桥)节点。你不知道谁拥有它,但他们可以监视你。此节点知道您的直接网络地址,可以查看流量。但是由于加密的原因,它不能直接解密数据包。

第二跳是中继。它看到流量来自ToR节点并流向不同的ToR节点。就威胁而言,这是你最不担心的。

最后一跳是出口节点。它可以看到您所有解密的网络流量。(不要以为HTTPS会保护你的安全。)。他们不知道你在哪里,但他们知道你要去哪里。如果出口有动机,那么它就可以密切监控你的流量,看看你在做什么。

每个节点之间都有额外的网络服务提供商,它们中的任何一个都可以监视其本地网段上的通信量。

最后,还有互联网服务。正如一句古老的谚语所说:如果你拥有服务器,你就拥有用户。

如果你是Tor网络上唯一的人,那么你很容易受到理论上有上帝眼光的人的攻击,他可以看到世界各地的所有网络流量。这种全视点意味着有人可以很容易地将数据包从你到警卫、中继、出口和互联网服务进行匹配,这意味着有人可以很容易地将数据包从你到警卫,从中继到出口,再到互联网服务。然而,Tor的网络安全是建立在一个骗局的基础上的。有了足够的用户和足够的路径洗牌,这个理论上的上帝视角应该能够看到很多人使用Tor网络和大量的出口流量,但不能将入口流量和出口流量联系起来。这个理论上的上帝视角的问题在于,它不是理论上的--而且随机的洗牌也不够好。关于我的DDoS问题,我咨询的人包括拥有真正上帝眼光的人。其中一家公司声称看到了全球70%以上的互联网流量。另一位声称超过50%。此外,这些人不是民族国家或政府;他们是公司。为什么会有这些高层次的观点存在呢?嗯,拒绝服务攻击一直在发生。这些公司监控组与主要网络运营商配对,以便监控整个网络级别。当观察到DDoS时,他们可以协同工作以减轻影响。请记住:DDoS不只会损害目标系统;它还会降低整个网络的速度,并让大公司在带宽开销上付出实实在在的代价。这些企业集团的存在是为了帮助主要航空公司降低成本。作为一个副作用,你会得到非常酷的全球攻击地图,就像数字攻击地图和NetScout提供的地图一样。(全面披露:我不认识这两家公司的任何人。)。在我的案例中,他们看到了只涉及已知ToR节点的大量DDoS。这就是他们知道这是基于Tor的DDoS的原因。所有流量都通过Tor网络,然后合并到一个点:我的隐藏服务。(从技术上讲,有六个以上的隐藏服务

本周早些时候,我统计了3244个已知保护节点和1970个已知出口节点(仅计算IPv4地址)。其中,1372个节点既是守卫又是出口。(1372个出口节点占3244名警卫的42%!)。这意味着42%的出口节点也是守卫节点。

24%的出口是这个敌对组织的一部分。这相当于现有警卫的10%(42%的24%)。

有了托尔,你不会经常更换守卫。所以每10个ToR连接中就有1个可能使用了这些敌意守卫。如果有足够的时间,您将使用它们的一个出口节点。最终结果是,他们有10%的时间能够映射用户以退出流量。(努塞努还指出,托尔项目很清楚这些控制着大量托尔节点的敌对组织。努塞努写道,这显然没有带来任何改进。";)如前所述,Tor Project声称可以防御可以观察到部分网络流量的对手。";我已经证明,它们不能防御具有上帝视角的人,甚至不能保护控制着10%的Tor警卫和一些出口节点的人的攻击。(#34;I';已经证明,它们不能保护具有上帝视角的人,甚至不能阻止控制着10%的Tor警卫和一些出口节点的人。那么,Tor实际提供的保护需要多小呢?如果对手只控制一(1)名警卫,而不控制其他警卫怎么办?每一个守卫也是一个接力者。警卫可以通过将客户端的网络地址与已知Tor节点的公共列表进行比较,将最终用户与其他Tor节点区分开来。如果传入的流量来自另一个ToR节点,那么它将被用作中继。否则,该节点将被用作守卫。(有网桥连接到中继的情况,但在上一篇博客文章中,我展示了如何识别所有网桥。)。这意味着怀有敌意的警卫可以判断连接何时代表端点--无论是用户还是隐藏服务。警卫不能解密流量;它只能看到流量。对于攻击者来说,幸运的是,普通Tor用户产生的网络流量与隐藏服务产生的流量有很大的不同,可以被动地观察到。例如:初始连接延迟:对于普通用户,Tor守护进程启动并建立路径。然后,在生成ToR流量之前,当用户的ToR浏览器启动时(或当用户切换到某个其他应用程序时),会有一个暂停。有了机器人,它就是同样的初创公司。但是,可能不会有停顿。取而代之的是,当机器人执行扫描、攻击、采集或其他自动任务时,通常会有稳定的通信量。隐藏服务以相同的方式启动,但是当它向介绍点和目录服务器注册自己时,流量会立即激增。然后有一个暂停,因为它等待第一个人连接到隐藏的服务。最后,还有在从服务接收响应之前从ToR网络流向服务的流量。

持续时间:大多数用户似乎都会启动、使用Tor,然后在使用完毕后将其关闭。相比之下,机器人和隐藏服务通常会持续更长的时间(隐藏服务的连接时间比机器人长得多)。

这意味着:警卫知道您的网络地址,它可以被动地检测您是否可能是人类、机器人或隐藏服务。即使警卫知道您运行的是隐藏服务,他们也不知道您运行的是哪个隐藏服务。不过,如果你是一项大服务,他们很容易就能弄清楚。(如果你是一项低流量的隐藏服务,就像只有你自己使用的测试箱,那么你就足够安全了。但是,如果你是一个巨大的毒品市场,假冒,儿童色情经营者,或参与任何其他类型的潜在非法分销,那么你可能最终会有一个糟糕的一天。)。要找到大型隐藏服务,您只需要一份已知洋葱服务的列表。例如,Ahmia.fi是一个基于Tor的搜索引擎。他们有一个超过10,000个隐藏服务地址的列表。警告:我不建议您随意点击该列表中的任何地址。在发出这个警告之前,我抽查了几十个链接。我检查的每一个人(不包括我自己的服务,它在列表中)要么是离线的,要么是参与了某种非法活动。(Tor上有太多致力于儿童色情、洗钱、毒品分销和其他非法提供的隐藏服务。)。要确定连接到您的警卫的隐藏服务是否在此列表中,您只需连接到每个洋葱服务并传输突发流量即可。Foreach列表中的隐藏服务:可以将大文件上传到隐藏服务。请检查您的警卫是否同时向未知隐藏服务传输了大量数据。

如果您的警卫看到隐藏服务的猝发到达,那么您已经将隐藏服务与网络地址相关联。(您可能希望发送一组受控制的脉冲,只是为了进行确认。所有的