首页   

繁琐的验证背后,竟是一场“人机大战”?

中科院物理所  · 物理  · 2 周前




证明自己不是机器人,几乎是每个网络冲浪人的日常小考。


有太多这样的瞬间:你正在网上订票,准备支付时,界面出现一个弹窗要求你确认你是人类:

为了给程序证明我不是程序 —— 

你在5秒内找出了所有的十字路口,

在3秒内点击了混在草丛后的自行车,

以超过全民85%的速度把滑块移到了正确的位置……

最终,以人类身份光荣地通过了系统的考验!


那么,这个验证是如何判断区分真实人类的?机器人难道就无法勾选「我不是机器人」的复选框吗?


首先,我们来介绍一下这场人机战的关键裁判—— reCAPTCHA。



01

什么是reCAPTCHA



reCAPTCHA是Google开发的一种安全机制,核心任务就是区分真人用户和自动化程序(比如“爬虫”或机器人等)———


每当你在网上点击那个“我不是机器人”的小方框,就是在参与一场人机较量


reCAPTCHA就是较量中的裁判,通过用户的点击进行判断,把恶意程序挡在门外,确保只有真正的用户才能通过。




02

reCAPTCHA的演变历程



reCAPTCHA最早诞生在20年代初期,随着互联网的兴起,网络开始面临越来越多的垃圾信息和恶意程序的威胁。当时,卡内基梅隆大学的路易斯·冯·安(Luis von Ahn)在研究恶意程序防御时开发了reCAPTCHA。


这种技术最初通过让用户识别扭曲的文字或图像,来验证其是否为人类。


比较典型的验证

 

偶尔也会遇到特别离谱的……


研究过程中,冯·安意识到这项技术还可以应用于帮助转录旧手稿。为此,冯·安进一步改进了reCAPTCHA:不仅使用验证码,也同时把老旧文档文献中的单词展示给用户,借助用户的验证过程完成标注,助力历史文献的数字化。(这些文献中的字迹仅靠光学字符识别系统(OCR)无法很好地识别)



reCAPTCHA的使用大大减少了人工手动转录文献的工作量。目前已有约5万个网站在使用它进行身份验证,每天帮助转录超过1800万个单词。世界头部互联网档案馆(Internet Archive)每天使用reCAPTCHA来数字化多达1000本书籍、报纸和其他文档;《纽约时报》也利用reCAPTCHA来数字化其自1851年以来的档案。


和传统的OCR技术相比,reCAPTCHA在处理旧文档时的准确率高达99%,远远优于OCR在处理19世纪前出版书籍时高达20%的错误率


这个方法一开始效果还不错,但随着技术的进步,机器人也慢慢地学会了识别这些扭曲的文字。


于是reCAPTCHA也跟着进化,从简单的文字识别变成了我们今天看到的「请点击所有有交通灯的图片」之类的图片识别任务,以及让用户勾选「我不是机器人」的方式来完成验证。


谷歌在2009年收购了reCAPTCHA后,把这种技术用到了谷歌书籍和Google Maps等项目,用来改进文字识别和地理数据处理。


