麻省理工学院的课程“计算机系统安全”。 第19讲:“匿名网络”,第3部分(Tor网络创建者的讲演)

麻省理工学院。 讲座课程#6.858。 “计算机系统的安全性。” Nikolai Zeldovich,James Mickens。 2014年


计算机系统安全是一门有关开发和实施安全计算机系统的课程。 讲座涵盖了威胁模型,危害安全性的攻击以及基于最新科学研究的安全技术。 主题包括操作系统(OS)安全性,功能,信息流管理,语言安全性,网络协议,硬件安全性和Web应用程序安全性。

第1课:“简介:威胁模型” 第1 部分 / 第2 部分 / 第3部分
第2课:“控制黑客攻击”, 第1 部分 / 第2 部分 / 第3部分
第3讲:“缓冲区溢出:漏洞利用和保护” 第1 部分 / 第2 部分 / 第3部分
讲座4:“特权分离”, 第1 部分 / 第2 部分 / 第3部分
讲座5:“安全系统从何而来?” 第1 部分 / 第2部分
讲座6:“机会” 第1 部分 / 第2 部分 / 第3部分
讲座7:“本地客户端沙箱” 第1 部分 / 第2 部分 / 第3部分
讲座8:“网络安全模型” 第1 部分 / 第2 部分 / 第3部分
讲座9:“ Web应用程序安全性” 第1 部分 / 第2 部分 / 第3部分
讲座10:“符号执行” 第1 部分 / 第2 部分 / 第3部分
第11课:“ Ur / Web编程语言” 第1 部分 / 第2 部分 / 第3部分
讲座12:网络安全性第1 部分 / 第2 部分 / 第3部分
讲座13:“网络协议” 第1 部分 / 第2 部分 / 第3部分
第14课:“ SSL和HTTPS” 第1 部分 / 第2 部分 / 第3部分
第15课:“医疗软件” 第1 部分 / 第2 部分 / 第3部分
第16课:“侧面通道攻击” 第1 部分 / 第2 部分 / 第3部分
讲座17:“用户身份验证” 第1 部分 / 第2 部分 / 第3部分
第18课:“私人浏览Internet” 第1 部分 / 第2 部分 / 第3部分
讲座19:“匿名网络” 第1 部分 / 第2 部分 / 第3部分

假设您使用贝叶斯概率,以这种方式争论:“法院是否会安排证据证明此人是由于OPSEC糟糕而被捕? 是的,他们做到了。 也就是说,我需要报告说他是由于不遵守Internet操作的信息安全而被捕的。” 因此,对于“双重设计”,我将需要报告此人被困在OPSEC中,因为在常规警察调查中可以很容易获得此类证据,而无需提及从情报中获得的信息。

我们无法从任何公开报告中得出关于此案的结论,但是,这名男子似乎是由于不遵守OPSEC规则而被拘留的,也就是说,您要寻找的是试图抓捕从事非法活动的人。 因此,正如我之前所说,请勿使用我的网络来违反任何法律。 此外,如果您的生活或自由度取决于使用Tor或任何其他安全产品,请不要孤立使用这些产品。



如果您的生命或自由受到威胁,或者系统崩溃完全不可接受,请考虑建立多道防线。 对于Tor,TLS和PGP都是如此。 软件正在开发中。
关于Internet上的滥用,这就是我要说的。 我还有25分钟的时间去寻找隐藏的服务。

响应者的匿名性比发起者的匿名性复杂得多。 发起人的匿名身份是您在爱丽丝想要购买袜子时所获得的信息,但同时对袜子的卖方保持匿名。

受访者不愿透露姓名的是,爱丽丝想在网上发布自己的诗歌,并用诗歌来启动网络服务器,但又不想让任何人知道这台网络服务器在哪里,因为诗歌太笨拙了。 所以,是的,事实上,我的不良诗有一个隐藏的服务。 不,我认为没有人已经发布过它们。 不,我不会告诉任何人他在哪里。 我只是在等待它公开。

假设爱丽丝想发表她的诗。 我将她放在右边,因为她是受访者。 爱丽丝可以为Tor网络(这里是此R)铺平道路-这条螺旋线显示了多个中继器,然后向他求助:“请​​接受这些连接!” 因此,现在连接到该中继器的任何人都可以说他想与爱丽丝交谈。 有些项目以这种方式工作。



