概述
短信验证码的作用对于APP、网站而言不言而喻,是核验用户身份、保障用户账户安全的一道防线。然而,在企业网站和应用运营过程中,产品设计的小漏洞很容易造成短信验证码被攻击,进而给用户和企业带来麻烦。例如,用户注册页、短信验证码快速登录页、在线投票页等,诸如此类接口未调用对方身份验证的场景,都是常被攻击的。
短信验证码被攻击分为两种情况,一是不法分子利用发送接口漏洞,通过不断变换IP地址的方式伪装成大批量手机号码获取验证,从而对企业短信费用造成高额损失;二是不法分子只攻击某个特定号码,反复向同一个手机号码发送验证码,对机主形成严重骚扰,并可能给企业带来投诉和处罚。
无论是出于那个目的,短信验证码一旦被攻击都会产生非常不良的影响,关于提高验证码安全性有以下几方面思考。
1、手机号码限制。限制单个手机号码每天的最大发送次数。超过次数则不能再发送短信;不过也需要谨慎定义该号码的锁定时段,需要既保障用户真实的注册、登录操作不受影响,又能有效防范攻击;
2、增加行为式验证码。用户获取验证码之前,可通过触点式和拖动式行为验证确保用户真实身份,将黑客和刷机工具拒之门外;
3、设置单个IP地址某个时间段内最大的发送量。该手段可很好的预防单一IP地址的攻击,但是对于变换IP地址的黑客不奏效,并且很可能会因为禁止某个IP形成一刀切的限制,导致该IP下其他用户也无法正常获取验证码。例如,某集团公司集体注册某APP。
4、改变验证码下发流程。先完成用户注册,再下发验证码绑定手机,不过这样增加了用户的操作步骤,影响用户体验的流畅度。
5、设置验证码获取间隔。限制同一个手机号码重复发送的时间间隔,通常设置为60-120秒;
6、采用一键登录用与短信验证码组合模式。一键登录是通过运营商网关取号的方式,自动识别用户号码完成核验,全过程采用安全系数高的非对称加密算法加密处理,防篡改防抓包,在安全性上有可靠保障。一键登录需要用户具备数据蜂窝网络,假设在无网情况下,则不能完成验证。因而,企业可以采用一键登录与短信验证码组合的方式,当一键登录核验失败时再切换到短信验证码,尽可能的保障用户操作的便捷性和流畅性。
最后
以上就是明理月饼为你收集整理的产品安全:如何解决短信验证码被攻击难题的全部内容,希望文章能够帮你解决产品安全:如何解决短信验证码被攻击难题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复