麻省理工学院的课程“计算机系统安全”。 讲座17:用户认证,第2部分

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

本文讨论的有趣的事情之一是,如果您经历所有这些身份验证方案,那么作者会说:“好吧,这些是密码,它们很烂,还有其他一些东西可以提供更好的安全性。但它们通常无法部署,使用不便等。”



这是一项有趣的工作,但同时却令人失望,其结果在于,即使我们拥有所有提供更高协议安全性的工具,但由于存在极大的不便而无法使用它们。

因此,Telepathwords只是一个有趣的网站,他们声称它们不存储您的密码,因此如果您愿意,可以接受他们的要求。 但是坐下来思考一下我输入的密码有多好,这非常有趣。 然后在这里输入它,看看猜测是多么容易。 它甚至允许您执行诸如对多个单词中的流行短语进行启发式分析之类的事情,从中仅选择每个单词的第一个字母作为密码。 所以这个东西非常有用。

另一个有趣的事情是您的密码可以离线猜测。 这个称为preauth或“ preauthentication”的漏洞是Kerberos v4和v5中固有的。 任何人都可以从KDC请求用用户密码加密的票证。

因此,KDC不会验证来自客户端的请求。 为了响应该请求,KDC返回了一组几比特,并使用客户端密钥对其进行了加密。 这就是返回给客户端的内容。 问题在于服务器没有检查谁发送了此加密的信息集,因此基本上攻击者可以得到此信息,然后尝试仅猜测K_C是什么。



只需尝试猜测K_C值,尝试对其进行加密,看是否看起来像它,否则,尝试猜测另一个K_C,对其进行解密,查看它是否看起来像真相,依此类推。 允许攻击者组织此类攻击的原因是,在此括号内,此TGT实际上具有已知格式。 像时间戳和内部一致的参考字段之类的东西,所有这些都可以帮助攻击者猜测密码。 因为如果攻击者猜出了K_C并收到了括号中的解密内容,但是没有检查内部字段,那么攻击者就会知道他选择了错误的K_C并被用于下一个。

在Kerberos版本5中,客户端必须将时间戳传递给KDC,之后,将使用K_C对标签进行加密。 所有这些都发送到服务器,服务器在发送请求到客户端之前先检查并检查该请求。 因此,任何随机客户端都可以来,只需要向服务器请求该内容。

学生:消息中是否显示时间戳? 攻击者可以使用蛮力抓住并破解此消息吗?

教授:让我们看看。 攻击者能否获得此{time stapm} K_C消息?

学生:是的,这是一条加密的消息。



教授:也就是说,您认为攻击者可以简单地伪造此消息?

学生:不,他将使用蛮力匹配K_C。

教授:换句话说, 知道您担心有人会监视这些括号的内容。 我相信内容是在属于服务器的加密内容或属于服务器的密钥中的,以防止此类攻击,但这仅是我的看法。 但总的来说,您是对的,如果攻击者设法找到客户请求中的时间戳,这将对他大有裨益。 在这种情况下,他可以猜测相邻时间戳的范围是多少,并将其用于类似的攻击。

学生:在这种情况下,攻击者应该是“中间人”。
教授:是这样,攻击者必须在客户端和服务器之间的网络中的某个位置,以便“嗅出”此类信息。

另一个重要的事情是密码恢复。 关键是,如果您丢失密码,则应去办公室并要求输入其他密码。 但是在获得此密码之前,您必须以某种方式证明自己是您。

那么它是如何工作的呢? 如何找回密码? 有趣的是,人们经常关注密码本身的熵。 但是问题是,如果用于恢复密码或密码恢复方案的问题的熵很小,则这会影响常规身份验证方案的熵。 换句话说,一般身份验证方案的强度等于密码的最小熵和密码恢复问题的最小熵。 场景和规则很多,众所周知的案例也很多,例如莎拉·佩林(Sarah Palin)的案例。 某人能够以欺诈方式恢复她的密码,因为她的密码恢复问题使得任何陌生人都可以找到答案,例如,通过阅读有关她的维基百科文章,其中写了她去了哪所学校,以及以此类推。



