近日,某互联网公司在使用永安在线API安全管控平台时捕获到一起账号撞库风险事件,攻击者使用大量动态代理秒拨IP对公司的某平台登录接口进行低频的撞库攻击。永安在线API安全团队及时响应此次风险事件,定位到了有缺陷的API,并提炼了此次风险事件的攻击特征,帮助该公司及时调整安全应对策略,避免了大规模的用户信息泄露。
事件分析
据了解,该公司的平台除了可以使用微信扫码、手机号验证码登录之外,仍保留基于账号和密码的登录方式。通过测试分析发现,该平台登录API已使用行为验证码进行人机校验,且支持基于IP的限频策略,但该登录API存在账号和密码明文传输的涉及缺陷,也正是这一缺陷以及平台账号的高价值诱导攻击者发起了此次攻击。
下面从多个角度来还原攻击情况:
1. 从攻击时间来看,攻击者主要集中在凌晨发起攻击。非工作时间往往比较难及时发现和响应异常行为,攻击者在该时间段发起攻击成功率会更大一些。
2. 从攻击者使用的账号和密码信息来看,此次攻击使用的账号/密码组均一一对应,没有出现账号对应多个密码或者一个密码对应多个账号的情况,密码也并非随机字符串、常用密码或常用密码字典等,由此排除暴力破解的可能。
通过分析发现,这些账号中大部分在该平台上不存在,推断这批账号/密码组可能是攻击者从其他的泄漏站点获取到的,并拿来在该平台进行撞库尝试攻击。
3. 从攻击者使用的源IP信息来看,为了绕过IP限频的安全策略,攻击者借助打码平台和动态代理平台,一共使用了2754个动态代理秒拨IP对该登录API进行撞库攻击,平均每个IP的攻击次数为1.25次,最高的攻击次数是7次。
至此,可以判定这是一次典型的低频撞库攻击。
基于永安在线的风险情报,对此次攻击事件的源IP进行溯源分析,发现有99%的IP近一个月在携趣代理平台中活跃,因此猜测攻击者大概率是使用携趣代理提供的IP资源发起了这次攻击。此外,从IP所属地域信息来看,将近一半的IP来自江苏省和安徽省,其他的零散分散在多个地方。
但通过对IP和账号的地域一致性进行分析,在3405次的请求中,有3202次(占比94%)存在账号归属与IP地理位置不一致,这说明攻击者在攻击时并没有精心构造账号归属地和源IP的对应关系。这类信息是平台运营人员在日常的运维中需要特别关注的。
4. 从攻击者使用的UA维度来看,攻击者伪造了一个老版本的Chrome浏览器来进行的攻击。
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36
在此也提醒企业用户在日常的平台运维中重视这类老版本的流量请求。
总结和处置建议
1. 关于撞库攻击
撞库攻击(Credential Stuffing Attack)在网络安全中是一个古老的概念。简单理解,撞库攻击就是攻击者使用他人在A网站的账号密码,去B网站尝试登录。很多用户在不同平台注册时有使用同一套账号/密码的习惯,所以攻击者在其他数据泄露或网络攻击事件中获取到大量网站的登录凭证后,会去其他不同站点尝试登录。就像这次事件中,攻击者通过在其他数据泄露渠道获取了大批账号/密码组,在该互联网公司的平台上尝试撞库攻击。
从事件分析结果来看,此次风险事件是一次典型的低频撞库攻击。“低频”是由于被攻击的登录API对登录IP速率做了限制,这种方式可以阻止那些高于预设阈值速率登录的IP,提高攻击者的攻击门槛。但是,“道高一尺魔高一丈”,为绕过IP限频策略和WAF,攻击者会使用动态代理秒拨平台的海量IP模拟一种看似正常的登录请求,从而发起低频撞库攻击。这种方式因不容易被目标平台被发现,已成为越来越多黑灰产青睐的攻击手段。
下图是一个典型的撞库攻击场景:(备注:图片来自F5 Labs,文字已做中英转换)
获取凭证:攻击者通过暗网或其他渠道获取到历史上被盗的账号和密码。
获取IP代理服务,辅助攻击:为了成功取得未授权账户的访问权限,撞库攻击访问需要和目标网站上的常规流量保持一致。因为在短时间内突然收到某个IP地址上百万的登录请求,一定会引起目标平台的注意,所以攻击者会寻找IP代理服务商,利用海量的IP地址资源池分布式发出登录请求,隐藏可疑行为。
准备及设置攻击参数:出于效率考虑,攻击者会使用自动化工具,利用打码平台、IP代理平台来发起自动化的攻击。
发动攻击:参数设置完成后,攻击者开始发动攻击,其目标是找到所有成功的登录请求。
货币化:攻击者在撞库成功并接管账号后,会进一步进行货币化获利。针对目标及被攻击站点的类型不同会采取不同的获利方式:针对个人一般会通过诈骗性银行交易、电商网站巨额消费、信用卡提现、爬取重要数据等不同方式榨干该账户;更糟糕的情况是攻击者会登录账户访问到企业网络,进一步提升权限,关闭基础设施或窃取企业商业机密等。
2. 防御与检测建议
近年来,随着数据泄露事件的频频发生,撞库攻击事件也急剧上涨。2021年,盐城警方破获团伙“撞库”盗号案,撞库”团伙针对某网购平台盗号1.29万个,涉案金额近千万;2015年,某邮箱被爆过亿用户数据由于撞库泄露。2014年,12306遭遇撞库攻击,13万数据泄露……根据Akamai的报告数据,Akamai 2020年在全球范围内监测到1930亿次撞库攻击。
2021年,《数据安全法》、《个人信息保护法》先后正式实施,意味着国家对数据安全的重视及监管力度与日俱增。就个人而言,保护好每一个账号密码,是对自身财产安全负责的表现;就企业而言,保护用户的信息安全是基本责任之一,泄露用户信息会缺失公信力,损毁公司品牌形象,建议企业从下面每一个小处开始,持续提升企业自身数据安全保护能力。
以下是从个人和企业两个层面提供撞库攻击防御和检测的建议:
个人方面
a. 尽量减少在不同网站使用相同密码。
b. 定期更换常用密码。攻击者手里往往掌握大量的“社工库”,里面存储了很多已知的账号/密码组,定期更换密码可缩短社工库信息的有效期。
c. 启用除密码以外的其他身份验证机制,选择采取二次验证、多因素验证之类的登录方式,如短信验证码登录、人脸验证登录等。
企业方面
a. 使用统一登录API
实现对登录入口的统一管理,减少攻击面,安全策略能够集中控制,遇到风险也能及时响应;同时要求登录API的账号/密码要进行加密传输,加强强弱密码校验。
b. 采用多因子身份认证(MFA)
如果是面向公众或处理敏感信息的平台,建议实施多因素身份认证。虽然该方法并非万无一失,但能够增加一道防御保护层。
采用多因子身份认证之后,用户在登录时除了提供账号/密码,还需提供其所拥有的如手机号、访问令牌、指纹或者人脸认证等内容以证明身份。
c. 基于风险情报构建登录API攻击检测系统
可针对登录API提供一些基础的安全策略,如使用验证码、IP速率限制、设备和浏览器环境和行为检测、监控密正率、监控登录账号的归属地和IP归属地等;
除此之外,针对海量IP低频的撞库攻击,还需要借助基于IP风险情报、API攻击情报构建的API攻击检测和感知工具,确保及时预警撞库及外部数据泄露事件的发生,尽早采取措施,避免大规模数据泄漏。例如,永安在线基于风险情报构建的API安全管控平台,能够梳理系统所有的登录API,评估API的设计缺陷,监测撞库行为和外部数据泄漏,实时告警,及时发现并阻断低频撞库风险。
账号安全是攻防的重要阵地,面对海量IP的低频撞库攻击,防守方不仅要从多个维度来构建防御体系,更需要基于风险情报来构建攻击检测模型,做到及早感知及时防御,从而保障企业及其用户的信息安全。
原标题:《API 攻击分析:黑客利用大量IP低频撞库登录API》