“Question”为网易云易盾的问答栏目,将会解答和呈现安全领域大家常见的问题和困惑。如果你有什么疑惑,也欢迎通过邮件(zhangyong02@corp.netease.com)提问。
关于验证码的使用,大家也许会遇到各类问题,这里以Q&A形式总结的一些常见问题,希望对各位读者有所帮助。
Q1:验证码有什么作用?
验证码作为一种人机识别手段,其终极目的,就是区分正常人和机器的操作。
区分人机行为的作用不言而喻。互联行为的注册、登录、发帖、领优惠券、投票等等应用场景,都有被机器刷造成各类损失的风险,如果不对各类机器垃圾的行为加以防范,灌水内容、垃圾注册、恶意登录、刷票、撞库、活动作弊、垃圾广告、爬虫、羊毛党等用户行为一旦发生,将对产品自身发展、用户体验造成极大的影响。
目前常见的验证码形式多为图片验证码,即数字、字母、文字、图片物体等形式的传统字符验证码。这类验证码看似简单易操作,但实际用户体验较差(参见12306网站),且随着OCR技术和打码平台的利用,图片比较容易被破解,被破解之后就形同虚设。
Q2:滑动验证码的原理是什么?
滑动验证码可以显著优化用户体验,这在互联网时代是非常重要的。滑动验证码对机器的判断,不只是完成拼图,前端用户看不见的是——验证码后台针对用户产生的行为轨迹数据进行机器学习建模,结合访问频率、地理位置、历史记录等多个维度信息,快速、准确的返回人机判定结果,故而机器识别+模拟不易通过。滑动验证码也不是万无一失,但对滑动行为的模拟需要比较强的破解能力,毕竟还是大幅提升了攻击成本,而且技术也会在攻防转换中不断进步。
Q3:行为式验证码的前景如何?
先说一下什么是行为式验证码:行为式验证码是以用户产生的行为轨迹为依据,进行机器学习建模,结合访问频率、地理位置、历史记录等多个维度信息综合判断,快速、准确的返回人机判定结果。
行为式验证码与传统验证码的区别:
1)传统验证码技术不足
传统验证码用户体验不佳,需要进行一系列操作才能完成。用户需要每天都要花部分时间浪费在无趣的识别数字上,也大大降低了一些网站的交互体验。同时,随着计算机自动识别技术的发展,简单的验证码数字图形也不再安全,很容易被黑客攻破。
2)行为式验证码的优势-综合判断
行为验证码是以用户产生的行为轨迹为依据,进行机器学习建模,结合访问频率、地理位置、历史记录等多个维度信息综合判断,快速、准确的返回人机判定结果。
3)行为式验证码的优势-迭代性
行为验证码具备运用大数据分析和机器学习模型进行优化升级的作用。路径可以理解为:验证码展示-用户行为分析-机器人学习-返回验证结果-机器模型升级的循环,保证了行为式验证码的不断迭代升级。
行为验证码的推广,保证了网易易盾验证码在和机器刷子进行抗衡过程中不断更新迭代,从而能够持续提升系统性能,保证识别效果。
行为验证码具备运用大数据分析和机器学习模型进行优化升级的作用。路径可以理解为:验证码展示-用户行为分析-机器人学习-返回验证结果-机器模型升级的循环,保证了网易易盾行为式验证码的不断迭代升级。
Q4:怎样防止恶意刷短信验证?
在讨论防止恶意短信验证之前,我们先来看看什么是恶意短信验证及出现的原因。
恶意短信验证,属于短信轰炸的一种,用户端表现为高频收到验证短信内容,用户体验差。对公司来讲,大量的恶意短信验证,既增加公司运营成本,支付额外的短信运营费用,又会影响产品口碑,损失用户。
防止这种恶意行为,方式之一是可以增加验证码校验。发送短信验证码时,可要求输入图片验证码,验证码校验可实现人机识别,同时在验证码请求错误时,可重置验证码,防止图片验证码识别软件尝试多次识别。
Q5:是否能单纯用 JS 来实现验证码?
JS可以实现验证码,但有相当多的弊端。JS实现验证码,是客户页面的验证信息的直接验证,完全由客户端实现。其弊端在于JS操作可以通过机器模拟,模拟数据如果没有服务端验证,则仍是无效的。最终提供验证的,其实是在服务端,不能单纯用JS来实现验证码。目前验证码的技术更新换代快。
Q6:点触验证码能成为新的互联网验证码标准吗?
对于国内各大网站来说,机器账号灌水发垃圾广告是一件非常令人头疼的事情。当然很多网站也有相应的解决方案,但是最好的解决方案应该是通过多重加密的新型验证码严防机器账号注册。这一切的前提是:在不影响正常用户的体验下进行。点触是一种新形式的验证码,利用点击和拖动的动作完成验证:,这已经成为了各大网站最喜欢的验证方式。
对于网站来说,这种验证方式是一种无感知的安全措施。未来,就是优化用户体验,逐渐减少用户在这方面的感知。
Q7:验证码真的能防止盗号吗?
不能。验证码的作用在于区分人和机器,防止被暴力破解,提高破解密码的难度。人工盗号很难通过验证码实现甄别,但在防止机器撞库方面有重要地位。