如何解决短信验证码接口被攻击的问题?

如何解决短信验证码接口被攻击的问题?
最新回答
巷尾青苔

2020-08-15 11:51:43

  • 普通自开发

  • 发送时间间隔

    设置同一个号码重复发送的时间间隔,一般设置为60-120秒。该手段可以在一定程度上防止短信接口被恶意攻击,且对用户体验没有什么伤害。但是不能防止黑客更换手机号进行攻击,防护等级较低。

    获取次数限制

    限制某个手机号在某个时间段内获取短信验证码次数的上限。采用这种策略时在产品设计过程中,有几点需要注意。

  • 定义上限值。根据业务真实的情况,甚至需要考虑到将来业务的发展定一个合适的上限值,避免因用户无法收到短信验证码而带来的投诉。

  • 定义锁定时间段。可以是24小时,可以是12小时、6小时。需要根据业务情况进行定义。

  • IP限制

    设置单个IP地址某个时间段内最大的发送量。该手段可很好的预防单一IP地址的攻击,但是也有两个很明显的缺点:

  • 对于经常变更IP地址进行攻击的黑客,该手段没有很好的效果。

  • IP的限制经常会造成误伤。如在一些使用统一无线网的场所,很多用户连接着同一个无线网,这个IP地址就容易很快达到上限,从而造成连接该无线网的用户都无法正常的收到验证码。

     图形验证码    

    在发送短信验证码之前,必须通过通过图形验证码的校验。这种手段相对来说可以防止某些攻击,因此也是目前非常普遍的短信防攻击机制。但是在使用过程中涉及到用户体验问题,不能简单粗暴地套用这一策略。以下几个点值得仔细考虑:

  • 是不是每次获取短信验证码之前都需要用户输入图形验证码,一般来说这样做会极大地影响用户体验,虽然是相对安全,但是用户用着不爽了。

  • 可以给一个安全范围。结合手机号限制、IP限制来考虑,比如同一个手机号当天第3次获取短信验证码的时候,出现图形验证码;比如同一个IP地址当天获取验证码次数超过100次后,出现图形验证码。

  • 加密限制

    通过对传向服务器各项参数进行加密,到了服务器再进行解密,同时用token作为唯一性识别验证,在后端对token进行验证,验证通过才能正常将短信发送。该手段可以在保证用户体验的情况下,可以有效防止某些攻击,因此也是目前比较常见的短信防攻击机制。同时也有很明显的缺点:

  • 使用的加解密算法可能会被破解,需要考虑使用破解难度较大的加解密算法。

  • 在算法不被破解的情况下可以有效防止报文攻击,但是无法防止浏览器模拟机式攻击。

  • 以上是几种常见的短信风控策略,在具体的产品设计过程中,可以综合使用。

  • 使用第三方防御

  • 短信防火墙

    为了在产品安全和优秀的用户体验之间寻找一个极佳的平衡。新昕科技的产品研发团队结合各种风控策略的优点研发出了一款短信防火墙。 从以下几个方面概括一下:

  • 为保障优秀的用户体验,摈弃了目前影响用户体验最为严重的图形验证码等人机校验程序,做到无感验证。从而达到完美的用户体验。

  • 结合用户的手机号码 、IP地址 、设备指纹三个唯一身份标识设置不同维度的风控策略。将各个维度之间相互配合,达到一个最为合理的风控限制指标。

  • 根据业务情况自动伸缩风控限制,在检测处受攻击时自动加大风控限制力度,在正常是再归回到正常风控标准。

  • 考虑到存在新老客户的区别,特意增加老客户VIP通道,在受到攻击时,风控指标紧缩的情况下,保证老客户通道畅通无阻,从而降低误伤率。

  • 通过以上策略可以有防止黑客通过随意切换手机号及IP地址的方式可以刷取短信。同时加入模拟器检测,以及参数加密等风控策略,有效防止黑客攻击。

  • 可通过风控防火墙控制台,实时观测风控结果,在受到攻击时达到第一时间预警的效果。

  • 如需了解更多请关注新昕科技官网:newxtc.com

    请点击输入图片描述

    请点击输入图片描述


痛徹心扉

2024-02-29 03:06:09

可以设置网页验证码输入后再点击发短信,还有就是接口后台设置一个手机号在一定的时间规定收到短信的次数。
温柔少女控

2020-05-26 21:41:16

需要短信平台的话可以测试巴卜
短信平台这种还是要亲自测试看看才能更加深入地了解平台的一些版功能的,以及是否符合你的要求,能够达成你们业务的要求。很多平台权都有提供免费测试的机会,可以多测试几家对比看看。
猫儿少女

2024-01-29 11:30:58

可以考虑结合语音验证码使用,现在网站用的就是广东第五大道的
魔怪小姐

2022-07-23 00:04:50

1、增加图形验证机制 ——将图形校验码和手机验证码进行绑定,即当用户进行“获取动态短信” 操作前,弹出图片验证码,要求用户输入验证码后,服务器端再发送动态短信到用户手机上,该方法可有效解决短信轰炸问题。
由于攻击涉及到不同的业务场景,我们可以做不同的处理,针对注册页面增加图形验证码机制,针对忘记密码页面我们采取分步校验,先校验用户名密码并得到成功回执后才进行短信验证码的发送。
2、设置短信间隔时间 ——设置同一号码重复发送的时间间隔,一般设置为60-120秒。
3、发送量限定 ——设置每个手机号码每天的最大发送量。
4、IP限定 ——根据自己企业的业务特点,设置每天IP最大发送数量。
5、流程限定 ——将用户手机短信验证码和密码设置成两个步骤,用户在注册成功用户名密码后,下一步才进行手机短信验证。
6、触发条件 ——用户必须填写好所有注册信息才可进行触发,注册资料不完整无法发送验证码。
收起 2条折叠回答