但是,存在一些问题。 一个问题是该中继器可能是中间人,如果这里没有众所周知的TLS密钥,它将拦截所有流量。 第二个问题可能是该转发器是由一个人拥有的,这个人也为自己的诗感到尴尬,并且不想成为公共诗歌发行人,因为它太可怕了!

它也可能受到拥有R中继的其他人的影响,他们非常讨厌诗歌,以至于想要审查该化合物。 最后,此R中继可以简单地成为攻击的目标。

因此,您希望Alice一直在不同的中继之间进行切换,而没有一个中继会影响她的未加密流量。 这是完全可行的。
但是,如果我们有许多不同的中继器,爱丽丝必须对人们说些什么? 应该有类似公共密钥的内容,因为如果它只是访问网络:“中继X,中继Y,中继Z”,则将无法正常工作,因为网络每5分钟更改一次,因此正确,有效地进行中继非常困难。

假设她将公共密钥告诉网络中的所有参与者,当她来到R时,她说:“这是Alice,我将用我的公共密钥来证明这一点。” 因此,R知道PKz公钥会启动特定的隐藏服务-爱丽丝的诗歌。 因此,如果其他人说:“嘿,将我与公用密钥Z连接起来”,则可以使用共享密钥与Alice握手。 这与Tor链中使用的握手相同。

现在,鲍勃将能够通过Tor网络建立另一个联系来阅读爱丽丝的诗。 知道了PKz密钥后,Bob便可以告诉中继器:“嘿,使用此PKz将我连接到Alice。” 在中继器进行联合握手之后,Bob和Alice将拥有一个公用密钥,他们可以使用该公用密钥对整个连接进行加密。



我想念的是鲍勃(Bob)如何知道如何到达这里? 此转发器如何识别PKz公钥? 我们可以在该系统中添加目录系统,其中Alice通过Tor匿名下载一个签名的语句,声明PKz在中继X上。在这种情况下,Bob要求目录系统向他提供有关PKz的该签名的语句,以便Bob找到需要的位置。去。 我们甚至可以做得更好-让Alice提供另一个公钥,我们将其称为PKw,并将其上传到目录中,并说如果您想与公钥服务Z对话,那么您应该转到Rx中继使用公钥W。



在这种情况下,公共密钥Z没有发布在中继器Rx上。 您可以继续使用Alice和Bob已知的某种常见秘密对表达式(Rx,PKw)进行加密。 如果这样做,目录服务和可以联系目录服务的人员将无法学习如何使用此PKz键连接到Alice。

学生:如果未加密,则Rx中继器可以发现它为Alice启动了服务,对吗?

尼克·马修森:不,不是爱丽丝。 如果此表达式未加密,他只能发现自己使用了PKz密钥。 关于如何创建这样的系统,我们有一个决定,它尚未构建,但是会很酷。

假设您不想为此使用集中式目录。 在这种情况下,我们实际上使用的是DHT,它不理想且受审查制度的约束,但我们尝试使使用审查制度的可能性越来越小。 我可以告诉您更多有关此的信息,但是恐怕没有时间来介绍其余的主题。

还有另一个问题:如果您使用这些服务目录之一,并且具有完整的密钥列表,则可以连接到所有未加密其连接的用户,以查找它们的连接。 这称为枚举攻击或“枚举攻击”。 我们在报纸上没有提到这一点,不是因为它不会打扰我们,而是因为我们还没有准备好承受这种攻击。

我希望在2014年,我们将找到一个解决方案,其中Alice和Bob共享PKz密钥,但是该表达式(Rx,PKw)未使用PKz密钥签名。 它由派生自PKz的PKz 1签名,例如日期:

PKz 1- > PKz,日期

如果您知道PKz和日期,则可以获得PKz 1 。 如果作为爱丽丝,您知道SKz的秘密,则可以创建由PKz 1签名的消息。



但是,如果仅看到PKz 1 ,那么即使知道日期,也无法重新接收PKz。 我们有这种解决方案的可能性的证据,如果您想知道它是如何工作的,请写信给我,我会把它们发送给您。 这是一个很酷的把戏。 我们不是第一个提出这个想法的人。 但这是我们今年要解决的枚举攻击问题的方式,如果我确实有时间实际实施此解决方案的话。 这就是隐藏服务的全部内容。

