验证码安全志:AIGC+集成环境信息信息检测

目录

知己知彼,黑灰产破解验证码的过程

AIGC加持,防范黑灰产的破解

魔高一丈,黑灰产+AIGC突破常规验证码

双重防护,保障验证码安全


黑灰产经常采用批量撞库方式登录用户账号,然后进行违法违规操作。

黑灰产将各种方式窃取账号密码导入批量登录软件,登录软件自动尝试账号登录。邮箱服务器检测到异常登录请求,会下发验证码进行安全验证,但是黑灰产能够自动破解简单验证码,完成撞库登录过程。整个过程完全自动化操作,无需人工干预,就这样,用户的大批账号就被冒名登录了。

为了防止验证码被识别、破解、绕过,很多平台和服务在验证码加入干扰,比如采用了非常复杂的验证码:歪斜的字母汉字、复杂的图形、转瞬即变内容等。以12306为例,提供了多达接近600种图形验证码,再经过排列组合,总共有多达300000种。一次性输入准确的比例仅仅是8%,两次输入准确比例27%,三次以上输入准确的比例才勉强超过60%。

原则上验证码是越复杂越好,但是凡事都有张有弛。验证码的本质,是让操作者证明是人而不是机器人,而随着验证码越来越难,用户正常操作的门槛也越来越高。复杂的验证码确实能够降低黑灰产破解,却也增加用户识别难度,将用户也阻挡在外,导致用户纷纷吐槽。

图片


知己知彼,黑灰产破解验证码的过程

要防止黑灰产破解验证码,必须了解其破解的过程。黑灰产破解验证码主要是基于验证资源的穷举以及识别,也就是通过抓取验证码图库的图片,然后进行标注,由此破解验证码。目前黑灰产运用目前最流行的人工智能技术训练,大大提高了识别验证码的速度。

以下是一个描述基于网络爬虫和图像识别技术的验证码破解过程的简要步骤:

第一步,制作网络爬虫工具,通过访问各个验证码技术平台,爬取验证码的图片素材。网络爬虫可以快速收集大量的验证码样本,为后续的模型训练和识别提供数据支持。

第二步,生成验证码图片素材的模型库。根据不同类型的验证码,如旋转、滑动、拼图等,生成相应的模型库。这些模型库包含有关验证码的特征信息,以便后续的验证码识别过程中进行比对。

第三步,识别验证码类型。在遇到需要破解的验证码时,程序迅速分析验证码的特征,确定其属于滑动、拼接、点选、旋转或计算等类型的验证码。这一步骤为后续的处理提供了方向和依据。

第四步,使用相似度算法检索之前构建的验证码模型库,快速定位到相似的图片。通过比对目标验证码与模型库中的样本,系统可以找到最相似的图片,并为后续操作提供参考。

图片

第五步,模拟人类操作。根据验证码类型和识别结果,程序模拟人类的操作行为,进行旋转、滑动、选择、计算或拼接操作,将图片调整至目标角度。这一步骤需要模拟各种可能的验证码操作,以达到绕过验证码核验的目的。

第六步,欺骗验证码核验,获得通过凭证。通过前面几步的处理,系统成功绕过验证码的安全机制,并获得了通过验证的凭证。这使得攻击者可以继续访问受限资源或执行其他恶意操作。

图片


AIGC加持,防范黑灰产的破解

验证码要做好防守,必须针对黑灰产破解的时效性和高效性特点展开。通过高频率的生产图片保证新的验证图片实时更新,从根源上杜绝打码平台拖库。

AIGC,全名“AI generated content”,又称生成式AI,意为人工智能生成内容,具有文本续写,文字转图像、数字主持人等应用。其原理是利用人工智能技术中的自然语言处理、机器学习、深度学习等技术,对大量的语言数据进行分析、学习和模拟,从而实现对自然语言的理解和生成。

图片

集成AIGC的顶象无感验证能够无限生产验证图片。通过AIGC能够文本描述快速生成无限量的图像素材,使得基于遍历图库的破解方式失效,大大增强验证码的破解难度。而且AIGC能够根据企业业务场景,生成个性化定制验证码图片。在拼图、旋转、滑动等验证方式下,如果无法得知预先的验证图片,就无法完成破解。

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

图片


魔高一丈,黑灰产+AIGC突破常规验证码

