如果你用过google的一些服务,在提交请求和确认信息时一定遇到过验证页面。一般来讲,google旗下服务的验证页面使用recapcha,就是让你在指定的框框里点个勾。目的很明确,就是要确认你是活生生的人,不是机器人bot。
简单吧?鼠标一按,简直轻松加愉快。但问题来了,在图像识别ai技术日新月异的现在,文字验证码几乎已被攻克,最先进的ai识别程序能够在1秒内轻松识别出足以“看瞎人眼”的、字体扭曲至极“验证码”文字,但是对于这个小小的勾选框,机器程序却似乎无能为力。
为什么对人来说简单之极的操作,对机器人程序而言却如此困难?
近日,“美国版知乎”quora上的这个问题在hn论坛上引发热议。
目前排名第一的答案,获得4k点赞。
看似简单,背后是基于虚拟机的双重动态验证
回答者表示,就这么一个其貌不扬的勾选框,到底是有多复杂?是你想象不到的那种复杂。简单讲,就是google搞了整个一套“虚拟机“来执行这个勾选框的验证任务。
这个虚拟机使用的是自己的语言,而且经过两次加密。
而且加密还不是一般意义上的简单加密,一般说用密码加密,实际上密码就是针对该加密的密钥。google自己发明的语言中,用来解密的密钥会随着对语言的读取过程而变化,就连语言本身也会发生变化。
google会将这个密钥与你访问的网址结合起来,所以不可能使用一个网站的验证来绕过另一个网站。而且会将验证其与浏览器中的“指纹”相结合,捕捉您的计算机中的微观变化,机器人很难重现这种变化(比如css规则)。
以上所有这些做法,目的就是为了让你很难理解google的验证机制。你需要编写工具进行分析它。(实际上人们就是这么做的)。
结果发现,google会记录和分析以下信息:
你的电脑所在的时区和当前时间
你的ip地址和大概的地理位置
电脑屏幕尺寸和分辨率
你在使用什么浏览器
你在使用什么插件
页面显示了多长时间
进行了多少次按键操作、鼠标点击和滚轮操作
还有其他一些我们不太了解的东西
谷歌收集详细个人信息作为验证的基础
系统会将所有这些数据与google掌握的计算机用户的知识结合起来。现在的互联网,几乎每个人都使用谷歌旗下的产品和服务(搜索,邮件,广告,地图等等),谷歌会跟踪所有你的信息。所以,当你点击鼠标,在这个复选框上打勾的时候,google会检查浏览器历史记录,看看这个点击行为是否符合“真人“的标准。
这对google来说很容易,因为他们一直在暗中观察数十亿“真人“的行为。
那么为什么对机器人来说这个任务这么困难?因为现在存在大量凌乱的人类行为信息来模拟,而且这种模拟行为几乎是不可知的,并且在不断变化。
一个机器人可能必须要注册google服务并在一台计算机上用上一段时间,才能让验证系统认为“这是个真人“,让自己的行为看上去与其他机器人不同。在按键,滚动鼠标和点击时可能需要做出适当的间隔和误操作等等。
这一切都非常难以破解,也很难教计算机学会这么做。验证系统的复杂性对垃圾邮件发送者来说是一笔经济成本。他们可能会在短时间内有过成功尝试,但如果每次成功都需要付出额外成本,(比方说)1美元,那这个买卖也就不值得做了。
“以真乱假”?鼠标移动过于顺滑,也会被当成机器人
下面还有一个更早的答案,点赞高达2.8w,回答明显更精炼一些。
其实这个勾选框是一种低安全性的双重检查,系统一般倾向于相信操作者是真人,问题是,验证机制是图像,而不是文本。如果是机器人,必须考察验证屏幕上的每个像素点,然后执行ocr操作,这是一个费时费力的过程。
定位勾选框的位置后,验证系统考察的实际鼠标移动的方式。如果是机器人往往是快速和平稳的,而人类的鼠标移动就相对生涩,此外,对整个屏幕进行ocr的机器人在开始做出动作之前,会出现明显的处理延迟。
目前来看,这种验证的效果非常好,但是如果你使用鼠标的动作非常流畅,并且期待验证码,你有时可以骗过这个检测,让系统把你错认成机器人。一旦如此,你就要处理更难以识别的验证码,需要对图像的场景有着更清晰的了解。
这样来看,比起眯起眼睛认验证码,我们偶尔皮一下,装一波机器人也是挺有意思的一件事呢
基于51单片机的专注力训练游戏机的设计
关于英特尔物联网瞄准四大领域的相关分享和介绍
NI收购BEEcube,加强全球5G无线领先地位
国产“机器人护士”已在多家医院和养老院上岗
无线充电技术为什么始终无法突破
谷歌机器人验证只是点个勾,为什么机器人就是做不到?
Opera正准备给安卓用户开发一个内置的加密货币钱包
中国电子展助力西部——中国电子展6月亮相成都 全面展示工业和军工电子技术解决方案
为什么笔记本内存越大反而越慢?
TVS管在手机ESD保护中能起到什么作用
眼球辨识锁定安全监控 系统能力尚待破局
细数我国AI的4大优势和短板
LEM国产替代 | 芯森CN1A高精度闭环电流传感器在某型号车载SMPS电源中的应用
深度解析全新帕萨特底盘
华为已在生产不含美国部件的5G基站,其表现并不比用美国零部件的差
使用ADV7612接收机的四通道HDMI输入、快速开关多路复用器
16nm UltraScale全可编程器件内部是什么?
UI自动化常用设计模式深度解析
冷静看 5G:不应捧杀,更别抹杀
3D打印材料实测!清锋弹性、韧性材料表现超出常规