如何防范密码字典攻击

如何防范密码字典攻击
字典攻击威胁到您的网络和平台的安全。他们试图通过生成匹配的密码来破坏用户帐户。了解它们是如何工作的以及如何打败它们。

字典攻击

需要保护计算机系统、网站和托管服务上的用户帐户免遭未经授权的访问。用户身份验证是执行此操作的最常用方法。用户会获得一个唯一的用户 ID(对于在线帐户,这通常是他们的电子邮件地址)和密码。在用户访问帐户之前,必须提供、检查和验证这两部分信息。

字典攻击是一系列网络攻击,它们具有共同的攻击技术。他们使用长长的单词列表——有时是整个数据库——和一个软件。该软件依次读取列表中的每个单词,并尝试将其用作受攻击帐户的密码。如果列表中的单词之一与真实密码匹配,则该帐户已被盗用。

这些攻击不同于更原始的蛮力类型的攻击。蛮力攻击尝试随机组合字母和字符,希望他们偶然发现密码并祝你好运。这些攻击是低效的。它们耗时且计算量大。

随着您在密码中添加的每个额外字母,破解密码所需的工作量会大大增加。八字符密码中的组合数量比五字符密码多几个数量级。无法保证蛮力攻击一定会成功。但是对于字典攻击,如果列表中的条目之一与您的密码匹配,则攻击最终会成功。

当然,大多数企业网络会在一定次数的访问尝试失败后强制执行自动帐户锁定。尽管威胁行为者通常从公司网站开始,但这些网站通常对访问尝试的控制不那么严格。如果他们可以访问该网站,他们可以在公司网络上尝试这些凭据。如果用户重复使用了相同的密码,则威胁行为者现在就在您的公司网络中。在大多数情况下,网站或门户并不是真正的目标。它是通往威胁行为者的实际奖品——企业网络的途中的中转站

获得对网站的访问权限允许威胁行为者注入恶意代码,以监控登录尝试并记录用户 ID 和密码。它要么将信息发送给威胁参与者,要么将其记录下来,直到他们返回站点进行收集。

不仅仅是文件中的单词

最早的字典攻击就是这样。他们使用字典中的单词。这就是为什么“永远不要使用字典词”是选择强密码指南的一部分的原因。

无视这个建议并选择字典中的单词,然后在其中添加一个数字以使其与字典中的单词不匹配,同样糟糕。编写字典攻击软件的威胁行为者对此很明智。他们开发了一种新技术,可以多次尝试列表中的每个单词。每次尝试时,都会在单词的末尾添加一些数字。这是因为人们经常在每次必须更改密码时使用一个单词并附加一个数字,例如 1,然后是 2,等等。

有时他们会添加一个两位或四位数字来代表一年。它可能代表生日、周年纪念、您的团队赢得杯赛的年份或其他一些重要事件。因为人们使用他们孩子或其他重要人物的名字作为密码,所以字典列表被扩展为包括男性和女性的名字。

软件再次进化。用数字代替字母的方案,例如用 1 代替“i”、用 3 代替“e”、用 5 代替“s”等,不会显着增加密码的复杂性。该软件了解约定并通过这些组合工作。

如今,所有这些技术仍在使用,以及其他不包含标准字典单词的列表。它们包含实际密码。

密码列表的来源

著名的Have I Being Pwned 网站存储了超过 100 亿个被盗帐户的可搜索集合。每次发生数据泄露时,站点的维护者都会尝试获取数据。如果他们设法获得它,他们会将其添加到他们的数据库中。

您可以自由搜索他们的电子邮件地址数据库。如果在数据库中找到您的电子邮件地址,您就会被告知是哪个数据泄露泄露了您的信息。例如,我在Have I Being Pwned数据库中找到了我的一个旧电子邮件地址。它在 2016 年的 LinkedIn 网站泄露事件中被泄露。这意味着我对该网站的密码也将被破坏。但是因为我所有的密码都是唯一的,所以我所要做的就是更改那个站点的密码。

Have I Being Pwned有一个单独的密码数据库。出于显而易见的原因,您无法将电子邮件地址与Have I Being Pwned网站上的密码匹配。如果您搜索您的密码并在列表中找到它,这并不一定意味着该密码来自您的帐户之一。有 100 亿个被泄露的账户将会出现重复的条目。有趣的一点是,您被告知该密码的流行程度。你认为你的密码是独一无二的吗?可能不是。

