人机识别技术再升级,AIGC为验证码带来万亿种新变化

news2024/11/20 7:16:48

网上输入关键词“破解验证码”,会出现1740万个搜索结果。“验证码识别、轻松破解、暴力破解、逻辑漏洞破解、简单破解”等等各类关键词的内容,不一而足,关于“如何用破解某某验证码”的帖子更是多如牛毛。

搜索引擎的相关结果

2017年,绍兴警方成功破获了全国首例利用AI(人工智能)犯罪、侵犯公民个人信息案。犯罪嫌疑人杨某通过运用人工智能机器深度学习技术,可以让程序软件如ALPHAGO一样自主操作识别,有效识别图片验证码,又快又准,很短时间就能识别出上千上万个验证码,而且能够识别出98%以上的验证码,轻松绕过互联网公司设置的验证码安全策略。

验证码作为人机交互界面经常出现的关键要素,是身份核验、防范风险、数据反爬的重要组成部分,广泛应用网站、App上,在注册、登录、交易、交互等各类场景中发挥着巨大作用,具有真人识别、身份核验的功能,在保障账户安全方面也具有重要作用,由此也成为黑灰产攻克破解的重要目标。为了破解验证码,黑灰产利用各种技术和手段快速批量快速破解,以满足批量注册、批量登录、恶意盗取等不法操作的需要。


验证码的运行流程

黑灰产破解验证码的常见方式

黑灰产破解验证码的手段多样化,但主要是机器破解和人工打码两种。

机器破解主要是通过识别图片中的相关验证要素来进行破解,例如识别滑动验证码的缺口,点选验证码中的文字要素和数字要素,其主要技术手段是图像处理,图像二值化,模拟滑动轨迹等相关技术。

黑灰产破解验证码的过程

第一步,首先制作网络爬虫工具,到各个验证码平台爬取验证码的图片素材。

第二步,生成验证码图片素材的模型库:例如旋转类验证码,生成图片旋转模型库;滑动类验证码,生成图片滑动模型库;拼图类验证码,生成图片拼接模型库等等,以此类推。

第三步,遇到需要破解的验证码,程序迅速识别是哪类验证码:滑动?拼接?点选?旋转?计算等等。

第四步,使用相似度算法,检索此前验证码模型库,并快速定位到相近的图片;

第五步,模拟人类操作,旋转/滑动/选择/计算/拼接图片至目标角度;

第六步,骗过验证码的核验,获得通过凭证。

机器破解的前期爬取图片、建模的的工作量很大,技术门槛高。因此,黑灰产另一种门槛较低的破解方式“人工打码”就应运而生。

第一步,建立或寻找一个任务平台;

第二步,任务发布者(一般是黑灰产),将获取到的验证码信息封装成任务提交到打码平台;

第三步,打码平台作为中间的任务调度者,将发布的任务调度给领取任务的平台用户(专门做验证码验证标注的人);

第四步,任务领取者,完成验证码的标注,然后将标注结果返回给任务平台;

第五步,任务发布者(黑灰产)模拟人类用户,拿着标注的验证码进行验证;

第六步,骗过验证码的核验,获得通过凭证。

人工打码有一个很明显的缺点是单次请求耗时高,因为其破解的速度效率严重依赖于标注者的破解速度。


人机识别的攻与防

综合来看,黑灰产破解验证码主要是基于验证资源的穷举以及识别,具有自动化攻击、手段多、破解速度快、破解验证码形式多等特点。

第一、自动化攻击。黑灰产使用自动化程序进行验证码破解,这种程序可以模拟人类操作,不断尝试多种可能性,并通过机器学习等技术对验证码进行分析和识别。

第二、攻击手段多。黑灰产使用多种攻击方式,如字典攻击、暴力破解、文本识别、人工智能攻击等,以提高攻击的成功率。

第三、破解速度快。黑灰产使用高速攻击技术,使其得以在短时间内尝试大量的可能性,以达到破解验证码的目的。

第四、破解形式广。黑灰产可以攻击各种类型的验证码,包括文字、数字、图片、语音等多种形式,甚至是复杂的混合验证码。

