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

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

因此,让我们开始吧。 欢迎参加关于安全性以及世界为何如此可怕的另一场引人入胜的演讲。 因此,今天我们将讨论私人浏览模式,其中的许多人可能都有很多个人经验。 私人浏览的目的是什么? 安全研究人员对隐私有何评价?



在一般意义上,他们谈论以下目标:任何特定用户都不应与其他用户有任何不同。 特别是,该用户在浏览Internet时的活动不应在其他用户的活动方面受到损害。 因此,正如我提到的,今天我们将讨论在私有Internet浏览的特定上下文中的隐私。

实际上,私有浏览的含义没有正式定义。 这有几个原因。 其中之一是Web应用程序非常非常复杂。 他们不断增加新功能,例如音频,视频内容和其他类似内容。 结果,浏览器应该是“移动目标”。 因此,浏览器可以做什么的概念相当模糊,因此,并不总是清楚有关特定用户的哪些信息能够泄漏到公共领域。

最后,实际上,就像许多其他事情一样,浏览器的存在和任务取决于生活水平。 因此,各种浏览器制造商将实现各种功能,尤其是在私人浏览方面。 其他开发人员可以看到竞争对手的成果并更新自己的浏览器,从而使浏览器的目的和目标不断变化。



随着用户越来越依赖Internet的私人浏览,他们最终将发现许多隐私错误,我将在稍后讨论。 在全球范围内,私人浏览可以视为一个宏伟的目标。 但是,随着社会的进步,私人浏览的某些方面会变得更好,而某些方面会变得更糟。

那么,私下浏览Internet是什么意思? 这很难确定,但是演讲文章试图通过两种特定方式来正式化这个问题。 首先,它讨论了专用网络中的本地黑客-一个在您完成专用浏览后将拥有您计算机的人。 这个人想找出您以私人浏览模式浏览过哪些网站。

本文还讨论了控制您访问网站的网络犯罪分子。 该攻击者可能试图找出您是特定的人,John或Jane,而不是网站无法提供任何信息的一些非个人用户。 因此,我们将详细研究每种攻击。 可以说,如果攻击者可以同时组织这两种攻击(本地和Internet攻击),那么这将大大增强其泄露您的身份的能力。

例如,可以知道您的IP地址的本地攻击者可以找出此特定IP地址是否在站点的日志中。 因此,从安全角度考虑,首先单独考虑这些本地和Web攻击,然后再组合考虑是非常有用的。

让我们看看第一种类型的攻击者-本地攻击者。 假定此黑客将在网络通信会话结束后控制用户的计算机。 我的意思是Internet的私人浏览已经完成,用户已停止使用浏览器,而他不在计算机旁。 之后,黑客控制了计算机并试图找出之前发生的情况。 因此,安全性的目的是防止攻击者了解用户在私人浏览期间访问了哪些网站。

我们在Internet活动会话结束后考虑攻击的重要原因如下。 如果我们假设攻击者可以在私人观看之前控制计算机,那么“游戏结束”了,因为在这种情况下,黑客可以安装键盘拦截器,从而破坏了浏览器或操作系统本身的完整性。 因此,我们将不会关注这种攻击者。 请注意,出于同样的原因,在攻击者控制计算机之后,我们不会尝试确保用户隐私,因为抓住了计算机的控制权,黑客将能够随心所欲,至少安装相同的键盘拦截器。 因此,原则上,一旦用户离开计算机,我们就不会直接考虑隐私的概念。

在这里,您可以介绍您要实现的另一个目标-尝试向攻击者隐瞒用户通常使用私有浏览模式。



演讲文章说这很困难。 此属性通常称为“合理拒绝”。 例如,您的老板在一次私人浏览会话后走近您,说:“您浏览过mylittlepony.com吗?”然后您回答,不,您没有去那里! 而且,我当然没有使用私有浏览模式来隐藏我正在浏览mylittlepony.com的事实。 因此,正如我所说,难以否认的性质很难得到保证,稍后我将给出具体原因。 因此,我们将主要只考虑本地攻击者。

我们可能会考虑以下问题:在私有浏览会话期间,客户端的恒定状态是什么导致泄漏? 通过持久性,我的意思是某些数据将存储在本地硬盘驱动器,本地SSD或类似的东西上。



