网络验证码--你到底是爱它还是恨它?

互联网安全防火墙(1)--网络验证码的科普

1   戏言部分

为了在网络上吸引大家读这个文章,在想标题的时候,也是够了。本来是严肃的科普学术帖,但是却一股强烈的“不转不是中国人,让男孩沉默女孩流泪” 这种段子文的气息了。希望大家能够顺利 “上钩” 吧,也不枉我想了好久的噱头标题了。进来之后,请看副标题,这才是正儿八经的学术标题。

2   概述

在网络越来越普及的今天,关于验证码,大家肯定已经见过很多了。对于这东西,大家肯定是咬牙切齿,骂过不下千百遍了吧。因为它一般的表现形式如下:

如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386   

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1、接口自动化之为什么要做接口自动化、2、接口自动化之request全局观、3、接口自动化之接口实战等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337&vd_source=488d25e59e6c5b111f7a1a1a16ecbe9a 

都可以想像到看这些人都认不出来的验证码时的抓狂的表情了吧。

但是这个东西对于网站主(网络服务提供商)来说,却是必须的,因为没有它之后,互联网服务就相当于没有了最基本的防火墙,会产生很多我们不希望发生的麻烦事情出来。鉴于很多人都不了解这个,所以有必要进行一下科普。

先引用一段来自wiki的关于 验证码 的描述:

全自动区分计算机和人类的公开图灵测试(英语:Completely Automated Public Turing test to tell Computers and Humans Apart,简称CAPTCHA),俗称验证码,是一种区分用户是计算机和人的公共全自动程序。在CAPTCHA测试中,作为服务器的计算机会自动生成一个问题由用户来解答。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。

熟悉网络的人,肯定熟悉这个东西,在注册的时候需要,在登录的时候需要,在买东西 下订单的时候也需要。

在正式阐述其功能时,先解释两个概念:

  • 自然人

    实际的信息获取者和应用交互操作的主体是具有生物学上的特点的真实人类

  • 机器人

    没有生物学特征,仅仅是通过编码来完成一系列的信息处理的应用程序

验证码的主要功能就是:区分 自然人 和 机器人

对于自然人,大家都很好理解,但是关于机器人,可能一般人不会有什么概念,不清楚它到底有什么能力。下面将简单的对机器人的信息处理能力进行介绍。

3   机器学习领域

由于计算机技术的大力发展,机器人已经在越来越多的地方具有人的一些认知能力,甚至超过人的认知能力了。比较典型的技术领域有(引自wiki):

  1. 图像识别

    光学字符识别(英语:Optical Character Recognition, OCR)是指对文本资料的图像文件进行分析识别处理,获取文字及版面信息的过程。

  2. 语音识别

    语音识别(speech recognition、语音辨识/言语辨别)技术,也被称为自动语音识别(英语:Automatic Speech Recognition, ASR)、电脑语音识别(英语:Computer Speech Recognition)或是语音转文本识别(英语:Speech To Text, STT),其目标是以电脑自动将人类的语音内容转换为相应的文字。与说话人识别及说话人确认不同,后者尝试识别或确认发出语音的说话人而非其中所包含的词汇内容。

图像识别想必大家一定不陌生。它在目前正面应用场景众多:

  • 从书本扫描件里面识别出文字,并转化成文本输出。被广泛地应用于图书馆的纸质书电子化的工程中。
  • 车牌识别。目前的交通系统里面利用摄像头进行全自动化地违章取证,停车场进出车辆自动登记车牌。
  • 一维码 和 二维码。这个更不用说了,前者在上个世纪改变了整个零售行业,而后者则在本世纪打通了线上线下,带出了移动互联网的 O2O 的产业。

语音识别由于技术难度比较大,比图像识别的应用要晚,但是目前的移动互联网时代却开始蓬勃发展起来。比较典型的应用场景有:

  • 语音输入法。目前手机上输入法基本上都支持了。
  • 语音转文字。类似微信这样支持语音通讯的工具都提供了语音转文字的功能。
  • 语音机器人。从苹果的 Siri 到微软的 小娜,能够对人的语音进行语义理解,并执行相应的操作或者应答。