验证码要做好防守,必须针对黑灰产破解的时效性和高效性特点展开。

1、加快验证码图库更新。高频率的生产图片保证新的验证图片实时更新,从根源上杜绝打码平台拖库。这样就导致黑灰产的标注者,需要源源不断地对新验证图片进行验证,极大增加了黑灰产的识别与破解成本。

2、提升验证要素识别难度。基于深度学习和神经网络,生成一些难以被预测和重复的图片、元素,并在验证过程中加入时间戳或者随机数等动态变化的因素,增加破解的难度,有效抵御机器破解。

3、基于验证环境信息进行防御。在验证码的验证环节采集有辨识度的环境信息,配置规则和策略来,筛选出可能是黑灰产的请求进行二次验证或拦截。例如,判断完成验证时的验证环境信息和token上报时的验证环境信息是否一致,对多次恶意攻击的IP地址进行拦截,限制验证码输入的次数等。


AIGC加持,给验证码带来革命性变化

AIGC,全名“AI generated content”,又称生成式AI,意为人工智能生成内容,具有文本续写,文字转图像、数字主持人等应用。其原理是利用人工智能技术中的自然语言处理、机器学习、深度学习等技术,对大量的语言数据进行分析、学习和模拟,从而实现对自然语言的理解和生成。AIGC起源于20世纪90年代,直到2022年OpenAI推出ChatGPT3.5后,才被广为所知。

AIGC技术给验证码的研发和应用带来了很多新的价值,不仅提升用户体验,带来新的验证方式,更增强验证码的安全性,当然也给验证安全带来新的安全挑战。

1、无限生产验证图片。通过AIGC能够文本描述快速生成对应图像,减少时间成本和工作量。无限量的图像素材,使得基于遍历图库的破解方式失效,大大增强验证码的破解难度。而且AIGC能够根据企业业务场景,生成个性化定制验证码图片。在拼图、旋转、滑动等验证方式下,如果黑灰产不知道验证图片,就无法完成破解。

2、创造新型验证方式。利用AIGC,可以优化已有的验证方式,甚至创造出一些对用户友好、但机器识别难度较高的新型验证码。比如,常见的滑块验证码,由于为了保证有足够识别度,目标缺口的像素与周围的像素需要有一些差异,因而往往非常容易识别,进而轻易判断出滑块的目标位置,因而安全性并不高。利用AIGC,可以设计出没有缺口的滑块验证码,要判断出目标位置需要理解图像的语义,由此增加黑灰产的破解难度。


传统的带有缺口的验证码图片


AIGC生成的无缺口的验证码图片

再比如,谷歌的reCAPTCHA,实际上可以视为一个目标检测的问题,对于机器视觉来说并不困难。但若改为给定一句文字描述,“找出九宫格中符合该描述的图片”,就可以将目标检测升级为语义匹配,对于机器而言,难度提升了多个数量级。

谷歌的reCAPTCHA示例:点选包含道路的图片 

AIGC生成的图文语义匹配验证码图片

3、增加黑灰产破解成本。基于AIGC技术生产图片或文字相对容易,但要匹配文字和图片是相对困难的。AIGC规模化的生成海量图片有一定随机性且不可逆,黑灰产要破解验证码,就需要理解图像的语义,这就需要使用到大语言模型和超大算力,成本非常高,而且大语言模型并不能开箱即用,需要二次配置定义,大部分的黑灰产并不具备利用大模型做破解模型的能力。

4、良好改善用户体验。基于AIGC生成的图像具有高度的精准度,进一步提升验证码的用户体验。例如,空间语义验证方式中,基于AIGC生成的图片3D效果更为逼真,更便于用户识别空间信息。同时,也会让验证码提供商摒弃艺术字、数字字母变体等影响用户体验的验证方式,在不影响用户体验的同时,增加机器识别的难度。


AIGC生成3D效果图示例


AIGC生成3D效果图示例

