照片识别验证码是区分人类和机器人的可靠方法吗?

信息安全 验证码
2021-09-09 21:26:06

你们都知道验证码要求您输入一些以模糊方式显示的字母作为图像。

最近我开始看到越来越多的验证码向您展示一组小照片,并要求您“选择所有路牌”“单击所有描绘水的照片”

但是,这些验证码真的很烦人吗?

考虑著名的 Wolfram 语言项目及其服务ImageIdentify.com您在那里上传任何图片,它会以惊人的高精度识别内容。

那些照片识别验证码(不是那些要求你阅读混淆字母的验证码,而是那些要求你按内容对图像进行分类的验证码)确实是区分人类用户和程序的可靠方法,因为每个熟练的黑客都可以免费访问此类服务?

2个回答

人们在使用 OCR 软件和各种其他非 OCR 技术攻击这些方面取得了一定的成功。它们仍然会减慢自动攻击者的速度,因此它们仍然非常有用,但它们已被证明在相当长一段时间内被证明是人类与机器的真正测试。

以下相关链接可能有用:

https://www.owasp.org/images/0/03/ASDC12-Attacking_CAPTCHAs_for_Fun_and_Profit.pdf

https://security.googleblog.com/2014/12/are-you-robot-introducing-no-captcha.html

https://www.owasp.org/index.php/Testing_for_Captcha_(OWASP-AT-008)

https://cintruder.03c8.net/

http://caca.zoy.org/wiki/PWNtcha

http://churchturing.org/captcha-dist/

http://www.lafdc.com/captcha/

http://www.cs.sfu.ca/~mori/research/gimpy/

http://www.puremango.co.uk/2005/11/break_captcha_115/

http://securesoftware.blogspot.com/2007/11/captcha-placebo-security-control-for.html

同样,减慢攻击者的速度并提高攻击成本有很大的价值,因此这些仍然非常有用,尽管很烦人。

您描述的挑战(选择符合标准的图像)实际上是两个机器问题。1:弄清楚它想要什么(以某种方式解析“选择所有包含水的图像”或更困难的,找出图像中的内容并将其“匹配”到某物的相似图片,即火鸡)然后2:弄清楚如何根据该标准对图像进行分类(判断哪些图像中有水)。

第一个是自然语言,在某些情况下(可能是他们对类似机器人行为的怀疑程度更高的情况)对单个图像的图像识别,这很难但并非不可能。但是对于任务二,老实说,我不认为 imageIdentify 服务(或任何类似服务)有机会可靠地响应任何给定图像的含水量,或者它是否是火鸡。他们可能在 50% 的时间里做对了,这本身就令人印象深刻,但是欺骗验证码的门槛是 100%,而且根据我玩不同测试图像的经验,它就是做不到。