云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

百度云_怎么连接别人的数据库_多少钱

小七 141 0

银行级凭证填充:部分密码验证的徒劳

最近,当我登录到我的一家信用卡提供商时,我看到了一个熟悉的屏幕。输入用户名后,服务要求我从密码中随机输入3个字符,以验证我的所有权帐户。它InfoSec社区越来越普遍地认识到,这种做法与我们现在所理解的安全密码相反管理。为了启动程序;提示您输入部分密码的站点验证无法使用BCrypt或Argon2等算法安全地存储密码。如果服务提供商遭到破坏,此类纯文本密码可用于登录帐户持有人使用相同密码的其他站点(称为凭证填充攻击)。使用密码管理器随机生成的长密码的难度增加,导致用户偏爱自己的内存而不是安全生成的唯一密码。使用密码管理器的用户必须从保险库中提取密码,粘贴到其他地方,然后计算出要放入的正确字符。随着复杂性的增加,它进一步激励用户(重新)使用简单的密码,他们可以记住并用手指数数(很可能在其他网站上重复使用)。这并不是一个清晰的想法,最初给我们买了复杂的密码组合规则,这最终也会鼓励密码的重复使用。我以前写过密码管理策略是如何产生的,以及我与安全研究人员特洛伊·亨特(Troy Hunt)合作开发的阻止密码重用的协作解决方案(Troy的博客上可以找到这种实现的例子),在这篇博文中,我想让我们了解一下部分密码验证的一些逻辑,很多网站都使用这种逻辑,包括银行和服务,它们肯定包含敏感数据。让我们看看这个策略到底有多有效是。怎么了安全是部分密码数据吗?在一次数据泄露中,我们发现86%的用户已经在数据泄露中使用了密码。所以,如果我们有密码的某些字符,那么从数据泄露中识别密码有多容易?那么,3个字符能为我们提供多少关于用户登录密码的信息(假设这样的密码被破坏了)?通过从一个包含488129个违规密码的公共数据库中随机选择10000个密码(排除少于8个字符的密码后),我从每个密码中随机选择3个字符,并查看完整数据集中有多少密码与原始密码在同一位置具有相同的字符。这个模拟每个密码运行11次考虑在内在11万次模拟测试中,58%的3字符密码段仅对数据库中的该密码有效。此外,28%可能只与一个其他密码关联,8%与其他两个密码关联密码。As这样,我们可以证明,在这个数据库中,只有3个字符的密码就足以让我们攻破这类帐户的很大一部分。使用慢速暴力攻击,在触发任何形式的速率限制(如果有的话)之前,可以针对一个帐户检查数百个密码,将密码段与常用密码数据库相结合,可以大大降低搜索候选项。对这些战术的研究仅仅存在于模拟的范围之外。爱丁堡大学和阿伯丁大学之前在一篇关于部分密码实现和攻击的论文中,使用更大的数据漏洞(RockYou)创建了一个密码投影字典,并在尝试登录用户帐户时记录凭证。结果收集基于对用户登录在线银行网站的调查,结果显示,能够预测挑战页面的解决方案的成功率高得令人担忧(尤其是针对不需要第二凭证或弱凭证的银行网站):我们发现,只要猜测6次,攻击者就可以正确响应2位挑战在6位数的引脚上,成功率为30%。记录最多4次运行,攻击者可以成功超过60%的时间,或通过组合猜测和记录,超过90%。字母数字密码做得更好:对8个字符的字母数字密码进行3位挑战,最多猜10次,攻击者可以获得5.5%的成功率。将猜测和录音结合起来,一次录音可以将这一比例提高到25%,四次录音则至少增加80%运行。部分可以说,密码验证的存在是为了防止密钥记录者(无论是软件还是硬件形式)学习您的完整密码;但是现在让我们来检验一下这个假设下一个。得到完整密码每次我的银行网站在登录时要求输入我的密码的一组随机字符时,知道我击键的人可以学到更多。随着个人电脑拥有量达到历史最高水平(例如英国家庭电脑拥有率为88%),这类用户使用单一设备。让我们考虑了部分密码验证是否真的有帮助的威胁模型。一个用户需要重复登录多少次,直到他们的密码被完全破解?这个问题代表了优惠券收集者问题的一种改进形式(除了多重选择),因此可以用数学术语计算近似值;但是,这里我将使用真实密码数据和模拟来演示这一点。使用二项式系数计算从密码中选择3个随机字符的可能方式并不重要;从12个字符的密码中选择3个字符有220种方法,但重要的是要知道,在一天结束时,您只需要12个字符就可以破解密码。每当用户被提示输入更多随机字符时,我们就有更多的机会找出他们的密码是。是我反复计算随机密码的长度(长度超过8个字符),然后进行了一个模拟,看看要知道整个密码需要多少次。11万次模拟运行在10000次密码。输入模拟结果显示,58%的密码在7次登录后被完整显示,90%的密码在12次登录后和99%的密码在19次登录后被完全暴露。这些结果将更加花哨,有一个最大密码长度限制(和/或包括少于8个字符的密码);正如许多在线银行使用这样一个接近。那个多因素认证之路我们有了它;没有实质性的键盘记录器保护来防止部分密码验证;你得到的只是保证您正在处理的服务没有能力(或太懒)来适当地保护您的密码。密码管理者是一件幸事,他们允许用户在每个站点上设置强大、唯一的密码,部分密码验证为采用这种方法的用户提供了一个巨大的可用性边界实践。用英国国家网络安全中心的话来说:"让他们粘贴密码"。那么你该怎么做呢?不要仅仅使用你的客户所知道的来保护他们的账户,而是使用他们所拥有的东西。密钥记录程序保护的行业标准是双因素身份验证(或多因素身份验证);使用用户智能手机上的应用程序生成加密安全令牌,或者,就像银行越来越多的情况一样,为客户提供硬件双因素令牌生成器来验证他们的登录尝试。硬件令牌生成器提供了一个独特的硬件来生成安全令牌,用户无法使用这些硬件登录到他们的在线上越来越多除了用户输入的密码外,SMS还用于向用户发送一个密码以验证其登录尝试。从技术上讲,SMS不是第二因素身份验证,而是代表一次性密码。对于使用密码登录站点的用户来说,这也可以说是在他们用来生成一次性令牌的同一设备上。此外,SMS令牌不是使用2FA应用程序采用的rfc6238标准在设备本身加密生成的,而是通过具有许多安全缺陷的协议发送。实际上,这意味着拦截会泄露您收到的一次性密码。虽然有更好的SMS替代方案,并且确实应该允许接受过使用这种策略的用户这样做,但是在设置双因素身份验证方面存在可用性差距,并且在向用户发放硬件设备方面存在一定的成本和操作障碍。然而,在一个绝大多数用户只使用他们的密码来保护他们的安全帐户的时代,如果需要,允许选择加入的用户默认使用SMS一次性密码,同时提供双因素身份验证选项,这在某种程度上是可以原谅的。英国税务局(英国税务局)已经走上了这条路,要求用户设置某种形式的多步骤验证,然后才能继续管理他们的账户;可以通过短信、固定电话或身份验证应用程序。总之,虽然SMS不是生成一次性密码的最安全的方式,但它比仅使用密码的用户提供了巨大的优势。任何形式的一次性密码总比没有要好,它为用户提供了一条处理部分密码验证所承诺但又不足的安全威胁的路径开。想要吗帮助企业,无论大小,保护他们的用户免受安全威胁,无论大小?Cloudflare技术支持团队正在招聘。