黑客是怎么破解你的密码的?
嘿,电脑怪杰们,Neo粉们,《西特克天文学》专辑的发烧友们,大家好,我是Trace。感谢大家收看DNews。
密码的存储和破解
密码就像虚构花园里的苹果,完美而成熟,等着你拿走,如果你知道怎么拿走的话。网站有很多存储密码的方法,运用散列算法,给密码加盐,加令牌,设置双重认证。但破解密码呢?破解密码要有趣多了,对吧?
首先,密码并不是以文字的形式存储,而是以一组名为“散列”的加密字符的形式进行存储的。它们看起来就像这样的字符。如果我想进入你的账户,不一定非要用你的密码,只要找到能让我破解那个散列的东西,甚至只要匹配上那个散列就可以了!
为此,黑客社区创建了“查找表”和“彩虹表”——已经预散列的常见密码数据文件。比如,密码123散列后是这样的,abcde12345散列后是这样的。如果一个黑客事先就做了这项工作,手上也已经有数百万个密码了的话,他们只需将这些密码进行比较,就可以进入你的账户。而且他们能够非常迅速地完成这一比较。在为科技门户网站Ars Technica所做的测试中,一台计算机每秒可以尝试3500亿个组合!3500亿次猜测尝试。只需要一!秒!钟!
但公司们有对付彩虹表的武器——这种武器叫做“盐!”不是字面上的那个盐啦。大体就是往散列密码里加随机的代码块。正如美联社的唐娜所说,“味道就变了。”有了加盐的散列表,彩虹表就没用了,因为他们将永远无法找到匹配的破解码!计算机并不擅长解决问题,所以,即便是这种小小的改变,也会让自动的黑客程序陷入混乱。没有了表,干什么都会变得更耗时。
黑客必须弄明白盐是怎么加进去的——是加在了每个密码的开头?还是加在了第15个字符之后?是不是每个用户加盐的方式都不一样?接下来,他们还要弄清楚盐字符到底是什么,一个编码器加密算法就给每个散列的开头加上了字符串“$2a$”……但通常,加盐密码就已经能够挡住很多黑客了,因为改变策略,使用字典破解或暴力破解速度更快。这些在《机器人先生》中都是很有名的攻击方法。字典破解使用文字列表来获取常见的密码,比如Password123,通过这种方式把密码试出来。它们能够在运行的时候对密码进行加盐和散列,并以光速将它们与数据库中的密码进行对比。暴力破解就更夸张了,它们会先从“aaaa”开始,以不同的方式对其进行加盐和散列,然后将其与数据库进行比对,然后从“aaab”开始再次执行上述步骤,然后“aaac…”。你想的是对的,它们就是在尝试每一种组合。这就不知道要多久才能破解了。
黑客们总是在与时间赛跑,不仅仅是因为就像电影里那样,联邦调查局就在他们屁股后面,也因为一旦一家公司或机构意识到自己被黑了,它们通常就会调整网站的安全级别并公开被黑的消息,鼓励用户更改密码。这也是为什么黑客只会攻击你的原因。如果你连了一个没有密码的开放wifi,基本上就等于你在用所有人都能听到那么大的声音告诉大家你的密码。一些黑客还会设置假的“免费WiFi”点来获取常见的密码和邮件地址。还有一些黑客直接用垃圾邮件!如果你点击一个word文档或一封邮件中的链接,它就能在你的电脑上执行代码,称为“恶意软件”,复制您输入的所有内容(包括密码、信用卡号码等),并将其直接发送给黑客。还有一些人冒充Facebook安全部门的工作人员,或者银行的代表,或者IT部门的工作人员……有些人甚至会直接给你打电话。永远永远不要把你的密码告诉他人!永远!如果对方是公司的话,那他们已经有你的密码了!为什么花那么多时间黑服务器呢,如果能通过哄骗的手段套到你的密码?
除了黑客行为非常疯狂又很有趣之外,这个故事想要告诉大家的是,要把密码设置得又长又复杂。永远不要重复使用同一个密码!长密码比短密码更难快速破解。实际上,用数字密码并不那么重要,要把密码设长一点,比如“正确的马电池订书钉”或者歌词——好记又足够长,这样的密码没有几年的时间是破解不了的!这有点像那个熊口脱险的笑话,你不用跑得最快,只要比最慢的那个快就可以了。
如果你还没有看我们不久前做的关于密码破解和密码的视频的话,请点击这里。请在下面的评论中告诉我们,你是否在看过这个视频之后去改了你的密码,因为我自己就改了。感谢大家收看本期DNews,欢迎订阅,我们下期再见。