代码编织梦想

前言

我们纵观互联网发展史,验证码诞生初期,正是web 2.0方兴未艾之时。web
2.0打开了用户入口,同时也给机器程序开了一个通道。黑产通过恶意程序对平台进行批量注册、破解密码、刷票、论坛灌水等,严重影响平台的正常运营。验证码的诞生正是为了解决恶意机器流量而诞生的,对自动化的攻击起到良好的防御效果。随着互联网技术发展,尤其像云计算、机器学习、数据挖掘、OCR识别等技术,使得黑产的攻击方式升级,而成本和难度却在降低,迫使验证码防御技术的迭代升级,以便有效对抗黑产的自动化攻击。
验证码的进化之路其实是持续对抗黑产攻击的迭代历程。

阶段一: 自动化攻击脚本使机器流量泛滥,图形验证码诞生

通过具备JS解析能力的python、Node.js等基础工具编写自动化攻击脚本,例如电子邮件垃圾邮件是最简单的网络犯罪之一,攻击者使用自动化软件生成电子邮件地址并发送低级别的骗局,例如钓鱼木马,伪造的礼品券等,至少已有数百万的受害者。

最先想要解决这一问题的是雅虎,作为互联网时代早期最重要的免费邮件提供商,他们一方面要解决用户们每天遇到的数以百计的垃圾邮件轰炸,另一方面,雅虎提供的免费邮箱,恰恰又是垃圾邮件的最爱,耗费无数资源所阻止的垃圾邮件,都来自于自己的服务器。这让雅虎开始认真考虑
如何解决恶意机器流量问题 。他们找到一位当时刚刚21岁的天才——Luis von Ahn。而Luis Von Ahn给出的方案就是
图形验证码
。当时,计算机图像识别技术还未成熟,对于经过扭曲、粘连等文字,无法辨识。而人类却可以轻松认出这些文字。这是一个简单而巧妙的设计,计算机先是产生一个随机的字符串,然后用程序把这个字符串的图像进行随机的污染,扭曲,再显示给显示器前的人或者机器。凡是能够辨识这些字符的,即为人类。图形验证码被验证有效后,得到了迅速推广,各大平台纷纷上线图形验证码。

阶段二: 黑产利用视觉识别技术破解图形验证码,行为验证码诞生

随着计算机视觉技术的发展,通过预处理、分割、机器算法等方式, 图形验证码可以被OCR技术轻松识别
。同时,主流浏览器的开放性使得黑产通过脚本驱动类的工具进行自动化攻击,例如,大家比较熟悉的自动化测试工具Selenium/WebDriver,可以基于浏览器完成对Web页面的自动化操控。黑产通过整合不同类型的资源完成自动化攻击,例如专门提供手机号码的料商、接码平台、打码平台、设备资源提供商及管理平台(群控、云控、箱控等)、秒拨IP等资源。

  • 提供手机号码的料商 ,通过不同渠道收集手机卡并完成实名制,通过“猫池”设备批量使用手机卡,这种设备手机卡即可连上通信网络,收发短信,且全程自动化,在各类秒杀活动中,速度远快于正常用户。

  • 提供黑产工具的技术团伙 ,针对不同行业不同平台可定制化改机工具、注册机、一键秒杀、多开、位置欺诈等多种黑产工具。

  • 提供设备及管理平台服务商 ,例如云控系统,使用一台电脑控制N台云手机,提供一键控制、同步操作、批量管理上千台手机,节约成本的同时提升攻击效率。

  • 提供IP资源 ,一方面秒拨IP的成本更低,另一方面,IP池极为丰富,使用也较为方便,可以跟随进程自动切换IP。

此时,图形验证码已无法起到良好的防御效果,通过OCR技术、自动化的黑产工具可以轻松被绕过。
行为验证码,将机器学习运用在验证安全领域,通过对人和机器行为特征持续刻画,观察特征差异,区分是否机器操作,不再使用原有的“问题–
答案”方式。体验良好的滑动验证码被广泛接受。

阶段三: 模拟真人行为数据进行自动化攻击,智能验证码诞生