5、推动企业提升验证码的安全对抗性。此外,黑产也可以利用AIGC增强破解能力。基于AIGC,黑灰产不再需要采集验证码厂商的图库并打标,就能训练模型识别各种艺术字。具体来说,黑灰产可以利用AIGC自动生成大量汉字对应的各种样式的艺术字,作为数据集训练模型,使该模型能够非常鲁棒地识别任何风格的艺术字。也许在不久的将来,艺术字验证码这种验证方式将完全失效。由此,进一步推动验证码企业提升验证方式的安全性和对抗性。


为防范黑灰产,顶象构建了专属AIGC平台

顶象构建了一个基于Stable Diffusion模型专属AGIC平台,由百余个GPU的小型计算集群组成。该模型基于Latent Diffusion Models(潜在扩散模型,LDMs)的文图生成(text-to-image),根据文本描述,自动快速海量地生成相应图片。

具体来说,Stable Diffusion模型使用LDMs来从文本描述中提取相应的语义信息,然后将其投入到扩散过程中,由此产生随机的潜在向量,这些向量接着通过逆变换网络(inverse transformation network)转换为图像。扩散过程基于连续时间的马尔可夫链(Markov chain),采用随机漫步的方式进行迭代,并且每一次迭代都会增加一定的噪声。噪声的引入能够使得生成的图像具有更多的随机性和多样性,增加模型的创造力。同时,该模型还使用了自适应步长的方法,以在较短的时间内快速生成高分辨率的图像。

Stable Diffusion模型应用原理

Stable Diffusion良好解决时间成本和经济成本问题。如果要生成一张1024*1024尺寸的图像,Latent Diffusion通过在一个潜在表示空间(Latent Space)中迭代“去噪”,然后将表示结果解码为完整的图像,让文图生成能够在消费级GPU上以10秒级别的时间生成图片,大大降低了业务落地门槛。


AGIC+无感验证,让安全与体验兼得

顶象无感验证集成的就是Stable Diffusion文本到图像生成开源模型。作为首个使用AIGC技术的业务安全产品,顶象无感验证在五个方面有显著提升。

1、风险拦截率提升19%。使用静态图库作为验证码图片时,图库更新一周以后,爬虫的拦截防御能力会出现明显的效果衰减,一个月左右,恶意爬虫通过率会达到20%。使用AIGC生成图片后,爬虫通过验证通过率立即下降至0.8%以下,且长时间维持在1%以内。相比之前静态图库的情况下,AIGC大幅提高了验证难度和防御能力。

使用静态图库时,恶意爬虫的通过率


使用AIGC图库时,恶意爬虫的通过率

2、管理员配置效率提升50%。原先使用静态图片时,需要管理人员进行手动调整配置的图集、图标库等要素,现在AIGC自动生成的图集直接减少多个配置环节,效率提升50%。

AIGC可自动生成

3、用户辨识度提升70%。在我们组织的AIGC和静态图片的对比实验中,85%的参与者认为使用AIGC生成的主题图片更加生动和丰富;在与视觉设计师调查中,92%的人表示喜欢使用AIGC生成的图片;在我们的另外一个对比实验中,100名非深度验证码使用者,观看使用AIGC生成的主题图片和使用传统3D模型生成的静态主题图片,结果显示,AIGC生成的主题图片辨识度提升了70%。

85%人认为AIGC图片更加生动和丰富

92%的人喜欢使用AIGC生成的图片

4、黑灰产破解成本增加10倍。使用静态图库时,因为验证码图集有限,攻击者只需定期爬取主题图片,然后针对性地打标训练新的识别模型,就可快速破解。AIGC技术能够生成海量图片,且有一定随机性且不可逆,使攻击者打标训练成本可增加10倍以上,大幅增加机器破解的难度。

6、图片的生产数量提升8640倍。使用静态图库时,验证码企业需要一个月更新一次图库,每次更新图片几百到几千张,平均每天只能设计几十张图。使用AIGC后,以单个GPU计算机为例,利用AIGC技术20秒就可以生成一张图片。使用100个GPU的小型计算集群,一天就可以生成43万2000张新的图片,一个月可以生成超过1000万张新图片。AIGC的生产能力是人工制图的8640倍。

