验证码安全志: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上,在注册、登录、交易、交互等各类场景中发挥着巨大作用,具有真人识别、身份核验的功能,在保障账户安全方面也具有重要作用,由此也成为黑灰产攻克破解的重要目标。为了破解验证码,黑灰产利用各种技术和手段快速批量快速破解,以满足批量注册、批量登录、恶意盗取等不法操作的需要。
相关文章:

验证码安全志:AIGC+集成环境信息信息检测
目录 知己知彼,黑灰产破解验证码的过程 AIGC加持,防范黑灰产的破解 魔高一丈,黑灰产AIGC突破常规验证码 双重防护,保障验证码安全 黑灰产经常采用批量撞库方式登录用户账号,然后进行违法违规操作。 黑灰产将各种方…...

R-Meta分析教程
详情点击链接:R-Meta模型教程 一:Meta分析的选题与文献计量分析CiteSpace应用 1、Meta分析的选题与文献检索 1)什么是Meta分析? 2)Meta分析的选题策略 3)文献检索数据库 4)精确检索策略,如何检索全、检索准 5)文献的管理与…...

【3维视觉】3D空间常用算法(点到直线距离、面法线、二面角)
3D空间点到直线的距离 3D空间点到直线的距离 3D空间的曲率 三维空间有三个基本元素,点,线,面。那么曲率是如何定义的呢? 点的曲率? 线的曲率? 面的曲率? 法曲率 设曲面上的曲线在某一点处的切…...

Nodejs 第四章(Npm install 原理)
在执行npm install 的时候发生了什么? 首先安装的依赖都会存放在根目录的node_modules,默认采用扁平化的方式安装,并且排序规则.bin第一个然后系列,再然后按照首字母排序abcd等,并且使用的算法是广度优先遍历,在遍历依…...

[深度学习] GPU处理能力(TFLOPS/TOPS)
计算能力换算 理论峰值 = GPU芯片数量GPU Boost主频核心数量*单个时钟周期内能处理的浮点计算次数 只不过在GPU里单精度和双精度的浮点计算能力需要分开计算,以最新的Tesla P100为例: 双精度理论峰值 = FP64 Cores *…...
js:获取浏览器默认语言
实现代码 navigator.language zh-CN参考文章 [javascript] js如何获取浏览器的语言...

【U8+】用友U8重新注册加密锁,提示:写卡失败,请重新配置客户端控件。
【问题描述】 用友U8软件重新安装后,需要重新注册加密锁激活软件。 注册反馈提示:产品注册失败。 原因(1):写卡失败,请重新配置客户端控件。 【解决方法】 1、打开控制面板,网络和 Internet&a…...

uniapp小程序console.log在微信开发者工具中不打印问题
最近在开发一款uniapp小程序,发现console.log在微信开发者工具中不打印,但在H5页面就能够有打印输出,于是在网上寻找原因… 主要是由于vue.config.js文件中有设置发布时删除console的配置,如下: 官网参考地址&#x…...

从零基础开始开发自己的第一个微信小程序
文章目录 内容介绍小程序开发步骤注册微信小程序账号下载开发工具搭建开发环境创建工程编写代码手机上查看效果 工程里的文件作用介绍总结 内容介绍 通过本篇blog,你可以熟悉从零开始,搭建小程序开发环境,并运行起自己的第一个小程序。 小程…...

无涯教程-Lua - Arrays(数组)
数组是对象的有序排列,可以是包含行集合的一维数组,也可以是包含多行和多列的多维数组。 在Lua中,数组是使用带有整数的索引表实现的。数组的大小不是固定的,并且可以根据无涯教程的要求(取决于内存限制)来增长。 一维数组 一维…...

0基础学习VR全景平台篇 第76篇:全景相机-圆周率全景相机如何直播推流
圆周率科技,成立于2012年,是中国最早投身嵌入式全景算法研发的团队之一,亦是全球市场占有率最大的全景算法供应商。相继推出一体化智能屏、支持一键高清全景直播的智慧全景相机--Pilot Era和Pilot One,为用户带来实时畅享8K的高清…...

超详细|ChatGPT论文润色教程
本文讲述使用中科大开源ChatGPT论文辅助工具,对论文进行润色 祝看到本教程的小伙伴们都完成论文,顺利毕业。 可以加QQ群交流,一群: 123589938 第一章 介绍 今天给大家分享一款非常不错的ChatGPT论文辅助工具,使用了专…...

