【问题标题】:Estimating Password Cracking Times [closed]估计密码破解时间[关闭]
【发布时间】:2020-06-24 00:57:48
【问题描述】:

所以我最近一直在研究密码破解。我偶然发现了几个声称可以大致告诉您密码被破解需要多长时间的网站。

真的,我想知道他们是如何计算的。

据我了解,密码的可能组合是池大小 ^ 密码长度。 例如,包含大小写字母的 5 个字母密码将是 52^5 = 380204032 种可能的组合,平均而言,假设仅使用暴力破解方法,在破解密码之前只需检查 50% 的组合.

那么网站如何估计被破解的时间呢?当然,这取决于所使用的散列算法、处理能力等,还是他们只是假设每秒的猜测次数?

我想知道是否有一种确定/标准的方法来估计密码破解时间,如果有,它是如何计算的。

谢谢

【问题讨论】:

  • 您能否说明您的来源,以便我们更好地争论?从那以后,密码破解就一直存在,嗯……密码。有工具,彩虹表可以破解,彻底改变问题的时空复杂度。
  • 好吧,假设只使用蛮力方法。 howsecureismypassword.net 等网站提供了一个估算值,所以我只是想知道他们是如何计算的。我假设首先检查常用词、模式等,然后如果密码不包含模式或常用词,则根据暴力方法计算估计时间。

标签: security hash passwords cracking


【解决方案1】:

假设只使用暴力破解方法

几乎从来没有这样的情况,所有半专业的破解者都使用组合方法。然而,对于检查器站点,实现可能会有所不同......通常他们将实现一个简单的基于客户端 JS 的检查器,它可以使用生成的统计信息(字典词或仅略有不同?长度?字符集?->你有答案所有这些)。

可能是最好的实现方式:

  1. 密码(和哈希)是否在最常用的密码列表或leaked already 上,因此经常被破解者测试?此外,著名的 xkcd 12

  2. 如果不是,密码的复杂性是多少(字符集、特殊字符等)以及密码的熵?它在密码complexity 和预估计cracking time 的类别中最终在哪里?

最后,密码破解很便宜,有服务出租,以及使用 AWS 和 hashcat 的 2019 年成本估算 are here。在 hashcat 或 john the ripper 中,您将准确地看到他们实现的 startegies,例如从您选择的字典开始(例如,使用特定语言的字典 - 例如,如果对手掌握了西班牙网站的哈希密码数据库 - 并且工具将使用 o->0、a->4 等的典型替换。 ,添加简短的单词,在之前和之后添加数字(例如日期),从而真正利用所有人类元素)。用户已经习惯(非常错误地)选择一个单词,并通过添加一些数字和一些特殊字符在开头/结尾使其更加“复杂”。但早就知道lenght beats complexity

这是另一位来自著名安全专家/研究人员的出色explanation,主题完全相同。

对于具体提到的网站,如果你查看网页的来源,目前有一个特定的JS资产,你可以把它放入美化器中。

view-source:https://howsecureismypassword.net/app.60d36fdc.js

这是 12k 行,所以我不能真正发布代码,但有一段时间这里是 pastebin 上的祝福版本。

【讨论】:

    猜你喜欢
    • 2018-03-31
    • 1970-01-01
    • 2012-03-13
    • 1970-01-01
    • 2016-06-01
    • 1970-01-01
    • 2012-11-24
    • 2011-08-16
    • 1970-01-01
    相关资源
    最近更新 更多