【miniMax开放平台-注册安全分析报告-无验证方式导致安全隐患】

前言

由于网站注册入口容易被机器执行自动化程序攻击,存在如下风险:

  1. 暴力破解密码,造成用户信息泄露,不符合国家等级保护的要求。
  2. 短信盗刷带来的拒绝服务风险 ,造成用户无法登陆、注册,大量收到垃圾短信的用户投诉导致短信通道被关停。
  3. 带来经济损失,尤其是后付费客户,需要承担短信盗刷造成的大额短信费 ,造成亏损无底洞。

在这里插入图片描述

所以大部分网站及App 都采取图形验证码或滑动验证码等交互解决方案, 但在机器学习能力提高的当下,连百度这样的大厂都遭受攻击导致点名批评, 图形验证及交互验证方式的安全性到底如何? 请看具体分析

一、 AI智能的发展给行为验证带来威胁

验证码本质上自带一层答案的语义,这原本是天然的区分人和自动程序的地方,但在今日却未必,由于AI智能及CHATGPT等大模型的发展,机器要识别也变得更加容易。
1、 目标识别框架
黑产破解者为了降低攻击成本、提高破解效率,通常会利用收集的大量验证码图片样本,打码标注、构建模型网络、训练模型、测试模型,从而得到一个可持续识别图片答案的识别。目前,黑产针对验证码图片的破解最常用的主要是分类模型和相似模型。
在这里插入图片描述

2、 批量下载存储验证图片,共需要大数万张图片。
在这里插入图片描述

3、 黑产训练出一个高准确度的识别模型后,后续破解验证码时,通过识别模型就能直接获取答案坐标。在这里插入图片描述

4、 借力大模型进行升级
俗话说:道高一尺,魔高一丈,在chatgpt大模型发展的今天,行为验证的方式无论怎么变花样,被破解只是时间而已,被伤害的反而是真实用户。

在这里插入图片描述

二、 miniMax开放平台 PC端注册入口

简介:MiniMax是一家成立于2021年12月的大模型初创公司,致力于开发AI解决方案,MiniMax由前商汤科技副总裁、通用智能技术负责人闫俊杰创立,技术合伙人杨斌也是闫俊杰的中科院校友。公司自成立起,便持续专注于推动通用人工智能技术突破。
技术实力与产品:
1 MiniMax已自主研发出不同模态的通用大模型,包括万亿参数的MoE文本大模型、语音大模型、图像大模型以及视频大模型,是国内第一家同时拥有4个模态大模型能力的创业公司,
2 基于这些通用大模型,Minimax推出了生产力工具海螺AI、沉浸式AI内容社区星野等原生应用以及提供API服务的开放平台。
3 2024年4月17日,MiniMax正式推出abab 6.5系列模型,包含abab 6.5和abab 6.5s两个模型。

在这里插入图片描述

在这里插入图片描述

三、 安全性分析报告:

前端界面分析,miniMax开放平台未采取任何验证措施,存在严重的安全隐患,同行一般会在注册下发短信验证码时采用图形验证、行为验证方式。

在这里插入图片描述

四、 测试方法:

1 模拟器交互部分


