当前位置: 首页 > news >正文

验证码安全志: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报错&#xff1a; 找不到模块“./App.vue”或其相应的类型声明。ts(2307) 解决方法&#xff1a; 1、在src文件夹找到 vite-env.d.ts 加入以下代码&#xff1a; declare module *.vue {import type { DefineComponent } from vueconst vueComponent: DefineComponent<…...

Gradio-YOLOv5-YOLOv7 搭建Web GUI

目录 0 相关资料&#xff1a;1 Gradio介绍2 环境搭建3 GradioYOLOv54 GradioYOLOv75 源码解释 0 相关资料&#xff1a; Gradio-YOLOv5-Det&#xff1a;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的区别&#xff1a; HTTPS与HTTP有什么不同&#xff1f; HTTP是过去很长一段时间我们经常用到的一种传输协议。HTTP协议传输的数据都是未加密的&#xff0c;这就意味着用户填写的密码、账号、交易记录等机密信息都是明文&#xff0c;随时…...

【2种方法,jmeter用一个正则提取器提取多个值!】

jmeter中&#xff0c;用json提取器&#xff0c;一次提取多个值&#xff0c;这个很多人都会。但是&#xff0c;用正则提取器一次提取多个&#xff0c;是否可以呢&#xff1f; 肯定&#xff0c;很多人都自信满满的说&#xff0c;可以&#xff01;形如&#xff1a;token":&q…...

012-堆,结构体

012-堆,结构体 堆空间的申请和释放 堆空间特点? ​ 栈空间的特点是,自动申请自动释放 ​ 堆空间由用户自己主动申请,主动释放 ​ 利用函数malloc进行堆空间的申请 ​ 利用函数free进行堆空间使用完毕后的释放 问题: ​ 局部变量的存储空间在栈区; ​ 全局变量的存储空…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

ios苹果系统,js 滑动屏幕、锚定无效

现象&#xff1a;window.addEventListener监听touch无效&#xff0c;划不动屏幕&#xff0c;但是代码逻辑都有执行到。 scrollIntoView也无效。 原因&#xff1a;这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作&#xff0c;从而会影响…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中&#xff0c;CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时&#xff0c;通常会导致应用响应缓慢&#xff0c;甚至服务不可用&#xff0c;严重影响用户体验和业务运行。因此&#xff0c;掌握一套科学有效的CPU飙高问题排查方法&…...

6️⃣Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙

Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙 一、前言:离区块链还有多远? 区块链听起来可能遥不可及,似乎是只有密码学专家和资深工程师才能涉足的领域。但事实上,构建一个区块链的核心并不复杂,尤其当你已经掌握了一门系统编程语言,比如 Go。 要真正理解区…...

负载均衡器》》LVS、Nginx、HAproxy 区别

虚拟主机 先4&#xff0c;后7...

Selenium 查找页面元素的方式

Selenium 查找页面元素的方式 Selenium 提供了多种方法来查找网页中的元素&#xff0c;以下是主要的定位方式&#xff1a; 基本定位方式 通过ID定位 driver.find_element(By.ID, "element_id")通过Name定位 driver.find_element(By.NAME, "element_name"…...

【多线程初阶】单例模式 指令重排序问题

文章目录 1.单例模式1)饿汉模式2)懒汉模式①.单线程版本②.多线程版本 2.分析单例模式里的线程安全问题1)饿汉模式2)懒汉模式懒汉模式是如何出现线程安全问题的 3.解决问题进一步优化加锁导致的执行效率优化预防内存可见性问题 4.解决指令重排序问题 1.单例模式 单例模式确保某…...

Docker环境下安装 Elasticsearch + IK 分词器 + Pinyin插件 + Kibana(适配7.10.1)

做RAG自己打算使用esmilvus自己开发一个&#xff0c;安装时好像网上没有比较新的安装方法&#xff0c;然后找了个旧的方法对应试试&#xff1a; &#x1f680; 本文将手把手教你在 Docker 环境中部署 Elasticsearch 7.10.1 IK分词器 拼音插件 Kibana&#xff0c;适配中文搜索…...

React、Git、计网、发展趋势等内容——前端面试宝典(字节、小红书和美团)

React React Hook实现架构、.Hook不能在循环嵌套语句中使用 , 为什么&#xff0c;Fiber架构&#xff0c;面试向面试官介绍&#xff0c;详细解释 用户: React Hook实现架构、.Hook不能在循环嵌套语句中使用 , 为什么&#xff0c;Fiber架构&#xff0c;面试向面试官介绍&#x…...

智能照明系统:具备认知能力的“光神经网络”

智能照明系统是物联网技术与传统照明深度融合的产物&#xff0c;其本质是通过感知环境、解析需求、自主决策的闭环控制&#xff0c;重构光与人、空间、环境的关系。这一系统由智能光源、多维传感器、边缘计算单元及云端管理平台构成&#xff0c;形成具备认知能力的“光神经网络…...