打码平台是如何运作的?再谈验证码安全

习惯了互联网生活的我们,肯定也习惯了验证码的存在。我们通常说的验证码可以大致分为两大类:

  1. 区分是人还是机器人的验证码
  2. 验证个人身份的验证码

我们通过实例来看一下,当你登录12306购买火车票时,12306需要你输入这样的验证码:

12306验证码

这其实是12306在验证你是真人还是机器人,如果你能正确输入验证码,网站视为你是真人。当然,这个验证是不是百分之百能区分真人和机器人,那又是另一回事。

另一种就是验证身份的验证码,以短信验证码最常见,比如说你换个手机登录支付宝,支付宝服务器就会发送一条短信验证码到你的手机上,验证你确实是这个手机号码的持有人。

手机验证码

需要攻破验证码的场景

不好意思,我们一言不合就谈“攻破验证码”。对黑产来说,两类验证码对应两种攻破验证码的需求:

1.如果黑产希望批量注册账号,比如说某个网站搞活动发福利,如果能注册海量的账号参与抽奖,就有很大的把握弄到福利,这时候就需要突破注册时的验证码。

或者批量下订单、批量参加活动,凡是涉及到用机器批量参与到这类活动当中,只要服务方设置了验证环节,都需要突破验证码。

2.如果黑产盗取了用户的账号和密码,希望从账户中盗取财产,就需要验证码了。但是,问题在于,短信验证码是发到用户手机上,这时候黑产就需要想办法骗到这个短信验证码,至于骗的方式也是五花八门,现在常见的盗取银行卡财富的都是这样。

打码平台的出现

前文提到的第一类验证码本质上是图灵测试,不能让计算机通过而且得让人类很容易通过,这这个前提下,验证码和反验证码之间就像一场漫长的无硝烟战争,从发展之初渐渐演变成今天的样子。

但是,有一种事物的出现, 打破了验证码与反验证码之间的平衡:打码平台

所谓“打码”,就是利用人工大量输入验证码的意思。

由于验证码图像生成技术无论成本和难度都要远远低于图像解码识别技术,就拿这种简单的验证码来说:

普通验证码

我们肉眼一看就知道是“211”,但是要想让计算机识别,就得遍历所有像素点,然后二值化,得到一个数组,再分析数组,删除干扰的点、线,对数组进行匹配。如果通过率不高的话,还需要组织大量的样本对算法进行训练。

整个过程想想都麻烦!于是,破解验证码从自动化逐渐转变成使用人工,即雇佣人去解码,而不是研发新的解码系统。

打码平台长什么样

打码平台更类似兼职平台,除了人工输入验证码之外,还能把很多人的闲暇时间利用起来。注册打码平台,服务端会自动把验证码发送到客户端,打码工只需要识别验证码中文字并输入即可,就像这样:

打码工具

打码工根据打码的数量来计算收入,一般会有一个计算方法,包括正确率、完成数等。有的验证码平台会限制IP,所以有的打码客户端可以在码的过程中不时地更换IP。

换IP打码工具

2006年开始,中国互联网的游戏和电商开始了高速发展,流量终于可以变现。邮件营销,SEO,IM工具营销等开始火热,打码模式到了新的发展高度,由于打码软件用户的特殊性,也是为了隐藏自己,目前的打码组织都是通过API 来分发,而集成到专有专用的软件中使用(一般使用打码API的软件都是定制开发)。

这就让打码模式更上一层楼了,假设我想要定制一个邮件营销的程序,如果需要识别验证码,我只需要在软件中接入打码组织的API,冲上钱,那么验证码系统就再无法阻拦这个程序。

很有意思的是,打码模式其实是起源于中国,这与中国人力成本低也有很大的关系。现在,打码模式已经传到了全球各地,各大第三世界国家很多人靠打码为生,不完全统计有100万以上的打码工人存在。

也算是“中国创造”走向世界的一个范例吧。