(顿悟原来我每次呕心沥血完成验证,都在充当Google的人工标注劳动力


那么,reCAPTCHA究竟是如何判断你是人类还是机器人的?



03

验证背后的实现原理




当你点击这个“我不是机器人”的方框时,reCAPTCHA就会根据你的点击行为判断你是否是一个真实的人类。


点击行为分析背后是非常有趣的领域:人机交互(HCI)与行为生物识别(Behavioral Biometrics):通过大量的行为数据分析,从用户的日常操作中提取出生物行为特征,与机器人的行为对比。


识别的关键并不在于你是否能在框中完成点击,而在于点击的动作。


reCAPTCHA通过分析你点击的速度、鼠标的轨迹,以及你在页面上的一些小动作来判断你到底是不是人类。


人在操作鼠标时,手指总是会有些许抖动的。移动路径可能会有一些小弯曲或停顿、速度时快时慢、点击前随着阅读思考有小片刻停顿,或是在点击后追加一些惯性动作。这些微小的变化通常会比机器人更自然。


而机器人则趋向于完美的直线和精准的点击。


大量行为数据分析发现,机器人虽然能快准狠地点击目标,但它们的动作太“完美”,不像人类的随意:鼠标的移动路径通常是最短的直线,点击速度也十分一致。这种差异是用来识别人类和机器人的关键。


(原来我胜出是因为菜…)




04

人类vs机器的移动轨迹



Castle(一家专注做账户安全和欺诈检测的公司)的研究员Johan Brissmyr通过记录鼠标在网页上的位置,展示了人机两种截然不同的移动轨迹:包括瞬间跳跃、直线移动和贝塞尔曲线:



可以看出,模拟生成的自动化程序通常会通过直接指定坐标的方式移动鼠标,导致不自然的轨迹,如瞬间跳跃或直线移动(1A)。



通过移动速度和加速度的分析比对,也可以发现机器人轨迹中的加速度通常接近于零,这是识别人机的关键。


人类日常点击鼠标时,随着手腕手指的发力,鼠标的移动轨迹会产生加速度变化。而自动化程序的鼠标移动通常是以恒定速度沿直线完成,加速度接近零。


针对行为分析的结果,系统会为每个用户生成一个“信誉评分”(score)。这个评分从0.1到1不等。分数越高,说明系统越相信你是个真真切切的人类;分数越低,系统就会更加警觉,甚至可能要求你进行进一步验证。


05

多模态验证:运动轨迹+图像识别



当用户点击太快或轨迹过于“机器人”时,系统给出的低分会触发更复杂的视觉验证,比如让用户选择含有摩托车或街灯的图片,或甚至语音、视频的验证。


系统展示的验证图片一般会具有一定的模糊性或复杂性,这种多角度的物体识别对自动程序来说挑战比较大。因为物体从不同角度看,轮廓、光影会发生变化,会导致识别难度大大增加。


而电脑程序主要根据平面图像来理解三维物体,如果训练数据不够全面,就可能无法准确识别在特定角度下的物体。人类的大脑则天然擅长处理这些变化,即使图片质量不高或角度怪异,也能迅速识别出目标物体。




06

不停歇的攻防战:reCAPTCHA的持续进化



道高一尺,魔高一丈。


随着人工智能技术的迅猛发展,机器人不仅能执行点击任务,也能逐渐通过复杂的算法模仿人类行为。防御与攻击相互推动,像一场无休止的猫鼠游戏。每一步都要求防御系统不断进化,以应对愈加精巧的对抗性AI。


end

参考文献:下滑动可浏览)
1. Google Developers. (n.d.). reCAPTCHA: Easy on humans, hard on bots. 
https://developers.google.com/recaptcha
2. Google Security Blog. (2018). Keeping your site safe with reCAPTCHA v3 
https://security.googleblog.com/2018/10/introducing-recaptcha-v3-new-way-to.html
3. Cloudflare. (n.d.). A brief history of reCAPTCHA: Its development and role in internet security: 
https://blog.cloudflare.com/a-brief-history-of-recaptcha/
4. TechCrunch. (2017, March 9). Google’s new invisible reCAPTCHA: A welcome relief for web users
https://techcrunch.com/2017/03/09/googles-invisible-recaptcha/
5. The Verge. (2018, October 29). Google introduces reCAPTCHA v3 to weed out bots without user interaction: 
https://www.theverge.com/2018/10/29/18037354
6. Brissmyr, J. (2020, December 9). Bot or Not: Can you spot the automated mouse movements? Castle Blog: https://blog.castle.io/author/johan/



来源:DataCafe

原标题:am I a robot? 机器人验证背后的原理

编辑:ArtistET


转载内容仅代表作者观点

不代表中科院物理所立场

如需转载请联系原公众号


近期热门文章Top10

↓ 点击标题即可查看 ↓

1.假如一把枪的射程是 1500m,我能在 1501m 用手接住子弹吗?

2.明明是绿豆,怎么煮出了红色的汤,这健康吗?| No.416

3.苹果长出“果菌王”,科研人员千里求购,还尝了一口,结果……

4.听说油耳朵才会腋臭?祖先留给我们的天赋还真多

5.做噩梦,可能是免疫系统正在攻击你的身体
6.电风扇上装矿泉水瓶,效果堪比空调?真相是……
7.CPU干烧了,小明到底能不能把自己拉上去呢?| No.419
8.为什么飞机窗户玻璃下面总是有个小孔?| No.417
9.闻臭袜子和喂鸽子进ICU?都是因为它?
10.运动一定要30分钟以上才能减肥?29分钟就不行?
 点此查看以往全部热门文章 

© 2024 精读
删除内容请联系邮箱 2879853325@qq.com