图片来源于网络 撞库攻击,简单来说就是黑客利用网络上已泄露的账号密码,在市面各大平台进行大规模自动登录。再形象一点,可以理解为黑客拿着你A网站的账号密码,去登录B平台、C平台的账号密码,只要登录成功,黑客就能随心所欲地利用,甚至掏空这个账号的价值,对个人和企业都是巨大的安全隐患。 不过,更令人害怕的是,黑客会模仿正常合法用户进行各种请求操作,从而逃避企业检测。至于具体会用到哪些合法请求,黑客会如何进行模仿,本期的这篇《微步荐读》分享了四种黑客隐藏撞库攻击的方式,安全团队可以从中寻找一些防守思路,希望对你有帮助。限制请求是黑客对撞库攻击进行伪装时,比较常见的手段。之所以黑客会采用这样的策略,是因为有速率限制与资源限制这种作为API调解机制最佳安全实践的存在。举个例子,企业可能会基于API网关调解,将API速率限制设置为每分钟仅10个请求。如果在调用API时,黑客一分钟内尝试11个请求,请求者要是有访问权限,那么前10个请求就会正常工作,但最后一个请求会被阻止,并且在下一分钟这个阈值会重新设置。另外一些速率限制机制则会采取动态限制,只要被认为调用API过多,限制的时间则会更长。它的原理与账户锁定阈值一致。 如果攻击者决定限制API请求,他们会将自身工具或脚本配置为在接近限制阈值的情况下运行,根本不会碰到该阈值。而攻击者的这种手段通常也比较管用,因为速率限制是企业基于正常使用模式而设置,未考虑被攻击者滥用的情况。所以,基于会话的API调用行为分析的动态速率限制,是此类隐藏技术的最佳防御手段。 撞库攻击属于自动化操作,这就催生了企业阻止那些“非人类”登录行为访问控制的需求,最多的就是通过不同的验证码来实现。正常情况下,遇到用户的登录请求时,验证机制会自动生成验证码,要求用户执行一个图像验证任务,从而证明该用户不是机器人。这些测试对人类来说一般很简单,但对计算机程序却不是,它们不太可能对信息进行解读,也很难返回正确的反馈。这样一来机器人的访问,就会被拒绝。这种情况下,撞库攻击者会花更多的时间和精力来寻找绕过的解决方案。比如,就存在提供验证码破解的服务出租,购买服务的人只需要花最少的钱,就能利用该服务持续接受验证码验证反馈,并发送至对应的API,成功率高达90%。借助这类反自动化的操作,攻击者能够以很小的代价规避验证码检测。从这一点来看,我们就明白了撞库攻击本身的高投入产出比,以及攻击者为何会非常重视网上泄露的账号了。也就是说,如果我们能够提高这些账号被接管的成本,就降低了攻击者的ROI。一些安全检测机制,会通过分析HTTP报头信息(比如用户代理字符串)来分析或识别API调用者,但仅对这些元数据进行分析还不可靠,因为这正是攻击者想方设法利用的东西。原因在于,即便是最基本的浏览器插件,它也完全是由用户控制。而拦截代理可以让攻击者根据自己的需要改变报头,他们也可自动改变请求集,从而规避检测。如果检测仅限于报头检查,攻击者就能以网络用户、移动端用户、物联网设备或其他的方式出现。所以,企业不仅要分析HTTP的报头信息,还要检查会话中用户的行为,识别滥用API的调用者。不过,这需要架构多点收集API遥测数据,并持续分析,才能识别可能为攻击的异常情况。隐藏方式四:基于地理分布API请求,绕开允许和拒绝列表 IP地址的允许和拒绝列表,能够协调对后端API的调用。如果API调用来自已知的恶意IP地址或空间,可以配置为阻止该网络连接。为应对这一点,攻击者会使用代理进行登录,从而看上去是来自不同的位置。通过这种方法,可以将攻击者定位到他们可能在的不同国家,因此防守方观察到的就是来自源IP地址的数据包,而该IP地址并没有产生流量。这里面,攻击者使用了网络隧道来掩盖他们的源IP地址及地理位置,防守方很难对其进行归因。此外,攻击者还会启动云托管计算来发起及分发攻击。原因在于,云服务提供商(CSPs)的IP地址空间通常会受到企业信任,这样经过批准的云资源与集成就能正常运行。而基于云计算的IP地址,尤其是容器形式的计算,企业由于时间太短无法跟上IP地址的允许与拒绝列表。但如果云服务提供商一旦流行,攻击者就会转移到新的计算形式或新的云计算服务商上。这也就跟限速一样,安全保护必须更加动态化,这样才能识别攻击者何时对API请求来源进行转移,何时有滥用行为。 防撞库思路:检测与预防据统计,撞库攻击的成功率通常为1%到3%,但动辄数千万甚至上亿的泄露数据,最终成功的攻击可达上万,对于企业和个人来说危害性非常大。下面这几招,可以作为防撞库攻击的参考和思路:最后,建议企业进行多层次纵深防御。对于企业来说,防御多一层,被攻击成功的风险就少一点。从基本的密码管理,到账户管理,再到安全验证,每一个层面都可能成为企业安全最关键的一道防护墙。
|