考虑攻击和防御问题。 到目前为止,我们所看到的最大类型的攻击是应用程序级别的攻击。 如果通过Tor运行该应用程序,并且该应用程序发送未加密的流量(如普通的HTTP连接),则恶意出口点节点(如允许HTTP连接的任何其他节点一样)可以监视和修改此流量。 这是我们系统中的1号攻击。 可以使用加密流量阻止它。

幸运的是,在过去的几年中,加密技术一直在增长,EFF,Mozilla和Cisco在一两天前报告说,出色的免费证书颁发机构正在加密更多的流量。 我希望2015年未加密的流量会比今年少。 因此这种方法解决了这个问题。

更有趣的攻击包括流量标记或流量标记。 我们在先前的完整性检查实现中犯了一个错误。 我们对完整性检查的早期实施以在Alice的程序和出口节点之间的部分中的完整性检查结束,但事实证明这还不够。 因为如果第一个中继R1以某种方式“迷惑”流量,使其创建可以检测出口点节点的模式,那么对于第一个和最后一个中继,它将用作一种发现它们在相同公共路径,同一链中并进行识别的方式爱丽丝

当然,如果第一个和最后一个中继以某种方式合作,那么在任何情况下他们都可以通过比较流量来确定Alice,但是我们希望这对他们来说并不容易,随着时间的流逝,关联流量的过程将变得比我们想象的更为复杂。
实际上,一劳永逸地结束这种类型的攻击会很好。 为此,我们有两个解决方案。 此类攻击的预期结果之一是链的定期故障,因为第一个集线器上的攻击者在控制最后一个集线器方面犯了一个错误。

因此,每个Tor用户都检查奇怪的跳出率。 一个有效的长期解决方案是确保第一个集线器上带有模板的“混乱”不会在最后一个集线器上创建多于1位的信息。 您无法避免发送1位信息,因为第一个集线器始终可以简单地断开连接,但是您可以将此信息限制为1位。 最好是最多2位,因为这样他们就可以选择破坏数据或断开连接。 我知道如何最好地做到这一点,所以我将考虑这个问题。

拒绝服务或DOS也很重要。 去年,有一篇关于作者所说的“狙击手攻击”的文章。 您会看到来自您无法控制的Tor节点的流量,因此希望将所有人都赶出该节点。 为此,请连接到该节点,溢出其内存的所有缓冲区,然后“崩溃”。 之后,将您感兴趣的流量重定向到您控制的节点,如果该流量落在不受控制的节点上,则重复此技术几次,直到获得所需的结果。

我们最好的解决方案旨在消除DOS攻击内存的可能性,而我们的补丁程序实际上消除了这种可能性。 解决此类问题的另一种选择是确保转发器具有较大的存储容量。 因此,请勿在网络上使用小容量中继器。 我们也正在这样做-如果您尝试在手机上启动Tor网站,它将不会获得授权,也不会包含在受信任的站点列表中。

我们也试图开发链计划算法,尽管很难开发不受控制的节点的网络图,所以目前这是一个尚未解决的问题。

现在告诉我哪个更好-告诉您有趣的攻击还是重要的攻击?

学生:有趣的!

尼克·马修森(Nick Mathewson):很好。 然后,让那些想编写使用密码术的程序的人举手吗? 好吧,这就是您必须学习的! 但是永远不要相信加密的实现。 即使这是正确的,它仍然是错误的。 很久以前,我们遇到了最严重的安全错误之一。 我们认为,每个中继器在任何节点链中都可能是“中间人”,因为我们假设Diffie-Hellman算法的正确实现将检查是否将0作为输入之一传递。



Diffie-Hellman实现的作者建议,正确的应用程序永远不会通过零Diffie-Hellman实现。

正确的Diffie-Hellman算法如何工作? 假设我有g x,而你有g y 。 我知道X,你知道Y,我们都可以计算g xy 。 但是,如果“中间人”将我的g值替换为零,那么我计算出0 x ,计算出0 y ,我们将拥有相同的密钥,并且我们可以轻松地相互通信,但这将是攻击者已知的密钥,因为它是什么0。