AIGC与人工单日生产图片的数量对比

顶象无感验证集成13种验证方式,多种防控策略,汇集了4380条风险策略、112类风险情报、覆盖24个行业、118种风险类型,防控精准度>99.9%,1天内便可实现从风险到情报的转化,行业风险感知能力实力加强,同时支持安全用户无感通过,实时对抗处置能力更是缩减至60s内。帮助企业在登录、注册、支付等场景中实现快速验证身份,大大提高了服务体验的便捷性和效率。

后续,AIGC能力将集成到顶象防御云各个模块,应用到各个行业和场景中。作为国内首个使用AIGC的业务安全企业,顶象展示了AIGC技术在业务安全领域的广泛应用和巨大潜力,促进整个行业的技术创新和发展。通过AIGC技术在验证码等业务安全产品上的落地,顶象将为客户提供更加安全和可靠的服务,将帮助企业更好地抵御各类风险与威胁,助力业务健康发展。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/450916.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

线程池的构造方式

线程池的构造方式 两类构造方式7种实现方法7种线程池的具体使用FixedThreadPoolCachedThreadPoolSingleThreadExecutorScheduledThreadPoolSingleThreadScheduledExecutornewWorkStealingPoolThreadPoolExecutor 说明总结 两类构造方式 在Java语言中,并发编程都是通…

【重新定义matlab强大系列三】MATLAB清洗离群数据(查找、填充或删除离群值)

🔗 运行环境:matlab 🚩 撰写作者:左手の明天 🥇 精选专栏:《python》 🔥 推荐专栏:《算法研究》 #### 防伪水印——左手の明天 #### 💗 大家好🤗&#x1f91…

异常详解

一、初识异常 异常概念: 所谓异常指的就是程序在 运行时 出现错误时通知调用者的一种机制。 而运行时指的是程序已经编译通过得到 class 文件了, 再由 JVM 执行过程中出现的错误。 1.除以 0 System.out.println(10 / 0); // 执行结果 Exception in thread "…

02 - 学会提问

学会提问 一、引言 1.1 GPT简介 GPT(Generative Pre-trained Transformer)是一种基于Transformer架构的大型预训练语言模型。 凭借其强大的文本生成、理解和处理能力,GPT已在诸如自然语言处理、机器翻译、文本摘要等多个领域取得了显著的…

python+vue 高校资助系统

其中各子模块的主要功能如下: 1、用户登录:用户进入系统先输入用户名与密码,选择权限登录,用户登录成功,要记录登录的用户名和登录类型。 2、学生注册:学生注册填写学号、密码、确认密码、学生姓名、邮箱、…

Python小姿势 - Python操作MongoDB数据库

Python操作MongoDB数据库 MongoDB是一个基于分布式文件存储的数据库。由C语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 现在&a…

Leetcode力扣秋招刷题路-0295

从0开始的秋招刷题路,记录下所刷每道题的题解,帮助自己回顾总结 295. 数据流的中位数 中位数是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。 例如 arr [2,3,4] 的中位数是 3 。 …

springboot,Flowable 流程实例的激活与挂起(二)

一.简介 接上一篇 springboot&#xff0c;Flowable 流程实例的激活与挂起&#xff08;一&#xff09; 二.流程实例的挂起与激活 1.流程实例的挂起 挂起一个流程实例的代码如下&#xff1a; Test void test08() {List<ProcessDefinition> list repositoryService.cr…

Cycling 74 Max for Mac:音乐可视化编程软件

Cycling 74 Max是一款音乐、视觉、互动艺术等领域中广泛使用的编程语言和应用软件&#xff0c;它允许用户创作和控制实时音频和视频效果、交互式应用程序和媒体艺术品等。 Max将程序设计和可视化编程相结合&#xff0c;通过简单的拖拽和连接方式&#xff0c;用户可以将各种功能…

cuda编码例程(转载借鉴)

