常见的三种撞库方法

摘要:
数据库冲突最常见的三种方法:第一种是使用n个密码字典来命中m个帐户,这意味着一个帐户可能在短时间内多次尝试密码。5) 从行为层面,识别并禁止。与上述项目一样,通过客户端植入sdk,在登录页面上收集用户的交互行为,通过机器学习和大数据建模来训练正常用户和异常用户的行为模型,并在交互行为层面识别数据库冲突的行为。

欢迎访问网易云社区,了解更多网易技术产品运营经验。


在安全领域向来是先知道如何攻,其次才是防。在介绍如何防范网站被黑客扫描撞库之前,先简单介绍一下什么是撞库:撞库是黑客通过收集互联网已泄露的用户和密码信息,生成对于的字典表,尝试批量登录其他网站后,得到一系列可以登录的用户。因为很多用户在不同网站使用的账号密码大多是相同的,因此黑客可以通过获取用户在A网站的账户从而尝试登录B网站。


那么碰见撞库之后,我们如何防护呢?网易云易盾安全专家刘庆认为:撞库一般有以下几种形式,每种形式有一些不同的处置策略。但是实际情况是,被攻击的网站可能会同时面临几种不同类型的撞库,毕竟大家手里拿到的社工库非常多,撞库的成本也非常低。


社工库是社会工程学数据库的简称,社工库是黑客用来记录攻击手段和方法的数据库,这个数据库中有大量信息,甚至可以找到每个人各种行为记录(每个人在每个网站上的账号、密码、分享的照片、信用卡记录、通话记录、短信记录、开房记录等等)。


最常见的三种撞库方法:


第一种:用n个密码字典撞m个账号,这个的表象是,一个账号在某个较短的时间内,可能会有多次密码尝试。所以,可以在账号层加限制措施,比如:一天内,一个账号,密码错误次数超过5次时,1天之内禁止登陆(或者校验手机短信/密保问题之后才能登陆)。


第二种:用几个密码撞n个账号,这个的表象是,密码出现的频率会非常高,所以,可以统计一段时间内每个密码的错误次数,超过一定阈值时,这个密码在一段时间内禁止登录(或者校验手机短信/密保问题之后才能登陆)。


第三种:用n组一一对应的账号密码来再撞库,这种情况的撞库单纯从账号、密码的维度来看,不会有明显的异常。所以,需要一些其他的应对措施。比如:


1)IP封禁,如果一段时间内,单个IP地址,密码错误次数超过阈值,则禁止这个IP一段时间再登录(或者校验手机短信/密保问题之后才能登陆)。不过,如大家所说,现在代理IP相当廉价,从IP层面来封禁基本上没啥作用。


2)建立IP画像库,对代理IP、IDC IP等高危的IP直接禁止登陆(或者校验手机短信/密保问题之后才能登陆)。自己建立IP画像库成本可能会有点高,可以考虑采购安全厂商的类似服务。


3)现在比较火的行为验证码,比如:拖条、点选、拼图等各种花样的验证码。只是说,如果之前登录不需要验证码,现在要加上一个验证码,估计要和产品撕逼。一般来说最后为了后期的运营,产品也会同意加上验证码。


4)从设备层面来识别和封禁,通过在客户端植入sdk,收集用户端的设备信息,从设备层面来做高频策略,或者,直接识别出非正常的设备,然后对设备进行封杀。


5)从行为层面来识别和封禁,和上面一条一样,通过客户端植入sdk,收集用户在登录页面的交互行为,通过机器学习、大数据建模,训练出正常用户、异常用户的行为模型,在交互行为层面,将撞库的行为识别出来。这个需要有预先训练好的行为模型,现在机器学习那么好,不说大家也都知道,自己训练一个模型肯定需要很多标注数据,这也就意味着成本。所以,还是建议寻找安全厂商还做,毕竟专业的人做专业的事,靠谱!


上面列举的这些措施,没有哪一个是一劳永逸的,都是需要不断对抗升级,毕竟撞库的手段也会不断的进化,我们能做的是不断优化策略,不断提高撞库的成本。所以,最好的方式是采购安全厂商的相关服务(比如:网易的登录保护验证码服务等),把攻防对抗的事交给安全厂商来做,咱们专注做自己的业务,这样性价比会更高。


相关文章:
【推荐】 Spring Boot 学习系列(03)—jar or war,做出你的选择
【推荐】 深入解读Service Mesh的数据面Envoy

免责声明:文章转载自《常见的三种撞库方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇php的数据库操作(微擎,tp,yii2)openfire的配置下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

正负无穷float('inf')的一些用法

示例:输入:[-2,1,-3,4,-1,2,1,-5,4],输出:6解释:连续子数组[4],-1,2,1]的和最大,为6。...

IntelliJ IDEA(2017)安装和破解

IDEA全称IntelliJIDEA,是Java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具、JUnit、CVS整合、代码分析、创新的GUI设计等方面的功能可以说是超常的。用记事本打开分别在最下面一行增加一行:-javaagent:D:IDEAinJetbra...

Android开发实战——记账本(4)

父母亲mCostBeanList.remove(位置);builder.setNegativeButton(“取消”;builder.create().show();returntrue;}returnsuper.onOptionsItemSelected(项);...

Cesium快速上手10-Viewer Entities组合

src=Box.html&label=Geometriesimage.pngbox就是立方体cylinder是圆锥圆柱varviewer=newCesium.Viewer;varblueBox=viewer.entities.add;varredBox=viewer.entities.add;varoutlineOnly=viewer.entitie...

GitLab 数据库

要访问GitLab数据库步骤中使用的DockerGitlab,首先输入容器dockerexec-itgitlab/bin/bash ``查找数据库配置文件``bash/var/opt/GitLab/gitlabrails/etc/database yml内容如下,记录数据库配置信息production:adapter:postgresqlencoding:u...

高通LCD开发常见问题&分析

LCD的fps一般都上限为60,正常使用时候一般设置为58,因为由于LCDpanelrange存在刷新率温度漂移情况,所以在dtsi中关键panel-framerate都不建议修改。平台端的CABL功能算法是用于LCD背光灯相关计算,在更新灰阶前,处理出现不连续不均匀等的状况。当然该算法也可以回导致LCD出现灰阶部分会有波纹以及短暂的不连续的条纹情况。这是由...