因此,如果我们在私密查看时不够谨慎,那么系统的哪些操作条件会充满数据泄漏? 首先,这是JavaScript组件(例如cookie和DOM存储)的可访问性状态。 人们私下浏览时担心的另一件事是浏览器缓存。 毕竟,您不希望某人在内部缓存中找到要向其他人隐藏其访问的网站中的某些图像或HTML文件。

另一个重要的事情是您访问过的网站的历史。 当另一个人登录浏览器时,您可以破坏与另一个人的关系,开始在地址栏中键入内容,并尴尬地中断开始的操作,因为视图的历史记录会自动告诉他某些内容非常不雅。 这是您不希望这些信息从您的私人浏览会话中泄露的原因之一。

您还可以考虑查看配置状态以及诸如客户端证书和页面书签之类的内容。 也许您去过一个特定的站点,并且浏览器提供了将密码保存在配置文件中以查看该站点的功能,但您不想泄漏它们。

第五是下载的文件。 这很有趣,因为需要明确的用户操作才能下载文件。 打开浏览器时,可以在私人浏览过程中使用下载的文件,但是在私人浏览模式之外使用浏览器完成操作后,也有可能使用下载的文件。 我们稍后再讨论。

最后,在私有浏览模式下,您可以为浏览器安装新的插件或扩展。 这是另一种状态,不希望泄漏到私有浏览之外。



因此,当前的浏览模式通常试图在私有浏览会话的第一,第二和第三状态期间防止数据泄漏。 也就是说,应该不存在Cookie或DOM数据泄漏的可能性。 您在私人浏览会话中缓存的所有内容都应删除。 您不应保留已访问URL的历史记录。

通常,私人观看模式的第四,第五和第六状态的数据可能会泄漏出会话。 发生这种情况有多种有用且有害的原因。 稍后我们将看到,如果允许一次泄漏,那么将从根本上增加所有私人信息泄漏威胁的范围。 因此,很难确切地讨论哪些安全属性旨在用于私有查看模式。

接下来,我们将简要讨论的是私有浏览模式下的网络活动。 有趣的是,即使我们提供所有这6种状态的保护,防止信息泄漏,您在连接期间发出网络数据包的事实也证明了您所做的事情。 想象一下,当您想访问foo.com时,您的计算机应该对foo.com发出DNS查询。 因此,即使您没有留下上述六个状态的活动的任何痕迹,无论如何,本地DNS缓存中仍会存在您尝试与主机foo.com联系的记录。 这很有趣。 您可能认为浏览器可能会在完成专用浏览会话后以某种方式尝试清除DNS缓存,但是实际上这很难做到,因为许多系统需要管理员权限才能执行此操作。 这里出现了一个矛盾,因为很可能您不希望浏览器具有root特权,因为我们确保浏览器不够可靠。 此外,DNS缓存清理命令是针对特定用户的活动而设计的,它们不会清除整个缓存,对于私有浏览模式,您想要什么。 您将需要“外科”的准确性,以摆脱在不影响其他因素的情况下以私有浏览方式访问foo.com和其他网站的问题。 在实践中,处理此问题非常困难。
本文提到的另一件棘手的事情是RAM或RAM的工件。 这里的主要思想是在私有浏览模式下,私有浏览器应将某些内容存储在内存中。 即使私有浏览模式不需要直接将数据写入磁盘或从磁盘读取数据,RAM也会提供浏览器。 例如,您正在查看的选项卡可能保留在页面文件中,并且此信息可能会反映在笔记本的休眠文件中。 因此,如果此状态反映在持久性存储中,则在完成私人浏览会话之后,攻击者可以在页面文件的磁盘上找到反映在磁盘上的JavaScrip或HTML代码。

我们将小幅演示如何运行。 在屏幕上,您会看到“私人浏览”选项卡,通过该选项卡,我将转到我们CSAIL研究所的计算机科学实验室的PDOS编程小组的站点。

\

接下来,我将使用名为gcore的此有趣命令来存储此打开的PDOS页面的快照。



接下来,我使用一些魔术,以便我的终端对内存进行快照,有时需要一些时间。



这是这里发生的事情-此私人视图的主图像文件在此处生成。 现在,我们将查看此图像的内部,看看是否可以找到任何有关pdos的内容。



有趣的是,在此内存映像中,我们可以看到一堆带有不同前缀的pdos字符串实例,用于私有浏览模式。



