短信接口被恶意攻击的最常见的一种情况就是短信验证码被盗刷。
一般分两种情况:
攻击一个手机号
一般是针对个人的,当攻击者通过某种途径获取被攻击者的号码后就会利用某网站或者某一个软件的短信功能对其进行短信轰炸。简单来说,就是黑客在获取了某人的手机号码后,就开始模拟用户的操作向网站或者软件发送请求,而用户的手机不断受到验证码轰炸。
消耗网站或软件短信费用
攻击者利用例如不同手机号或者IP向软件或者网站发送验证码请求,把网站或者软件的短信费用消耗在无用的号码身上,消耗其短信成本。
短信验证码被攻击的后果
其实从上面两种手段大家也不难推断出,验证码被盗刷的后果,从用户方面来说,手机无休止的收到短信轰炸,不胜其扰。
但是更严重的后果是对网站或者软件而言的,用户发现自己老是被“骚扰”,你说最后结果是啥?简单投诉都是轻的,如果受到影响的人很多,用户大量流失就不好了。其次,短信余额被浪费,而且如果不解决短信费用投入再多也没用。
作为短信接口供应商该怎样防护?
以我们短信平台为例---Unisms
设置短信验证码的有效时间和间隔时间
一般间隔时间在60秒,在这一分钟之内只能申请一次验证码。有效时间和间隔时间可以根据企业或者个人自定。
除此以外在验证码请求之前还可以添加前端验证码可以有效的减少恶意盗刷。
设置单个手机号,IP的申请次数。
当单个手机号申请次数达到上限时,验证码申请权限关闭,节省短信余额。
单个IP请求突然暴增时,会对发送量进行限制,当超过了一定量时将不会再返回短信。
作为网站本身该如何解决?
在网站开发的代码里对请求IP,频率等进行限制,防止被攻击者伪造函数请求找回密码,增加手机号码判断的比重。
如果实在感觉欠妥除了选择优质短信接口供应商,还可以找专门的防护墙公司来处理,术业有专攻嘛,找专业的解决自己还省的自己去找BUG(划掉),公司推荐比如Sinesafe和绿盟。
在防止短信验证码被盗刷的这条路上的方法有很多,以上推荐的几种建议是搭配着用全方位进行防护,这样的话攻击者找到的漏洞比较少,受到侵害的可能性最大限度地减小。