以上的例子,主要是为了说明:目前的科技条件下,机器人 的认知能力已经相当高了,即它具备智能化处理事情的能力了。然后机器人还具有如下几个特点:

  1. 永不知疲倦。在目前的用电环境和硬件设备下,基本上可以保证分分秒秒都用于信息处理上面。
  2. 单体计算能力惊人。例如:一个正常的成年人,徒手计算类似于 23456/12345 的除法,大概需要至少5分钟;但是目前一个普通的家用电脑2.4GH主频的CPU可以 1秒 内完成几千几万的这样的计算不成问题。
  3. 可扩展性强。计算机的单体计算能力已经惊人,但是在目前的云计算环境下,计算机可以 抱团 以集群的方式进行批量大规模信息处理,这个时候,提供的计算能力上限又得到了极大的提高。

总之,处理程式化的信息,机器人已经把人秒得连渣都不剩了。

试想这么恐怖的属性下,再带一些前面提到的 智能认知 能力,那将是怎样的一种光景。

4   机器人案例

因为计算机处理信息的能力是相当恐怖的,如果不对 自然人 和 机器人 进行区分。那么普通人在网上使用一些网络资源的时候,你的竞争对手就都是那些开了 作弊器 的机器人了,人类在机器人的网络资源争夺战里面有机会胜出么。具体有如下几个案例大家可以感一下。

4.1   火车购票

在国内唯一的一家火车票网站 12306 里面。每到春运的时候,铁路部门承诺在 8:00 准时放出某车型号票 1000 张,但是 0.1 秒被抢光,然后到处都是人抱怨买不到票,这些票都集中在少数几个 票贩子 手中了。

当然即使是 散户 抢票,也为不同了情况,有人会利用一些各大互联网公司提供的 刷票 插件来自动留意页面信息变化,并自动完成购票。

在寒冬,火车票代售点排几十米长队的辛苦的普通劳动人民;会上网,但只会徒手按照正常流程在网上购票的普通网民,大家有信心抢到票么?

4.2   新浪微博

在新浪微博早期各种技术体系不成熟的时候(没有验证码,也没有手机绑定),有个计算机专业的在校学生写了一段程序,注册了10万微博号,在后期微博红火起来之后,他利用程序来操纵来10万账号可以做如下事情:

  • 批量转发
  • 批量加粉
  • 批量投票

也就是后面大家所说的 僵尸账号 ,操纵如此庞大的 用户 ,必然会影响到整个微博的信息生态的平衡。

4.3   其它案例

关于机器人打破信息竞争平衡的案例还有如下几种:

  • 网络投票

    有专业的刷票公司,能够在规则相当严格(IP限制,地域限制,人数限制)的投票系统里面,仍然可以将指定的参选对象的票数刷得高得离谱。

  • 网络优惠券或者游戏道具

    有些游戏平台在页面上发布一些免费道具和优惠券的时候,本意是让用户比较均衡地得到优惠,但是有机器人参与后,这些资源往往很快被少数的人收入囊中。

  • 网络视频主播

    如果手上掌控了大量的 僵尸账号 ,可以批量投票,刷出主播室同时在线人数的人气等等。

  • 网络垃圾发帖

    在论坛上面,如果没有技术管制手段。可以通过机器人,让整个论坛的版块全部是高密集时间发的广告图文或者垃圾水帖。

总之,在信息世界里面,机器人的参战后,如果不加以区分,就不会有信息世界的自由竞争了。

下面是一个网络注册机,注册了大量账号之后,利用程序来发垃圾帖子的截图:

显然这些场景都是正常的人不愿意看到的,这个时候就需要验证码隆重登场了。

5   本部分小结

