不安全的“安全密码”
一、安全的密码说明
昨天写了一篇关于我WIFI密码破解过程的文章,介绍了 WIFI的WPA2密码破解方法和过程,其实最终还是要走到密码的暴力破解上,这种攻击虽然没有太多技术含量,但是非常普遍,而应对方法就是设置一个安全的口令。那么什么是安全的口令呢?很多安全教育的文档会给出这样的说明:足够的长度、具有复杂性,例如大写字母、小写字母、特殊字符都应该有。例如Windows系统策略中开启了密码复杂性的策略 ,就要去长度至少8位,密码中必须包含数字、大写字母、小写字母、特殊字符这四种类型中的三种。那么,是否符合这样要求的就是安全密码了呢?
让我们来看一个案例,这个案例已经很多年前了,我在很多培训中都使用这个案例来说明什么是安全的密码。
二、不安全的“安全密码”案例
2011年七月,我处理了一起服务器入侵事件,这起事件可以说是非常普通的入侵案件,每年都会处理很多起,也没有什么技术含量,只是这起案件带来了一些对安全的思考。事件起因非常简单:北京某政府部门信息中心管理员怀疑一台服务器被入侵,但是不知道如何被入侵的,正好此单位信息化领导是我的朋友,请我去帮忙看看。简单了解了一下情况,服务器前有防火墙,只开放了80、3389端口,服务器补丁打全了。按照老习惯怀疑可能SQL注入,但是看web日志前,习惯性的先简单看了看服务器日志,发现服务器安全日志中存在多个互联网IP地址从远程终端登录的记录,甚至有在夜间的(凌晨1点左右)。于是问了一下管理员和开发商人员,在记录的时间段内是否进行过登录,回答均没有在那个时间登录过,于是初步判断可能是密码被猜出来,攻击者直接从终端服务进行了远程登录,登录到系统上进行了操作。
我跟管理员说可能是系统弱口令,被攻击者猜出来从而导致入侵的。系统管理员很自信的说密码不会是弱口令,因为他设置的完全符合安全的要求:长度16位、大写字母、小写字母、数字、特殊字符都包含。我让他写出来给我看看。于是他把管理员口令给了出来:zaq12wsxZAQ!@WSX
在他写完这个管理员密码的时候,我就已经知道了,这是一个典型的弱口令。这个密码初看起来好像符合安全密码的所有要求,但是我们仔细看一下你的计算机键盘,其实就是最左边的一排键,从下按到上,兜一圈按下来,然后按着shift键再重按一次。如下面这张图片这样:
自认为聪明的管理员啊,这种密码的设置方式,攻击者都知道了,不再是安全的密码了,案例非常简单,似乎没有什么参考价值,其实其中牵涉到了密码设置的问题。
三、什么是安全的密码
账号密码设置是信息安全中最基本的安全措施,尽管非常简单,但是任然有大量的安全事件与密码有关,如何设置一个好的密码,其实是一门学问。很多安全资料。都提到设置密码,提到的都是多少位长度、大写字母、小写字母、数字都有,但上面案例中管理员设置的密码似乎都符合以上要求,长度够、复杂度够。但仍然不是安全的密码。因为这种密码对于纯粹穷举的暴力破解是很好的,但是对结合了社会工程学的口令破解方式,这种密码就属于安全性不足的密码了。
好的密码应该包含两个特点:自己很好记、别人不好猜。
案例中的管理员设置的密码符合了第一条,没有符合第二条,所谓不好猜应该指的是不好推理出来,使用电话号码、生日作为密码的就明显不符合不好推理的情况,攻击者可以通过收集目标信息从而推理出来,还有就是必须无规律,案例中的管理员就是使用了规律的密码,构成密码的字符在键盘上是顺序排列的,也就意味着有规律可循、可以推理出来,因此不是好密码。
还有些管理员设置了很复杂的口令,的确无规律,不可推理,能有效的应对攻击者的口令破解,但是大多很难记忆,不符合第一条要求。由于不好记忆,于是管理员会将口令保存在excel表中、存放在自己的个人电脑中,或者记在笔记本里面,这也为口令的保管带来了另外的安全威胁(这种做法的风险下次通过另外一个案例进行介绍)。但如果仅仅把密码记忆在脑中,又存在由于时间长而忘记口令的情况(我过去经常帮客户处理因为口令过于复杂,忘记口令无法进入系统,最后只能破解进入系统的情况)。
四、如何设置安全的密码
“自己容易记”也就是设置的密密码需要有规律,但是这个规律应该是仅有自己知道的,这样才符合“别人不好猜”。我们可以参考下面的方式进行密码设置。
如何设置一个好的密码的例子:记忆一句话,例如,我的生日是10月28日,由此生成密码,取拼音的第一个字母:wdsrs10y28r,再做略微变形,如在最后加个感叹号,第一个字母大写等,最后密码为:Wdsrs10y28r! 密码具有足够的安全性,并且也不容易忘记,只要你记住这句话,甚至你将这句话记在笔记本上也比你直接记密码好。
另外,对于一些单位的重要系统,为了避免单一管理员存在的密码丢失风险,可以采取采取密码信封的方式,在系统上设置一个非常复杂的用户名和口令,无需记忆,将它写在一张纸,封在信封中,保存在安全的地方,例如保险柜中,当系统发生问题时,或者紧急情况下,由相关人员授权开启信封,获得进入系统的权限。
总之:密码是信息系统的安全的根本,设置一个好的密码能解决很多安全问题,请不要轻视密码的设置,牢记好的密码两个特点,自己很好记、别人不好猜,两者缺一不可。非常的期望今后再有人找我处理被入侵的服务器,不要再是密码这种简单的原因所导致的。安全并不复杂,从设置好你的密码开始。
本文是知乎专栏“安知”中“成为优秀的渗透测试工程师”系列文章之一
评论