private final String INDEX_URL = "https://platform.minimaxi.com/registration";

	@Override
	public RetEntity send(WebDriver driver, String areaCode, String phone) {
		try {
			RetEntity retEntity = new RetEntity();
			driver.get(INDEX_URL);
			WebElement gtElemet = ChromeDriverManager.waitElement(driver, By.xpath("//button/span[contains(text(),'重新获取')]"), 1);
			if (gtElemet != null) {
				GetImage.cookieClear(driver);
			}
			driver.get(INDEX_URL);
			// 输入手机号
			Thread.sleep(1000);
			WebElement phoneElement = driver.findElement(By.id("register_phone"));
			phoneElement.sendKeys(phone);

			// 点击发送验证码按钮
			Thread.sleep(500);
			WebElement sendElemet = ChromeDriverManager.waitElement(driver, By.xpath("//button/span[contains(text(),'获取验证码')]"), 10);
			if (sendElemet == null) {
				return null;
			}
			sendElemet.click();

			Thread.sleep(1500);
			gtElemet = ChromeDriverManager.waitElement(driver, By.xpath("//button/span[contains(text(),'重新获取')]"), 15);
			String gtInfo = (gtElemet != null) ? gtElemet.getText() : null;
			retEntity.setMsg(gtInfo);
			if (gtInfo != null && gtInfo.contains("重新获取")) {
				retEntity.setRet(0);
			} else {
				System.out.println("gtInfo=" + gtInfo);
			}
			return retEntity;
		} catch (Exception e) {
			System.out.println("phone=" + phone + ",e=" + e.toString());
			for (StackTraceElement ele : e.getStackTrace()) {
				System.out.println(ele.toString());
			}
			return null;
		} finally {
			GetImage.cookieClear(driver);
		}
	}



 
	public RetEntity moveExec(WebDriver driver, boolean switchTo) {
		RetEntity retEntity = new RetEntity();
		retEntity.setRet(-1);

		if (switchTo) {
			// 获取到验证区域
			WebElement iframe = ChromeDriverManager.waitElement(driver, By.id("tcaptcha_iframe"), 100);
			if (iframe == null) {
				System.out.println("moveExec() tcaptcha_iframe|timeout!!!");
				return null;
			}
			driver.switchTo().frame(iframe);
		}

		sleep(500);
		// 获取带阴影的背景图
		String bgUrl = ChromeDriverManager.waitElement(driver, By.id("slideBg"), 500).getAttribute("src");
		sleep(500);
		// 获取带阴影的小图
		WebElement webSlide = ChromeDriverManager.waitElement(driver, By.id("slideBlock"), 100);
		String sUrl = webSlide.getAttribute("src");
		sleep(500);
		if (bgUrl == null || "".equals(bgUrl) || sUrl == null || "".equals(sUrl)) {
			System.out.println("moveExec() err: bgUrl=" + bgUrl + ",sUrl=" + sUrl);
			return retEntity;
		}
		String style = null;
		try {
			Map<String, String> outMap = openCv2.getMoveDistance("tencent", bgUrl, sUrl);
			String distanceStr = (outMap != null) ? outMap.get("distance") : null;
			String width = (outMap != null) ? outMap.get("width") : null;
			Double left = 38.0 * 680 / 340;// 起点距左边距离
			Double act = (Double.parseDouble(distanceStr) - left - Double.parseDouble(width)) * 340.0 / 680.0;
			Integer distance = act.intValue();
			System.out.println("moveExec()  distance(" + distanceStr + ")=" + distance);

			// 获取滑动按钮
			if (distance == null || distance <= 0) {
				return retEntity;
			}
			WebElement moveElemet = ChromeDriverManager.waitElement(driver, By.id("tcaptcha_drag_button"), 100);
			sleep(500);
			// 滑动
			ActionMove.move(driver, moveElemet, distance);
			sleep(400);
			// 滑动结果
			String gtInfo = ChromeDriverManager.waitElement(driver, By.id("statusSuccess"), 100).getText();
			if (gtInfo == null || "".equals(gtInfo)) {
				sleep(200);
				gtInfo = ChromeDriverManager.waitElement(driver, By.id("statusError"), 100).getText();
			}
			System.out.println("moveExec() gtInfo=" + gtInfo);
			retEntity.setMsg(gtInfo);
			if (gtInfo.contains("只用了") || gtInfo.contains("无敌了")) {
				retEntity.setRet(0);
			} else if (gtInfo.contains("再试一次") || gtInfo.contains("恍惚了") || gtInfo.contains("半路丢了")) {
				retEntity.setRet(-1);
			}
			return retEntity;
		} catch (Exception e) {
			System.out.println("moveExec() style=" + style + "," + e);
			retEntity.setMsg(e.toString());
			return retEntity;
		}
	}
	

2 测试结果输出:

在这里插入图片描述

五丶结语

MiniMax是一家成立于2021年12月的大模型初创公司,致力于开发AI解决方案,MiniMax由前‌商汤科技副总裁、通用智能技术负责人‌闫俊杰创立,技术合伙人杨斌也是闫俊杰的中科院校友。公司自成立起,便持续专注于推动通用人工智能技术突破。
‌技术实力与产品:
1 MiniMax已自主研发出不同模态的通用大模型,包括万亿参数的MoE文本大模型、‌语音大模型、图像大模型以及视频大模型,是国内第一家同时拥有4个模态大模型能力的创业公司,
2 基于这些通用大模型,Minimax推出了生产力工具‌海螺AI、沉浸式AI内容社区星野等原生应用以及提供API服务的开放平台。
32024年4月17日,MiniMax正式推出abab 6.5系列模型,包含abab 6.5和abab 6.5s两个模型。
作为AI智能的头部企业,拥有雄厚的技术实力, 采用的是通俗的滑动验证产品, 该产品稳定并且市场占有率很高, 在一定程度上提高了用户体验, 但安全性在机器学习的今天, 已经无法应对攻击了,并且正是由于该产品通俗, 所以在网上破解的文章和教学视频也是大量存在,并且经过验证滑动产品很容易被破解, 所以除了滑动验证方式, 花样百出的产品层出不穷,但本质就是牺牲用户体验来提高安全。

