FAQ

如何防止人工打码?

所谓人工打码就是打码平台通过雇佣廉价人力劳动力来识别验证码,对于这样的破解方式,所有人机算法都失效了,但是并不是完全不可避免。采取下面的措施,VAPTCHA能拦截掉大部分人工打码的验证请求。

措施 描述
唯一性判断 用户每次验证请求发起时,VAPTCHA会生成一个唯一流水号并与客户端IP进行关联。重复使用流水号或者执行验证时使用其他IP都不会通过人机验证。
特征判断 VAPTCHA利用深度学习建立模型来提取客户端行为的“手势指纹”,就好像用笔签名所具备的笔迹特征,正常的人机验证操作,短时间内的手势指纹特征应该是连续且稳定的。比如打码平台获取验证图后分发到打码人,打码人提交的验证轨迹因为不符合这个特征,所以不会通过验证。
设备指纹黑名单过滤 曾经发起过可疑请求的客户端会被列入VAPTCHA实时更新的动态黑名单中,并根据攻击强度赋予不同的权重,只有在特定时间段内不再发起攻击性请求才会从黑名单移除,这些客户端发起的请求不会通过验证。

VAPTCHA支持的最大并发量是多少?

为了应对巨大验证请求,我们持续的对程序、流程、算法进行优化,同时VAPTCHA准备了充足的服务器及带宽资源,并永远保持具备当前峰值140%请求量的计算能力。理论上,目前VAPTCHA可以承担每秒5W+的并发验证请求。

使用VAPTCHA验证服务需要付费吗?

注册VAPTCHA即可免费使用基础验证服务,免费版每小时验证量上限不超过500次,免费版能满足绝大多数网站的需求。如果有自定义背景、LOGO及较高的验证量需求则需要支付相应费用购买VIP服务。VAPTCHA支持包月及包量两种计费形式,均以验证通过量作为计费标准,好处是就算接入的网站或APP被大规模攻击,这些攻击性请求将会被VAPTCHA全部拦截掉,但是不会产生额外费用。

VAPTCHA的安全性如何?

为了万无一失,VAPTCHA对验证过程中上百项特征打分并求和,只有大于安全分数线才能通过验证,并不仅以轨迹匹配度作为唯一判断条件。与传统的验证码相比,VAPTCHA具备更高的安全性。

检测项 描述
不再以字符作为“码” 字符库永远是有限的,字符验证码无论如何变形或背景污染,只会增加机器的识别成本,并不是不可识别,但是用户体验就非常糟糕了。而VAPTCHA首创用鼠标手势作为验证“码”,这种验证码不仅有无限种组合而且让任意语言环境的用户都能识别。
行为特征甄别 VAPTCHA利用深度机器学习构建了强大的特征模型来区分人与机器的差别,但是此项并不作为唯一判断指标,仅占整体风险评估权重的10%,因为行为模拟的成本不高。这也是VAPTCHA与所谓的行为验证码的重要区别之一。
流程特征判断 VAPTCHA以正常用户验证请求的全流程特征加上容错范围并分别赋予不同权重计入打分项。比如正常用户不会有的行为:验证过程中更换IP、短时高频验证请求、客户端环境参数缺失......
设备信用 VAPTCHA会为每个曾经正常发起验证请求的设备终端建立信用档案库,以设备指纹来进行区分。所有的可疑行为都会降低信用度,直至进入全球共享的黑名单,进入黑名单的设备终端发起验证请求时则进入沙盒模式,面临更严苛的人机审查或直接拒绝请求。

VAPTCHA加密验证流程图

验证单元的VID及Key在整个人机验证流程中起到加密传输及身份核验的作用, 请妥善保管,如果泄露请及时重新生成并重新配置代码。

VAPTCHA加密验证流程图

宕机模式

遇到如下情况VAPTCHA会进入宕机模式:

  • 假设极端情况发生,当VAPTCHA服务器群全部宕机时则启用宕机模式,全天候保护接入网站的人机验证安全。进入宕机模式时,接入网站服务器结合缓存资源通过加密计算来获取验证图及校验结果,短时间内,宕机模式的安全策略不会显著降低用户体验及安全性。

  • 每小时验证量触发到用户的可用验证量上限,遇到这种情况请及时付费充值。

宕机模式原理:

1. VAPTCHA宕机模式是一种在极端情况发生时(比如攻击或者灾害导致VAPTCHA服务器群全部宕机)的备用验证策略。这是一种接入网站仅利用缓存资源进行加密运算来区分人机的验证模式。

2. 角色说明:

  • Cache: 用户存储宕机验证资源,由VAPTCHA内网服务器来管理

    Client Server: 接入VAPTCHA的网站或APP的后端服务器

    User: 访问Client的用户

3. 资源地址:

  • http://d.vaptcha.com/config   包含宕机验证要用到的Key 及 宕机状态

    http://d.vaptcha.com/validatekey  验证结果

4. 验证流程:

  • User访问Client需要人机验证的页面时发起宕机验证请求。

    Client Server请求http://d.vaptcha.com/config 验证VAPTCHA是否进入宕机模式,如果是则提取出Key。

    Clinet 生成4位16进制随机数字符串randomstr,然后取key+randomstr的MD5值作为imgkey。

    生成一个GUID作为本次验证的流水号challenge,并与imgkey以键值对存储。

    向前端返回本次验证的challenge及imgkey。

    User识别验证图手势并绘制,前端代码提取用户手势的4个特征点构成一个4位16进制数字符串usercode,将usercode 和challenge提交到Client Server。

    Client Server检测challenge是否存在,存在则取imgkey+usercode 的MD5值则作为validatekey。

    请求验证结果链接,如果当前链接存在则验证通过,否则验证失败。

  • 宕机模式验证流程

    VAPTCHA宕机模式验证流程
  • 宕机模式示例图

    宕机模式下,验证图仍然为手势验证图,并未显著降低用户体验 VAPTCHA宕机模式示例图

智能检测

智能检测可由用户自行配置,当此配置开启时,允许那些信用高的设备且当次验证请求发起时正常通过综合风险模型的安全评估可以一键通过人机验证,整个过程耗时快至200ms内,大幅提升用户体验。

智能检测举例
VAPTCHA智能检测举例

验证通过率太低怎么办?

VAPTCHA手势验证码平均通过率在75%左右,如果低于这个通过率可能是以下原因导致:

原因 描述
攻击行为发生 网站被人或机器攻击测试,仅提交了验证请求且未通过验证时,可在攻击报告中查看详情。
验证图设定宽度不够 VAPTCHA手势验证图的尺寸可自定义,若尺寸过小,则会降低用户绘制的准确度。建议按钮过小或者嵌入式空间不够时,尽量采用弹出式显示模式。
关闭了智能检测 建议开启。若此配置为关闭状态时,用户每次验证都需要绘制手势。

频率上限

为了防止手动批量刷票、注册、灌水等行为,可在后台针对每个验证单元设置单个用户的验证频率,VAPTCHA将利用IP、设备指纹ID等标记可疑用户并限制他的验证提交频率。

操作演示

有箭头手势图
按照特定方向绘制,通过验证
无箭头手势图
任意方向绘制,通过验证