IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

信息泄露之拖库撞库思考(1)

绿盟科技博客 2016-06-06 23:39:37 累计浏览 2,178 次
本机暂存

   某网站被曝“信息泄露”事件,使拖库、撞库这两个黑产中的专有术语再次呈现于公众舆论面前。本文从攻击实现角度,对拖库、撞库攻击进行简单分析;从安全防护设计、建设运维角度,给出针对这两种攻击实践总结的安全防御40条策略。希望本文能够抛砖引玉,给互联网网站开发、设计、运维的IT工作人员扩展思路,从而提高互联网网站防范信息泄露的综合安全能力。

什么是拖库、撞库?

   拖库、撞库名词并无标准权威的定义,但实际理解起来却是极易接受的。
拖库就是指黑客通过各种社工手段、技术手段将数据库中敏感信息非法获取,一般这些敏感信息包括用户的账号信息如用户名、密码;身份信息如真实姓名、证件号码;通讯信息如电子邮箱、电话、住址等。
撞库是黑客通过收集互联网已泄露的拖库信息,特别是注册用户和密码信息,生成对应的字典表,尝试批量自动登录其他网站验证后,得到一系列可以登录的真实账户。

拖库、撞库如何实现?

   拖库实现起来比撞库复杂得多,手段和方法也更加丰富多样。
从实践角度,可以分为技术流拖库和社工流拖库。常见的技术流以入侵、攻击为主实现拖库,如远程下载数据库,利用Web Code 漏洞、Web Services 漏洞、服务器漏洞,挂马、病毒、木马后门等;社工流则以欺诈、网站仿冒、钓鱼、重金收购、免费软件窃取等为主要手段实现拖库。
再来看一下撞库,存在撞库的根本原因是很多互联网用户在不同网站使用的是相同的账号密码,因此攻击者可以通过获取用户在A网站的账户从而尝试登录B网站。高水准的撞库攻击不易发现,实现起来需很高的技术能力,因此成本较高,当前多数的撞库还是以单脚本登录验证、分布式脚本登录验证,自动代理登录验证,甚至人肉验证等方式来现实。

如何能够降低拖库与撞库风险?

   对于拖库、撞库攻击防范亦如APT攻击一样,非一朝一夕一技一法就可解决,需要安全攻与防的综合能力、不同维度的立体保障,才能做到较好的防范效果。具体内容笔者后续会单独讲。

拖库、撞库安全防御策略

   笔者经过个人思考以及寻求多方安全专家的意见,参考互联网各类有关拖库、撞库技术文章,结合上述文中提到的各种场景、安全设计等措施,整理出下列安全防御40 条策略供读者参考、学习并提出您的宝贵意见。

   第1 条 禁止数据库在互联网裸奔,防范远程暴力猜解、非授权访问及远程登录。
第2 条 禁止管理员账号启动数据库,建立数据库自己的低权限账号运行。
第3 条 及时安装、升级数据库补丁、做好版本管理、备份/ 灾备管理,定期销毁备份的数据。
第4 条 修改默认数据库安全配置,特别是账号口令、默认路径页面等。
第5 条 设置数据库内帐户权限、实例权限、表权限等,保证权限最小化。

   第6 条 删除无用的数据库实例文件、说明文件、安装文件、注释文件等。
第7 条 敏感值(密码)的存储务必加密,并保障其足够强壮。
第8 条 建立数据库读、写、查询的监控黑名单、白名单,并实时监控告警。
第9 条 在数据库中构造陷阱库、陷阱表、陷阱字段、陷阱值,便于监控和发现入侵。
第10 条 注册真实的账号用于监控,标记或跟踪。

   第11 条 严格控制真实数据的测试应用,务必进行脱敏或模糊处理。
第12 条 数据库管理员与系统管理员权限分离、职责分离。
第13 条 设置系统内的文件保护,防非法拷贝,或使用专用工具防拷贝。
第14 条 及时安装、升级操作系统补丁、做好帐号管理,避免弱口令。
第15 条 制定系统内部的口令更改策略,并定期执行。

   第16 条 设置操作系统和数据库的IP 访问控制策略,避免非法访问。
第17 条 检测木马、后门、webshell 连接尝试,诱导并阻断。
第18 条 启用数据库、操作系统日志审计,设置粒度为全部/ 部分记录。
第19 条 将日志审计中的敏感信息使用*** 屏蔽、替换或隐藏。
第20 条 将登录认证日志单独设置日志接收平台,便于细粒度的专项分析。

   第21 条 启用密码复杂度的检测,加强用户的密码强度和长度。
第22 条 对已泄露的账号,冻结账户并提醒用户更改。
第23 条 制定策略,使用友好的方式提醒用户定期更改密码并强制执行。
第24 条 制定灵活的验证码策略,平衡用户体验与复杂度。
第25 条 记录并监控每个账号的登录IP 地址,并与其他信息关联分析。

   第26 条 记录并监控每个账号的登录时间习惯,并与其他信息关联分析。
第27 条 记录每个账号的物理登录地点坐标,并与其他信息关联分析。
第28 条 关联分析同一个账号的登录渠道习惯和特征,综合终端、平板和手机等渠道。
第29 条 记录并联动分析多个登录请求之间的特征关联。
第30 条 检测登录cookies、会话的异常。

   第31 条 识别同一IP 的多次登录请求、短时间的频繁登录请求及多账号的一次登录请求。
第32 条 识别登录终端、服务器端推送的唯一参数标识,作为身份认证的一部分。
第33 条 建立动态IP信誉库(白名单)和恶意IP库(黑名单),查询、记录、监控并阻断访问者IP 请求。
第34 条 使用公共的IP 信誉库、恶意IP 库,识别已记录的恶意攻击。
第35 条 识别不符合规范的登录请求、不完整的登录请求、无交互的登录请求。

   第36 条 监控登录认证的横向暴力尝试,同一密码,不同账号的情况。
第37 条 收集并将常用自动化攻击工具指纹特征转化为监控、阻断规则。
第38 条 根据不同场景设置分级、分步、自动化的监控、阻断规则。
第39 条 设置各种蜜罐,设计参数陷阱、页面陷阱、伪造请求、伪造功能。
第40 条 记录并检测登录交互前后的指纹变化,如鼠标窗口的变化,点击变化等。

同分类推荐文章

  1. 绿盟科技《APT组织研究年鉴》(2026 版)正式发布 (2026-06-16 20:21:10)
  2. 【已复现】Linux内核Fragnesia权限提升漏洞(CVE-2026-46300) (2026-06-15 10:53:58)
  3. 企业文档安全最佳实践(二):给文档上“身份证”——手动标密与智能自动标密 (2026-06-12 17:18:33)

查看更多 安全 文章 →

建议继续学习

  1. 什么是OpenID?OpenID概念、原理和案例 (累计阅读 5,491)
  2. 正确重置MySQL密码 (累计阅读 4,333)
  3. OAuth那些事儿 (累计阅读 4,287)
  4. 请注意PHP程序里的敏感信息 (累计阅读 4,135)
  5. MySQL防范SQL注入风险 (累计阅读 4,067)
  6. Mysql 安全 (累计阅读 3,814)
  7. 使用参数化查询防止SQL注入漏洞 (累计阅读 3,711)
  8. PHP读取服务器端文件提供弹出下载窗口 (累计阅读 3,596)
  9. 互联网思维的企业,互联的企业 (累计阅读 3,176)
  10. mysql的权限信息的存储 (累计阅读 2,964)