本文梳理了常见的撞库方法以及防范撞库软件攻击的应对措施。
一、什么是撞库?
撞库是黑客通过收集互联网已泄露的用户和密码信息,生成对于的字典表,尝试批量登录其他网站后,得到一系列可以登录的用户。因为很多用户在不同网站使用的账号密码大多是相同的,因此黑客可以通过获取用户在A网站的账户从而尝试登录B网站。
社工库是社会工程学数据库的简称,社工库是黑客用来记录攻击手段和方法的数据库,这个数据库中有大量信息,甚至可以找到每个人各种行为记录。
撞库一般有多种形式,每种形式有一些不同的处置策略。被攻击的网站可能会同时面临几种不同类型的撞库,因为攻击者可能掌握的社工库非常多,撞库的成本也非常低。
二、常见撞库方法和防范措施:
常见的撞库方法有三种:
1.用n个密码字典撞m个账号,这个的表象是,一个账号在某个较短的时间内,可能会有多次密码尝试。所以,可以在账号层加限制措施,比如:一天内,一个账号,密码错误次数超过5次时,1天之内禁止登陆(或者校验手机短信/密保问题之后才能登陆)。
2.用几个密码撞n个账号,这个的表象是,密码出现的频率会非常高,所以,可以统计一段时间内每个密码的错误次数,超过一定阈值时,这个密码在一段时间内禁止登录(或者校验手机短信/密保问题之后才能登陆)。
3.用n组一一对应的账号密码来再撞库,这种情况的撞库单纯从账号、密码的维度来看,不会有明显的异常。
防撞库攻击相对有效的防范措施:
1.IP封禁,如果一段时间内,单个IP地址,密码错误次数超过阈值,则禁止这个IP一段时间再登录。但是目前代理IP成本非常低,从IP层面来封禁作用非常有限。
2.建立IP画像库,对代理IP、IDC IP等高危的IP直接禁止登陆(或者校验手机短信/密保问题之后才能登陆)。自己建立IP画像库成本可能会有点高,可以考虑采购安全厂商的类似服务。
3.使用行为式验证码,如:智能无感知验证码、滑动拼图验证码、点选验证码等。行为式验证码可以区分正常人和机器的操作,减少恶意登录。
4.从设备层面来识别和封禁,通过在客户端植入sdk,收集用户端的设备信息,从设备层面来做高频策略,或者直接识别出非正常的设备,然后对设备进行封杀。
5.从行为层面来识别和封禁,和上面一条一样,通过客户端植入sdk,收集用户在登录页面的交互行为,通过机器学习、大数据建模,训练出正常用户、异常用户的行为模型,在交互行为层面,将撞库的行为识别出来。这个需要有预先训练好的行为模型,现在机器学习那么好,不说大家也都知道,自己训练一个模型肯定需要很多标注数据,这也就意味着成本。
撞库的手段在不断的进化,以上列举的防范措施无法实现一劳永逸,都需要不断对抗升级,我们需要不断进行防护策略的优化,不断提高撞库的成本。所以,最好的方式是采购专业的安全厂商的相关服务(比如:网易易盾登录保护、行为式验证码服务等),把攻防对抗的事交给专业的厂商来做。