Article / 文章中心

产品防护:5种常见的短信验证码防刷策略

发布时间:2020-04-01 点击数:3720

来源:我是产品经理

编辑:刘光昕

         产品人员要在防护与用户体验之间寻找平衡,结合自身产品特点选择,要未雨绸缪不应到短信被刷才进行防护。

    短信验证码作为重要的身份验证工具,因其操作简便、安全性高、时效性强等优点已被开发人员广泛使用。但因其获取便利、限制较少容易被不法分子利用进行短信轰炸,恶意刷掉大量短信费用,给公司或个人造成大量的金钱损失,造成这种情况原因主要是在产品实际设计过程中,有些产品人员因为对技术实现不太了解,防范意识薄弱,简单或直接忽略对短信验证码进行限制,这才造成短信接口恶意被不法分子利用。

在介绍防刷策略前我们需要了解下常见的刷短信验证的行为。

1.以攻击手机号为目的刷短信验证码

这类攻击目标主要是攻击者借助web网站短信接口对目标手机号进行短信轰炸。攻击者会先收集互联网上多个未经防护的网站短信接口,设定要攻击的手机号码通过模拟用户,循环向后台发送短信验证码请求,达到攻击手机号的目的。对于这类攻击通过一般验证码设置即可达到防护目的。

2.以恶意刷取目标网站短信费用为目的的攻击

这类攻击主要目的是刷掉目标网站的短信费用,在第一种基础上攻击者会不停变换各种接口参数如手机号、IP(采用高匿代理)等去请求后台发送短信验证码,进行恶意刷短信,后台根本无力辨别用户真伪。攻击目标明确,难以防护,因其变换不同IP、手机号,一些简单措施基本失效,产品设计人员在前期产品设计时尤其需要注意这类攻击。

下面是针对攻击者做出的一些应对措施。

1.前端增加图文验证码

在获取短信验证码前增加图文验证码是较为常用的方法。攻击者一般是采用自动化攻击,增加图文验证码后,攻击者要对验证进行识别验证成功后才能进行模拟用户发送请求,这一步需要在页面中进行,无法采用自动化攻击。第一种攻击基本上失效,同时会增加第二种的攻击成本(有可能采用人工打码方式进行验证)选择验证码时既要考虑用户操作过程的流畅度,又应该考虑到安全度。

下图是几种常见的图文验证码,可以结合自身平台特点进行选择,

2.限制单个手机号每日接收短信次数和时间间隔

对单个手机号进行日接收次数的限制,可以防止单个手机号无限制刷短信,同时设置时间间隔可以有效,防止人工刷票。短信接收次数可以根据平台特点进行限制,一般日接受验证码次数为10次左右;同一号码发送时间间隔通常为60秒,前后台应保持一致,避免出现只前端做倒计时限制,后台未做限制这种低级错误。

3.对IP进行限制

对单IP最大发送量进行限制,可以有效防止单一IP下多手机号被刷的问题。最大发送量限制是防止恶意攻击者同IP下不同手机号进行刷短信验证码行为。根据平台实际情况设计一个短信最大发送量的阀值,超过阀值将不予返回短信。

4.对注册流程进行限定

一般来讲常被攻击的地方是注册页面,一般是从两方面进行触发流程的限定。

  • 第一种,可以从前端写入指令,只允许在官网主页跳转入注册页面;
  • 第二种方法是对注册流程进行分步,先进行账户密码设置,设置成功后才可以再进行下一步的短信验证。

因为增加前置条件,增加攻击难度两种方法都是能有效防止自动化攻击,需要注意的是两种方法对用户体验或多或少的影响,产品经理需要结合自身平台特点选择。

5.对发送者进行唯一性识别

为了防止第二种恶意攻击者通过修改传向服务器各项参数,造成多IP多手机号刷短信验证码的行为,所以后台应对前台传过来的参数进行验证。方法一般是用token作为唯一性识别验证,后台写一个算法将token注入到前端,然后前端可以通过相应的规则获取到token,在发送短信验证请求接口数据时带上token,在后端对token进行验证,验证通过才能正常将短信发送。

在产品设计过程中一般采用前三种方式组合使用,基本可以防止大部分恶意刷短信验证码的行为。产品人员要在防护与用户体验之间寻找平衡,结合自身产品特点选择,要未雨绸缪不应到短信被刷才进行防护。

以上为短信被刷的传统防护方案,新昕科技的防护方案接近完美,兼顾用户体验和安全 。 

  新昕科技 www.newxtc.com ,创始团队来自百度旗下去哪儿、易宝支付、联动优势、高阳捷讯(19pay)等支付及航旅知名企业,历时3年时间,在价值百万的风控引擎基础上 ,训练出“防短信轰炸”智能模型,彻底解决“安全”与“用户体验”的矛盾,产品经理只需专注用户体验,无需为安全让步。

  1)无感:去类12306、对缺口拼图、拖动等所谓人机验证有感方式。 

 

化繁为简,简单到只需输入手机号,还产品本来面目

  2)保障:攻防对抗大数据训练的 AI模型,去前端交互验证方式,后端防御确保短信安全

     比如,同一个IP ,即使有1万个正常用户同时共同使用,可以确保放行,但常规的防控大多数被误拦。

      反之,攻击者控制1万台主机,1万个不同IP、手机,也保证拦截,但常规的防控对此无能为力。

    

    如何做到的, 基于三层AI防御体系,

     报文对抗层 在最外层应用加解密及混淆技术,对抗普通的攻击,

     蜂窝防护层 由时空主体组成蜂窝,确保被攻击后蜂窝之间互不影响,缩小受影响的范围,

     安全气囊   在确保老用户不受影响下, 根据攻击规模自动启停并进行动态控制。

 

  3)高效:价值百万的风控引擎浓缩的10M 短信防火墙安装包,本地部署运行,毫秒级响应。

  避免“云模式”的网络延时问题,导致滑动条出不来等情

 

关键技术说明:

    悬浮式指标引擎加载AI模型,悬浮于磁盘超高速运行,随输入的业务数据生成统计指标,提供给决策引擎做进一步分析处理,

 决策引擎加载“短信防轰炸”AI模型和指标后,和输入的业务数据流做逻辑判断后,输出风险结果,响应速度达到恐怖的1毫秒。

 

总结:随着互联网技术的不断发展,我们每日都离不开与互联网的交互。短信验证码作为互联网交互中的重要环节,保卫着网站的安全以及我们的信息安全。用户体验差、毫无安全性可言的图片验证码将退出历史舞台,未来将会是安全与体验双重保障的验证码的时代。