内容出处&#xff1a;https://mp.csdn.net/mp_blog/creation/editor 1. 前言 这是一份简单的CUDA编程入门&#xff0c;主要参考英伟达的官方文档进行学习&#xff0c;本人也是刚开始学习&#xff0c;如有表述错误&#xff0c;还请指出。官方文档链接如下&#xff1a; An Eve…

第2章-类加载子系统

1、本系列博客&#xff0c;主要是面向Java8的虚拟机。如有特殊说明&#xff0c;会进行标注。 2、本系列博客主要参考尚硅谷的JVM视频教程&#xff0c;整理不易&#xff0c;所以图片打上了一些水印&#xff0c;还请读者见谅。后续可能会加上一些补充的东西。 3、尚硅谷的有些视频…

vue 实现el-select组件 配合 el-tabs 完成动态tabs然后有勾选 全选,还有模拟提交,回显数据

cv即可使用 <!DOCTYPE html> <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" conten…

Python读取DataFrame的某行或某列

行索引、列索引、loc和iloc import pandas as pd import numpy as np # 准备数据 df pd.DataFrame(np.arange(12).reshape(3,4),indexlist("abc"),columnslist("WXYZ"))行索引(index)&#xff1a;对应最左边那一竖列 列索引(columns)&#xff1a;对应最…

使用手机在网状态查询 API 有效防止虚假注册的设计思路

引言 随着移动互联网的普及&#xff0c;手机在网状态成为重要的数据指标。在网状态反映了手机用户的实际使用情况&#xff0c;对于各类企业和机构具有重要意义。 本文将为大家介绍手机在网状态 API 的主要特点和优势&#xff0c;并且探讨手机在网状态 API 的应用场景和效果展…

【小DS】ABC250 E - Prefix Equality

一开始看题解把我CPU干烧了 后来豁然开朗 E - Prefix Equality (atcoder.jp) 题意&#xff1a; 给定两个数组a,b&#xff0c;每次询问两个位置x和y&#xff0c;问a数组前x个构成的集合和b数组前y个构成的集合是不是一样 思路&#xff1a; 一开始纯暴力RE了 #include <…

IDEA 重磅插件 - Bito – GPT-4

笔者会陆续在个人主页 “AI” 专栏推荐优质 AI 软件、插件、网站… 而不是一股脑地抛给你一堆自行筛选&#xff0c;每一款都是笔者亲自体验感觉还不错的。 如果对你有帮助记得一键三连获取最新优质文章&#xff01; 1.介绍 Bito – GPT-4 Bito – GPT-4 & ChatGPT to writ…

WiFi 时钟

WiFi 时钟有很多开源项目的。但是&#xff0c;成品往往代码一大篇&#xff0c;看起来有些上头。加上有些库和环境的版本变迁&#xff0c;编译报错排查起来很是费劲。于是从头捋一遍&#xff0c;一步一步的过程&#xff0c;容易上手&#xff1a; 准备工作&#xff1a; a 零件&…

Netty源码解读

Netty源码解读 Netty线程模型 1、定义了两组线程池BossGroup和WorkerGroup&#xff0c;BossGroup专门负责接收客户端的连接, WorkerGroup专门负责网络的读写 2、BossGroup和WorkerGroup类型都是NioEventLoopGroup&#xff0c;Group中维护了多个事件循环线程NioEventLoop&#…

AI新产品层出不穷,学不过来怎么办。

最近各个互联网巨头和创业新贵发布的AI工具&#xff0c;AI模型层出不穷&#xff0c;相关自媒体的热度也都很高&#xff0c;当然&#xff0c;各种大佬的隔空喊话也是非常吸引眼球&#xff0c;那么很多人就会觉得&#xff0c;要看的东西太多了&#xff0c;要学的东西太多了&#…

【数据结构】顺序表详解(附leetcode练习题)

☃️个人主页&#xff1a;fighting小泽 &#x1f338;作者简介&#xff1a;目前正在学习C语言和数据结构 &#x1f33c;博客专栏&#xff1a;数据结构 &#x1f3f5;️欢迎关注&#xff1a;评论&#x1f44a;&#x1f3fb;点赞&#x1f44d;&#x1f3fb;留言&#x1f4aa;&…