为什么每次服务的密码数据库泄露时都要担心

“我们的密码数据库昨天被盗了。但别担心:你的密码是加密的,“我们经常在网上看到类似这样的声明,包括昨天雅虎的声明。但我们真的应该从表面上看这些保证吗?...

为什么每次服务的密码数据库泄露时都要担心

“我们的密码数据库昨天被盗了。但别担心:你的密码是加密的,“我们经常在网上看到类似这样的声明,包括昨天雅虎的声明。但我们真的应该从表面上看这些保证吗?

事实上,无论公司如何试图扭转密码数据库的运行,密码数据库的妥协都是一个令人担忧的问题。但是,无论公司的安全做法有多糟糕,你都可以做一些事情来孤立自己。

密码应如何存储

以下是公司在理想情况下应该如何存储密码:创建帐户并提供密码。服务不存储密码本身,而是从密码生成一个“哈希”。这是一个无法逆转的独特指纹。例如,密码“password”可能会变成类似“4jfh75to4sud7gh93247g…”。当您输入密码登录时,服务将从中生成哈希值,并检查哈希值是否与存储在数据库中的值匹配。在任何时候,服务都不会将您的密码本身保存到磁盘上。

为什么每次服务的密码数据库泄露时都要担心

要确定您的实际密码,具有数据库访问权限的攻击者必须预先计算常用密码的哈希值,然后检查它们是否存在于数据库中。攻击者通过查找表和匹配密码的大量哈希列表来实现这一点。然后可以将哈希值与数据库进行比较。例如,攻击者会知道“password1”的哈希值,然后查看数据库中是否有帐户使用该哈希值。如果他们是,攻击者知道他们的密码是“password1”。

为了防止这种情况发生,服务应该对散列进行“盐分”。他们没有从密码本身创建散列,而是在散列之前在密码的前面或结尾添加一个随机字符串。换句话说,用户将输入密码“password”,服务将添加salt并散列一个看起来更像“password35s2dg”的密码。每个用户帐户都应该有自己唯一的salt,这将确保每个用户帐户在数据库中的密码都有不同的散列值。即使多个帐户使用密码“password1”,由于salt值不同,它们也会有不同的哈希值。这将击败试图预先计算密码哈希的攻击者。他们不能够一次生成应用于整个数据库中每个用户帐户的哈希,而是必须为每个用户帐户及其唯一的salt生成唯一的哈希。这将需要更多的计算时间和内存。

这就是为什么服务部门经常说不用担心。使用适当安全程序的服务应该说它们使用的是咸密码哈希。如果他们只是说密码是“散列的”,那就更让人担心了。例如,LinkedIn对他们的密码进行了哈希处理,但他们没有对密码进行加密,所以LinkedIn在2012年丢失了650万个哈希密码,这是一件大事。

错误的密码操作

为什么每次服务的密码数据库泄露时都要担心

这并不是最难实现的事情,但许多网站仍然以各种方式将其搞糟:

  • 以明文形式存储密码:一些最严重的违规者可能只会将明文形式的密码转储到数据库中,而不必进行哈希运算。如果这样的数据库被泄露,你的密码显然被泄露了。不管他们有多强壮。
  • 对密码进行散列而不使用盐类:一些服务可能会对密码进行散列并放弃,从而选择不使用盐类。这样的密码数据库很容易受到查找表的攻击。攻击者可以为许多密码生成哈希,然后检查它们是否存在于数据库中—如果不使用salt,他们可以一次对每个帐户执行此操作。
  • 重用salt:有些服务可能会使用salt,但它们可能会对每个用户帐户密码重用相同的salt。如果对每个用户使用相同的salt,那么这是毫无意义的,两个具有相同密码的用户将拥有相同的哈希。
  • 使用短盐:如果只使用几个数字的盐,就可以生成包含所有可能盐的查找表。例如,如果将一个数字用作salt,攻击者可以轻松生成包含所有可能salt的哈希列表。

公司不会总是告诉你全部情况,所以即使他们说密码是经过哈希处理的(或者是经过哈希和盐处理的),他们也可能没有使用最佳实践。总是犯谨慎的错误。

其他问题

salt值很可能也存在于密码数据库中。如果对每个用户使用一个唯一的salt值,攻击者将不得不花费大量的CPU能量来破解所有这些密码,这并不是很糟糕。

实际上,许多人使用明显的密码,因此很容易确定许多用户帐户的密码。例如,如果攻击者知道您的哈希值,并且知道您的salt,那么他们可以很容易地检查您是否使用了一些最常用的密码。

相关:攻击者如何实际“黑客帐户”网上和如何保护自己

如果一个攻击者想破解你的密码,他们可以用暴力破解你的密码,只要他们知道盐值,他们可能会这么做。通过对密码数据库的本地脱机访问,攻击者可以使用他们想要的所有暴力攻击。

