security,

一分钟读论文:《人类解决验证码有多强?大规模评估》

Unbug By Unbug Follow May 01, 2023 · 1 min read
一分钟读论文:《人类解决验证码有多强?大规模评估》
Share this

斯坦福大学的论文《How Good are Humans at Solving CAPTCHAs? A Large Scale Evaluation》 从21种最流行的验证码方案(13种图像方案和8种音频方案)收集了318 000多个验证码样本,请亚马逊机械土耳其(Amazon’s Mechanical Turk)和一个地下验证码破解服务的工作者来解决这些验证码,并记录他们的正确率和解决时间,发现:

  • CAPTCHA(完全自动区分计算机和人类的公共图灵测试)通常对人类来说很困难,尤其是音频 CAPTCHA。
  • 非英语母语者在一般情况下解决 CAPTCHA 的速度更慢,而且在以英语为中心的 CAPTCHA 方案上更不准确。
  • 改善音频 CAPTCHA 应该成为优先事项,因为近1%的所有CAPTCHA是以音频而不是图像的形式呈现的。
  • 对于攻击者来说,使用 Mechanical Turk(亚马逊公司提供的众包平台)解决 CAPTCHA 比使用地下服务更有效。

21 种 CAPTCHA 方案的人类表现的评估

图像验证码方案:

  • eBay: 使用6个随机字母和数字组成的验证码,背景为噪声线条和斑点,字体为不同颜色和大小,有一定程度的扭曲和旋转。人类的平均正确率为95.8%,平均解决时间为9.1秒
  • reCAPTCHA: 使用两个单词组成的验证码,一个单词来自已知文本(例如书籍或报纸),另一个单词来自未知文本(例如街道标志)。背景为噪声线条和斑点,字体为不同颜色和大小,有一定程度的扭曲和旋转。人类的平均正确率为89.7%,平均解决时间为10.4秒
  • Facebook: 使用5个随机字母组成的验证码,背景为噪声线条和斑点,字体为不同颜色和大小,有一定程度的扭曲和旋转。人类的平均正确率为93.2%,平均解决时间为8.5秒
  • Yahoo: 使用6个随机字母组成的验证码,背景为噪声线条和斑点,字体为不同颜色和大小,有一定程度的扭曲和旋转。人类的平均正确率为 92.3%, 平均解决时间为 9.3秒
  • Digg: 使用5个随机字母组成的验证码,背景为噪声线条和斑点,字体为不同颜色和大小,有一定程度的扭曲。人类的平均正确率为 91.1%, 平均解决时间为 8.6秒
  • Baidu: 使用4个汉字组成的验证码,背景为空白或渐变色彩块,字体为黑色或彩色,并有轻微扭曲。人类的平均正确率为 97.1%(汉字)或94.4%(拼音), 平均解决时间为 7秒(汉字)或9秒(拼音)
  • CNN: 使用6个随机字符(包括大写、小写、数字)组成的验证码,背景为空白或渐变色彩块,并有轻微扭曲。人类的平均正确率为 96.6%, 平均解决时间为 7.5秒
  • Wikipedia: 使用6个随机字符(包括大写、小写、数字)组成的验证码,并在每两个字符之间加入空格。背景为空白或渐变色彩块,并有轻微扭曲。人类的平均正确率为 96%, 平均解决时间为 7.6秒
  • Authorize.net: 使用8个随机字符(包括大写、小写、数字)组成的验证码,并在每两个字符之间加入空格。背景为空白或渐变色彩块,并有轻微扭曲。人类的平均正确率为 95.9%, 平均解决时间为 8秒
  • Slashdot: 使用5个随机字符(包括大写、小写、数字)组成的验证码,并在每两个字符之间加入空格。背景为空白或渐变色彩块,并有轻微扭曲。人类的平均正确率为 95.8%, 平均解决时间为 7.9秒
  • Megaupload: 使用4个随机字符(包括大写、小写、数字)组成的验证码,并在每两个字符之间加入空格。背景为空白或渐变色彩块,并有轻微扭曲。人类的平均正确率为 94%, 平均解决时间为 7.4秒
  • Ticketmaster: 使用8位数作为验证码,并在每位数上添加一个圆圈。背景为空白或渐变色彩块,并有轻微扭曲。人类的平均正确率为 90.2%, 平均解决时间为 10秒
  • Microsoft Live ID (Hotmail): 使用8位数作为验证码,并在每位数上添加一个圆圈。背景为空白或渐变色彩块,并有轻微扭曲。人类的平均正确率为 89.8%, 平均解决时间为 9.9秒

音频验证码方案:

  • eBay: 播放6位数作为音频验证,在每位数之间停顿一秒钟。音频质量较低且带有杂音干扰。人类的平均正确率为31.2%,平均解决时间为28.4秒
  • reCAPTCHA: 播放两段语音作为音频验证,在每段语音之间停顿一秒钟。第一段语音来自已知文本(例如书籍或报纸),第二段语音来自未知文本(例如街道标志)。语音质量较低且带有杂音干扰。人类的平均正确率为45.1%,平均解决时间为29.1秒
  • Facebook: 播放5个随机字母作为音频验证,在每个字母之间停顿一秒钟。语音质量较低且带有杂音干扰。人类的平均正确率为 29.8%, 平均解决时间为 27.9秒
  • Yahoo: 播放6个随机字母作为音频验证,在每个字母之间停顿一秒钟。语音质量较低且带有杂音干扰。人类的平均正确率为 28.4%, 平均解决时间为 28秒
  • Digg: 播放5个随机字母作为音频验证,在每个字母之间停顿一秒钟。语音质量较低且带有杂音干扰。人类的平均正确率为 30.8%, 平均解决时间为 27.6秒
  • Baidu: 播放4个汉字作为音频验证,在每个汉字之间停顿一秒钟。语音质量较高且没有明显的干扰。人类的平均正确率为 97.6%(汉字)或94.9%(拼音), 平均解决时间为 7秒(汉字)或8秒(拼音)
  • CNN: 播放6个随机字符(包括大写、小写、数字)作为音频验证,在每个字符之间停顿一秒钟。语音质量较高且没有明显的干扰。人类的平均正确率为 96.3%, 平均解决时间为 7.4秒
  • Microsoft Live ID (Hotmail): 播放8位数作为验证码,并在每位数上添加一个圆圈。语音质量较高且没有明显的干扰。人类的平均正确率为 95.7%, 平均解决时间为 7.5秒