1. 限制同设备标识,同IP,同手机号的发送次数

增加短信接口的流控,通过请求获取用户设备标识,IP,及手机号的信息,用户这三个属性有一个相同,则认为是同一客户端。针对同一客户端,限制每个客户端单位时间内调用短信接口的次数,如一分钟调用一次。

2. 设置设备标识,IP,手机号的黑名单

单位时间内同一设备标识,IP或者手机号访问短信接口的次数大于某一阈值时,将该标识加入到黑名单列表中。对于已被拉黑的设备标识,IP或者手机号,同样提示发送成功,而后端不发出短信,以扰乱攻击者视听。由于攻击者手机号伪造时可能会碰巧与正常用户的手机号相同,所以讲手机号加入黑名单时需要特殊注意。

加入黑名单的客户端可以在一段时间间隔后自动解除黑名单。

3. 采用图形验证码验证,点触验证或滑动验证

在发送短信时,增加图形验证码验证,点触验证或滑动验证。图形验证码是常用的验证码验证方式,但是攻击者可以通过OCR技术进行破解,需要不定时的动态升级图形验证码,增加破解难度。

推荐使用点触验证或滑动验证,通过采集用户当前各种的参数行为(行为轨距,操作时间,当前环境等等)来判断是否为机器行为。在用户体验上,手机端不建议使用选字类型的验证码,对于非大屏的手机不是很友好。在安全性上,这类验证码要比其他验证码破解成本高。市面也有现成的方案,比如luosimao的人机验证和极验。

4. 检测IP所在地是否与手机号归属地匹配

IP地址和手机号码都伴随着地理位置属性。通过对GEO-IP库和手机号码归属地库的映射,从地理位置的维度判断风险,例如手机号码归属地与IP归属地不同等等,并对来自高危地区的请求做加权识别。

5. 预发送请求从后端获取令牌

在发送短信页面载入时,向后端发送请求,根据客户端相关信息生成令牌返回给前端。前端获取令牌后,在发送短信时,再次编码将令牌送回发送给后端。后端对两次的令牌进行验证,没有问题再进行短信的发送。

这需要前端对JS进行混淆,保证攻击者无法从前端获得令牌。

另外,需要限制令牌的时效性,令牌是根据时间戳生成的,只有比较短的有效时间。

6. 要求输入实名姓名,利用API进行核对

国内手机都是实名认证的,在关键短信发送时,可以让用户输入或者从其他渠道获取用户的真实姓名,通过相关API对用户的手机号真实性进行认证。

7. 通过WAF拦截无效请求

通过nginx+lua+redis构建WAF,在请求访问应用服务器之前就对无效请求根据策略进行拦截,如指定时间间隔内同IP请求次数大于某一阈值时,对后续请求进行拦截。

