首页
学习
活动
专区
工具
TVP
发布

安全支招—如何应对节日活动中,短信验证码的攻击?

如今,大量的网站、手机app都在使用短信验证码作为验证用户身份的安全技术措施。

特别在过年的时候,企业的促销、抽奖、互动活动会迎来一个高峰期,小伙伴的手机是不是也像这样被轰炸了?

但不少用户业务的短信验证码功能被攻击,短信接口被恶意利用,导致业务无法正常访问。同时,被刷的短信成本也直接造成一定量的资金损失。

Q:哪些场景需警惕?

注意:网站在线注册页面

网站在线找回密码页面

手机短信动态密码登录页面

02、风险业务

所有行业的在线投票类页面

Q:哪些场景需警惕?

A:例如微信投票、在线投票、H5投票等。

03、风险业务

电商、零售、金融网贷行业的活动页面

Q:哪些场景需警惕?

A:活动领券页面、参与活动页面。

短信验证码功能被攻击的危害比想象中更大

企业用来确保安全的短信验证码,也会把攻击吸引过来,这一风险对企业的危害巨大。

攻击短信验证码功能一般直接导致企业的短信接口被“刷”。容易发生短信接口被“刷”的业务场景,包括以下三大类:

当短信接口被刷,对于企业而言,主要有以下危害:

1.过多的短信接口请求导致服务器负载增加,严重情况下导致服务器资源耗尽,无法响应请求,影响用户正常的访问;

2.过多的短信接口发送,导致正常用户无法使用短信验证服务;

3.过多的短信接口非法调用消耗短信包资源,从而直接导致运营成本增加。

||知乎专栏提问

了解了风险之后,企业也不必过度担心,下面整理了八招防范短信接口被刷的“指南”,可帮助了解如何防范短信验证码背后的安全风险。

1、手机号码逻辑检测

在手机号码窗口增加号码有效性检测,防止恶意攻击者使用无效或非法的号码,从而在第一窗口屏蔽非手机号的乱码等无效数字。

2、随机校验

在注册页添加个隐藏的,设置保存在session中的随机验证码,发短信前验证一下,保证发验证码短信请求是在业务页面点击。

3、增加友好的图形验证码

当用户进行“获取动态短信” 操作前,弹出图片验证码,要求用户输入验证码后,服务器端再发送动态短信到用户手机上,该方法可有效缓解短信轰炸问题。

由于当前验证码在攻防对抗中逐步被成功自动化识别破解,我们在选用安全的图形验证码也需要满足一定的防护要求。

4、同号码短信发送频率限制

采用限制重复发送动态短信的间隔时长, 即当单个用户请求发送一次动态短信之后,服务器端限制只有在一定时长之后(此处一般为60-120秒),才能进行第二次动态短信请求。

该功能可进一步保障用户体验,并避免包含手工攻击恶意发送垃圾验证短信。

5、不同号码请求数量限制

根据业务特点,针对不同手机号码、不同访问源IP访问请求进行频率限制,防止高并发非法请求消耗更多的短信包和服务器性能,提高业务稳定性。

6、场景流程限定

将手机短信验证和用户名密码设置分成两个步骤,用户在填写和校验有效的用户名密码后,下一步才进行手机短信验证,并且需要在获取第一步成功的回执之后才可进行校验。

(完整的动态短信验证码使用流程)

7.启用https协议

为网站配置证书,启用https加密协议,防止传输明文数据被分析。

8.单IP请求限定

使用了图片验证码后,能防止攻击者有效进行“动态短信”功能的自动化调用。但若攻击者忽略图片验证码验证错误的情况,大量执行请求会给服务器带来额外负担,影响业务使用。建议在服务器端限制单个 IP 在单位时间内的请求次数,一旦用户请求次数(包括失败请求次数)超出设定的阈值,则暂停对该 IP 一段时间的请求。

若情节特别严重,可以将 IP 加入黑名单,禁止该 IP 的访问请求。该措施能限制一个 IP 地址的大量请求,避免攻击者通过同一个 IP 对大量用户进行攻击,增加了攻击难度,保障了业务的正常开展。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180223A09S4Z00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券