摘录
LinkedIn使用未经盐处理的SHA-1算法进行密码哈希,使用户容易受到暴力破解攻击。他们快速做出了回应并解决了这个问题,突显了适当的哈希和安全审计的重要性。
介绍
LinkedIn 是全球最大的专业社交平台之一,拥有超过7亿会员。与任何以用户为中心的在线服务一样,密码安全对于LinkedIn来保护用户账户至关重要。
2012年,人们发现LinkedIn在存储用户密码时使用了未加盐的SHA-1算法进行哈希处理。由于未加盐SHA-1的弱点,这引发了严重的安全担忧。本文将探讨为什么LinkedIn会做出这个选择,相关的风险以及LinkedIn对该问题的应对方式。
关于密码哈希的背景知识
密码哈希是将密码转换为不可读字符串(称为哈希)的过程,它可以实现安全存储密码。
常用的哈希算法包括MD5、SHA-1、SHA-256和bcrypt。哈希输出不会泄露原始密码。
当用户登录时,输入的密码会被哈希处理,并与存储的哈希进行匹配以验证访问权限。
LinkedIn的密码安全问题
2012年6月,安全研究人员发现LinkedIn在存储用户密码之前使用了未加盐的SHA-1算法进行哈希处理。
这导致了一个明显的漏洞,因为未加盐的SHA-1哈希易受暴力破解攻击的影响,原因是其速度和简单性。
领英选择这种方式的原因
领英很可能选择了未加盐的SHA-1算法,原因如下:
广泛使用 - 在那个时候,SHA-1算法是许多服务常用的算法。
计算简便 - 相比于bcrypt等算法,SHA-1算法的计算速度相对较快。这降低了领英的运营成本。
缺乏认识 - 在2012年,人们对SHA-1算法的弱点了解并记录得不够充分。
总体而言,未加盐的SHA-1算法在当时是便捷和标准的做法,但对现代暴力破解攻击来说非常不安全。
对用户账户的影响
使用未加盐的SHA-1算法来散列密码给领英的用户带来了重大风险:
极大地简化了密码的暴力破解。黑客团体可以轻松解密用户密码。
增加了使用泄露密码进行凭证填充攻击的机会。
易受前像攻击的影响,攻击者可以找到与已知哈希匹配的密码。
这削弱了平台上用户账户和数据的安全性。
领英的应对措施
一旦未加盐的SHA-1算法问题公开,领英立即做出了响应:
要求用户立即更改密码以应对直接风险。新密码使用更好的加盐散列。
实施了使用10000轮SHA-256迭代散列的加盐散列。这增加了暴力破解攻击的计算工作量。
为受影响的用户提供一年的免费身份保护保险。
将加强安全性列为未来的首要任务。
领英因此事受到了一些批评。但他们透明的回应和快速的纠正措施受到了赞扬。
总结与建议
领英案例展示了使用正确的密码哈希技术的重要性:
定期根据最新的标准和建议重新评估密码使用方法。
采用多因素身份验证和其他保护层的防御性方法。
在漏洞被利用之前主动审查安全措施。
与用户保持透明,并迅速回应发现的问题。
对于今天处理用户凭据的任何在线服务来说,这些教训是确保安全并建立信任的基本要素。
结论
领英使用未加盐的SHA-1哈希算法使用户账户面临严重的凭证盗窃和暴力破解风险。尽管存在安全漏洞,但领英通过迅速修复问题并及时通知用户做出了良好的回应。该案例突显了使用带盐和缓慢密钥拉伸的正确密码哈希的重要性,以及持续进行安全评估。对于在线平台而言,健壮的密码保护应该是首要任务。