黑产不断升级自动化攻击技术,提供模拟真人点击/操控工具,通过触发鼠标/键盘/触控等事件,或者通过代码注入等方式,完成界面控件的输入、点击、移动等操作。涉及的开发难度较低,目前是黑灰产较为喜欢的自动化攻击方式。例如,按键精灵、Auto.js等模拟真人行为的操作工具。

  • 按键精灵: 黑产使用最为普遍的自动化攻击工具。黑产成员通过编写相关的逻辑脚本,便可通过模拟用户操作相关的功能,比如手机触摸、按键等操作;也可以先手动“录制”一遍想要操作的功能,这样按键精灵会自动记录操作行为序列和坐标轨迹。

  • Auto.js :一个基于JavaScript的安卓平台自动化脚本框架,相比与按键精灵,Auto.js具备设备无需Root、可直接操作控件、稳定性更好等优势。

单点的防御已经无法满足业务安全要求,需要从多个维度构建防御体系。
智能验证码,通过收集用户行为特征、设备等多个维度的数据,基于生物行为特征构建AI模型持续学习,交叉识别黑产特征,有效拦截自动化攻击。
Google的验证码经历几次换代升级,从最初的文本输入到自适应风险分析,通过对访问者行为评估危险程度,对于可疑流量设置额外的挑战,对于符合人类行为的流量则无需通过额外的挑战,这样提升用户体验,摒弃了让用户解决视觉谜题或通过其他挑战才可以登录的麻烦。

阶段四: 血汗工厂攻击,真人作弊

由于企业采用多维度的防护及算法模型,黑产开始采用最朴实的 真人作弊 方式。黑产通过 线上群组和作弊APP
完成分工协作。据最新的报告统计,真人作弊攻击发展迅猛,真人作弊APP的数量增长了40倍以上。例如积分墙APP,用户通过完成相应的任务(下载、注册、投票、助力砍价、阅读分享等)获得奖励。此时,业务安全不仅需要Captcha产品,还需要结合其它反欺诈系统。

  • 一方面, Captcha拦截可以降低黑产生产效率 ,通过不同风险维度的识别,对于真人作弊行为需要完成空间推理等难度较高的验证码。

  • 另一方面, 结合舆情分析、黑产团伙挖掘、业务反欺诈系统等多维度对抗真人作弊 ,通过对舆情信息的分析,可以提前获得攻击情报,做好事前防御及规则漏洞梳理修复,同时对账号、行为等进行关联分析,通过行为一直性等方式挖掘黑产团伙,有效对抗真人作弊。

总结

黑产的 高度自动化攻击
是降本增效的必经之路,由于自动化测试工具和技术被黑产滥用,极大的提高了黑产的开发和攻击效率。这对于业务厂商来讲,无疑将面临更大的挑战。
人机识别的对抗
是一个持续升级和演进的过程,不管是对于业务方来讲,还是对于黑灰产来讲,双方都没有绝对的银弹。在未来的人机对抗中,企业将会面临越来越多的自动化攻击。

是一个持续升级和演进的过程,不管是对于业务方来讲,还是对于黑灰产来讲,双方都没有绝对的银弹。在未来的人机对抗中,企业将会面临越来越多的自动化攻击。

最后

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:


当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

因篇幅有限,仅展示部分资料,有需要的小伙伴,可以【扫下方二维码】免费领取:
1673487401625.png?t=0.37365235739630287

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/text2203/article/details/129667451

「杂谈」白身,初识,不惑,有识,你处于深度学习哪一重境界了-爱代码爱编程

https://www.toutiao.com/a6701683817700147715/   今天我们来谈谈深度学习工程师那些境界的事儿。有三斗胆将学习深度学习的同志分为5大境界,分别是白身,初识,不惑,有识,不可知,下面一个一个道来,以计算机视觉方向为例。 作者&编辑 | 言有三   1 白身 所谓白身境界,就是基本上什么都不会

「ai不惑境」数据压榨有多狠,人工智能就有多成功_喜欢打酱油的老鸟的博客-爱代码爱编程_ai不惑镜 csdn