但是,无论数据库中的密码是否来自您的一个帐户,如果它在Have I Being Pwned网站上,它将是威胁参与者的攻击软件使用的密码列表。无论您的密码多么神秘或晦涩,都没有关系。如果它在密码列表中,则不能依赖它——因此请立即更改它。

密码猜测攻击的变体

即使是像字典攻击这样的低级攻击,攻击者也可以通过一些简单的研究来尝试使软件的工作更容易。

例如,他们可能会在他们希望攻击的站点上注册或部分注册。然后,他们将能够查看该站点的密码复杂性规则。如果最小长度为 8 个字符,则可以将软件设置为从 8 个字符的字符串开始。测试所有四个、五个、六个和七个字符的字符串是没有意义的。如果存在不允许使用的字符,则可以将它们从软件可以使用的“字母表”中删除。

以下是对不同类型的基于列表的攻击的简短描述。

  • 传统的蛮力攻击:实际上,这不是基于列表的攻击。一个专门的、专门编写的软件包生成字母、数字和其他字符(例如标点符号和符号)的所有组合,以逐渐变长的字符串形式出现。它尝试将每一个作为受攻击帐户的密码。如果它碰巧生成与受攻击帐户的密码匹配的字符组合,则该帐户已被盗用。
  • 字典攻击:一个专门的、专门编写的软件包一次从字典单词列表中提取一个单词,并尝试将它们作为受攻击帐户的密码。可以对字典单词进行变换,例如向它们添加数字和用数字代替字母。
  • 密码查找攻击:类似于字典攻击,但单词列表包含实际密码。自动化软件一次从从数据泄露中收集的大量密码列表中读取一个密码。
  • 智能密码查找攻击:类似于密码攻击,但尝试转换每个密码以及“裸”密码。转换模拟常用的密码技巧,例如用元音代替数字。
  • API 攻击:这些攻击不是试图破解用户的帐户,而是使用软件生成字符串,他们希望与应用程序编程接口的用户密钥相匹配。如果他们可以访问 API,他们就可以利用它来窃取敏感信息或知识产权。

关于密码的一句话

密码应该是可靠的、唯一的,并且与任何可能被发现或推断出的关于您的信息(例如孩子的名字)无关。密码比密码好。由一些标点符号连接的三个不相关的单词是一个非常强大的密码模板。与直觉相反,密码短语通常使用字典词,我们一直被警告不要在密码中使用字典词。但是以这种方式将它们结合起来,给攻击软件带来了一个非常难以解决的问题。

我们可以使用 我的密码有多安全 网站来测试我们密码的强度。

  • cloudavvyit:预计破解时间:三周。
  • cl0uds4vvy1t:预计破解时间:三年。
  • 30.feather.girder:预计破解时间:41 千万年!

并且不要忘记黄金法则。密码只能在一个系统或网站上使用。它们绝不能在一个以上的地方使用。如果您在多个系统中使用密码并且其中一个系统遭到破坏,则您使用该密码的所有站点和系统都处于危险之中,因为您的密码将掌握在威胁参与者的手中 – 并且在他们的密码列表中. 无论您的密码是否需要 41 千万年才能破解,如果在他们的密码列表中,破解时间完全无关紧要。

如果您要记住太多密码,请使用密码管理器。

如何防范蛮力攻击

分层防御策略总是最好的。没有单一的防御措施可以让您免受字典攻击,但是您可以考虑多种措施,它们将相互补充并大大降低您容易受到这些攻击的风险。

  • 尽可能启用多因素身份验证。这将用户拥有的实物(例如手机或 USB 密钥或钥匙扣)纳入等式。发送到手机上的应用程序的信息或钥匙扣或 USB 密钥中的信息都被纳入到身份验证过程中。用户 ID 和密码本身不足以访问系统。
  • 使用唯一且以加密形式安全存储的可靠密码和密码短语
  • 创建并推出管理密码的使用、保护和可接受的密码制定的密码策略。将其介绍给所有员工,并强制执行。
  • 将登录尝试次数限制在较低的范围内。当达到失败尝试次数时锁定帐户,或锁定它并强制更改密码。
  • 启用验证码或其他辅助的、基于图像的身份验证步骤。这些旨在阻止机器人和密码软件,因为人类必须解释图像。
  • 考虑使用密码管理器。密码管理器可以为您生成复杂的密码。它会记住哪个密码对应哪个帐户,因此您不需要这样做。密码管理器是为您需要跟踪的每个帐户拥有铸铁、唯一密码的最简单方法
正文完