AIGC技术能够生成海量图片,且有一定随机性且不可逆,使攻击者打标训练成本可增加10倍以上,虽然大幅增加机器破解的难度。但是黑灰产也可以基于AI进行破解,只是成本增加。

基于AIGC,黑灰产不再需要采集验证码厂商的图库并打标,就能训练模型识别各种艺术字。

具体来说,黑灰产可以利用AIGC自动生成大量汉字对应的各种样式的艺术字,作为数据集训练模型,使该模型能够非常鲁棒地识别任何风格的艺术字。也许在不久的将来,艺术字验证码这种验证方式将完全失效。由此,进一步推动验证码企业提升验证方式的安全性和对抗性。

图片


双重防护,保障验证码安全

除了AIGC的加持,顶象验证码基于验证环境信息进行防御,通过生产无穷的验证图片+对环境信息进行验证,双重保障验证码安全。

图片

首先,源源不断得新验证图片,极大增加了黑灰产的识别与破解成本。同时提升验证要素识别难度。基于深度学习和神经网络,生成一些难以被预测和重复的图片、元素,并在验证过程中加入时间戳或者随机数等动态变化的因素,增加破解的难度,有效抵御机器破解。

其次,集成实时流计算及场景策略结合机器学习训练的人机模型、历史数据的关联分析,通过图形算法和AI模型,对用户产生的行为轨迹数据进行机器学习建模,结合访问频率、地理位置、历史记录等多个维度信息,快速、准确得返回人机判定结果。在验证码的验证环节采集有辨识度的环境信息,配置规则和策略来,筛选出可能是黑灰产的请求进行二次验证或拦截。例如,判断完成验证时的验证环境信息和token上报时的验证环境信息是否一致,对多次恶意攻击的IP地址进行拦截,限制验证码输入的次数等。

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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿鹄工程项目管理系统em Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统 em

​ Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目…

算法与数据结构-跳表

文章目录 什么是跳表跳表的时间复杂度跳表的空间复杂度如何高效的插入和删除跳表索引动态更新代码示例 什么是跳表 对于一个单链表来讲,即便链表中存储的数据是有序的,如果我们要想在其中查找某个数据,也只能从头到尾遍历链表。这样查找效率…

Makefile

什么是 Makefile 一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中, Makefile文件定义了一系列的规则来指定哪些文件需要先编译,哪些文件需要后编 译,哪些文件需要重新编译,甚至于进行更复杂的功…

Plecs最新安装免费版下载链接/Plecs 电力仿真软件4.7.5版本下载/实测能用

Plecs最新安装免费版下载链接 Plecs 电力仿真软件4.7.5版本下载 实测能用:

Flutter 让软键盘不再自动弹起

1、问题说明: 在开发中,经常遇到这种事,一个页面有输入框,点击输入框后,会弹起软键盘,同时输入框会聚焦,手动收起软键盘后,点击另一个按钮前往下一个页面或者显示一个弹窗&#xff0…

web集群学习--基于CentOS构建LVS-DR集群、配置nginx负载均衡

基于CentOS构建LVS-DR集群 环境准备 主机名 ip地址 node1 192.168.1.140 client node2 192.168.1.141 LVS node3 192.168.1.142 RS1 node4 192.168.1.143 RS2配置 1.关闭防火墙和SELinux [rootclient~]# systemctl stop firewalld [rootclient~]# systemctl disabl…

数据可视化(八)堆叠图,双y轴,热力图

1.双y轴绘制 #双Y轴可视化数据分析图表 #add_subplot() dfpd.read_excel(mrbook.xlsx) x[i for i in range(1,7)] y1df[销量] y2df[rate] #用来正常显示负号 plt.rcParams[axes.unicode_minus]False figplt.figure() ax1fig.add_subplot(1,1,1)#一行一列,第一个区域…

机器学习笔记:李宏毅ChatGPT Finetune VS Prompt

1 两种大语言模型:GPT VS BERT 2 对于大语言模型的两种不同期待 2.1 “专才” 2.1.1 成为专才的好处 Is ChatGPT A Good Translator? A Preliminary Study 2023 Arxiv 箭头方向指的是从哪个方向往哪个方向翻译 表格里面的数值越大表示翻译的越好 可以发现专门做翻…

HOT79-跳跃游戏 II

leetcode原题链接&#xff1a;跳跃游戏 II 题目描述 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j &…

笔记本WIFI连接无网络【实测有效,不用重启电脑】

