FAQ

如何防止人工打码?

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

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

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

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

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

注册VAPTCHA即可免费使用基础验证服务,免费版每小时验证量上限不超过500次,免费版能满足绝大多数网站的需求。如果有自定义背景、LOGO及较高的验证量需求则需要支付相应费用购买VIP服务。

VAPTCHA的安全性如何?

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

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

VAPTCHA加密验证流程图

网站和VAPTCHA同时持有一样的公钥和私钥。公钥是公开的,私钥不公开,解密时才会用到。流水号是在请求验证时生成,验证完成后则销毁,同时有失效时间。用私钥加密和解密时,VAPTCHA和网站规则一致。

VAPTCHA加密验证流程图

宕机模式

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

  • 宕机模式是VAPTCHA独有的备用安全措施,假设极端情况(比如VAPTCHA服务器群被攻击而全面瘫痪,或者服务器机房着火...)发生时就会自动启动并继续保证网站安全。这种模式下,接入网站利用自己网站服务器结合VAPTCHA推送到各CDN节点的缓存资源暂时性参与低烈度计算来进行自我保护,在略微降低用户体验的前提下并不显著降低安全性。

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

  • 宕机模式验证流程

    VAPTCHA宕机模式验证流程
  • 宕机模式验证码举例

    VAPTCHA宕机模式验证码举例

智能检测

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

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

验证通过率太低怎么办?

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

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