【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

浅析爆库和社工库扫描

  • 2011-12-30
  • 本文字数:2016 字

    阅读完需:约 7 分钟

背景

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

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

  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 网上可以找到的。

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

如何规避风险

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

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

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

展望

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

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

2011-12-30 22:468073

评论

发布
暂无评论
发现更多内容

如何做好前馈管理?

石云升

28天写作 职场经验 管理经验 4月日更

《专访彩食鲜CTO乔新亮:体系的重要性》(采访提纲)

花花

调查采访能力考核

网络安全传奇吴翰清采访提纲 |调查采访能力考核

清秋

网络安全 签约计划 调查采访能力考核

python内置数据结构list、set、dict、tuple(一)

若尘

List 数据结构 set 字典 Python编程

《采访阿里“守护神”吴翰清:安全攻防-采访提纲》

Geek_6370d5

不忘初心,砥砺前行|暨InfoQ写作平台一周年

程序员架构进阶

28天写作 4月日更 1 周年盛典 我和写作平台的故事 InfoQ 写作平台 1 周年

没有自信的人,才会在意别人的评价

小天同学

心理 日常思考 个人感悟 4月日更 自信

架构实战营 模块2作业

CR

用户故事拆分招数全景图(译)

Bruce Talk

敏捷 译文 Agile User Story

如何从零开始学Python:(4)如何处理列表数据?

广之巅

Python 4月日更

分库分表笔记

luojiahu

分库分表

Golang 并发

escray

学习 极客时间 Go 语言 4月日更

浅谈Javascript中的forEach和map之间的区别

devpoint

遍历 foreach map reduce

翻译:《实用的Python编程》TheEnd

codists

Python

禁止算法识别性别,能消解歧视吗?

脑极体

为什么 Serverless 将推动边缘计算的革命

公众号:云原生Serverless

Serverless 边缘计算

专访吴翰清 || 如何用网络安全保障个人隐私

Bob

网络安全 个人隐私 调查采访能力考核

炫彩无界,性能怪兽,M1 扛鼎未来 —— 2021 年 Apple 春季新品发布会全记录

清秋

产品 苹果 硬件 新闻

今年我读了四个开源项目的源码,来分享下心得

yes

源码

Properties类使用需要注意的坑

风翱

properties 4月日更

用户故事是垂直的切片(译)

Bruce Talk

敏捷 译文 Agile User Story

Ansible 配置

耳东@Erdong

4月日更

白皮书:区块链将成隐私计算产品必选项,提供三方面助力

CECBC

区块链

重读《重构2》- 以对象取代基本类型

顿晓

重构 4月日更

【采访融云CTO杨攀:2021如何让融云迈向更高舞台】(采访)

洛神灬殇

融云 杨攀

应用区块链技术打通各自为战形成的壁垒

CECBC

HBase HA 分布式部署

Fong

大数据 运维 HBase hadoop3

全网最强的权限系统设计攻略:京东北极星商业系统权限管控实践

学Java关注我

Java 编程 程序员 架构 技术宅

专访声网首席资深iOS研发工程师龚宇华:从自学计算机到高级架构师

黑马腾云

专访

实体经济与数字经济加速融合 中国经济新动能快速成长

CECBC

数字经济

区块链电子证据的司法应用现状与展望

CECBC

浅析爆库和社工库扫描_安全_Lake_InfoQ精选文章