由于这个系列的文章比较长,所以准备分几个部分介绍,此部分,先介绍验证码的作用及机器人的一些漫谈。后续会从一些相应的防范产品的表现形式和主要的攻防技术手段上来进行介绍。

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

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

相关文章

OpenSSL生成CA证书

基本概念 证书类别 根证书:生成服务端证书,客户端证书的基础。自签名。服务端证书:由根证书签发。配置在服务器上。客户端证书:由根证书签发。配置在浏览器、移动APP等客户端上。 认证方式 单向认证(Client鉴权Serv…

《视觉SLAM十四讲》-- 概述与预备知识

文章目录 01 概述与预备知识1.1 SLAM 是什么1.1.1 基本概念1.1.2 视觉 SLAM 框架1.1.3 SLAM 问题的数学表述 1.2 实践:编程基基础1.3 课后习题 01 概述与预备知识 1.1 SLAM 是什么 1.1.1 基本概念 (1)SLAM 是 Simultaneous Localization a…

第二章 02Java基础-数据类型、标识符、键盘录入

文章目录 前言一、数据类型二、标识符三、键盘录入总结前言 今天我们学习Java基础,数据类型、标识符、键盘录入 一、数据类型 1.数据类型大体上可以分为两类,一类是基本数据类型,另外一类是引用数据类型。今天我们学习基本数据类型。 2.基本数据类型可以分为四类八种,整…

【网络安全技术】公钥密码体制

一、两种基本模型 1.加密模型 A要给B发信息,那就拿B的公钥加密,传给B,B收到后会拿他自己的私钥解密得到明文。 2.认证模型(数字签名) A用自己的私钥加密,传输之后,别人拿A的公钥解密&#xff…

亚马逊云科技大语言模型下的六大创新应用功能

目录 前言 亚马逊云科技的AI创新应用 ​编辑 Amazon CodeWhisperer Amazon CodeWhisperer产品的优势 更快地完成更多工作 自信地进行编码 增强代码安全性 使用收藏夹工具 自定义 CodeWhisperer 以获得更好的建议 如何使用Amazon CodeWhisperer 步骤 1 步骤 2 具体…

辅助驾驶功能开发-功能规范篇(22)-9-L2级辅助驾驶方案功能规范

1.3.7.2 行人、骑行者(横向)AEB 系统 1.3.7.2.1 状态机 1.3.7.2.2 信号需求列表 同 1.3.2.1.2。 1.3.7.2.3 系统开启关闭 同 1.3.2.1.3。 触发横向 AEB 的目标包括横向运动的行人、骑行者(包括自行车、摩托车、电瓶车和平衡车上的行人)。 1.3.7.2.4 制动预填充 制动系统…

pyusb环境搭建和无法发包问题

pyusb环境搭建和无法发包问题 项目需要对usb设备进行开发调试,选择搭建pyusb环境进行调试测试,这里记录下完整流程和中间解决的一些问题。 我使用的环境是window10 64bit, vscode 1.84.0 , Python 3.11.6 1 安装流程 参考github上的 https://github.…

伪随机序列——m序列及MATLAB仿真

文章目录 前言一、m 序列1、m 序列的产生2、m 序列的性质①、均衡性②、游程分布③、移位相加特性④、自相关函数⑤、功率谱密度⑥、伪噪声特性 二、M 序列1、m 序列的产生2、m 序列的性质 三、MATLAB 中 m 序列1、m 序列生成函数的 MATLAB 代码2、MATLAB 仿真 前言 在通信系统…

Photoshop 2023 v24.7

Photoshop是一款强大的图像编辑软件,被广泛应用于图像处理、图形设计、数字绘画等领域。它提供了丰富的图像编辑功能,可以用于调整图像的色彩、亮度、对比度等,添加特效、滤镜,以及进行复杂的图像合成和修复。 以下是Adobe Photo…

基于动力学模型的机械臂滑膜控制

一、滑模控制设计思路 参考资料:https://zhuanlan.zhihu.com/p/463230163(思路理解) https://blog.csdn.net/xiaohejiaoyiya/article/details/90271529(干扰的处理) 滑模控制的思路有两个关键,一个是设计…

一文通透各种注意力:从多头注意力MHA到分组查询注意力GQA、多查询注意力MQA

前言 通过本博客内之前的文章可知,自回归解码的标准做法是缓存序列中先前标记的键(K)和值(V) 对,从而加快注意力计算速度。然而,随着上下文窗口或批量大小的增加,多头注意力 (MHA)模型中与 KV 缓存大小相关的内存成本显着增长 对…

【多线程】Lambda表达式

package org.example;public class TestLambda {public static void main(String[] args) {Like likenew Like();like.lambda();}}//定义一个函数式接口 interface ILike{void lambda(); }//实现类 class Like implements ILike{Overridepublic void lambda() {System.out.prin…

Excel自学三部曲_Part3:Excel工作场景实战(四)

文章目录 四、高级函数与数据连接1. 多窗口操作2. VLOOKUP函数3. XLOOKUP函数4. CSV数据格式 四、高级函数与数据连接 1. 多窗口操作 如何将两张子表数据(战区信息、城市信息)连接到主表数据(成交数据),增加主要数据的…

“一键批量拆分HTML文本,高效整理文件,提升工作效率“

您是否曾经被大量的HTML文本文件困扰,难以找到所需的特定信息?现在,我们向您推荐一款强大的工具,它能够一键拆分HTML文本,让您轻松实现文件整理,提高工作效率! 首先,在首助编辑高手…

人工智能基础_机器学习014_BGD批量梯度下降公式更新_进一步推导_SGD随机梯度下降和MBGD小批量梯度下降公式进一步推导---人工智能工作笔记0054

然后我们先来看BGD批量梯度下降,可以看到这里,其实这个公式来源于 梯度下降的公式对吧,其实就是对原始梯度下降公式求偏导以后的梯度下降公式,然后 使用所有样本进行梯度下降得来的,可以看到* 1/n 其实就是求了一个平均数对吧.所有样本的平均数. 然后我们看,我们这里* 1/n那么…

API接口安全设计

简介 HTTP接口是互联网各系统之间对接的重要方式之一,使用HTTP接口开发和调用都很方便,也是被大量采用的方式,它可以让不同系统之间实现数据的交换和共享。 由于HTTP接口开放在互联网上,所以我们就需要有一定的安全措施来保证接口…

C++11 initializer_list 轻量级初始化列表的使用场景(让自定义类可以用初始化列表的形式来实例化对象)

initializer_list 是 C11 中的一个特性&#xff0c;它允许你使用花括号 {} 中的值列表来初始化容器或数组。通常用于初始化标准库容器&#xff0c;比如 std::vector、std::set、std::map 以及数组。 场景一&#xff1a;用初始化列表初始化容器 std::vector<int> arr {…

【深度学习】pytorch——Autograd

笔记为自我总结整理的学习笔记&#xff0c;若有错误欢迎指出哟~ 深度学习专栏链接&#xff1a; http://t.csdnimg.cn/dscW7 pytorch——Autograd Autograd简介requires_grad计算图没有梯度追踪的张量ensor.data 、tensor.detach()非叶子节点的梯度计算图特点总结 利用Autograd实…

scrapy+selenium框架模拟登录

目录 一、cookie和session实现登录原理 二、模拟登录方法-Requests模块Cookie实现登录 三、cookiesession实现登录并获取数据 四、selenium使用基本代码 五、scrapyselenium实现登录 一、cookie和session实现登录原理 cookie:1.网站持久保存在浏览器中的数据2.可以是长期…

Day20力扣打卡

打卡记录 数组中两个数的最大异或值&#xff08;位运算&#xff09; 链接 二进制位上从高位向低位进行模拟&#xff0c;看数组中是否有满足此情况的数字。具体题解 class Solution { public:int findMaximumXOR(vector<int>& nums) {int mx *max_element(nums.be…