如果进一步看,我们会看到完整的URL和HTML代码之类的内容。



关键是,如果我们可以在页面的内存中找到所有这些内容,也就是说,该页面的某些数据被放置在磁盘上的页面文件中,那么攻击者可以轻松地运行这些行。 他可以使用此页面上的文件执行我刚刚做的事情,并尝试找出您以私人浏览模式访问过哪些网站。 清楚吗?
原则上,这里的问题是私有浏览模式不会尝试“混淆” RAM或以某种方式对其进行加密。 这似乎是一件非常基本的事情,因为在某些时候,处理器应基于开放文本数据执行任务。 因此,这种情况可能会成为一个大问题。 有人有问题吗?

学生:这正是我不希望从浏览器中获得的内容,因为浏览器必须保证私人浏览的私密性。 例如,如果您进行了一些购买,那么坐在计算机上的朋友将无法查看它们。 您能否告诉我们一些有关文章作者的保证的内容,他们是否在文章中描述了可以在浏览器中进行哪些更改以确保这种机密性?

教授:是的,这很有趣。 您需要注意一件事-当打开私人浏览选项卡时,通常,一条短信出现在您的面前:“欢迎使用隐身模式”。 如果有多个用户正在计算机上工作,此模式将帮助您不要留下痕迹,并且您在计算机上坐下来后坐下的朋友将无法了解您的视图,Cookie和表单填充数据的历史记录。 但是,如果您身后的某人站在橡胶俱乐部旁,并一进入您的网站就将您击倒,那么隐身模式将无济于事。

因此,制造商自己避免使用浏览器时指定有关数据机密性的保证。

实际上,在斯诺登事件发生后,许多浏览器更改了此弹出消息,因为他们确实想向用户表明,他们无法保护他免受NSA之类的力量的干扰。

简而言之,它们提供什么保证? 实际上,它们仅提供您刚才提到的漏洞。 也就是说,一个看不到您现在正在做什么的人将能够看到您正在做什么。 我们假设外行不能在页面文件中运行行或执行类似操作。 但是,有两个问题。 问题之一是浏览器过于复杂,以至于它们通常甚至无法防范外行人员的行为。

我可以举一个个人的例子。 有几次,当我在页面上看到有趣的《赫芬顿邮报》横幅广告时,例如“看看这些小狗如何抚摸其他小狗下楼梯!”,由于我的虚弱,我有时会抓住它并单击它。 但是由于我不希望人们了解我的弱点,所以有时我会以私人观看的方式来了解它。 但是,碰巧有时候,这些广告片段的URL在正常的公共浏览器模式下会泄漏到URL历史中,而本材料并非该模式的。 因此,问题之一是有时这些浏览器不能提供针对非专业攻击的保护。

其次,我认为有很多人,尤其是在斯诺登的故事之后,希望看到来自私人浏览的更强的隐私保护。 他们希望保护免受RAM伪像的攻击,即使他们在技术上无法正确表达自己的期望。

因此,我在这所学院学习期间做的一件事是在私人观看模式下加强保护的研究,以便我们可以讨论。 , , , , . , … ?

: , , , . , ?

: . . , . , , . , , .

, , . , , . , , , , , . , , , , .

. , memclear. , , « ».



read_secret? , , , .



, . , , , memset , , . , , , : « ».



, , ? , .



, . , «», , , . gcore, memclear, .



, , grep .



, , , , , , . , ? , .

, / , . , , , , , C /, , . , memset , , , . , , , , / - .



, . , , , , . ? , , , . , memset memclear, . , , , . ? , , SQL.

- - RAM , , , .

, RAM, , , -, . , , . -, - , , . , , , , . .

. , , , , malloc . , , RAM. , , , – , - . , , .

. / , . , .

? , . , . . , Microsoft Word , Word . , Word, .

, , . , Linux, , , 4- . , . , Linux , , , - .

, — , , .

- SSD. . , SSD, , . , .



, , SSD, : «, , , ».

. , , .

, , , - «» .

, ? , , , . , - , - , -, .

27:05

麻省理工学院的课程“计算机系统安全”。 18: « », 2


.

感谢您与我们在一起。 你喜欢我们的文章吗? 想看更多有趣的资料吗? 通过下订单或将其推荐给您的朋友来支持我们, 为我们为您发明的入门级服务器的独特模拟,为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-CN430204/


All Articles