单位有效,P也有效,P + 1也有效。 因此,如果您以z sub p的形式实现Diffie-Hellman算法,则只需确保g x和g y值在2到P-1的范围内。

我想进一步谈谈审查制度。 毕竟,实际上,这是我们可以最大程度地发挥作用的领域之一。 一开始,我们考虑使Tor看起来像一个Web客户端,它通过HTTPS与Web服务器通信,并且使其难以阻止。 事实证明,这非常困难,而且可能不值得。
现在,我们正在使用一种使用各种插件的方法,该插件允许使用未报告的转发器作为桥梁,并且用户可以使用此方案进行各种流量转换。 我们设法确保将新的中继器添加到网络中的速度要快于检查员意识到其被阻止的速度。



实际上,当没有一种解决方案绝对可行时,就是这种情况。 我想我不是以这种方式提出自己的想法。 可以断言,这些插件基本上都不会被任何现代技术所阻止,但它们足以在大多数国家/地区锁定1-2年或在中国锁定6-7个月,以解锁流量。

中国目前拥有世界上最胜任的审查员,主要是因为它不使用外包。 其他大多数具有积极的Internet审查制度的国家/地区都向欧洲,美洲和亚洲公司转移了审查职能,这些国家/地区的利益不是实际销售用于审查Internet的有效软件,而是迫使其客户不断参加更新竞赛。

例如,您可以在美国购买被审查的软件。 从技术上讲,美国公司不允许为第三国制定审查计划,但在美国,他们已经开发了可扩展到1000万用户的公司防火墙。 我认为这是不道德的,但我又不是政治组织的成员,也不是哲学家。

Tor的作者之一Paul Cyverson拥有哲学学位,但即使他也无法回答这些问题。 但是他花了很多时间不回答他们。
所以我在哪里停了? 90分钟是很长的时间。 审查! 因此,Tor反复规避了各种开发人员的审查制度。 他们尝试阻止最新版本的Tor,但同时又进行了相当弱的阻止。 因此,如果我们在同一节点标识符的某处更改1位,则可以轻松绕过这种锁定。

我们无法证明他们专门使Tor绕过了锁,也就是说,他们出售不起作用的阻止程序,以便以后可以一个又一个地出售更新。 但是在我们看来,事情就是这样。 – , , .

, , , . , , . , «» – , , .

, – . Tor — , . , , . freehaven.net/anonbib/ , .

I2P, Gnunet, Freedom — «», , , Mixmaster, Mixminion, Sphynx Y, Sphinx I – - , DC-net, DC-net . , . , Tor — , , .
— . , — , , , , — , , . . , . , , , , , . , : « , ». , 10 , .



, Tor. , :

PKz 1 → PKz, Date

, , . , , .

. 2003 RSA-1024, . RSA-1024 Ed25519. , , .

path selection, . 5-6 , . .

, - . , , , , - . , - - , 2015 . - – , !

, . , . . 10 20 . , , , 100 , - .

, , , . — , .
, , 100 – - . , , , - .



- , . , , , , .
, , .

- , , - , . : «, , !». , 2 , 6. , , , - .

, , , . «», , - , . , , , - .

, . ? 不行吗 , . , . , 12:25, . . , , !


.

感谢您与我们在一起。 你喜欢我们的文章吗? 想看更多有趣的资料吗? 通过下订单或将其推荐给您的朋友来支持我们,为我们为您开发的入门级​​服务器的独特模拟,为Habr用户提供30%的折扣: 关于VPS(KVM)E5-2650 v4(6核)的全部真相10GB DDR4 240GB SSD 1Gbps从$ 20还是如何划分服务器? (RAID1和RAID10提供选件,最多24个内核和最大40GB DDR4)。

VPS(KVM)E5-2650 v4(6核)10GB DDR4 240GB SSD 1Gbps至1月,直到 6个月的付款期免费,您可以在此处订购

戴尔R730xd便宜2倍?在荷兰和美国,我们有2台Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100电视(249美元起) 阅读有关如何构建基础架构大厦的信息。 使用价格为9000欧元的Dell R730xd E5-2650 v4服务器的上等课程?

Source: https://habr.com/ru/post/zh-CN431266/


All Articles