1.“暴力破解”
“暴力破解”是Scalers在《刻意学习中》提到一个可攻破个人成长的一个概念。那什么是“暴力破解”呢?
简单来说,“暴力破解”就是对一个问题,比如破解密钥或者寻找最优解,穷尽所有可能性,找出结果。
在密码学和网络安全中,“暴力破解”是一个经常会用到的思路。
举个栗子,比如想要破解一个六位数的数字密码,如果要用“暴力破解”,就需要从000000到999999挨个尝试一遍,最终也一定可以找到密码。但这也意味着,你只需要把里面的100万种可能都尝试一遍,就能找到最终结果。
但也因为存在这样一种方法,我们现在安全验证都要采取各种方式防止“暴力破解”,不允许反复尝试。比如加入验证码或者加入重试次数限制,都是围绕这个核心开展;另外一个防范的方法,就是让密码变得更复杂、更长,增加暴力破解成本。
2.社工库
此外,还有一个概念叫做“社工库”,在网络上收集不同人经常使用的密码,然后生成一些常用字段,例如生日、电话号码等的排列组合,也可以在极大程度上降低暴力破解的难度。
但这就产生了两个层面的问题:
第一个层面,就是我们必须要有暴力破解的能力。我们必须要能通过程序、脚本等方式,快速尝试所有可能性。
第二个层面,就是我们在这个能力的基础上,要抓住各种机会、尽量降低查找时间,缩小搜索样本空间。
我们在破解的时候,从来不会因为暴力破解需要尝试所有可能而感到有压力,从而退却。我们只是通过各种方式去实现破解目的,例如通过排除法等,减少一些无用的搜索,使我们离目标更近。
这些都是建立在我么能够进行暴力破解的基础上,而且也不会因为各种困难而产生不去做暴力破解的想法。