热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

什么是撞库攻击,如何预防撞库攻击?企业如何实现网络安全价值

本文主要介绍关于安全,java,数据库,大数据,人工智能的知识点,对【什么是撞库攻击,如何预防撞库攻击?】和【企业如何实现网络安全价值】有兴趣的朋友可以看下由【风控牛】投稿的技术文章,希望该技术和经验

本文主要介绍关于安全,java,数据库,大数据,人工智能的知识点,对【什么是撞库攻击,如何预防撞库攻击?】和【企业如何实现网络安全价值】有兴趣的朋友可以看下由【风控牛】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的【产品安全,风控】相关技术问题。

企业如何实现网络安全价值

1. 撞库的原理和危害

“撞库”(Credential Stuffing Attack)在网络安全中是一个古老的概念,按中文的字面意思解读,就是“碰撞数据库”的意思。“碰撞”意味着碰运气,即不一定能成功;而“数据库”中往往存储着大量敏感数据,比如我们登录一个网站所需要的用户名、密码,再比如手机号、身份证号等个人隐私信息。“撞库”在英文中的表述为 Credential Stuffing(密码嗅探),也非常直白的说明了撞库的主要场景:试图获取正确的账号/密码组合,大白话就是“盗号”。

现实中发生的撞库攻击主要是攻击者通过一些自动化工具(如脚本)针对要撞库站点的相关接口(比如登录接口)批量提交大量的用户名/密码组合,记录下其中能成功登录的组合并盗取该账号,为接下来做其他的坏事(比如将银行账号中的资金转走,或是游戏账号中的虚拟物品出售,或是盗用他人身份发表一些言论等等)做好准备。

值得注意的是,撞库的目的有2种:
1 盗号并不是撞库攻击的唯一目的,
2 验证某个账号有没有在一个站点中注册过也是常见的撞库目的。

举个例子,同样是登录失败,很多站点对于“用户不存在”和“密码错误”会给出明确不同的两种提示,这意味着我即使不知道你的密码,也可以知道你的手机号有没有在这个站点注册过。知道这个有什么用呢?举个 P2P 行业的例子,假设一个手机号在几十个借贷平台上都注册过,那这个手机号的主人恐怕有着很糟糕的财务状况(多头借贷),贷款给他的风险就很高了。

从攻击目的上区分,撞库有以下几种常见场景:

弱密码嗅探:类似 111111、123456 这样的简单密码因为很多人用,用这样的弱口令去试探大量的账号,就有一定概率能发现一些真正在使用弱密码的账号。实施这样的攻击一般要求攻击者手上已经掌握了大量的账号以及常见的弱密码库,当然如果不知道账号,随机构造一些也是有概率成功的,比如手机号这种格式固定的账号。利用拖库数据:这是攻击成功率更高的一种方式,原理是大多数人倾向于在多个站点上使用同一个密码(有多少人淘宝和支付宝的密码是一样的?)。当攻击者成功入侵一个安全防护能力很弱的站点 A,并拿到其数据库的所有用户名密码组合,然后再拿着这些组合去站点 B 尝试,如果你两个站点都注册过并且使用了同样的密码……撞库就成功了。针对高权限账号的暴力破解:暴力破解严格来说跟撞库是两种类型的攻击,但我们还是要提一下,因为二者从攻击方法和防护方式的角度来看都差不多。这主要是针对一些高权限账号(如网站的管理员)用大量密码去试探,想要盗用的账号目标非常明确。

什么是撞库攻击,如何预防撞库攻击? 企业如何实现网络安全价值

云上常见的撞库案例

明白了原理,撞库攻击的危害也就很明确了。对个人用户来说,这会导致个人密码泄露、账号被盗,进而造成财产或名誉损失;对企业来说,不仅会造成客户信息等商业机密的泄露,还会对企业的声誉和形象造成严重伤害。

2. 撞库攻击现状

撞库离我们远吗?实际情况如何?根据我们对阿里云 WAF 流量的分析,分享下面几个数据,不难看出撞库攻击早已日夜相伴于我们的身边,且已极具规模化、专业化。

数字 1:50 万个

这是我们明确观察到的每天有大量聚集性进行撞库攻击的 IP 量,考虑到还有相当多的攻击场景中使用了秒拨等离散 IP 资源没有被统计进来,每天实际参与撞库攻击的 IP 数量估计还要大 1-2 个数量级。另外值得注意的是,相当一部分攻击源 IP 在 C 段上有聚集性,从我们观察到的情况来看,每天有 200 多个 C 段(共 256 个连续 IP)中有超过 200 个 IP 实施撞库攻击。

数字 2:4.48 亿次

云 WAF 流量中每天检测到的撞库/暴力破解请求量高达 4.48 亿次,这只是每天的数据,由此可以看出撞库这种攻击手法是多么受到黑客的欢迎。

数字 3:630 万次

这是某网站一天内被撞库攻击的总请求量。

