麻省理工学院的课程“计算机系统安全”。 讲座18:“私人互联网浏览”,第3部分

麻省理工学院。 讲座课程#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部分

因此,第一种方法将是使用虚拟机作为增强对私人浏览的保证的方法,也就是说,我们将在虚拟机级别考虑隐私。

基本思想是每个专用会话应在单独的虚拟机中运行。 然后,当用户结束私人浏览会话时,将删除虚拟机。 那么这个想法有什么好处呢?



您可能会得到更强有力的机密保证,您可以将其提供给用户,因为假定虚拟机具有相当干净的数据输入/输出接口。 可以假定您将这些虚拟机组合到某种安全交换解决方案中,例如,使用Open BSD以及加密磁盘数据。

因此,我们在上面的VM和下面发生的所有I / O操作之间有一个非常清晰的分离。 与从不是从头开始设计的浏览器中获得的保证相比,这为您提供了更强的保证,该浏览器非常注意信息的输入/输出的所有方式以及当信息进入数据仓库时可能泄露哪些秘密。 。

因此,是的,它提供了更有力的保证。 另外,它不需要在应用程序(即浏览器)中进行任何更改。 您使用浏览器,将其放在这些虚拟机之一中-一切都将变得神奇起来,而无需更改应用程序。

这是怎么回事-我要在黑板上画一个悲伤的笑脸-这很麻烦。 麻烦的是,我的意思是,当您要启动一个私有浏览会话时,必须启动整个虚拟机。 这可能会非常痛苦,因为用户将很沮丧,因为他们需要很长时间才能开始其私人浏览会话。



其他问题是该解决方案不切实际。 而且,这种不切实际的原因并非在于用户确实很难执行以下操作:将以私人浏览模式保存的文件传输到计算机,将以这种模式生成的所有书签传输到计算机-最终,所有这些操作都可以完成。 但是这里有许多与懒惰相关的不便之处。

解决该问题的第二种方法与第一种类似,但实际上是在OS本身而不是在虚拟机中实现的。 这里的主要思想是每个进程都可能在私有域中运行。 私有域是一种进程使用的OS共享资源的集合,并且OS会跟踪所有这些事情。 进程结束后,操作系统将扫描专用域中的所有内容,并完全释放所有这些资源以供新使用。

与使用VM相比,此方法的优点是重量更轻,因为如果您考虑一下,虚拟机本质上与OS状态以及所有正在运行的应用程序状态无关。 因此,与操作系统相比,使用VM会产生更多的工作,因为操作系统大概知道了专用浏览器将与数据输入/输出,与网络“对话”的所有点。 也许OS甚至知道如何有选择地清除DNS缓存。

因此,您可以想象“解开”这些隐私域要容易得多,以便以后可以简单地“拆除”它们。 但是,此解决方案的缺点(至少在启动VM方面)是,以正确的方式进行操作要困难得多。 因此,我只是将VM作为渐进式方法进行了描述,因为虚拟机本质上与OS容器内部的所有事物无关。



令人高兴的是,VM方法仅关注一些低层接口。 例如,虚拟机用于写入磁盘的接口可提高信任度,因为它包含您需要的所有内容。 使用操作系统时,这要复杂得多,因为您希望它使用带有系统接口的单个​​文件,例如带有单个网络接口的文件。 因此,如果在操作系统级别执行所有这些操作,则数据泄漏的可能性会更大。

因此,这是目前使用私有浏览模式时增强机密性保证的两种主要方法。
您可能会问,如果用户应用这些功能更强大的安全解决方案之一-使用虚拟机或操作系统中的隐私域浏览Internet,我们还能透露用户的身份吗? 我们可以抢劫用户的匿名性吗? 这个问题的答案将是-是的,我们可以!

由于虚拟机由于某些原因是唯一的,因此可以对用户取消匿名。 这类似于我们使用Panopticlick网站获取浏览器指纹的方式。 关于如何配置虚拟机,可能有一些独特之处,它使您可以获取其指纹。 VM监视器或OS本身在某些方面也可能是唯一的。 这样,网络攻击者就可以揭示用户的身份。

