互联网公司拥有同一个长期性的棘手课题:如何屏蔽自动软件,如何防止机器的恶意注册,如何禁止一系列“非人类用户”的恶意操作等等。Google近些年对于算法研发的热情不减,本月3号,Google推出全新的验证码系统No CAPTCHA reCAPTCHA ,用来替代原先的CAPTCHA系统。
Google以为费力打造的No Captcha会大获好评,但是网络安全公司Shield Square在昨天发布博客表示,No Captcha存在安全漏洞,会被机器用户巧妙的避开。而且早在本月初,No Captcha刚刚推出之时,网络安全专家Egor Homakov也已提出了相同的观点。
名字又长又拗口,还是先来科普一下。被替代的CAPTCHA,是一种验证码识别系统,基于全自动区分计算机和人类的图灵测试原理(程序必须能生成并评价人类能很容易通过但计算机却通不过的测试),要求用户在验证码框中识别出一些变型扭曲的文本数字,在验证框中正确的输入。经常出现的形式是一些人类还能“依稀阅读”的污损扭曲的字符,甚至包括识别3D图片以及区分猫和狗。这些文字难辨识,图片难懂,用户体验比较不佳,人类用户“费力识别”,而机器却很少能通过。
Google当然没有停止研发的脚步,在一年半的时间内着力解决这个问题。当研究团队发现能够教会计算机读懂CAPTCHA系统的晦涩文字,并且准确率竟然高达99.8%,Google也慌了,这也就意味着CAPTCHA的漏洞会被黑客轻易破解。于是Google顺势推出升级版的No CAPTCHA reCAPTCHA,并且官方宣称其安全性有很大的提升。
No CAPTCHA可以让“人类用户”更加容易的证明自己是个人,而让“机器用户”经过更多的审查判断其身份。该系统只提供了一个复选框,用户勾选“我不是机器人”之后,系统算法便利用“风险分析引擎”,根据用户在该网站的一系列行为,判断用户是否为人类,并过滤掉任何容易识别为人类的用户。
绝大多数正常的人类用户都只是看到一个复选标记,单击这个复选标记,便已经通过了测试,顺畅访问网站;而机器用户会被算法判定为“不是”,被要求点击正确的图片选项判断用户是否为人类。
此外,Google也明白用户对验证码的苦恼,新的No Captcha系统的算法仅仅只需要用户验证一次,在下一次访问网站时,便无需任何验证,因为系统会自动检验用户cookies。除非你是定时清理cookies狂魔,那么你每一次访问都必须通过这种无聊的“我不是机器人”验证。
Shield Square公司表示,Google对于cookies的高度依赖,存在不小的安全隐患。
因为对于机器用户来说,一旦第一次通过验证,它们会通过OCR识别,特意留下相关的访问cookies的证据,把自己伪装的更像是人类用户。这些“故意制造”的cookies便会成为今机器用户今后正常访问的通行证,所以说机器人也不需要任何的验证码了。
当No Captcha系统无法识别到用户的历史浏览行为,例如用户一直使用的是“无痕浏览模式”,Google就会搬出传统的Captcha验证码检测,但是这些已经被机器用户攻破了。
除此之外,Homakov和Shield Square都发现No Captcha系统在防止“点击劫持”等黑客手法时,存在一定的安全隐患。这一手法通过网站跳转,让用户帮助黑客识别出验证码。
不过针对这一点,Google表示新的No Captcha验证系统拥有机器学习的能力。同Google搜索引擎一样,No Captcha会在一次次辨别人类用户和机器的过程中,变得更加智能聪明。也就是说,的确目前存在安全隐患,但是Google的海量用户基数保证了这项问题会在极短的时间内解决。
对此,Homakov和Shield Square表示,Google这样的做法只能称是与互联网黑客的“猫鼠竞赛游戏”。如果机器变聪明的速度更快,Google就很难区分人和机器,究竟谁能在这一场验证码的战争中获胜也不得而知。
有专家表示,新推出的No Captcha算法的确比曾经的Captcha系统要先进,但是客观些说,这基本没有什么价值。Google希望No Captcha能够成为自己防卫“黑客用户”的银色子弹,但是No Captcha真的做不到啊。
某位评论家表示,牺牲掉用户流畅的用户体验,来为获得更好的网络防卫,Google耗费大力气开发的No Captcha不值得那么多的努力。目前看来,No Captcha系统足够成熟可靠仍是要等待不短的时间。
via venturebeat