很多人在短信服务刚开始建设的阶段,可能不会在安全方面考虑太多,理由有很多。
比如:“ 需求这么赶,当然是先实现功能啊 ”,“ 业务量很小啦,系统就这么点人用,不怕的 ” , “ 我们怎么会被盯上呢,不可能的 ”等等。

有一些理由虽然有道理,但是该来的总是会来的。前期欠下来的债,总是要还的。越早还,问题就越小,损失就越低。

所以大家在安全方面还是要重视。(血淋淋的栗子!)#安全短信#

戳这里→康康你手机号在过多少网站注册过!!!

谷歌图形验证码在AI 面前已经形同虚设,所以谷歌宣布退出验证码服务, 那么当所有的图形验证码都被破解时,大家又该如何做好防御呢?

>>相关阅读
《腾讯防水墙滑动拼图验证码》
《百度旋转图片验证码》
《网易易盾滑动拼图验证码》
《顶象区域面积点选验证码》
《顶象滑动拼图验证码》
《极验滑动拼图验证码》
《使用深度学习来破解 captcha 验证码》
《验证码终结者-基于CNN+BLSTM+CTC的训练部署套件》

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python机器人Agent编程——多Agent框架的底层逻辑(上)

目录 一、前言二、两个核心概念2.1 Routines&#xff08;1&#xff09;清晰的Prompt&#xff08;2&#xff09;工具调用json schema自动生成&#xff08;3&#xff09;解析模型的toolcall指令&#xff08;4&#xff09;单Agent的循环决策与输出 PS.扩展阅读ps1.六自由度机器人相…

达梦 DG

监视器 switchover 关于达梦DG switchover的细节&#xff0c;以下是一些关键步骤和注意事项&#xff1a; • 切换前检查确认&#xff1a; • 确认数据库版本和DG架构&#xff0c;包括IP信息及切换角色前后的情况。 • 检查DG切换方式&#xff0c;是switch over还是fail ove…

blind-watermark - 水印绑定

文章目录 一、关于 blind-watermark安装 二、bash 中使用三、Python 调用1、基本使用2、attacks on Watermarked Image3、embed images4、embed array of bits 四、并发五、相关 Project 一、关于 blind-watermark Blind watermark 基于 DWT-DCT-SVD. github : https://githu…

从零开始的c++之旅——二叉搜索树

1、二叉搜索树概念 1. ⼆叉搜索树的概念 ⼆叉搜索树⼜称⼆叉排序树&#xff0c;它或者是⼀棵空树&#xff0c;或者是具有以下性质的⼆叉树: • 若它的左⼦树不为空&#xff0c;则左⼦树上所有结点的值都⼩于等于根结点的值 • 若它的右⼦树不为空&#xff0c;则右⼦树上所有结…

类与对象;

目录 一、认识类&#xff1b; 1、类的引入&#xff1b; 2、类的定义&#xff1b; 类的两种定义方式&#xff1a; 3、类的访问限定符及封装&#xff1b; 4、类的作用域&#xff1b; 5、类的实例化&#xff1b; 6、类对象模型&#xff1b; 计算类对象的大小&#xff1b; …

ceph的集群管理

0 环境说明 ip地址主机名额外硬盘是否加入ceph集群10.0.0.141ceph141sdb 300G&#xff0c;sdc 500G是10.0.0.142ceph142sdb 300G&#xff0c;sdc 500G, sdd 1000G否10.0.0.143ceph143sdb 300G&#xff0c;sdc 500G否 在上一篇文章中&#xff0c;已经成功地初始化了一个ceph管…

企业无线解决方案

前言 无线广域网 无线广域网WWAN&#xff08;Wireless Wide Area Network&#xff09;目前已经成为了全球通信系统的核心组成部分&#xff0c;我们所熟悉的2G网络、3G网络和4G网络&#xff08;LTE&#xff09;等等都是WWAN的典型代表。通过WWAN&#xff0c;用户几乎可以在任何…

Springboot集成ElasticSearch实现minio文件内容全文检索

一、docker安装Elasticsearch &#xff08;1&#xff09;springboot和Elasticsearch的版本对应关系如下&#xff0c;请看版本对应&#xff1a; 注意安装对应版本&#xff0c;否则可能会出现一些未知的错误。 &#xff08;2&#xff09;拉取镜像 docker pull elasticsearch:7…

前后端请求响应

