首页 > 代码库 > 芝麻开门:安全口令的养成

芝麻开门:安全口令的养成

关于口令安全和安全口令,自电子商务开始蓬勃发展,个人财产开始与互联网产品挂钩的那一刻开始,就不断有诸如账户丢失、密码被窃、财产诈骗等等事情发生,但同时也不断有不同领域的媒体和安全专家倡导个人用户的安全口令的使用习惯。不久前,有人在微博上在谈到互联网站点与用户数据安全时,大意是说大多数用户资料泄露均是由于互联网厂商对于自身站点安全重视不够导致被拖库所致,而与用户口令的安全设置无关,口令安全设置是额外增加给用户使用的成本。

事实上,前段时间网络上传播的沸沸扬扬的Gmail账户信息泄露,其实是早前就已被地下黑客拿到的数据,正如国内最近几起大的数据泄露事件。但关于用户数据大规模泄露原因,通常有两种,一种是利用漏洞进行拖库,一种是利用已泄露的用户资料数据库针对其他站点或系统进行撞库。所以,如果说拖库是由于互联网厂商自身安全问题造成,那么撞库的条件则至少包括两点:一是厂商自身系统或平台登陆功能的缺陷,二是用户在设置安全口令时的素养不够。显然,后者才是撞库的动机所在。

在口令安全设置方面,老生常谈的良好习惯经常可以在各类报道和安全人员的口中看到或听到,如定期更换口令、不要单纯使用个人信息(生日、电话)、用不同字符/数字/特殊字符构建口令、不同账户不要设置相同口令等等,还有像这样、这样的文章可供参考。碍于使用便捷性的考虑,大多数人或许依然未对口令安全保持有足够良好的习惯和警惕,毕竟,信息时代附加给每个人的信息负担也越来越重:想想自己有多少个账户密码需要记忆和管理?

2011年,CSDN账户泄露事件使得以往仅在信息安全圈内谈论的口令安全拓展到整个IT圈乃至每个网民的印象中。关于厂商加密存储用户账户信息的问题也给所有互联网公司上了一课,更重要的是给所有程序员上了一课。但并不意味着加密就可以万事大吉,随着MD5破解平台的数据扩增和GPU集群口令破解能力的提升,加密存储的成本也在逐渐提升。鉴于此,参考包括IBM、微软的口令安全强度设计以及最新关于GPU口令破解速度的报道,我写了这篇文章作为新的口令安全强度的参考。

仅仅有一而再再而三的提醒和这样那样的讨论和标准是不够的,口令安全的压力和责任最终还是得由互联网公司来承担,而以往信息安全圈所流传和争相获取的社工库如果仅仅是一时之快的私家珍藏也不是安全人员应有的担当。因此在年初我们开始搜集已泄露的账户信息做口令安全API,并以此为接口做了口令安全检测,目的是正向利用社工库来给需要的企业检测自有用户账户的安全,同时逐渐养成网民良好的口令安全素养。这种素养有个人负担么?当然,就像家庭普及用电后我们需要学习用电安全、普及天然气后需要注意用气安全、普及机动车后需要养成行车安全等等。

目前类似阿里这样的大型互联网公司实际上早已有内部安全人员通过类似的方式检测其平台下用户账户的安全,但并不是每个企业都愿意或有能力能够有相当的投入。在设计口令安全的API上,即分为以下五种接口:

1、口令强度检测:这是基本且常规的检测,通过弱口令集和我所写的《关于口令强度等级的设计》检测用户口令的强度是否足够,该接口也是唯一一个需要做明文传输的接口。接口返回标准划分差、中、好三个级别。

2、口令重复数量级检测:安全的口令特别之处在于应对字典攻击的时候能够显得与众不同、别有匠心,通过在已泄露的账户数据中检索相同口令的数量级别,即可看到被检索口令到底是多有“个性”,越是有个性的口令被猜测和被字典扫中的几率自然也不会太高。接口返回标准划分为个位、十位、百位、千位、万位、十万位。

3、用户名/口令泄露检测:类似的功能已有不同平台做过,顾名思义是根据用户名和口令检测是否已经被泄露。

4、邮箱/口令泄露检测:不同的平台和系统在用户名设置上均有不同,有些站点需要独立设置用户名,而另外一些站点则直接用邮箱作为用户名,不出其二,该接口与用户名/口令的泄露检测功能一致。

5、口令破解难度检测:无论是脚本小子也好,专业的渗透测试人员也罢,除非是明文存储,否则在面对经未加盐的MD5加密的口令时往往都会通过线上的MD5破解站点进行口令破解。该接口则是反其道而行,通过本地存储的MD5破解值和第三方MD5破解站点接口查询用户口令是否可能被破解。

目前已经收集和整理可供查询的泄露用户账户数据量如下:

弱口令:9,999条

加盐用户/邮箱密码:5,555,110条

不加盐用户/邮箱密码:104,384,053条

本地MD5破解:181,478条

第三方MD5破解:4,294,967,999条

由于需要去除无效、重复的数据,且过滤公开泄露的账户数据中与口令、邮箱、用户名无关的字段,因此后续持续收集和整理的数据较慢。如果有人对于这样的API心有疑虑,那一定是必然的,因为无法确定API的背后是否有“打枪的不要,悄悄的干活”记录API使用者的信息,基于此,我们将口令安全API除配置文件的内容以外的所有源码在GitCafe进行了托管和开源:https://gitcafe.com/IDF_LAB/pwd_api

互联网如同宝藏,“芝麻开门”式的开门咒语是危险的,即便是四十大盗。

(全文完)

芝麻开门:安全口令的养成