一个典型的示例是TCP指纹识别。 这个想法是,TCP协议的规范实际上允许在实施该协议的过程中安装某些协议参数。 例如,TCP允许执行者选择在建立TCP连接的第一部分中发送的数据包的初始大小,这允许执行者选择诸如这些数据包的初始生存期之类的内容。



因此,您可以获得现成的工具(例如InMap),只需将经过仔细处理的软件包发送给您,它们就很有可能告诉您所使用的操作系统。 他们会看到类似TTL的事实,这是分发程序包的大小,这是TTP序列号。 因此,他们创建了指纹数据库。 他们说:“如果返回的软件包具有该特性,该特性和该特性,那么根据表格,您正在使用Solaris,您正在使用Mac,并且您正在使用Windows”,或其他。 因此,即使使用这些方法之一来增强在使用虚拟机或OS进行私人浏览期间的隐私性,攻击者仍然能够通过TCP发起这些指纹检测攻击之一,并学到很多有关特定用户的知识。

有趣的是,即使以这些更强大的方式之一来保护用户,用户仍然会被划分为两种查看模式-公共模式和私人模式,他仍在物理上使用计算机。 这很有趣,因为您自己在使用计算机的过程中可能会导致您的个人信息泄漏。

例如,事实证明,每个用户都有唯一的按键。 因此,如果我同时给您任务以开始在键盘上键入短语“ fast brown fox”或任何此类废话,则观察结果表明,每个人按下键的时间是如此独特,以至于可以用来获取指纹。

用户具有独特的写作风格也很有趣。 有一个称为笔迹的安全行业。



笔迹学的思想是,攻击者只需查看信件的样本即可知道您是谁。 想象一下,由于某种原因,您挂在4chan上,我想知道您是否真的挂在那儿。 我可以在4chan上查看许多不同的帖子,并将它们分组为在样式上看起来相同的评论集。 然后,我将尝试找到您的写作风格的公开样本,例如您是作家的家庭作业。 之后,我将4chan注释集中的样式样本与您的作业进行比较,如果找到匹配项,我可以写信给您的父母,以澄清4chan论坛中冻结的危险。 这就是我决定提请您注意笔迹学的原因。 这实际上很有趣。

因此,我们讨论了如何使用VM或经过修改的操作系统为私有浏览提供支持。 因此,您可能想知道为什么浏览器不需要用户执行这些操作之一-启动虚拟机或修改OS? 浏览器为什么要接管所有这些工作?

主要原因是可部署性。 浏览器制造商通常不希望强迫用户执行其他特殊操作来使用浏览器,而不是安装浏览器本身。 这与Google即将向终端用户计算机添加这些很酷的功能,但又不想强迫用户安装Windows或Linux的特殊版本或执行其他操作时,Native Client的动机类似。 因此,谷歌说“我们会自己照顾”。

另一个原因是可用性。 正如我们已经讨论过的,许多在虚拟机和OS级别上的私有浏览解决方案使用户难以保存在私有浏览会话期间收到的内容-下载的文件,书签等。



基本上,浏览器制造商说,如果他们自己实现私有浏览模式,他们将能够允许用户接受以私有浏览模式下载的文件并将其保存在计算机上。 一开始听起来不错。 但是请注意,这种方法允许用户导出某种私有状态,这会在安全系统中打开许多漏洞,并使实现私有浏览模式时使用的安全属性的分析大大复杂化。
因此,本文的作者试图描述可以修改的各种类型的浏览器状态,并考虑当前的私有浏览模式如何修改它们。

本文对浏览器状态更改进行分类。 此分类有四种类型的更改。 第一种是站点本身启动状态更改时,无需用户干预。 这种状态更改的示例包括获取Cookie,在浏览器的地址历史记录中添加一些内容以及可能更新浏览器的缓存。 因此,基本上,该状态在整个私人观看模式中一直存在,但是在完成后会被销毁。

可以假定,由于在该状态的形成期间用户不与浏览器交互,所以可以理解,用户本人不想参与。

