童话说说技术创业美文职业
投稿投诉
职业母婴
职场个人
历史治疗
笔记技能
美文纠纷
幽默家庭
范文作文
乐趣解密
创业案例
社会工作
新闻家居
心理安全
技术八卦
仲裁思考
生活时事
运势奇闻
说说企业
魅力社交
安好健康
传统笑话
童话初中
男女饮食
周易阅读
爱好两性

验证码的前世今生(前世篇)

11月15日 海岸线投稿
  常在网上晃悠的人,对上面这张图都不会陌生。特别是在注册新账号、确认交易时,它们都会频繁出现,要求我们输入正确的验证码,那这些看上去跟我们要做的事情完全无关的验证码到底有何作用呢?
  01诞生
  首先,先介绍下验证码程序的提出者,路易斯冯安(LuisvonAhn)。2002年,路易斯和他的小伙伴在卡内基梅隆第一次提出了CAPTCHA(验证码)这样一个程序概念。该程序是指,向请求的发起方提出问题,能正确回答的即是人类,反之则为机器。这个程序基于这样一个重要假设:提出的问题要容易被人类解答,并且让机器无法解答。
  在当时的条件下,识别扭曲的图形,对于机器来说还是一个很艰难的任务,而对于人来说,则相对可以接受。yahoo在当时第一个应用了图形化验证码这个产品,很快解决了yahoo邮箱上的垃圾邮件问题,因此图形类验证码开始了大发展时期。
  02发展与问题
  图形化验证码在被证明有效后,在互联网上迅速得到了推广。国内外各大网站,在关键的业务点上都加入了这一类型的验证码。
  首先,由于开发者水平的良莠不齐,导致验证码本身的实现存在问题,从而导致漏洞可以绕过,常见的有以下几种类型:
  〔1〕验证码的生成逻辑、答案用户可见
  如将验证码答案输出到页面中、写在cookie里。打比方就是说,在发卷的时候,把答案写在了卷子背面。(老师再也不用担心我的成绩)
  〔2〕验证码的生命周期未控制好
  如验证码可以重复使用、不设超时。验证一次,永久使用。
  〔3〕业务逻辑与验证码结合点存在问题
  如修改业务参数可导致不用校验验证码也可通过、甚至验证码就是摆设。结合到具体的业务点上有什么危害呢?
  a。验证码写在cookie中。此处可导致旅客信息泄露。
  b。验证码与图片存在对应关系,因此直接访问html即可得到答案。此处可导致撞库与暴力破解密码。
  (上述两例转自乌云)
  03图片验证码对抗与攻击升级
  在开篇我们提到了一个重要的假设:
  CAPTCHA提出的问题要容易被人类解答,并且让机器无法解答。
  实际上,CAPTCHA所要处理的问题是:将普通人与恶意的用户(黑客、垃圾消息发送者)区分开来。那当时间点到达2016年时,黑客们与普通用户之间的差距已经很大了(想象下中国足球队对巴西足球队,而且此时留给中国队的时间已经不多了)。
  因此,CAPTCHA在图片验证码这一应用点上已经无法满足这一假设了。在这段时间内,出现了很多的加强和识别图形验证码的方法(每一种方法的详细原理和解释,可以参见wooyundrops,在此不做详述):
  附上部分名词解释:
  如上图所示,原始的图像使用了字体旋转、背景色混淆等手段,在专业的验证码工具面前,也就是几个命令拼接即可完成识别
  如上图所示,是一个验证码识别软件自建字库的过程,通过回车确认验证码识别正确,如有错误,稍带修改继续。当保存了上千个正确识别的字库后,该程序便可达到一个可用的可用的准确率。(其实若不不做其他限制,此时准确率在30以上时,即可造成很大的危害,毕竟对于攻击者来说,发3个包与发1个包的成本差别不大)
  看到这里,客户们大概可以回答这个问题了:
  为什么我用了验证码还是会被刷?
  那普通验证码难道没用了吗?
  那倒也不是,安全是一个博弈的过程。综合使用之前提到的验证码技术(特别是字体粘连等),并且保持关注和变化,攻击者的识别率也比较低。当攻击的成本大于可获得的利益时,自然就没人来攻击了。(普通用户在此应强烈要求存在感)
  此时,虽然两方大小上略有差距,但是总体战斗力还算是勉强打个平手,互相出招而已。只是随着战火的升级,个人轮番上阵后,验证码已经违背了他最初设计时的初衷:对普通用户的友好性逐渐消失。而普通用户的体验也就成了这场战争中的牺牲品,这也就造就了一批有一批被用户吐槽的无法辨认的验证码。
  正当普通用户们不断吐槽的时候,程序员表示这个锅不想背但是也得背。因为业务总是要做的,而攻击者们也是要吃饭的,升级了验证码的成本,也就限制了风险的等级,于是就变成了这样一个模式():
  程序员:熬一晚上升级攻击者:熬一晚上破解程序员:熬两晚上升级攻击者:熬两晚上破解。。。。(心疼)。。。
  大家就在这种你方唱罢我登台的情况下看似和睦的度过了一段时间。
  04图片验证码的没落
  在日日夜夜的对抗中,攻击者想到了一个办法,可以一劳永逸的解决图片验证码的问题。在我对这些搞灰产的人们表示憧憬之前,先说点题外话。
  2009年,google买下了CMU的一个项目:recaptcha。这个项目是CAPTCHA的进阶版本。它所基于的假设与CAPTCHA一致,但是它同时让用户识别两张图片,一张用于验证用户身份,而另一张用于帮助难以用机器识别的电子文档。
  恩,如果读者有从事此类灰产相关工作的人,请注意recaptcha右下角的小字(stopspam。readbooks看看这情怀)。
  而recaptcha的作者,当然又是:路易斯冯安。在recaptcha的基础上,路易斯进一步提出了一个概念:人类计算(HumanComputation)。
  简单来说,他希望借由计算机和网络平台,发挥人类技能,去解决大规模、复杂的问题,具体到recaptcha项目来说,就是借助大家的力量去帮助数字化书籍。(该思想的具体应用还包括一个叫ESPGAME的游戏以及后面会提到的norecaptcha)
  但是,在2004年(我能搜到这个新闻的最早时间),就有人已经完美的实现了这个概念:人工打码,并且起源地:中国(此处我应该感到自豪吗)。
  所谓的人工打码就是,将验证码的请求转发给某平台,该平台会将这个信息发送给平台上的打码工,然后打码工人识别后,将答案反送回请求者。通过打码平台的api,攻击者可以写程序实现对目标的自动化操作,而验证码的部分只要交给打码平台就可以了。
  打码平台在国内市场上的火爆,有几个原因:
  〔1〕。从2006年开始,国内互联网的迅猛发展,使得流量变现成为了可能。各种邮件营销、SEO、IM工具等都迫切的需要稳定的可以绕过图形验证码的方法。而近些年兴起的基于数据的诈骗、账号盗取等更进一步加剧了这个趋势。
  〔2〕。打码平台的爆发式发展也同时得益于中国经济蓬勃发展的原因之一:人口多并且人力成本低。网络上一种常见的网赚模式,就是打码工模式,一个只要会上网,能识别验证码的人就可以参与。PS:难道你没有看见过下面这些广告吗?大学生、大妈,无需学历,只要会上网、会打字,一天包赚XXXXX。当然其中除了打码平台,还有很多骗子。
  可以打码的类型包括:
  普通字母验证码
  中文验证码
  鼠标类型类验证码
  选择题类型(比如某些网游中做任何会遇到的验证码)
  旋转类验证码
  知识常识问答型验证码
  以上验证码的价格在平台上都是明码标价,普通的字母验证码1条在1分钱左右,而知识问答类在6分钱左右,相较于利用这些灰产所会产生的利益,真是件美物廉,重点是还非常稳定。
  同时我注意到国外的价格现在与国内的价格已经相差不大,现在美国的价钱约为1。51000,美国的打码工已经向东南亚扩展。打码平台一出现,2。2中提到的加强验证码的方法都无用了。因为不管你怎么变化,验证码总需要是人类能够通过的。
  05新的征程
  打码平台的出现,虽然没有从理论上打破CAPTCHA的原则,但是也从事实上击破了防止程序自动提交的防御,因此我们需要新型的安全的验证方式。这些探索也带来了现在各种多样的验证码形式,这些我们将在下篇探讨。
  最后用一个“富有情怀”的图片结束。
  这张图不是来自改变世界的极客,也不是来自富有爱心的艺术家。它来自某知名打码平台的官网,是不是太有情怀了?(你们的确改变了我们的工作方式)
  面对这样的情怀,我想我现在只能做一件事情。
