千家信息网

如何设计一个安全的短信接口

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇文章主要介绍"如何设计一个安全的短信接口",在日常操作中,相信很多人在如何设计一个安全的短信接口问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何设计一个安全的短信
千家信息网最后更新 2024年11月23日如何设计一个安全的短信接口

这篇文章主要介绍"如何设计一个安全的短信接口",在日常操作中,相信很多人在如何设计一个安全的短信接口问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何设计一个安全的短信接口"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

为什么会有人要刷短信接口?

1、被接入轰炸机
短信轰炸机一直就存在,他们会收罗一些没做防护的网站,将其作为轰炸机的傀儡。

2、恶意攻击竞争对手
如短信接口被请求一次,会触发几分钱的运营商费用,当量级大了也很可观。

3、当程序员无聊的时候
程序员:我好无聊啊,攻击一下XXX网站吧。就好比上学的时候看见完整的笔帽,老有一种想把它掰断的冲动,你有没有中招,哈哈。

言归正传

你打败了99%的人

-您本次验证速度打败了99%的人

最简单的方式就是增加验证码啦,每次用户主动获取短信前,都需要先完成图片验证码/滑动验证码的校验。

实现简单,也可以防止一部分攻击者,但是不管是图片还是滑动验证,都是可以被破解的,一但被破解,那你的短信接口相当于对攻击者毫不设防,非常危险。

没有人可以一直发短信

-您的短信发送已达上限

一般普通的验证码类型一般的使用场景都是登录、修改密码、注册等场景,一般来说都不是高频操作,所以我们可以针对单个用户和全局做数量限制:

比如一个手机号1小时内只允许调用5次,一天内只允许调用20次。

另外再根据历史趋势,对全局设置限制。比如前30天每天验证码短信量总量都在30万上下浮动,那我们可以设置每天的短信调用上限为40万,超出则进行限制、告警。

上面这种上限的方式一定程度上可以在被攻击的情况下及时 止损,但是也有小概率误杀或者局部影响整体的情况出现,所以需要看实际 影响使用

比如前几天趋势都是正常的,但是某天进行促销或活动,又或者是任何突发的流量进来,这时候这种全局上限的方式会影响正常用户的使用。

再比如说,用户当天可能由于各种原因,一段时间内某个操作频繁的获取验证码,导致短信验证达到上限,会影响到他所有短信接口都无法使用。

风控?风控!

-检测到您本次操作存在风险,操作被拒绝

当我们的业务越来越大,并且面向的用户越来越复杂的时候,上面我们提到的这些简单的规则很难应付业务或用户的复杂多变。

这时候就需要通过数据分析的方式,来动态的、实时的调整我们的规则和处理方式,以及提供风险分析、预测等功能。这时候我们可能需要有一个独立的风控服务。

做过支付业务的小伙伴可能会接触的比较多,支付风控远比短信业务风控要繁杂的多,防控规则策略可达上千条,甚至上万条。

那我们看到上面有看到,针对不同的模板的场景来确定风险等级,然后来做不同的操作,这块其实就涉及到风控相关了。只是比较初级,比如风险等级如何确定?每个风险等级需要做什么样的事情?如何进行动态的配置等等。

举个栗子:

我们可以收集用户的行为轨迹(注册时间、登录次数、页面访问情况等)来分析一个用户,确定用户的风险等级,再决定他可以发送哪些短信。

根据模板的历史趋势,来自动判断相应短信模板的合理范围,如果达到上限,则认为存在风险操作,可以做对应的处理。

配置相应的规则,如果某个设备在单位时间内重复N次发送短信操作,并都无反馈结果,则认为存在风险。

等等

风控不仅仅适用于短信接口的风险识别,还包括注册、登录、支付操作等等。这个也不是一蹴而就的,需要长时间的积累和建设。

比如上面说到的用户行为轨迹和模板趋势,都需要有全面的埋点和数据平台作为支撑。还有如果业务要求比较高,还需要开发适合自己业务的规则引擎。但是当风控系统建设起来之后,效果也是明显的!

当然,风控服务并非无可参考,国内有家公司一直致力于支付风控服务研究,对于风控业务颇为熟悉。再经过长时间试验,推出了短信风控服务--短信风控防火墙。

到此,关于"如何设计一个安全的短信接口"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0