选择遗忘|这个开源免费软件让小白也能当黑客,密码是如何被破解的

社交媒体账户、电子设备、银行卡甚至入户门 , 几乎与数字有关的东西都由一串密码保护着 。 自然 , 存储在密码背后的价值促使一些人铤而走险对其发起一次次攻击 。
普通老百姓通常认为自己的价值不足以引起不法分子注意 , 但往往黑客破解密码很少是针对单一目标 , 能得到一个账户的密码 , 说明服务器中的其他账户也透明了 。
今年7月Twitter遭到攻击 , 奥巴马、比尔盖茨、库克、马斯克等大佬的Twitter账户都被破解 , 黑客登录这些账户后发布了一个虚假项目 , 骗取了价值18万美金的比特币 。
知己知彼才能百战百胜 , 想要保护自己的账户就要知道黑客是如何破解密码的 。 这其实一点都不复杂 。
暴力破解暴力破解听起来威力很强 , 其实就是「穷举」 。
黑客会先根据网站规定来确定穷举范围 , 例如密码必须在8-16位之间 , 必须含有至少一个字母和数字等 。
在最简单的模型中 , 机器会挨个尝试:00000000、00000001…99999999…0000000A…AOqLdgX9…直到所有密码都被尝试 。
这意味着一个8位数的密码就有3,025,989,069,143,040(3000万亿)种可能 。
如果考虑到服务器的响应时间 , 尝试所有密码就需要上亿年 。 显然这样效率太低了 , 而且每个账户都需要单独穷举 。
密码如何工作如果你明白「哈希」 , 可以跳过这一段 。
一般来说我们登录账户的流程是这样的:
【选择遗忘|这个开源免费软件让小白也能当黑客,密码是如何被破解的】1、输入账户密码(传输给服务器);
2、与服务器中的账户密码比较;
3、如果密码匹配允许访问、错误则提示密码错误 。
但这样的流程显然不够安全 , 如果黑客破解了服务器 , 就能看到所有账户密码 。 这样直接保存密码的网站非常无良 , 根本不把用户隐私当回事 。
为了提高安全性 , 大多数网站会将用户的密码「哈希」后再存储在他们的服务器中 。
你可以将「哈希」视为不可逆的混乱密码 , 比如密码是123456 , 黑客破解了服务器 , 也只能得到这个密码的「哈希」 , 可能显示为ajkdo0-934i91i&^!@jioa65j%dmqi&xcmf’a , 无法直接知道密码是多少 , 也无法逆向密码 。
于是登录流程变成了:
1、输入账户密码
2、密码被转换为哈希;
3、与服务器中的哈希比较;
4、如果哈希匹配则允许访问、错误则提示密码错误 。


推荐阅读