IDF实验室于GitCafe开源了口令安全API源码


GitCafe 的合作社区 “IDF实验室” 是一个由信息安全从业人员、专家及信息安全爱好者组成的第三方独立民间机构,目前 IDF实验室 由线上产品及线下活动构成主要的发展方向,并以线下社区的方式发展和凝聚具有安全行业背景及从业经历的年轻人共同为信息安全普及、安全视野拓展、技术人才培养做努力。

“IDF实验室” 已在 GitCafe 开源了口令安全API源码,以下将向各位分享关于安全口令的科普文章:

[隐私保护] 芝麻开门:安全口令的养成

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

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

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

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

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

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

1、口令强度检测:这是基本且常规的检测,通过弱口令集和我们所写的《关于口令强度等级的设计》(http://blog.idf.cn/2013/12/the-design-of-password-strength/)检测用户口令的强度是否足够,该接口也是唯一一个需要做明文传输的接口。接口返回标准划分差、中、好三个级别。

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/IDFLAB/pwdapi

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

漏网之余
通过口令安全API进行内部账户安全扫描也是防范撞库的有效手段之一,最终目的是逐渐改变用户设置口令的习惯,理想情况下,如果某平台注册的所有账户口令对于所有者自身都是独一无二唯一设置的安全口令,撞库的结果只会是徒劳无功,就像捡了再多水晶鞋也找不到一个灰姑娘。

Share a Cup of Open Source
gitcafe.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值