笔记本Wifi连接无网络实测有效解决方案 问题描述&#xff1a; 笔记本买来一段时间后&#xff0c;WIFI网络连接开机一段时间还正常连接&#xff0c;但是过一段时间显示网络连接不上&#xff0c;重启电脑太麻烦&#xff0c;选择编写重启网络脚本解决。三步解决问题。 解决方案&a…

2.4 网络安全新技术

数据参考&#xff1a;CISP官方 目录 云计算安全大数据安全移动互联网安全物联网安全工业互联网安全 一、云计算安全 1、云计算定义 云计算是指通过网络访问可扩展的、灵活的物理或虚拟共享资源池&#xff0c;并按需自助获取和管理资源的模式。在云计算中&#xff0c;计算资…

SDXL 1.0出图效果直逼Midjourney!手把手教你快速体验!

介绍 最近&#xff0c;Stability AI正式推出了全新的SDXL 1.0版本。经过我的实际测试&#xff0c;与之前的1.5版本相比&#xff0c;XL的效果有了巨大的提升&#xff0c;可以说是全方位的超越。不仅在理解提示词方面表现出色&#xff0c;而且图片的构图、颜色渲染和画面细腻程度…

一零六七、JVM梳理

JVM&#xff1f; Java虚拟机&#xff0c;可以理解为Java程序的运行环境&#xff0c;可以执行Java字节码&#xff08;Java bytecode&#xff09;并提供了内存管理、垃圾回收、线程管理等功能 java内存区域划分?每块内存中都对应什么? 方法区&#xff1a;类的结构信息、常量池、…

排序算法(九大)- C++实现

目录 基数排序 快速排序 Hoare版本&#xff08;单趟&#xff09; 快速排序优化 三数取中 小区间优化 挖坑法&#xff08;单趟&#xff09; 前后指针法&#xff08;单趟&#xff09; 非递归实现&#xff08;快排&#xff09; 归并排序 非递归实现&#xff08;归并&am…

奥威BI—数字化转型首选,以数据驱动企业发展

奥威BI系统BI方案可以迅速构建企业级大数据分析平台&#xff0c;可以将大量数据转化为直观、易于理解的图表和图形&#xff0c;推动和促进数字化转型的进程&#xff0c;帮助企业更好地了解自身的运营状况&#xff0c;及时发现问题并采取相应的措施&#xff0c;提高运营效率和质…

【数据结构】双链表

【数据结构】双链表 一. 前言二. 带头双向链表接口实现1.准备工作2. 创建一个节点 三. 初始化4. 打印5. 尾插6. 尾删7. 头插8. 头删9. 计算节点个数10. 查找数据11. 在任意位置插入数据12. 在任意位置删除数据13. 销毁 四. 如何10分钟内完成一个完整双链表 一. 前言 带头双向循…

笔记——听听前辈们的教学评一体化

精选课程内容 强而有力的知识 做中学&#xff0c;用中学&#xff0c;创中学。 这个技术很难做 关于支架的新理解 有价值 有意义 和 趣味性 权衡&#xff0c;不能为了趣味性舍弃价值 举例说明文 被教成了文学作品 导致所教所学 悄然发生了偏移。 所以教学评如何一直&#xff…

Ajax 笔记(一)

笔记目录 1. Ajax 入门1.1 Ajax 概念1.2 axios 使用1.2.1 URL1.2.2 URL 查询参数1.2.3 小案例-查询地区列表1.2.4 常用请求方法和数据提交1.2.5 错误处理 1.3 HTTP 协议1.3.1 请求报文1.3.2 响应报文 1.4 接口文档1.5 案例1.5.1 用户登录&#xff08;主要业务&#xff09;1.5.2…

如何构造一个安全的单例?

为什么要问这个问题&#xff1f; 我们知道&#xff0c;单例是一种很常用的设计模式&#xff0c;主要作用就是节省系统资源&#xff0c;让对象在服务器中只有一份。但是实际开发中可能有很多人压根没有写过单例这种模式&#xff0c;只是看过或者为了面试去写写demo熟悉一下。那…

职责链模式(C++)

定义 使多个对象都有机会处理请求&#xff0c;从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链&#xff0c;并沿着这条链传递请求&#xff0c;直到有一个对象处理它为止。 应用场景 在软件构建过程中&#xff0c;一个请求可能被多个对象处理&#xff0c;…