因此,由于多种原因,这些密码恢复问题常常不够好。 有时这些东西的熵很小。 例如,如果您的密码恢复问题是“您最喜欢的颜色是什么”,那么最受欢迎的答案将是“蓝色”和“红色”。 没有人会回答“白色”,“紫红色”或“紫色”。 因此,这些恢复问题中的某些天生就无法提供足够的熵。

另一个问题是,有时密码恢复问题的答案可能会通过社交网络泄露。 例如,如果密码恢复的问题之一是“您最喜欢的电影是什么”,那么还有很多猜测空间,例如,我可以查看您在IMDB或Facebook上的个人资料,并在其中找到您自己告诉我的最喜欢的电影的名称。

另外一个最有趣的问题是,用户自己提出的恢复问题非常微弱,例如2加3是多少? 也就是说,用户认为对于某人来说,对此类问题给出正确答案将是一个大问题,但是大多数通过图灵测试的人都可以成功回答这些问题并使用您的密码。



学生:是否有可能使用其他信息代替问题来恢复密码,就像我们在电子邮件中插入姓名或在标题中简短描述字母的内容一样,这种方法可以确保这种事情的安全吗?

教授:我不知道有任何这样的研究,但是实际上这些事情要好得多。 我知道这一点是因为我试图帮助我的女朋友度过这个过程。 她无法控制自己的Gmail帐户,并试图证明这是她的帐户。 该网站的所有者向她询问了诸如以下信息:她何时创建帐户,在失去控制权之前是否曾与某人谈论过自己的帐户(例如真主党)等。 这实际上是一个相当耗时的过程,但是最终,比起密码恢复问题,附加信息更重要。 我不知道对此主题有任何官方研究,但这似乎是显而易见的。

如果您没有问题,我们可以开始本文中介绍的今天的演讲主题。 因此,作者建议考虑一堆可用于评估身份验证方案有效性的因素。 本文的真正妙处在于,它说安全社区中的我们大多数人都在为美学原则而战。 例如,“我们必须选择它,因为我只喜欢大括号在证明中的外观”,或者“我们必须选择它,因为它使用了很多数学方法。”

他们说,我们为什么不尝试建立一些评估效果的标准? 也许其中一些标准会有些主观,但让我们尝试将评估身份验证方案的方法系统化。 让我们看看如何将这些各种模式堆叠在单独的堆栈中。

本文的作者提出了用于评估这些方案的三个高级参数。 第一个参数是可用性。 此参数的第一个要求是易于学习身份验证方法。 其主要思想是用户与身份验证方案进行交互有多么容易。 在这里,他们注意到几个特性,例如,该方法易于学习,并且该用户标识方案也易于学习。

这些类别中的一些类别非常简单,某些类别包含一些技巧,但这很有道理。 如果您查看密码,则它们满足此要求,因为每个人都习惯使用密码,因此我们会说密码的使用非常容易学习,并回答“是”。

第二个要求是验证错误的稀有性。 这意味着,如果您是系统的实际用户,则在尝试对您进行身份验证时应该没有错误。 在这里,关于密码,作者说它们有条件地对应于此参数。 在这种情况下,“有条件地”意味着作者认识到评估中存在主观性。 因此,对于是否在使用密码进行身份验证期间是否很少发生错误的问题,我们绝对不能肯定地回答“是”或“否”。

通常,您可以对自己进行身份验证,但是例如,当您尝试在凌晨3点访问邮件服务器时,考虑得很周到,并且多次输入错误的密码,在这种情况下,您可以确认身份验证系统错误。 因此,他们认为密码有条件地满足此要求。

下一个要求是用户的可伸缩性。 这里的主要思想是,如果用户要使用一堆不同的服务来验证自己的身份,那么此方案能否很好地扩展? 用户是否应该为每种方案记住一些新东西? 在这里,关于密码,作者明确地说“不”,因为使用密码进行身份验证不能满足此要求。 因为实际上,用户很难为他们访问的每个站点记住一个单独的密码。 实际上,这是人们经常在不同服务中使用相同密码进行身份验证的原因之一。

