浅析爆库和社工库扫描

0
HTML 数据库 安全工具 C/C++ Go 14187 次浏览

背景

最近有关国内外互联网企业的密码安全问题受到了严峻的挑战和社区的广泛关注。腾讯安全团队的技术专家介绍了有关暴库和社工库扫描的内容。

常见密码存储方式对于用户来讲,用户密码信息显然是非常重要的,我们当然有必要了解社区管理者是如果保存我们的机密信息的。目前网站中主流存放用户名和密码的方式有三种:

  1. 明文存放。这种网站的用户数据特别危险,网站被黑客拿下,用户数据直接那走。
  2. 可逆加密存放。你的密码会被加密一次存放在网站的数据库中,可逆加密也是非常危险的。
  3. 不可逆加密。密码通过MD5等不可逆加密算法加密后存放在网站数据库中,比上述2种密码加密方式安全。(如果md5加密后的密码泄漏,明文密码仍有通过查找表的方式反查出来的可能)

从目前的情况看,有些网站过去是采用明文的方式存储密码的,那么对于一个账户信息未泄漏的网站,我们如何判断一个网站是采用什么样的密码存储方式呢?

一个很简单的方法,你通过密码找回功能操作,如果让你重设密码的,基本上是不可逆加密的,直接给你密码的,都是明文或可逆加密的,这种都非常危险。

攻击手法

下面我们了解一下,黑客针对后台数据库的入侵手法:

爆库

爆库,在黑客的圈子叫做“拖库”,是指将网站的数据库被黑客下载到本地。按照安全技术圈的说法,国内有点影响力的网站,2/3都被爆过库(未证实),不要认为大的网站安全万无一失,防爆库是安全架构里非常重要的一点。

防爆库不仅仅是防止别人拿到你的库,还要做到让别人拿去也没用。

密码明文存储的,一定是死路,可逆加密的,只要黑客用点心,基本也不安全;不可逆的,类似md5 加密(Md5加密方式虽然被我国专家证明可逆,但是逆向的成本很高,基本无人使用)应该很多人认为比较安全,但是遇到碰撞也很无奈。类似于 cmd5.com这样的碰撞库,其规模已经非常巨大,常规的密码的破解几率大于95%,至少,我常用的密码,我断定都在碰撞库里,原因很简单,不在碰撞库 里的密码,就我的记忆力是没戏了。从下图是从一个md5加密过的库中随机挑了一个加密后的密码,可以看出,md5单次加密是很容易破解的。

浅析爆库和社工库扫描

Md5加密的库

浅析爆库和社工库扫描

Md5.com上查询结果

那么如何规避这样的行为呢?

一般的做法是两次md5或多次md5等加密保存方法,这种方法很好的避免了加密后的密码在类似cmd5.com这样庞大的碰撞库中出现。但是如果黑 客拿到的数据库够大时,比如1千万的用户数据。有心的黑客会发现加密逻辑,再用一天跑一个几千万乃至过亿常用密码的碰撞库,专门来对付你的数据库,对于黑 客来说不是什么难事。只要字典够好,破解率可以在60%以上。

Discuz就在使用一种低成本的安全密码保护策略,他们使用随机salt二次加密。这种方法会使黑客破解密码的成本大大提高。黑客如果像破解这样 的密码,需要为每一个用户(对应的随机salt)建立一个碰撞库,时间成本很高。对于大量用户的破解,黑客一般是选择放弃,投入产出比太低;但是对与单个 明确目标的话,他们还是会乐于尝试的。

不过得明确一点,爆库不等于密码泄漏。因为被爆库后,密码未必会被黑客破解。爆库+不正确的加密方式才叫密码泄露。

社工库

在现在爆库泛滥的年代,加之密码破解率很高,社工库扫描也红火起来。简单来说,你可能会在很多网站使用同样的邮箱和密码,社工库扫描就是利用这点,知道你一个账户后,就可以得到其他更有价值的帐号。哪怕密码不相同,这个密码作为暴力破解中的关键字,也能大大提高破解率。

有些网站泄露的密码经过测试,可以使用一个账户成功登陆其他网站,并且提示:“支付密码和登录密码一致,请更改…….” 这就是社工库的威力所在!

有人认为黑客这样做收效太小,没有意义,这点就搞错了。黑客并不是像我朋友那样逐一手工尝试的,而是用非常海量的数据批量扫描的,这样成本是非常低的,规模化的操作,甚至很多中招的人只是黑客意外收获,完全是没有成本的战利品。

对于社工库扫描,网站通常的做法就是验证码(防暴力破解也是这种方法)。但是简单的验证码是很容易识别的,网上流传很多验证码的识别源码。类似下面这些验证码都是可以识别的,源码和dll网上可以找到的。

image3.jpg

然而BT的验证码却会伤害用户体验,目前黑客也有应对BT验证码的方法。他们会将验证码集中传回到一个集中的地方,在网上请廉价的网络打工者填写。虽然这种方法成本有所提高,但是对于收益还是很低廉的。

如何规避风险

我们能做什么来保护自己不被社工库扫描?或将损失降到最低?

推荐做法是:重要账户和普通账户分离。具体操作如下:

  1. 将帐号分类,公司帐号、有钱的帐号(支付宝等)、关系链帐号(朋友、人人等)和普通帐号。前2个为重要账户,关系链帐号较为重要。
  2. 每种账户至少对应一套密码,而且密码之间毫无关系。
  3. 每种账户对应的邮箱最好也能不通,因为密码找回往往依赖与注册邮箱。

展望

被泄密的网站越来越多,下一个也许就是你最常用的网站。赶紧去修改关键账户的密码吧,要不下一个受伤的可能就是你!

注:本文转自腾讯大讲堂,原文地址为http://djt.open.qq.com/thread-623-1-1.html

请尽量让自己的答案能够对别人有帮助

2个答案

默认排序 按投票排序