收藏!撞库攻击最新梳理与预防方式都在这了
数据泄露事件频频发生,让撞库攻击事件也急剧上升。根据安全厂商Akamai的报告指出,2020年全球撞库攻击事件达到1930亿次,比2019年增加3.6倍。
撞库攻击的增多,不仅在于数据泄露事件中被盗凭证的增加,另一重要原因在于该攻击自身的低成本与高回报。攻击者只需一点时间,花费不到200美元,就能测试10万个凭证,虽然成功率通常在0.2%到2%之间,但只要攻击成功一次,就可以拿到200到2000个有效账户,从而实现更大的攻击目标。本周的微步荐读文章,涵盖了大家需要知道关于撞库的原理、与暴力猜解的区别,以及预防与检测撞库的最新知识点,希望对你有用。
01撞库攻击与暴力猜解
通俗的讲,撞库攻击(Credential Stuffing)其实就是将被盗的用户名和密码组自动注入网站登录表,从而未授权直接登录用户的账户。由于不少用户在注册新平台时,会重复使用相同的账号密码,所以攻击者在数据泄露或网络攻击事件中,获取到大量被盗或泄露的登录凭证后,会在其他不同站点进行登录,这时也就出现了撞库攻击。
在撞库攻击中,攻击者的目的是获得对尽可能多的用户账户的未经授权访问。在接管用户账户后,攻击者再进行其他攻击活动或欺诈性活动,如从银行提款,进行大额消费等。最坏的情况则是,攻击者会尝试提升用户权限,从而在企业内网中建立据点,实施影响力更大、后果更严重的攻击。一般来说,通过现成的工具,攻击者能够一次性向一个或多个网站登录页面输入十万甚至百万被盗的账号密码凭证。
需要注意的是,撞库攻击与暴力猜解并不相同。所谓暴力猜解,是针对一个或多个账号密码进行密码猜测破解。相比于暴力猜解,撞库攻击与其有以下两个重要的区别:
- 暴力猜解是在没有线索的情况下,使用随机字符串、常用密码模式或常用密码字典进行猜测破解。如果用户密码非常简单,暴力猜解就能成功。不过,通过验证码和限制尝试登陆次数,可以阻止该攻击。但想要阻止撞库攻击则相对难一些,因为攻击者已经知道密码;
- 暴力猜解由于缺乏上下文及已知泄露的数据,登录成功率会低很多。在用户使用强密码的情况下,如果用户跨服务共享密码,导致凭证泄露,这时暴力猜解可能会失败,但撞库的成功率会更大。
02撞库攻击详细原理
接下来,这里分享一下攻击者在大规模撞库攻击时,一般会遵循的步骤:
图 | 撞库攻击步骤
获取凭证:不同于以往攻击者必须去某些网站盗取凭证,如今的攻击者获取的方式更加容易,能够通过暗网或其他渠道免费拿到被盗的凭证;
获取IP代理服务,辅助攻击:为了成功取得未授权账户的访问权限,撞库攻击访问需要和目标网站上的常规流量保持一致。因为攻击者也非常清楚,在短时间内突然收到某个IP地址上百万的登陆请求,一定会引起目标平台的注意,于是会寻找IP代理服务商,利用机器在数千个IP地址中分布式发出登陆请求,隐藏可疑行为;
准备及设置攻击参数:出于效率考虑,攻击者会选择自动化方式,而不是手动进行凭证填充。许多攻击者通常会使用Sentry MBA、SNIPR 和OpenBullet等这些所谓的“账号密码查看器”工具,对目标站点输入大量被盗用户和密码组,从而进行破解。不过每种工具的功能不一样, 有的可轻松接入知名服务商的IP代理列表,有的会提供配置文件,攻击者可以基于目标登录页设置攻击参数;
发动攻击:参数设置完成后,攻击者开始发动攻击,其目标是找到所有成功的登录请求,一旦通过攻击工具提供的凭证成功进行了访问,攻击者就会收到凭证有效的通知。从技术上来说,攻击者收到通知后,撞库攻击就已完成。不过,简单获取到有效凭证列表,并不是攻击者的终极目标,他们还会更进一步;
货币化:拿到目标站点验证的凭证列表后,攻击者会进一步进行货币化。具体实现方式,主要基于目标及被攻击站点的类型。攻击者在接管账户后,对个人一般会通过诈骗性银行交易、电商网站巨额消费,信用卡提现等不同方式榨干该账户,更凶险的攻击者会登录账户访问到企业网络,进一步提升权限,关闭基础设施或窃取企业商业机密等。
03撞库攻击的防御与检测
与跨站点脚本攻击、SQL注入或远程代码执行这类取决于攻击者利用软件或硬件漏洞能力的攻击类型不同,撞库攻击与网络钓鱼、恶意软件下载等攻击相似,利用的则是人这个环节的弱点,这也是撞库攻击比较普遍的原因之一。对于企业来说,建议采取以下措施来保护自身网络安全:
☞ 采用多因子身份认证(MFA)
如果是面向公众或处理敏感信息的平台,建议实施多因素身份认证。虽然该方法并非万无一失,但能够为增加一道防御保护层。采用多因子身份认证之后,用户在登录时需要证明身份,除了账号密码这类用户知道的内容,还需提供其所拥有的,比如手机号或者访问令牌等。如果在要求所有用户进行多因子身份认证不可行的情况下,建议与设备指纹识别等其他技术相结合。
☞ 部署智能反机器人解决方案
这一类解决方案,主要是收集用户与设备的各种数据点,并利用机器学习识别和阻止机器行为。如果不能部署复杂的反机器人解决方案,也可以通过下面这些方式增强防护:
验证码。首先要明确一点的是,在网站上使用验证码并不保证可以区分人和机器,因为有些账号密码检查器工具内置了解决验证码的机制,但不是所有的攻击者都会使用账号密码检查器,所以对攻击者而言,验证码方式依旧有效,且也可与其他技术结合利用;
设备及浏览器指纹。所谓指纹,即操作系统、语言、浏览器、时区及用户代理等参数的组合,如果同一个参数组合依次登录多次,很可能是暴力猜解或撞库攻击。具体可使用Java脚本收集用户设备有关的信息,并为每个传入的会话创建“指纹”。如果企业使用了多个参数的严格指纹,可实施更严厉的措施,比如禁止IP。要捕获更多攻击,企业也可组合使用2-3个常用参数,并强制执行临时禁止等略微宽松的措施。比较常见的指纹识别,一般是操作系统+地理位置+语言;
IP速率限制。这种方式可以阻止那些高于预设阈值速率登录的IP,比如每秒3个以上,这种就明显超出了人类手动输入的范围,基本也可以判断为自动凭证填充;
拒绝已知恶意IP地址。由于攻击者IP地址池有限,所以一般会小范围使用IP地址,进行凭证填充,如果明显发现很多失败的登录尝试,或者尝试登录多个地址的IP,从同一批地址过来,则可阻止或用沙箱查杀。
☞ 记录与监控网站流量
根据已知被盗凭证列表,来检查攻击者的登录尝试,阻止任何匹配的请求,可以作为日志审查标准的一部分。另外,在监控流量的过程中,还需注意查看,比如:
流量大但登录成功率低的情况。网站通常的登录成功率在60%到85%之间,因此像10%到15%的低登录成功率就需要引起注意,可能是撞库攻击;
持续全天候登录,不符合常规工作时间。大多数人的工作和休息时间基本上比较正常,但自动化的工具一般不分早晚;
极端流量峰值。这也可能是正在发生撞库攻击。
☞ 撞库及数据泄露风险检测与感知
可借助工具直接发现企业内部的撞库及外部数据泄露的情况,减少撞库发生。例如,通过微步在线威胁感知平台TDP,能够监测撞库行为,实时告警;通过微步在线X企业版,全网发现数据泄露情况,及时采取措施,避免撞库发生。
☞ 最后,建议企业执行强密码策略
企业可以考虑为员工提供企业级的密码管理器,并且组织日常的安全培训,指导员工如何设置强密码,并在全企业杜绝使用弱密码或者常见密码,增加一道防护。
随着《中华人民共和国数据安全法》的正式实施,企业承担了数据分类分级保护、数据安全保护等多种义务,如何防范撞库攻击也是每个企业安全团队需要认真思考的一个问题,建议企业从以上每一个小处开始,持续提升企业自身数据安全保护能力。