实际上,我们观测到在一些撞库攻击的“热门行业”,如 P2P、游戏、区块链、信用卡、电商等,撞库攻击已经在非常成规模的持续进行,这个持续时间可能达数月甚至是长年在跑,与业务相生相伴。而在一些笔者意想不到的行业(比如医美,瞎猜一下攻击意图也许是想通过验证你是否注册过医美类网站来给医美广告提供更精准的投放参考),也发现了大规模的撞库事件。

数字 4:83%

从实施撞库攻击的攻击工具来看,83%以上的攻击流量来自简单的脚本,这里的“简单脚本”定义为一些通过最简单的人机识别方式(如 JS 校验)就能检测出的脚本工具,而在这其中 Java Tools 和 Python Requests 是“最有存在感”的两种脚本工具。

不过值得注意的是,近些年随着爬虫技术和相关产业的迅猛发展,“正规军”占比已越来越大,这些团伙手中掌握大量的攻击资源和最新的爬虫技术,整个产业链上下游分工精细,协同流畅,普通企业防御起来的难度也在迅速上升。

3. 撞库带来的合规风险

自欧盟隐私法 GDPR 生效以来,世界各国监管对于数据保护极为重视,自 2019 年开始,对泄露的处罚和后果也呈上升趋势。在 GDPR 的第 4 条中提出,个人数据泄露是指“由于违反安全政策而导致传输、储存、处理中的个人数据被意外或非法损毁、丢失、更改或未经同意而被公开或访问。”

所以,即使是使用已经泄露的数据来进行撞库攻击,但是企业自身的安全防护工作没有能够避免被未经授权的访问,也是违规的一种。美国的健康保险携带和责任法案(HIPAA)也有规定 “以 HIPAA 隐私规则所不允许的方式获取、访问、使用或披露个人医疗信息,等于损害安全性或隐私。”即使被非法访问的数据是被加密的,但是系统和数据受到了未经授权的攻击,因此也属于 HIPAA 隐私权规则所不允许的披露。被撞库的企业为受害者,但是每个受害者都因自身安全控制不到位而成为这雪球效应中贡献的一分子。

2019 年夏天,信用评级公司穆迪(Moody’s)对网络安全的业务影响进行了新的调整,将网络风险纳入其信用评级。穆迪根据企业违规而造成的业务影响将上市企业的评级从稳定降至负面。穆迪正在积极将网络风险纳入其信用评级,这可能只是第一个倒下的多米诺骨牌。信用评级广泛影响到投资者在选择投资对象时所考虑的风险评估以及投资决定。对上市企业来说,重新考虑其网络安全和合规性方法,尤其是随着法规变得越来越难以遵守。不仅如此,针对特定的行业,也将面对更多不同的处罚规定。

随着近年来物联网设备的爆炸性增长,再加上公共云、容器和 VM 的激增,导致人们对数据流量的可见性普遍缺乏,从而大大增加了整体威胁面和公司的漏洞。数据泄露事件不断增加,导致撞库攻击成为近年来常用的一种入侵办法。每一次泄露的数据都可能变成下一次入侵的开门匙。

4. 如何防护撞库攻击? 1)个人篇

从个人用户自我保护的角度来说,我们给出 4 个建议:

**尽量减少在不同网站使用相同密码。**当然,人性的懒惰跟密码机制的安全性天然上就有冲突,大部分人很难做到这一点,据第三方统计,超过
60%的人依然在多个站点使用同一个密码。**使用更复杂的密码。**比如请不要再用 123456、111111 了……**定期更换常用密码。**黑产手里往往掌握大量的“社工库”,里面存储了很多已知的用户名-密码组合,他们可能就包含了你多年前在某网站上使用的组合。因此经常更换密码可以减小社工库信息的有效期。**启用更多密码以外的身份验证机制。**其实很多安全性好的企业已经在采取一些二次验证、多因素验证之类的最佳实践,如苹果的二次验证、Google
的身份验证器、支付宝的人脸识别、微信的声纹等,建议个人用户尽可能的开启类似的验证机制。

最常用的密码前 500 名(来自 Informationisbeautiful)

什么是撞库攻击,如何预防撞库攻击? 企业如何实现网络安全价值

2)企业篇

从企业的角度来说,做好账户安全是非常非常重要且基础的工作,因为账户很大程度上是业务安全体系的基石,账号安全一旦失守,只会带来后续更多的问题,补救这些问题需要付出的成本要远远大于做好账户安全防护本身。当然账号安全本身是非常复杂的系统工程,这里我们只是针对撞库这个场景给出一些最佳实践供参考:

强制用户密码的强度。

这点不少站点现在已经做得很好了,但是还有相当多的应用允许用户使用 111111 这样的弱密码。同时也特别注意,不要忽略小程序、App 等非网页环境的注册接口。

定期强制用户更换密码。

这点主要针对企业内部员工,毕竟记住一个密码已经很痛苦了,这带来的用户体验将会直线下降。

在账户相关接口加强人机防控策略。

这里的接口主要包括登录、注册、找回密码、获取短信验证码等,“人机防控”指的是将这些接口中“机器”的访问请求和“真实的人”区别出来,在文章开头我们已经讲过,真实情况下攻击者几乎没有手动实施攻击的情况,如果能将大部分针对账号的“机器流量”识别出来并拦截,会是安全水位很大的一个提升。从技术手段来说,常见的有使用图形验证码、封禁高频请求的 IP/会话、部署人机识别的 SDK 组件等等,但采用图形验证码等方式存在用户体验差以及被破解的问题。

