解读滑块验证码(滑动验证码)与图形验证码的破解难度

解读滑块验证码(滑动验证码)与图形验证码的破解难度

 

首先给出观点:前沿的基于机器学习建模、多维判断的拖动滑块验证,不是简单计算滑块偏移量和按键精灵所能应付的,而图形验证码在当前不断发展的OCR、神经网络面前却越来越容易失守。

图形验证码的原理和识别,在三四年前就已经有深刻的分析,利用机器学习和机器视觉,把验证码的文字和背景分离,去除干扰线,分割字符,扭曲还原,机器就可以做到自动识别。K-Means、SVM(支持向量机)的分类效果就不错,对于扭曲,神经网络方法更是提供了很高的成功率。不过那时候节点多的大型网络,运算是比较慢的。但现在,数据量积累越来越丰富,深度神经网络模型越来越好,计算能力越来越强,最重要的是机器学习算法的从业者越来越多,不管是重叠粘连的字符,或者是物体识别,识别率的提升是自然的。
据说,有了深度学习,传统字符型验证码被破解的最大概率已经达到98%。

拖动滑块分两种情况。其余答案说的前端拼接,就不用说了,确实不容易防不住有心人。新的滑块验证码方案,验证码后台针对用户产生的行为轨迹数据进行机器学习建模,结合访问频率、地理位置、历史记录等多个维度信息,快速、准确的返回人机判定结果。针对这种方式,单纯分析调用JS是破解无效的。原因如同
@闫先森
所说,深度学习判别策略是黑盒。当然,理论上行为轨迹也可以用深度学习破解,不过还是要积累足够多的训练样本,和足够多的训练时间。

题外话,攻与防技术都是在对抗中不断升级的,无解的验证码还不存在,但防的一方可以不断提升破解成本。应用选择滑块验证,也有部分因素是因为竞争激烈的互联网很看重用户体验,拖动毕竟是趣味性交互且容易完成,而图形验证码既容易被黑客攻破,对用户也并没有那么友好——肉眼识别无趣(可能还很艰难),键盘手动输入更浪费时间,体验比较大。

 

这里分享网易云安全(易盾)的验证码方案:

易盾验证码抛弃了传统字符型验证码展示-填写字符-比对答案的流程,采用验证码展示-采集用户行为-分析用户行为流程,用户只需要产生指定的行为轨迹,不需要键盘手动输入,极大优化了传统验证码用户体验不佳的问题;

 

解读滑块验证码(滑动验证码)与图形验证码的破解难度

 

同时验证码后台针对用户产生的行为轨迹数据进行机器学习建模,结合访问频率、地理位置、历史记录等多个维度信息,快速、准确的返回人机判定结果,优化了传统验证码基于单一字符维度容易被暴力破解的问题。后台会检测破解攻击,如果有破解的情况,会自动切换到更高难度的点选式验证码;除此之外网易云还提供终极验证上行短信验证,确保验证码的安全性。

解读滑块验证码(滑动验证码)与图形验证码的破解难度

 

 网易云安全(易盾)为您提供智能验证码服务,欢迎点击免费试用。

相关阅读:

验证码的作用

行为式验证码的前景

三句话读懂滑动验证码的原理

有些验证码看起来很容易但是没人做自动识别的原因分析

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101597.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java中输出数组的语句_java定义数组的三种类型

    java中输出数组的语句_java定义数组的三种类型2022_02_19学习输出数组元素的三种方法以及c语言和java中数组的不同点方法一:for循环输出数组元素方法二:foreach循环语句方法三:Arrays类中的toString方法c语言和java中数组的区别方法一:for循环输出数组元素publicstaticvoidmain(String[]args){int[]array={1,2,3,4,5,6,7,8,9};for(inti=0;i<ar

    2022年10月11日
  • 用量子纠缠同步你的大脑?阿里云疑似发明量子智能!「建议收藏」

    用量子纠缠同步你的大脑?阿里云疑似发明量子智能!

    2022年4月2日
  • 数据挖掘的过程有哪些[通俗易懂]

    数据挖掘的过程有哪些[通俗易懂]  随着大数据时代的到来,各行各业都无法避免数据洪流的洗礼,一场无声的数据变革在悄然发生。谁能更好地将隐藏在数据背后有价值的信息挖掘出来,就意味着谁能在这种变化中获得主动权,能更快更好地发展。在这背景下,加强对大数据挖掘已成为许多企业迫切需要进行的任务。  以下将从数据挖掘的概念、数据挖掘分类和数据挖掘过程三个方面进行分析,帮助您更好地理解数据挖掘。  一、数据挖掘的概念  数据挖掘是指从数据库的大量数据中揭示隐含和潜在信息的非凡过程。从数据中获取有用的信息和知识,协助事务运作,改进商品,协助企

    2022年6月23日
  • 笛卡尔心形函数表达式_笛卡尔心形曲线[通俗易懂]

    笛卡尔心形函数表达式_笛卡尔心形曲线[通俗易懂]1650年,斯德哥尔摩的街头,52岁的笛卡尔邂逅了18岁的瑞典公主克里斯汀。那时,落魄、一文不名的笛卡尔过着乞讨的生活,全部的财产只有身上穿的破破烂烂的衣服和随身所带的几本数学书籍。生性清高的笛卡尔从来不开口请求路人施舍,他只是默默地低头在纸上写写画画,潜心于他的数学世界。一个宁静的午后,笛卡尔照例坐在街头,沐浴在阳光中研究数学问题。他如此沉溺于数学世界,身边过往的人群,喧闹的车马队伍。都无法对他…

    2022年10月17日
  • CentOS 8 Docker离线安装[通俗易懂]

    CentOS 8 Docker离线安装[通俗易懂]CentOS8Docker安装一、将安装包上传至服务器[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I6pyAFi9-1651914678420)(/Users/kucha/Library/ApplicationSupport/typora-user-images/image-20220328161548290.png)]二、安装Docker1、安装包介绍containerd.io-1.3.7-3.1.el8.x86_64.rpm—-容器服务doc

    2022年9月25日
  • sqlserver pivot函数(oracle行列转换函数)

    以学生表举个例子,展现学生的各门学科和成绩,我们先新建一张表:CreateTableStudents(Namevarchar(10),SubjectNvarchar(10),Scoreint)InsertintoStudentsSelect’Andy’,’Chiness’,round(60+40*rand(),0)UnionallSelect’Bur

    2022年4月13日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号