初探网路安全(二):密码怎麽被「试」出来的

每一年都可以看到新闻在报资安公司所统计出来的年度最烂密码,诸如以下

  • 123456789
  • picture1
  • password
  • qwerty
  • iloveyou

由於这些密码太过常见,就算你不是一位对资讯安全有深入了解的专家、骇客,你也可以「试试看」把这些常见的密码用在你仇人的帐号上,多试个几次搞不好居然就能登入了。

密码怎麽猜?

而事实上,大多数骇客在破解密码的思维也是如此,就是「试试看」而已,只不过是用比你快的多的速度在尝试而已,运气好的话,一些常见密码就这样被试出来了。

假如说一个网站服务器不幸被骇客入侵,窃取了所有的密码,恰恰好这些密码都没有被 Hash(密码是怎麽被储存的)过,这些密码可能就被记到了骇客的小笔记里,用来试试看其它网站。

也就是说,当你在想一组新密码的时候,要尽量避免大家都想的到的密码,否则就很容易被猜中。例如这组密码 jie2k7au4a83,就曾被国外资安专家发现是一组常见的密码,但熟悉注音的各位应该能发现这就是「我的密码」用注音来表示吧!

当骇客不认识某个使用者时,比较难透过私人的讯息如生日、住址等去猜到密码,这种情况通常也只能「暴力破解」,但用的是电脑的算力,和一些聪明的办法暴力破解。

暴力破解密码

最直接的方式就是把密码能出现的每个符号都尝试一次,假如有个 100 个可能字元,密码长度为 1 的话,试 100 次就能猜出来;长度为 2 的话,就需要 100^2 次,以此类推,密码长度越长所需要尝试的次数就会越多。

假如骇客用的这台电脑,平均 1 秒能算 10 亿(10^10)次的话,长度为 5 的密码就只要花 1 秒便能试完所有组合,但长度为 10 的密码却要 300 多年才能试完,也就是说,越长的密码要破解的话花的时间越多,而且是指数成长。

但这样太暴力了,一般骇客也无法接受,他们通常比较温柔。

所以拿出他们的小笔记,以及一本「字典」,会比较没那麽暴力一些。

如果将有人用过的密码先试一次、在字典里出现过的字排列组合一下试过一次,这类的策略可以大幅的缩小范围,例如

  • iloveyou 是常见的密码,也是常见单字的组合
  • p@ssword 替换了 a 成 @,也是很常见的做法
  • whatever123 直接就是字典里的字加上数字的组合

因为以一些符合直觉的方式组合,所以像这样的密码都是强度极低的密码。懒得想密码而想的密码,骇客其实都知道。

诸如包含键盘排列的 qwertyqazwsx、密码後加上简单数字 123666666 等等让你容易记的密码,都会比较容易的被猜出来。

聊到这边你可能会想,现在的网站不都会限制你输入错误密码的次数吗?哪这麽多机会给你试我的密码呀!明天我们接着谈这个话题。


<<:  必然 (1) 导论与前言

>>:  [Day 21] 实作-活动清单 子组件 Cards

Python 练习

今天要来解APCS的题目,这次是105年10月29的实作题第二题,那我们就开始吧! 题目 解答 a=...

[Day19] Esp32用AP mode + AHT10

1.前言 今天进入到连假第三天了,大家是不是开始要收心了呢?!(我不想面对现实阿)。虽然是连假但是挑...

Day.12 主从搭建 - 部署流程(Master Slave Replication )

了解昨天提到的主从运作流程後,今天来实际搭建主从架构~ 在前面我们起了一台VM当作Master,现在...

DAY 26:Proxy Pattern,让代理人操作实际的物件

什麽是 Proxy Pattern? 让代理物件操作实际物件,让代理物件处理与业务逻辑无关的事情 U...

Day 14 ( 中级 ) 键盘钢琴 ( 音符动画 )

键盘钢琴 ( 音符动画 ) 教学原文参考:键盘钢琴 ( 音符动画 ) 这篇文章会介绍,如何在 Scr...