重要业务流程采用二次验证。

如转账前通过人脸识别、指纹声纹、短信/邮件验证码、身份证末位数字验证等机制来确认当前操作来自账号拥有者。

建立业务维度的账户异常指标监控,并及时处理风险账号。

区别于“人机”的技术手段,这里主要是从业务角度(比如高频发帖、异常转账等等),对一些行为上不正常的账号进行监控和处罚,作为技术防控的补充。

借助安全工具做好防撞库攻击。

如果遇到撞库等账户安全问题的困扰,又没有足够专业的团队或精力来按照上述建议进行对抗,建议选择一款合适的安全工具来应对。一般来说, 新昕科技的防撞库防火墙产品就能有效应对撞库攻击,并且真正无感。其内置了撞库、短信防轰炸等AI模型,应对账户注册、登录、找回密码等场景,做到实时防护,风险大盘可以实时查看,攻防情况尽在掌握。从这个角度来看,对于企业来说,选择一款功能丰富强大的安全工具往往可以起到事半功倍的效果。

什么是撞库攻击,如何预防撞库攻击? 企业如何实现网络安全价值

5. 结语

有人的地方就有江湖,有账号的地方就有撞库。密码制度本身因安全需求而生,却也带来了撞库这类的风险。我们相信,未来密码会越来越多的被其他体验更好、安全性更高的身份校验方式所取代,而这些方式或许又存在隐私、合规相关的问题。最好的方案似乎永远要在安全、便利、隐私这几个因素之间互相平衡。着眼于当下,用户名/密码的形式依然主导着绝大多数站点的账号管理方式,因此以撞库攻击为代表的账号安全问题依然需要引起个人用户和企业的足够重视。希望本文能够给您带来一些参考和帮助,共同建设更安全的互联网!

本文《什么是撞库攻击,如何预防撞库攻击?》版权归风控牛所有,引用什么是撞库攻击,如何预防撞库攻击?需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • Python字典推导式及循环列表生成字典方法
    本文介绍了Python中使用字典推导式和循环列表生成字典的方法,包括通过循环列表生成相应的字典,并给出了执行结果。详细讲解了代码实现过程。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • 手把手教你使用GraphPad Prism和Excel绘制回归分析结果的森林图
    本文介绍了使用GraphPad Prism和Excel绘制回归分析结果的森林图的方法。通过展示森林图,可以更加直观地将回归分析结果可视化。GraphPad Prism是一款专门为医学专业人士设计的绘图软件,同时也兼顾统计分析的功能,操作便捷,可以帮助科研人员轻松绘制出高质量的专业图形。文章以一篇发表在JACC杂志上的研究为例,利用其中的多因素回归分析结果来绘制森林图。通过本文的指导,读者可以学会如何使用GraphPad Prism和Excel绘制回归分析结果的森林图。 ... [详细]
  • 本文介绍了Python函数的定义与调用的方法,以及函数的作用,包括增强代码的可读性和重用性。文章详细解释了函数的定义与调用的语法和规则,以及函数的参数和返回值的用法。同时,还介绍了函数返回值的多种情况和多个值的返回方式。通过学习本文,读者可以更好地理解和使用Python函数,提高代码的可读性和重用性。 ... [详细]
  • 本文介绍了互联网思维中的三个段子,涵盖了餐饮行业、淘品牌和创业企业的案例。通过这些案例,探讨了互联网思维的九大分类和十九条法则。其中包括雕爷牛腩餐厅的成功经验,三只松鼠淘品牌的包装策略以及一家创业企业的销售额增长情况。这些案例展示了互联网思维在不同领域的应用和成功之道。 ... [详细]
  • 数字账号安全与数据资产问题的研究及解决方案
    本文研究了数字账号安全与数据资产问题,并提出了解决方案。近期,大量QQ账号被盗事件引起了广泛关注。欺诈者对数字账号的价值认识超过了账号主人,因此他们不断攻击和盗用账号。然而,平台和账号主人对账号安全问题的态度不正确,只有用户自身意识到问题的严重性并采取行动,才能推动平台优先解决这些问题。本文旨在提醒用户关注账号安全,并呼吁平台承担起更多的责任。令牌云团队对此进行了长期深入的研究,并提出了相应的解决方案。 ... [详细]
  • Go语言实现堆排序的详细教程
    本文主要介绍了Go语言实现堆排序的详细教程,包括大根堆的定义和完全二叉树的概念。通过图解和算法描述,详细介绍了堆排序的实现过程。堆排序是一种效率很高的排序算法,时间复杂度为O(nlgn)。阅读本文大约需要15分钟。 ... [详细]
  • 本文介绍了django中视图函数的使用方法,包括如何接收Web请求并返回Web响应,以及如何处理GET请求和POST请求。同时还介绍了urls.py和views.py文件的配置方式。 ... [详细]
author-avatar
X婷婷Z
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有