投诉 评论

什么?产品经理也有保质期?每个时代都有对应时代的产物,蒸汽时代成就了蒸汽机,电器时代有了汽车和飞机,产品经理这个职业毫无疑问是伴随着互联网新兴行业的发展应运而生的。他们拿着程序员一样高薪,却不必为Deb……统计数据出问题,产品经理应该怎么办?上个月咱们了解到埋点数据从上报到生成报表大体分为五个关键环节:埋点上报后台记录日志计算入库展示今天咱们介绍下统计数据出问题后,一般的……产品经理建立信任感为什么那么难?很多人可能都经历过,以前觉得很脑残的事儿,慢慢的不再火急火燎,可淡然处之,可站在对方及多角度去看待各类事物;以前只要涉及到变化,不管大小均抱怨连连,后面慢慢的学会了拥抱变化,在……浅谈过程管控对项目成败的影响项目建设中的过程管理、进度跟踪是产品经理工作的一个重要组成部分,也是项目成败的一个核心要素,进度控制不力小则导致项目延迟,重则导致项目失败、团队涣散、个人品牌形象直线下降。……你总计划先干完活再刷朋友圈,为何从来没有兑现过?寒假最后一天夜里才写完作业;交画稿前一天晚上才补上最后一层高光;七天憋出六个字儿受控的大脑和不受控的双手,如果真集中不了注意力,那就学学古人的头悬梁锥刺股,比关手机有用。……推荐产品新人的每日10问对产品新人而言,每日的反思与总结是改进工作,提升能力的一个秘诀。你或许可以看看我每天所思考的十个问题,是否有助于提升自身的能力,早日成为优秀的产品经理。我将每天所问的问题……验证码的前世今生(前世篇)常在网上晃悠的人,对上面这张图都不会陌生。特别是在注册新账号、确认交易时,它们都会频繁出现,要求我们输入正确的验证码,那这些看上去跟我们要做的事情完全无关的验证码到底有何作用呢……小谈用户体验:让访客反感的12种网页设计用户体验在网站建设过程中的被重视程度,在近些年得到越来越大的提升。很多从事网页设计的朋友都会在设计网页的时候考虑到用户体验这一关键因素,因为不重视用户体验的网站,很难在当下愈发……真实场景情感渲染如何从产品的精细化和差异化的角度讲故事说到讲故事,在产品的每个阶段都会经常遇到,不仅仅是在定位的时候,在内容运营、用户运营、市场推广、数据分析,甚至产品迭代的时候都要讲得一手好故事。故事的目的不单是为了让非产品和技……屌丝产品经理如何用马斯克的第一法则进行日常工作?自己最近在一个新领域折腾。因为新鲜人的缘故,通常我都会先去看看同行或者抄袭同行的做法,保证事情快速上线。也因为新鲜人的缘故,我发觉他们这些老鸟的做法比较丑陋。身为一个理科……【Lisa带你逛起点】士不可以不弘毅任重而道远习大大在第十二届青年会上向全国各族各界青年和青年学生、向广大海外中华青年说道:“士不可以不弘毅,任重而道远。”每个人都有梦想,谁都有让自己的梦想实现的能力,但只有“通过选择正确……如何让用户觉得你的app加载速度很快当我们设计产品的时候,我们没有办法模拟不同的加载速度。因此如果用户等待太长的时间才能看到内容,并不是我们特意的安排。网速不稳定,尤其是当我们加载图片或音乐时,时间会较长。……
建议收藏:可能是最全的Axure输入框AxureRP9教程:页面三级拖动AxureRP9教程:制作漂亮的bootstrap4进度条Axure教程:实现菜单下拉效果Axure教程:鼠标移入时切换菜单Axure教程:计数器的实战应用场景商品购件数Axure教程:实现商品规格选择功能Axure教程:用中继器做APP引导页Axure教程:数量加减的实现Axure教程:规格的实现AXURE教程:手机键盘Axure教程:实现商品分享功能生日祝福的心情说说一视科技什么是智慧校园体育?金钱龟最大可以养到多大,可以活多久周厚安近照曝光胡须茂盛,气质成熟,比父亲周华健更显老气朋友三年级作文400字如何防止学生浮躁心理精华液测评推荐修复肌肤和更新角质,美白补水每一款都值得拥有5犯规,6失误!奇招变昏招,杨鸣新策略自挖火坑成辽宁输球主因构成寻衅滋事最高判几年邹市明为丁公子大婚道贺,18亿彩礼千万豪车开路,捐1亿做公益温碧霞现身株洲捞金,穿粉色长裙造型万年不变,被曝出场费50万探查陈寔到底是哪里人?埋葬地在哪?五

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找作文动态热点娱乐育儿情感教程科技体育养生教案探索美文旅游财经日志励志范文论文时尚保健游戏护肤业界