引入 在之前的例子中&#xff0c;我们编写了一个简单的web类&#xff0c;我们运行启动类&#xff0c;启动内嵌的tomcat后就可以在浏览器通过特定的路径访问tomcat中的应用程序。 但之前编写的程序仅仅是个简单的java类&#xff0c;其并未实现某个接口或继承某个类&…

VS2022编译32位OpenCV

使用环境 Visual Studio 2022 OpenCV: 4.7.0 cmake: 3.30.2一、使用CMake工具生成vs2022的openCV工程解决方案 打开cmake&#xff0c;选择opencv的源代码目录&#xff0c;创建一个文件夹&#xff0c;作为VS工程文件的生成目录 点击configure构建项目&#xff0c;弹出构建设置…

电子应用设计方案-12:智能窗帘系统方案设计

一、系统概述 本设计方案旨在打造便捷、高效的全自动智能窗帘系统。 二、硬件选择 1. 电机&#xff1a;选用低噪音、扭矩合适的智能电机&#xff0c;根据窗帘尺寸和重量确定电机功率&#xff0c;确保能平稳拉动窗帘。 2. 轨道&#xff1a;选择坚固、顺滑的铝合金轨道&…

MySQL系统优化

文章目录 MySQL系统优化第一章&#xff1a;引言第二章&#xff1a;MySQL服务架构优化1. 读写分离2. 水平分区与垂直分区3. 缓存策略 第三章&#xff1a;MySQL配置优化1. 内存分配优化Buffer Pool 的优化查询缓存与表缓存Key Buffer 2. 连接优化最大连接数会话超时连接池 3. 日志…

LLM - 计算 多模态大语言模型 的参数量(Qwen2-VL、Llama-3.1) 教程

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/143749468 免责声明&#xff1a;本文来源于个人知识与公开资料&#xff0c;仅用于学术交流&#xff0c;欢迎讨论&#xff0c;不支持转载。 影响 (…

光耦选型指南

一、指南说明 针对光偶选型和实际使用过程中出现因光偶特性变化引起的产品失效问题&#xff0c;提供指导。光耦属于易失效器件&#xff0c;选型和使用过程中要特别的小心。目前发现&#xff0c;因光偶的选型&#xff0c;光偶工作电流&#xff0c;CTR参数选型不合适&#xff0c…

git创建远程仓库,以gitee码云为例GitHub同理

git远程Remote服务端仓库构建的视频教程在这 Git建立服务端Remote远程仓库&#xff0c;gitee码云例&#xff0c;Github_哔哩哔哩_bilibili 1、登gitee码云/Github 登录 - Gitee.com https://github.com/ &#xff08;没账号的注册一下就行&#xff09; 点击如下图位置的创…

19.UE5道具掉落

2-21 道具掉落&#xff0c;回血、回蓝、升级提升伤害_哔哩哔哩_bilibili 目录 1.道具的创建&#xff0c;道具功能的实现 2.随机掉落 1.道具的创建&#xff0c;道具功能的实现 新建Actor蓝图&#xff0c;并命名为道具总类&#xff0c;添加一个Niagara粒子组件和一个碰撞箱bo…

排序算法(基础)大全

一、排序算法的作用&#xff1a; 排序算法的主要作用是将一组数据按照特定的顺序进行排列&#xff0c;使得数据更加有序和有组织。 1. 查找效率&#xff1a;通过将数据进行排序&#xff0c;可以提高查找算法的效率。在有序的数据中&#xff0c;可以使用更加高效的查找算法&…

《Java核心技术 卷I》用户界面AWT事件继承层次

AWT事件继承层次 EventObject类有一个子类AWTEvent&#xff0c;它是所有AWT事件类的父类。 Swing组件会生成更多其他事件对象&#xff0c;都直接拓展自EventObject而不是AWTEvent。 AWT将事件分为底层(low-level)事件和语义事件。 语义事件&#xff1a;表示用户的动作事件&…

24-Ingest Pipeline Painless Script

将文档中的tags字段按照逗号&#xff08;,&#xff09;分隔符进行分割。 同时为文档&#xff0c;增加一个字段。blog查看量 DELETE tech_blogs#Blog数据&#xff0c;包含3个字段&#xff0c;tags用逗号间隔 PUT tech_blogs/_doc/1 {"title":"Introducing big …

node.js下载安装步骤整理

>> 进入node.js下载页面下载 | Node.js 中文网 >>点击 全部安装包 >>删除网址node后面部分&#xff0c;只保留如图所示部分&#xff0c;回车 >>点击进入v11.0.0/版本 >>点击下载node-v11.0.0-win-x64.zip(电脑是windows 64位操作系统适用) >…