web渗透之预防撞库
什么是撞库?
“撞库”(Credential Stuffing Attack)在网络安全中是一个古老的概念,按中文的字面意思解读,就是“碰撞数据库”的意思。“碰撞”意味着碰运气,即不一定能成功;而“数据库”中往往存储着大量敏感数据,比如我们登录一个网站所需要的用户名、密码,再比如手机号、身份证号等个人隐私信息。“撞库”在英文中的表述为 Credential Stuffing(密码嗅探),也非常直白的说明了撞库的主要场景:试图获取正确的账号/密码组合,大白话就是“盗号”。
现实中发生的撞库攻击主要是攻击者通过一些自动化工具(如脚本)针对要撞库站点的相关接口(比如登录接口)批量提交大量的用户名/密码组合,记录下其中能成功登录的组合并盗取该账号,为接下来做其他的坏事(比如将银行账号中的资金转走,或是游戏账号中的虚拟物品出售,或是盗用他人身份发表一些言论等等)做好准备。
值得注意的是,撞库的目的有2种:
1 盗号并不是撞库攻击的唯一目的,
2 验证某个账号有没有在一个站点中注册过也是常见的撞库目的。
从攻击目的上区分,撞库有以下几种常见场景:
1.弱密码嗅探:类似 111111、123456 这样的简单密码因为很多人用,用这样的弱口令去试探大量的账号,就有一定概率能发现一些真正在使用弱密码的账号。实施这样的攻击一般要求攻击者手上已经掌握了大量的账号以及常见的弱密码库,当然如果不知道账号,随机构造一些也是有概率成功的,比如手机号这种格式固定的账号。
2.利用拖库数据:这是攻击成功率更高的一种方式,原理是大多数人倾向于在多个站点上使用同一个密码(有多少人淘宝和支付宝的密码是一样的?)。当攻击者成功入侵一个安全防护能力很弱的站点 A,并拿到其数据库的所有用户名密码组合,然后再拿着这些组合去站点 B 尝试,如果你两个站点都注册过并且使用了同样的密码……撞库就成功了。
3.针对高权限账号的暴力破解:暴力破解严格来说跟撞库是两种类型的攻击,但我们还是要提一下,因为二者从攻击方法和防护方式的角度来看都差不多。这主要是针对一些高权限账号(如网站的管理员)用大量密码去试探,想要盗用的账号目标非常明确。
如何预防撞库?
1.个人篇
从个人用户自我保护的角度来说,我们给出 4 个建议:
**尽量减少在不同网站使用相同密码。**当然,人性的懒惰跟密码机制的安全性天然上就有冲突,大部分人很难做到这一点,据第三方统计,超过60%的人依然在多个站点使用同一个密码。
**使用更复杂的密码。**比如请不要再用 123456、111111 了……
**定期更换常用密码。
**黑产手里往往掌握大量的“社工库”,里面存储了很多已知的用户名-密码组合,他们可能就包含了你多年前在某网站上使用的组合。因此经常更换密码可以减小社工库信息的有效期。
**启用更多密码以外的身份验证机制。**其实很多安全性好的企业已经在采取一些二次验证、多因素验证之类的最佳实践,如苹果的二次验证、Google的身份验证器、支付宝的人脸识别、微信的声纹等,建议个人用户尽可能的开启类似的验证机制。
2.企业篇
从企业的角度来说,做好账户安全是非常非常重要且基础的工作,因为账户很大程度上是业务安全体系的基石,账号安全一旦失守,只会带来后续更多的问题,补救这些问题需要付出的成本要远远大于做好账户安全防护本身。当然账号安全本身是非常复杂的系统工程,这里我们只是针对撞库这个场景给出一些最佳实践供参考:
强制用户密码的强度。
这点不少站点现在已经做得很好了,但是还有相当多的应用允许用户使用 111111 这样的弱密码。同时也特别注意,不要忽略小程序、App 等非网页环境的注册接口。
定期强制用户更换密码。
这点主要针对企业内部员工,毕竟记住一个密码已经很痛苦了,这带来的用户体验将会直线下降。
在账户相关接口加强人机防控策略。
这里的接口主要包括登录、注册、找回密码、获取短信验证码等,“人机防控”指的是将这些接口中“机器”的访问请求和“真实的人”区别出来,在文章开头我们已经讲过,真实情况下攻击者几乎没有手动实施攻击的情况,如果能将大部分针对账号的“机器流量”识别出来并拦截,会是安全水位很大的一个提升。从技术手段来说,常见的有使用图形验证码、封禁高频请求的 IP/会话、部署人机识别的 SDK 组件等等,但采用图形验证码等方式存在用户体验差以及被破解的问题。
重要业务流程采用二次验证。
如转账前通过人脸识别、指纹声纹、短信/邮件验证码、身份证末位数字验证等机制来确认当前操作来自账号拥有者。
建立业务维度的账户异常指标监控,并及时处理风险账号。
区别于“人机”的技术手段,这里主要是从业务角度(比如高频发帖、异常转账等等),对一些行为上不正常的账号进行监控和处罚,作为技术防控的补充。
借助安全工具做好防撞库攻击。
如果遇到撞库等账户安全问题的困扰,又没有足够专业的团队或精力来按照上述建议进行对抗,建议选择一款合适的安全工具来应对。一般来说, 新昕科技的防撞库防火墙产品就能有效应对撞库攻击,并且真正无感。其内置了撞库、短信防轰炸等AI模型,应对账户注册、登录、找回密码等场景,做到实时防护,风险大盘可以实时查看,攻防情况尽在掌握。从这个角度来看,对于企业来说,选择一款功能丰富强大的安全工具往往可以起到事半功倍的效果。
本文来自博客园,作者:田家少闲月-,转载请注明原文链接:https://www.cnblogs.com/zhaoyunxiang/p/16056127.html