MMDeploy安装、python API测试及C++推理
服务器配置如下: Cuda版本:11.1 Cudnn版本:8.2.0 显卡版本:RTX3090 使用转换脚本将.pth模型转换为ONNX格式 python mmdeploy/tools/deploy.py \mmdeploy/configs/mmdet/detection/detection_onnxruntime_dynamic.py \mmdetect…...

[openCV]基于拟合中线的智能车巡线方案V3
import cv2 as cv import os import numpy as np# 遍历文件夹函数 def getFileList(dir, Filelist, extNone):"""获取文件夹及其子文件夹中文件列表输入 dir:文件夹根目录输入 ext: 扩展名返回: 文件路径列表"""newDir d…...

vite+typescript项目 :找不到模块“./***.vue”或其相应的类型声明——解决方案
vue3ts报错: 找不到模块“./App.vue”或其相应的类型声明。ts(2307) 解决方法: 1、在src文件夹找到 vite-env.d.ts 加入以下代码: declare module *.vue {import type { DefineComponent } from vueconst vueComponent: DefineComponent<…...

Gradio-YOLOv5-YOLOv7 搭建Web GUI
目录 0 相关资料:1 Gradio介绍2 环境搭建3 GradioYOLOv54 GradioYOLOv75 源码解释 0 相关资料: Gradio-YOLOv5-Det:https://gitee.com/CV_Lab/gradio_yolov5_det 【手把手带你实战YOLOv5-入门篇】YOLOv5 Gradio搭建Web GUI: https://www.bi…...
HTML模板生成word,pdf文档
1.获取html模板 public static void main(String[] args) {String htmlContent getHtmlFileContent(templateName,dataMap);String exportType "pdf";if (exportType.equals("pdf")){convertToPdf(htmlContent,filePath);}else {exportWord(htmlContent…...

ssl单向证书和双向证书校验测试及搭建流程
零、前提准备 首先了解下HTTP和HTTPS的区别: HTTPS与HTTP有什么不同? HTTP是过去很长一段时间我们经常用到的一种传输协议。HTTP协议传输的数据都是未加密的,这就意味着用户填写的密码、账号、交易记录等机密信息都是明文,随时…...

【2种方法,jmeter用一个正则提取器提取多个值!】
jmeter中,用json提取器,一次提取多个值,这个很多人都会。但是,用正则提取器一次提取多个,是否可以呢? 肯定,很多人都自信满满的说,可以!形如:token":&q…...
012-堆,结构体
012-堆,结构体 堆空间的申请和释放 堆空间特点? 栈空间的特点是,自动申请自动释放 堆空间由用户自己主动申请,主动释放 利用函数malloc进行堆空间的申请 利用函数free进行堆空间使用完毕后的释放 问题: 局部变量的存储空间在栈区; 全局变量的存储空…...

国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...

【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...

短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...
BLEU评分:机器翻译质量评估的黄金标准
BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...

PH热榜 | 2025-06-08
1. Thiings 标语:一套超过1900个免费AI生成的3D图标集合 介绍:Thiings是一个不断扩展的免费AI生成3D图标库,目前已有超过1900个图标。你可以按照主题浏览,生成自己的图标,或者下载整个图标集。所有图标都可以在个人或…...
node.js的初步学习
那什么是node.js呢? 和JavaScript又是什么关系呢? node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说, 需要在node.js的环境上进行当JavaScript作为前端开发语言来说,需要在浏览器的环境上进行 Node.js 可…...
Java多线程实现之Runnable接口深度解析
Java多线程实现之Runnable接口深度解析 一、Runnable接口概述1.1 接口定义1.2 与Thread类的关系1.3 使用Runnable接口的优势 二、Runnable接口的基本实现方式2.1 传统方式实现Runnable接口2.2 使用匿名内部类实现Runnable接口2.3 使用Lambda表达式实现Runnable接口 三、Runnabl…...

ubuntu中安装conda的后遗症
缘由: 在编译rk3588的sdk时,遇到编译buildroot失败,提示如下: 提示缺失expect,但是实测相关工具是在的,如下显示: 然后查找借助各个ai工具,重新安装相关的工具,依然无解。 解决&am…...