短信接口安全防护策略相关推荐

  1. 短信接口安全防御策略

    在知乎上看到的一篇文章,写的挺清楚的 作者:luosimao.com 链接:https://zhuanlan.zhihu.com/p/20879468 来源:知乎 著作权归作者所有.商业转载请联系作者 ...

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

    短信验证码作为重要的身份验证工具,因其操作简便.安全性高.时效性强等优点已被开发人员广泛使用.但因其获取便利.限制较少容易被不法分子利用进行短信轰炸,恶意刷掉大量短信费用,给公司或个人造成大量的金钱损 ...

  3. 短信接口被恶意盗刷(验证码短信被盗刷)怎么办?

    短信验证码被刷怎么办? 一 事件简述 二 问题分析 三 应急解决方案 1 黑名单模式拦截 2 请求验证拦截 3 应急方案总结 四 最终解决方案 第一步:获取防火墙帐号密钥 第二步:下载防火墙服务器 第 ...

  4. 我们公司的短信接口被刷了,瞬间损失两万,怎么解决?(短信接口被盗刷系列1)

    1 我们公司的短信接口被刷了,瞬间损失两万 前两天的中午像往常一样热,太阳不知疲倦的在天空燃烧,热跑了云彩和鸟儿,马上就要点燃空气和我的脑神经.为我和电脑降温的,是我简陋的书桌上的小电扇,没有它的话, ...

  5. 短信接口被恶意调用,瞬间损失两万,怎么解决?

    1 我们公司的短信接口被恶意调用,瞬间损失两万 前两天的中午像往常一样热,太阳不知疲倦的在天空燃烧,热跑了云彩和鸟儿,马上就要点燃空气和我的脑神经.为我和电脑降温的,是我简陋的书桌上的小电扇,没有它的 ...

  6. php系统5000块钱的短信,两天被刷完了,短信接口被恶意盗刷怎么办?(短信接口被盗刷系列4)

    在php聊天群里,有位同学说 他们的5000块钱的短信,两天被刷完了!,问群里大佬怎么办! 就一般的防止短信验证盗刷而言(通过修改手机号修改验证码),我们通常的防止短信被滥发,就是 (1)限制每个手机 ...

  7. twilio 短信接口_使用Android Things和Twilio构建短信通知系统

    twilio 短信接口 在本教程中,我们将介绍如何使用Android Things和Twilio构建SMS通知系统. 本教程的主要目标是逐步描述如何实现基于Android Things的IoT系统,该 ...

  8. springboot项目调用阿里云短信接口(包括短信上行)

    最近一直在做项目,很久没有写过博客了,最近做的一个项目中遇到了一个业务需要用到短信功能包括了发送短信和短信回复之后要收到回复内容,阿里云短信服务是一个非常好的平台,里面提供了多种短信接口可以供我们使用 ...

  9. 短信接口发送失败常见原因,你掌握多少?

    近期,我们发布<短信验证码防攻击策略>.<企业如何保障短信数据安全?>,对广大企业用户信息服务过程中常见的一些问题进行科普,希望从专业的角度为企业客户提供技术及运营思路,尽量规 ...

  10. 避免短信接口被黑客调用的方式

    短信服务接口安全是在开发或对接短信接口时尤为关注的问题.部分黑客可能出于恶意竞争或短信轰炸他人的目的,攻击短信服务接口,盗刷验证短信,造成资金损失.那么应该如何避免短信接口被恶意调用?本文为大家介绍一 ...

最新文章

  1. java rectangle获取xy_JFreeChart 动态移动线 并求出两条线交点XY
  2. 对话微软黄学东:语音语言技术是镶在 AI 皇冠上的明珠
  3. Scipy Lecture Notes学习笔记(一)Getting started with Python for science 1.2. The Python language
  4. 企业命令linux下处理实时日志生成另一个实时日志
  5. 登录和注册(struts2+hibernate+spring)
  6. 概述nodejs核心机制
  7. [js] 写一个方法,当给定数字位数不足8位时,则在左边补充0以补足8位数的方法
  8. 使用python排序_Python排序
  9. Jenkins+Gitlab+ansible-playbook上线流程
  10. MySQL 5.7.9 免安装配置
  11. [转]C语言嵌入式系统编程修炼之背景篇
  12. 常见排序算法整理1(C++实现)
  13. 解决递归求快速排序时间复杂度计算
  14. H5+CSS前端特效源代码:可旋转动态日文片假名
  15. Rails——migration
  16. 厦门大学麦嘉仪:统计学专业到微众银行风控岗!
  17. CF869A The Artful Expedient 结论题+数论
  18. 苹果EMS物流管理系统
  19. BUUCTF RE [SUCTF2019] SignIn
  20. 数学分析第二型曲线积分2021.6.2

热门文章

  1. Mac通讯录管理软件BusyContacts安装教程
  2. 【算法系列】-开根号
  3. gg修改器免root下载
  4. html5 摇骰子游戏,HTML5+JavaScript实现掷骰子游戏代码
  5. 2019保定中考计算机时间安排,2019年保定中考考试时间安排,保定中考考试科目时间安排表...
  6. PSV卡套 换卡工具 下载及使用
  7. Thinkpad T410i-2516A21 安装Ubuntu10.0.4记录
  8. struts1.x 升级到struts2的几点问题
  9. 海岸鸿蒙质检质控样浓度一览表,环境标准样品数值对照表(质控样)
  10. javaScript、PHP连接外卖小票机打印机方案(佳博、芯烨等)