当密码数据库被盗时,其他个人数据也可能泄漏:用户名、电子邮件地址等。在雅虎泄密的案例中,安全问题和答案也被泄露了,我们都知道,这使得盗取他人帐户的访问变得更容易。

救命啊,我该怎么办?

当一个服务的密码数据库被盗时,不管它说什么,最好假设每个服务都是完全不称职的,并采取相应的行动。

首先,不要在多个网站上重复使用密码。使用为每个网站生成唯一密码的密码管理器。如果攻击者发现您的服务密码为“43^tSd%7uho2\353”,而您只在某个特定网站上使用该密码,则他们没有学到任何有用的信息。如果你在任何地方都使用相同的密码,他们就可以访问你的其他帐户。这就是有多少人的账户被“黑客”了

为什么每次服务的密码数据库泄露时都要担心

如果某个服务确实受到了威胁,请务必更改您在那里使用的密码。如果你在其他网站上重复使用密码的话,你也应该修改它——但你不应该一开始就这么做。

您还应该考虑使用双因素身份验证,即使攻击者知道您的密码,它也会保护您。

相关:为什么你应该使用密码管理器,以及如何开始

最重要的是不要重复使用密码。如果你在任何地方都使用一个唯一的密码,泄露的密码数据库不会伤害你——除非它们在数据库中存储了其他重要的东西,比如你的信用卡号。

图片来源:Marc Falardeau在Flickr上,Wikimedia Comm***

  • 发表于 2021-04-08 14:27
  • 阅读 ( 177 )
  • 分类:互联网

你可能感兴趣的文章

现在检查一下你的密码是否被泄露过

...包含在过去的任何漏洞中。如果您选择的密码一直显示在数据库中,您应该考虑使用密码管理器生成更强大的密码。 ...

  • 发布于 2021-03-13 13:18
  • 阅读 ( 151 )

克服安全疲劳和保持安全在线的3种方法

...可以擦掉你的硬盘然后恢复。与其定期备份到外部硬盘,为什么不选择云提供商并不断更新备份?这要容易得多。 ...

  • 发布于 2021-03-17 04:44
  • 阅读 ( 161 )

什么是数据泄露?您如何保护自己?

...泛的问题,如恶意软件感染、网络钓鱼企图、分布式拒绝服务攻击以及员工丢失或被盗设备。 ...

  • 发布于 2021-03-18 16:20
  • 阅读 ( 228 )

密码管理器是如何工作的?说明的3种方法

...求您创建解密文件所需的密码,该文件可能被称为vault或数据库,其中包含所有其他密码。 ...

  • 发布于 2021-03-20 15:27
  • 阅读 ( 200 )

什么是无密码登录?他们真的安全吗?

...然需要密码。您需要一个强大的一次性密码。有鉴于此,为什么不考虑使用密码管理器呢? ...

  • 发布于 2021-03-21 10:04
  • 阅读 ( 342 )

ios 14中所有新的iphone隐私功能

...在弹出窗口中更改密码。如果你点击一个条目,你会看到为什么密码会被认为是泄露的,以及你在哪里使用过它。 当您通过包含的链接更改密码时,您的iPhone将提供用新密码替换存储的密码。我们建议您仔细检查您的密码列表...

  • 发布于 2021-04-01 13:13
  • 阅读 ( 168 )

什么是“暗网扫描”,你应该用它吗?

...你就要隐藏你的位置,这样当局就不会突袭进来。这就是为什么犯罪分子经常在黑暗的网络上**这些数据。这也是为什么臭名昭著的丝绸之路网站,一个毒品和其他非法物品的在线黑市,只能通过Tor获得的原因。 他们没有扫描整...

  • 发布于 2021-04-04 06:13
  • 阅读 ( 215 )

别上当了新的密码勒索骗局:以下是如何保护你自己

...ic.twitter.com/VFl5s1duCe — Emin Gün Sirer (@el33th4xor) July 11, 2018 为什么骗子想要加密货币 这类诈骗与CryptoLocker等勒索软件有很多共同点。与勒索软件一样,加密勒索也会发出威胁,并要求向加密货币地址付款。但是,虽然勒索软件在...

  • 发布于 2021-04-05 05:14
  • 阅读 ( 190 )

如何检查密码是否被盗

...名和密码数据库,并使用它们“黑客”你的帐户。这就是为什么你不应该重复使用重要网站的密码,因为一个网站的漏洞可以给攻击者提供登录到其他帐户所需的一切。 我被解雇了吗? 相关:为什么你应该担心每当一个服务...

  • 发布于 2021-04-06 17:04
  • 阅读 ( 185 )

用这些决议在2019年锁定你的技术

...露时,你都必须更改所有密码,这是不可行的。 这就是为什么您需要为每个站点使用不同的密码,密码管理器可以帮助您做到这一点。LastPass是一个受欢迎的免费选择,但也有一些可靠的选项,很容易设置和使用。 别再拖延了...

  • 发布于 2021-04-06 22:10
  • 阅读 ( 170 )
Lily女神
Lily女神

0 篇文章

相关推荐