扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
我曾经介绍过一位来自微软公司的研究人员科马克•赫利博士的工作成果。他的论文《为什么用户应该拒绝安全建议》和《为什么用户名称可能比密码更重要》都是具有开创意义的。
赫利博士与微软研究院的同事斯图亚特•谢克特博士以及来自哈佛大学的迈克尔•米岑马凯尔博士再次跳出固定思维。下面就是对新论文《流行为王》内容的简单说明:
“我们的建议是加强用户自选密码以应对统计猜测攻击,办法就是让互联网系统的用户选择他们想要的任何密码,只要不是和其它用户过于类似即可。”
这一说法引起了我的注意。显然,对于信息人士来说,这意味着研究团队已经找到了更好的方法来防御猜测攻击或字典攻击。它包括了:
? 限制了攻击者猜测得到的数目。
? 最小化使用相同密码的帐户数目。
流行圣经
他们正在研究的杀手级应用是什么。研究团队希望建立他们称之为流行圣经(popularity oracle)的应用。如果我的理解是正确的话,这是一个可以对选择的密码进行测试,并告诉我们流行程度的网络应用。
你不得不承认,这一概念存在可取之处。然后,我意识到如果成为现实的话,这将是多么困难的事情。此外,如果坏人获得了流行圣经的控制权?事情会比现在更糟。
研究团队想到过这点么?我觉得有必要询问一下,这里就是他们的答复:
探客网:赫利博士,你和其他研究人员提出了一个有趣的假设。关于这一概念的诞生过程,你能向我们简单介绍一下么?
赫利博士:当然可以。我们的出发点是,必须长度一定、包含上、下等特殊字符的密码策略可能让用户感到非常沮丧。但网站觉得他们必须这样做,以防止用户选择容易理解和普通的密码。
因此,我们停下来反问自己:我们真正想要实现的是什么?并不是说每名用户的密码中都应该包含与或符等罕见内容。我们的目的是让密码更难被攻击者猜测。攻击者在开始的时间,总是先选择容易理解和普通的密码。我们希望降低这种攻击的效果。
我们的密码策略在实现这一目标的时间,表现是间接和低效的。它们让用户更不方便,而且目前还不能确认是否可以提高防御猜测攻击的效果。
假设你拥有一家用户数量为1亿的网站,而其中1%的账户使用的是10个使用最流行的密码。攻击者通过尝试就可以获得包含了100万账户的潜在列表。相反,我们现在假设,没有密码能被100个以上的账户使用。在这种情况下,任何10大列表,最多只能给攻击者提供1000个账户。这就是我们计划的目标。
探客网:我是否可以这样理解你的观点,即使是强大的密码,如果过于流行的话,也会变得薄弱和容易猜测?
赫利博士:是的。举例来说,如果一个密码被Hotmail所有用户中的0.1%使用,也就意味着,如果已经获得了用户名,我就可以进入这么多账户。它与密码是‘史努比’还是‘6g$9_35sd.’无关,流行才是真正的问题,密码是否合理与强大不强大无关。
探客网:你提到过现有的密码强度按照实际标准来衡量的话,已经属于足够的了。能更详细地解释一下么?
赫利博士:公平的说,强度测量是一项非常困难的工作。因为,长度是很容易确认的,是否包含特殊字符也方面检查,而确认它是否属于字典中的单词就不那么简单了。因此,许多测量标准认为‘@$$w0rd’属于强密码,而‘hdgopw’的效力就比较弱,你可能也感觉前者比后者更安全。
谢克特博士:密码强度测量采用的是推导方式的简单规则,将用户引导到所谓的强密码上。举例来说,有人会宣称包含了大写字母、数字和特殊字符的密码更强大。在有些时间,这样的推导会带来错误的结论。
探客网:你的建议是利用计数-最小略图模式利用数据结构对密码的流行性进行跟踪。理由似乎是,它比在数据库中列出所有密码更有效。我一直试图理解计数-最小略图模式的工作原理,但没有成功。我想问一下,他们是什么,以及与简单的密码数据库相比,优点在哪里?
赫利博士:我们的做法是先排除最受欢迎的密码,因此,需要可以对流行性进行跟踪的方法。现在,我们可以选择仅仅建立一个密码流行性的表单,但这样的做法是不安全的。如果表单泄露,攻击者就可以利用它进行尝试。
当然,我们会尽力防止出现泄露,但也不能假装不存在发生这种问题的可能性。举例来说,攻击者可以针对能够找到的所有用户名尝试全部流行密码。因此,我们希望比这种情况更复杂。
你可以将计数-最小略图模式想象为一个路标,但是只有一个方向。它对流行的密码进行追踪,并问答“该密码流行么?”的问题。如果密码是流行的,它就会如实回答,换言之,是的。但是,有时间密码并不是流行的,而是随意的,答案也是肯定的。
这属于误报。但也是存在价值的,这样就可以让正在访问计数-最小略图模式的攻击者也无法简单地找出什么密码才是真正有价值,什么不是。他就不能编译列表中的密码进行先导攻击。
谢克特博士:如果攻击者成功入侵简单的密码数据库的话,他就可以马上得知系统用户使用的密码和大多数用户使用的密码。
我们建立的数据结构并不保存密码,只是追踪流行性并找出过于流行的密码。它不容许攻击者对大量我们认为属于过于流行的密码进行确认。
探客网:论文中提到:
“更换带流行性限制的密码创建策略可以增加安全性和可用性。”
能解释一下原因么?
赫利博士:原因是这样的,攻击者通常认为网站的很多用户都是会选择最容易理解的密码。因此,字典或包含最常见选择的列表是他们尝试的基础。我们的目标就是通过确保短列表不能给账户安全带来很大的影响。
我们的希望是让用户不再需要处理目前面临的复杂密码规则,而是简单地依靠流行性进行判断即可。正如我在前面说的,现在看起来充满了希望,对于防止猜测攻击来说,复杂规则是一种非常间接的方式,它们还会导致很多应该可以使用的密码被不必要的禁止。
探客网:什么标准可以说明密码开始流行,变得危险了?
谢克特博士:通常情况下,如果有百万分之一的人在使用的话,就意味着密码过于流行了。对于一亿用户的大型系统来说,如果有一百名以上的用户使用的话,就意味着密码存在危险了。
探客网:在论文中,你深刻地认识到,如果攻击者有机会获得密码圣经的话,等于获得了极大的帮助。你怎么确保不会发生这样的情况呢?
谢克特博士:流行密码圣经和现有的密码数据库一样是受到保护的。也就是说,我们在设计的时间就注意到要尽量减少破坏导致的后果。
实际上,相比起隐藏信息来,将数据公开给大家使用更有意义,即使这意味着攻击者也可以获得副本。
探客网: 论文中提出了一种使用验证字/验证码(CAPTCHA)应用的新方式。你能解释一下它的工作原理么?
赫利博士:要实现对统计猜测攻击的成功防御不仅仅需要避免使用流行的密码,也要有限制攻击者可以猜测问题数量的机制。如果用户没有被禁止使用流行密码,或用户账户使用的策略没有强制使用非流行密码的话,限制猜测(举例来说,利用验证字/验证码)是非常重要的。
如果用户了解到,出现验证字/验证码就意味着密码过于流行了的话。这将鼓励他们更改为不流行的密码,免除在每次登录时都要填写验证字/验证码的麻烦。
探客网: 使用流行圣经的想法非常有趣。我们在什么时间才能看到具有足够用户的实际运行系统呢?
谢克特博士:数据结构本身是相当简单的。整合这样的功能进大系统面临的挑战经常是大系统的细节而不是这项功能。
最后的思考
从说明来看,利用流行圣经可以降低坏分子猜测到正确密码的可能性。再加上复杂用户名的使用,就可以让批量猜测攻击变得无效,多好的事情啊。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者