https://www.toutiao.com/a6703348023008690701/   大家好,今天开始就进入了专栏《AI不惑境》的更新了,这是第一篇文章,讲述数据如何驱动深度学习。 进入到不惑境界,就是向高手迈进的开始了,在这个境界需要自己独立思考。如果说学习是一个从模仿,到追随,到创造的过程,那么到这个阶段,应该跃过了模仿和追随的阶段,进

「ai不惑境」残差网络的前世今生与原理-爱代码爱编程

https://www.toutiao.com/a6713515733143257611/   大家好,这是专栏《AI不惑境》的第五篇文章,讲述残差网络的来龙去脉和背后的原理。 进入到不惑境界,就是向高手迈进的开始了,在这个境界需要自己独立思考。如果说学习是一个从模仿,到追随,到创造的过程,那么到这个阶段,应该跃过了模仿和追随的阶段,进入了创造的阶段

「ai不惑境」深度学习中的多尺度模型设计_喜欢打酱油的老鸟的博客-爱代码爱编程

https://www.toutiao.com/a6716408071637172748/   大家好,这是专栏《AI不惑境》的第七篇文章,讲述计算机视觉中的多尺度问题。 进入到不惑境界,就是向高手迈进的开始了,在这个境界需要自己独立思考。如果说学习是一个从模仿,到追随,到创造的过程,那么到这个阶段,应该跃过了模仿和追随的阶段,进入了创造的阶段。从这

浅蓝不惑:在线或用API生成二维码——为什么不让你的二维码有更多选择和样式?-爱代码爱编程

引言 山中何事?松花酿酒,春水煎茶。 ——勿埋我心 什么是二维码?    二维码也称为二维条码,是指在一维条码的基础上扩展出另一维具有可读性的条码,使用黑白矩形图案表示二进制数据,被设备扫描后可获取其中所包含的信息。一维条码的宽度记载着数据,而其长度没有记载数据。二维码的长度、宽度均记载着数据。二维码有一维条码没有的“定位点”和“容错机制”。

人生不惑,钻研技术——ZFS和LVM-爱代码爱编程

缘起 今天介绍下ZFS和LVM。这两个东西和文件系统有关。不惑之日,感慨,工作十五年了,始终喜欢技术。而且,来者不拒,什么东西都想玩一玩。以前因为技术功底薄弱,学习新东西感觉难难难,经常有万念俱灰的想法。经过十来年的学习,现在看新技术感觉轻松一点了,更好玩了。 ZFS和LVM学习

人到中年:失业与恐惧,如何破局?_javachen__的博客-爱代码爱编程

奔四的路上难免有些焦虑,更多的是来自工作和家庭,所以最近也是看了看前人的思考,希望从中获得些许慰藉和鼓励。分享一篇个人觉得不错的文章,希望对你有所帮助。 刚入行的时候,听说程序员是吃青春饭的,只能干到 30 岁。过了几年,这个说法变成了 35 岁。如今走在奔四的 “不惑” 之路上,想到如果突然丢了工作,会怎样?还是不免为此有一些惶惑。 人到中年,突然就

更新版:整理下苏生不惑开发过的那些工具和脚本_苏生不惑的博客-爱代码爱编程

苏生不惑第382篇原创文章,将本公众号设为星标,第一时间看最新文章。 苏生不惑这个公众号已经写了380多篇原创文章,分享过很多工具和脚本,其中有些是我自己写的,这里再整理下: 部分软件下载地址我都更新到知识星球了(已经发布几百个帖子了,几乎每天更新),在星球内点击公众号标签查看,微信扫码加入吧。 公众号文章/音频/视频/话题下载 这个

容器方式搭建免费的表白网站--背景音乐《三生三世》(2023.3.8更新)-爱代码爱编程

目录 效果图拉取镜像运行容器访问制作方式 情人节专用,祝大家表白成功! 效果图 拉取镜像 docker pull registry.cn-hangzhou.aliyuncs.com/dwz

开发技术-java实体类链式赋值简单示例-爱代码爱编程

文章目录 1. 普通的赋值方式2. 使用 @Builder3. 使用@Accessors 1. 普通的赋值方式 这是个非常普通的实体类 public class User { private Str