浅谈CAPTCHA及网站验证码输入的游戏化

2018-02-02 16:26:58 admin 0

去国外网站逛过的人几乎应该都知道CAPTCHA—让你输入那些乱七八糟的验证码以便证明你是个人。


CAPTCHA的意思是完全自动的公共图灵测试以分辨计算机和人(Completely Automated Public Turing test to tell Computers and Humans Apart)。


获得spammer青睐的网站(论坛、社交网络和评论)常常会使用CAPTCHA,在一个混乱的背景下提供一个难以辨认的单词让你指认。这些乱七八糟的验证码不仅影响了网站的人气(谁都试过屡次辨认字符未果吧?),而且据安全研究机构Imperva的发现,这种方式也难不倒那些spammer。于是CAPTCHA的一些创办者开始琢磨对付spammer的新办法,同时还试图为正常人添点乐子,那就是验证码输入的游戏化。


Imperva在一份研究报告中指出,黑客已经想出了若干办法来击败CAPTCHA系统。


办法之一是用“模式识别算法”在无需人类帮助的情况下破解CAPTCHA。此类程序有“PWNtcha”和“CAPTCHA Sniper”,目前已能破解60多种CAPTCHA程序。


不过spammer也会雇人专门来为其辨认各种的CAPTCHA(不就是多费点功夫嘛)。辨认CAPTCHA验证码现在都已经发展成一项业务了。这些黑客“雇员”收入的高低取决于辨认CAPTCHA的速度和精度(如每辨认1000个验证码支付1-3美元)。也有些精明的黑客不想给钱,他们的解决之道是用一张XXX图片来刺激你辨认验证码(下图)。




被挡住的地方只要你输入正确的验证码就能去掉,这招真够绝的


这种依靠人力的CAPTCHA破解服务给Web安全带来威胁,并对整个CAPTCHA的概念带来挑战。不过现在已经有一些富于创意的公司出来迎接挑战。




组合一张人脸对于人来说易于反掌,但机器就难了


其中一种方式是游戏化。这种方式不仅更加人性化,而且会给计算机造成更大的挑战。此前我们曾报道过一家名为Are You a Human的公司,设计出游戏化的手段来进行验证。类似地,报告里面也提到一家公司创建的CAPTCHA会让你把各种面部特征(如眼睛、鼻子、耳朵等)组合成一张脸(见上图的上)。还有一种做法是提供一组图片给你,每张图片都分配有一个字母,然后CAPTCHA要求你按照特定的次序输入给定图片相应的字母。不过最终这种手段还是无法阻止靠人力进行的CAPTCHA破解服务,水军队伍这么庞大,总会有人乐于玩玩这些游戏来赚钱或者换点XXX图片的,CAPTCHA的这个噩梦似乎是无法摆脱的了。




人类对图像的识别技术比机器高超多了


Imperva因此在报告中建议把CAPTCHA作为一种辅助的验证手段,只有在用户出现异常行为时才使用。报告建议根据活动来识别用户是否属于人类,这样不仅有效而且也不会对人造成太大的干扰。


报告最后总结:


1)CAPTCHA并非对付自动化验证码辨认的银弹


2)CAPTCHA应该辅以其他的反自动化辨认手段


3)CAPTCHA安全应该权衡一下用户体验