第二种类型的浏览器状态更改也由网站启动,但是与访问该网站的用户存在一些交互。 例如,用户在站点上安装客户端证书或使用密码进行授权,即试图去某个地方。 同时,浏览器非常有帮助地说:“您要保存此密码吗?”。 如果用户回答“是”,则可以在私有浏览模式之外使用诸如保存的密码之类的东西。 因此,原则上尚不清楚在这种情况下应采取什么隐私政策。 实际上,事实证明,浏览器允许在私有浏览模式下存在的事物存在于外部,假设用户自己将为他选择最佳选项,说“是”或“否”。 如果用户足够聪明,那么他将不会保存某个可疑站点的密码,因为其他人可以使用它。 因此,可能存在用户错误而不是浏览器错误,这可能会导致隐私丢失。

因此,尚不清楚哪种策略是最佳策略,但实际上,这种状态更改允许存储在私有浏览模式之外。

状态更改的第三种类型是完全由用户启动的。 这些就像保存书签或下载文件一样。 此状态与上一个状态相似,因为用户直接参与其创建。 在这种情况下,私人观看模式同意保存此类型的状态更改以供将来在私人观看之外使用。



此外,有些状态根本不与任何特定会话相关联。 例如,这是浏览器本身的更新状态,即代表浏览器的文件中的更改。 浏览器开发人员认为,这种状态变化是可用于公共和私人查看的全局状态的一部分。

最后,如果仔细查看,您会发现在相当多的情况下,有可能在私有浏览模式之外泄漏数据,尤其是在与用户进行交互的情况下。 我想知道这是否是安全和隐私之间的最佳折衷方案。



文章说,很难防止本地攻击者确定您是否正在使用私人浏览模式的可能性。 这在文章中有些含糊其词。 事实是,信息泄漏的性质可以告诉您发生哪种观看模式(私人或公开)。 例如,在Firefox和Chrome中,当您在私有浏览模式下创建书签时,该书签具有一堆与之相关的元数据,例如访问该网站所花费的时间等。 在许多情况下,如果此书签是在私有浏览模式下创建的,则此元数据将为零或接近某个零值。 然后,稍后将管理您的计算机的人将可以查看您的书签信息。 如果他看到此元数据为零,他将得出结论,该书签可能是在私有浏览模式下创建的。

在谈论浏览器安全性时,我们会思考人们在使用JavaScript,HTML或CSS到底在做什么,他们如何使用插件或扩展? 在私有浏览的上下文中,插件和扩展很有趣,因为在大多数情况下,它们不限于相同的原始策略,例如,它们可以限制对JavaScript之类的东西的使用。 有趣的是,这些扩展和插件通常具有很高的特权。 粗略地说,您可以将它们视为内核模块。 它们具有很高的权限,使您可以直接在浏览器内部实现新功能。 因此,这有点问题,因为这些插件和扩展通常是由不是实际浏览器开发人员的人员开发的。 这意味着有人试图做点好事,并通过向其添加插件或扩展来为浏览器提供有用的属性。 但是此第三方开发人员可能无法完全理解执行其扩展的安全上下文,因此,此类扩展可能无法提供私有浏览模式的语义或以错误的方式提供它。

, , , . , , . , , , HTML5 , , . , Java Flash. , 2D 3D-, - Java Flash. , Web GL , , , .

, IE , , - , HTML5. , YouTube, , , - HTML5-, . . , . , , , , .

, , , , 2010 , , ?
, . , , , HTML5.

, , . , . - , .

, 2014 Firefox, pdf.js, PDF-, HTML5-. , , .

, - PDF-, . PDF- , pdf.js , . . , , . , — , .

. , , , , , , , .

, : , , .



Firefox , 2011 . . , , , about:memory, , , , URL- , . , , , about:memory. , Firefox. , Firefox . , , about:memory , .

, URL-, , , . , . .
Bugzilla, , . , , , , , . , , . , . : « , , , .» : « , ».

, — HTML5 — , , . , , , .
, . , , . , .

, Magnet, -, . , , , URL- . - .

, Tor.


.

感谢您与我们在一起。 你喜欢我们的文章吗? 想看更多有趣的资料吗? 通过下订单或将其推荐给您的朋友来支持我们, 为我们为您发明的入门级服务器的独特模拟,为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至12月免费,在六个月内付款时,您可以在此处订购。

戴尔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-CN430208/


All Articles