另一个可用性要求是易于恢复。 也就是说,如果您丢失了用于身份验证的令牌(在这种情况下是您的密码),会很容易重置吗? 在这种情况下,密码的答案是肯定的。 实际上,正如我们在几分钟前讨论的那样,重置它们太容易了。

下一个要求是不需要任何其他内容,也不要携带任何其他身份验证方法。 例如,虚构的身份验证协议要求您运行某种智能手机应用程序,或者具有某种安全令牌,智能卡等。 因此,这是一个沉重的负担。 也许智能手机没有太多问题,安装用于身份验证的应用程序就足够了,但是始终携带其他小工具中的一个非常不便。 因此,密码的一个很好的特性是您只需要随身携带密码,而密码应该始终随身携带。



这是认证方案可用性的标准。 从一般意义上讲,有趣的是,安全界中的人们如何不同意这些标准的重要性。 例如,他们说:“这个东西使用一百万个熵,只有大灾难才能破解它”,而忘记了上述要求对于身份验证方案也很重要。

因此,本文作者用来评估身份验证方案的下一个高级参数是可部署性。 它描述了在现有网络服务中实施此身份验证系统有多么容易。 例如,他们着眼于服务器兼容性,也就是说,是否可以轻松地将此方案集成到基于文本密码进行身份验证的现代服务器中? 从这个意义上讲,密码完全符合此要求,因此我们可以回答“是”。

第二个要求是浏览器兼容性,它与上一个相似,并且说,我可以在不需要安装插件或类似工具的情况下对现有的流行浏览器使用此身份验证方案吗? 同样,此处默认情况下会赢取密码。

另一个有趣的要求是可访问性,可扩展性。 也就是说,身体有残障的人们将能够使用这种认证方案,例如,盲人或听力不佳,运动技能不足等。 这实际上是一个非常重要的要求。

在这里,作者再次说“是”,这有点奇怪,因为尚不清楚残疾人如何使用密码,但作者说可以。



这些是有关部署此身份验证方案的能力应考虑的要求。 部署特别重要的原因是,为了实施新方案,升级所有这些东西非常困难,因为人们可能很难进行更新。 我的意思是,人们通常甚至不想重启计算机并安装新的操作系统更新。 因此,如果身份验证方案要求对服务器进行更改以迫使服务该服务器的人员执行任何其他操作,则会产生很大的困难。 这与您的问题有关,为什么我们不使用任何其他信息或提高密码强度。 在许多情况下,部署特性对人们来说非常非常重要。

因此,我们将考虑的最后一个参数是安全性。 此方案可以防止什么类型的攻击? 我将通过Res来表示这种特性-对foo的适应性,其中foo是可能造成伤害的任何影响。

例如,第一个特性指示系统对物理观察,“偷窥”或“偷听”的稳定性。 关键是,攻击者在多次观察系统中的身份验证后无法模拟真实用户。 想象一下,您正在上计算机课,并且有人站在您后面,看着您键入的内容。 也许有人在用视频为您拍摄影像,也许有人用一个麦克风“摘下”了键盘的声学特征,并试图从中提取某些东西,依此类推。

该文章的作者说,密码不符合此要求,因为攻击者可以观看视频并很容易地找出您键入的字母。 有一些攻击使用键盘上的声学指纹来识别可打印字符。 因此,密码不能抵抗物理观察。

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

, . – . , , , Antihammering. , , «». , „“, , , , . .

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

, , .

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

- , , . . .

, , . — . , , , DNS - , , . , : «, , , ». , , .



. : . , , . , , , , . , , .

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

, , , .

– , . , , . , . , – , .
, , , HTTPS . , CA, . - , , .



, , «». , . , - Gmail, Facebook.

, , . , .

, . , , . , , , , .

生物识别的有趣特征之一是键的尺寸,它决定了熵的程度。键的尺寸不是应该的大小。例如,对于指纹,密钥尺寸为大约13.3位,对于扫描眼睛的视网膜为19.9位,语音识别具有密钥尺寸或大约11.7位的熵指数。

54:15秒

麻省理工学院的课程“计算机系统安全”。 讲座17:“用户身份验证”,第3部分


该课程的完整版本可在此处获得

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


All Articles