V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
SecurityX
V2EX  ›  分享发现

网络验证码的进化:从简单图文到无感验证

  •  
  •   SecurityX · 2020-07-24 15:25:12 +08:00 · 1247 次点击
    这是一个创建于 1372 天前的主题,其中的信息可能已经有所发展或是发生改变。

     9 月 24 日,2018 年全国硕士研究生招生考试预报名的第一天,成都大学的一名大四女生,在网上报名时,竟出现了“别考”字样的验证码,同时在验证码上边显示一行红字:您输入的用户名或密码有误。专门负责全国研究生报名的“中国研究生招生信息网”相关负责人回应说,验证码出现“别考”字样纯属巧合。

    undefined

    据了解,研招网报名系统的验证码由汉字、字母+数字、数字计算三个类别组成,考生在输入验证码时这三个类别都可能会遇到。“别考”字样的验证码虽然只是随机出现,却让人联想到春运期间 12306 那些变态的验证码,似乎与“证明你妈是你妈”一样无厘头,验证码就是为了为难人类而存在的吗?

    undefined

    12306 网站验证码界面

    验证码诞生于 20 年前

    验证码的全名是“全自动区分计算机和人类的图灵测试”,由卡内基梅隆大学的路易斯.冯.安于 1997 年提出,其初衷识别真人还是编写的恶意程序。验证码主要体现方式:计算机会自动生成一个问题由用户来解答,这个问题可以由计算机生成并评判,但必须只有人类才能解答,回答出问题的操作者就可以被认为是人类。

    undefined

    验证码之父:路易斯.冯.安

    因此,验证码就是利用“人类可以用肉眼轻易识别图片里的文字信息,而机器不能”的原理来抵御恶意登录,通过识别、输入这些交互,区分出机器人和真正的人类,防止恶意攻击或者刷号情况的产生,是一种利用意识区分用户是计算机还是人的公共全自动程序,在注册、登录、网购、交易等各类场景中都发挥着巨大作用,并且在不断进化中成为网络中始终不可或缺的技术。另外,英国医学专家还发现验证码或可用于尽早发现痴呆症风险。

    验证码的进化:从简单图文到无感验证

    早期的验证码就是网站提出一些问题,随着安全防护与破解入侵两方面的抗衡日益升级,验证码的难度在增加,形式也在多样化。从简单的字母数字、算术题,到扭曲的字符、模糊的图片,这些被归类为知识性验证码。

    undefined

    各式各样的验证码

    虽然验证码对网站平台有很大的帮助作用,但并不是每个人都不喜欢验证码。路易斯.冯.安在 2009 年的报告中显示:每天每个美国人要花费 1.9 秒的时间用来解决验证码难题。以美国当年人口 3.09 亿计算,相当于每年要花去他们 6795 天的时间。

    在国内验证码一直也是被吐槽的对象。不仅是全国硕士研究生招生考试预报名这样令人啼笑皆非的验证码,还有被广大网友吐槽的 12306“变态”验证码。

    undefined

    Google 的 reCAPTCHA

    为了节省网友时间,提升操作体验,Google 、顶象技术等新一代的验证码已经开始向无知识型进化,例如 Google 的 reCAPTCHA 、顶象技术的无感验证等。具体在体现就是需要点击或拖动滑条,甚至不需要任何操作,就能够完成网络登录身份验证。这种全新的验证方式良好解决网站安全和用户体验两端的矛盾。

    基于人工智能的顶象无感验证有这四大特点

    作为新一代的验证码 Google reCAPTCHA 、顶象无感验证都是基于人工智能,从传统的识别验证方式升级到了基于人的行为来进行判断,通过收集用户的行为以及环境信息,结合模型和风控分析来区分人类还是机器。

    undefined

    顶象技术的“无感验证”

    以顶象技术的“无感验证”为例,主要有以下四大特点:

    体验好:滑动验证相对于传统的验证码在体验上已有了很大的改善,但是如果每次操作还是需要滑动依旧繁琐。顶象无感验证在验证码弹出前会先收集下当前用户的环境信息,结合后台的风控和大数据,判断当前操作环境和行为是否正常,如果正常行为就可以直接放行,也就无需滑动。

    破解难:数据采集安全是验证流程的一个安全前提,直白的说,就是传到后台的滑动行为数据必须是用户滑动产生的。一般的做法是对采集的数据进行加密,对采集数据的 javascript 进行混淆。这种做法可以说是 javascript 的通用方案,有一定的安全性,但对“有心人”还不够。顶象无感验证的做法是短周期自动变更加密算法+ H5 安全防护。其基于 AST,采用随机拆分,动态加解密混淆算法对 JS 代码进行混淆压缩,并且定时自动化更新混淆算法。相对于开源的混淆工具,会使尝试逆向混淆后的 javascript 成本极高。再加上短周期自动变更数据加密算法,即使当前的 js 脚本被破解,但是由于快速的自动迭代,这个脚本很快就会失效,攻击者不得不再面对下一版完全不同的加密脚本,从而大大增加破解成本。

    识别准:行为验证的核心是通过用户滑动行为数据识别本次请求是来自于人还是机器。依托于顶象在现实业务攻防中积累下来的数据,经过特征工程和深度学习算法,可以得到大量的特征。顶象无感验证利用多种无监督学习模型发现可疑和异常行为并标记为黑样本,其余为白样本。接下来,选取行为特征和黑白样本训练有监督学习模型,用于线上的实时流量数据的识别。基于每日的增量数据,对无监督学习和有监督学习模型快速迭代训练,可有效与快速变异的恶意行为进行强对抗。

    有大脑:随着人工智能的发展,攻击者利用人工智能技术和打码平台可以很容易的通过传统验证码。一旦攻破,传统验证码就对攻击无能为力了。顶象无感验证结合风控引擎的风险识别能力,构建了多层安全防护,对识别出的攻击者可以直接拦截,给客户最后一层强有力的安全保障。

    随着人工智能的发展,未来的验证码的人机对抗,一定是一个多维度、多层次、快速迭代的战场。

    1 条回复    2020-07-25 19:11:34 +08:00
    butanediol2d
        1
    butanediol2d  
       2020-07-25 19:11:34 +08:00
    我觉得这个“全自动区分计算机和人类的公开图灵测试”( Completely Automated Public Turing test to tell Computers and Humans Apart )最初可能只是为了凑一个 CAPTCHA 单词而已。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2938 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 13:27 · PVG 21:27 · LAX 06:27 · JFK 09:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.