Web安全指南 | 八招应对短信验证码攻击

简介: 如今,大量的网站、网站、手机app都在使用短信验证码作为验证用户身份的安全技术措施。尤其在年底,企业的促销、抽奖、互动活动会迎来一个高峰期,用到短信验证码的场景非常频繁。 但近期,阿里云·云盾WAF团队监测到,不少用户业务的短信验证码功能被攻击,短信接口被恶意利用,导致业务无法正常访问。

如今,大量的网站、网站、手机app都在使用短信验证码作为验证用户身份的安全技术措施。尤其在年底,企业的促销、抽奖、互动活动会迎来一个高峰期,用到短信验证码的场景非常频繁。

但近期,阿里云·云盾WAF团队监测到,不少用户业务的短信验证码功能被攻击,短信接口被恶意利用,导致业务无法正常访问。同时,被刷的短信成本也直接造成一定量的资金损失。

有哪三大行业或者业务,需要警惕短信验证码背后的风险呢?

风险业务一:所有行业的网站登录类页面

哪些场景需警惕:网站在线注册页面,网站在线找回密码页面,手机短信动态密码登录页面。
3

风险业务二:所有行业的在线投票类页面

哪些场景需警惕:例如微信投票、在线投票、H5投票等。
2

风险业务三:电商、零售、金融网贷行业的活动页面

哪些场景需警惕:活动领券页面、参与活动页面。

4

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

企业用来确保安全的短信验证码,也会把攻击吸引过来;这一风险对企业的危害,且听安全君说明白。
1

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

  • 账号注册
  • 账号登陆
  • 账号密码找回

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

  • 过多的短信接口请求导致服务器负载增加,严重情况下导致服务器资源耗尽,无法响应请求,影响用户正常的访问;
  • 过多的短信接口发送,导致正常用户无法使用短信验证服务;
  • 过多的短信接口非法调用消耗短信包资源,从而直接导致运营成本增加。

八招防范短信接口被刷

了解了风险之后,企业也不必过度担心,以下“指南”,可帮助了解如何防范短信验证码背后的安全风险。

1.手机号码逻辑检测

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

2.随机校验

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

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

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

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

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

采用限制重复发送动态短信的间隔时长, 即当单个用户请求发送一次动态短信之后,服务器端限制只有在一定时长之后(此处一般为60-120秒),才能进行第二次动态短信请求。该功能可进一步保障用户体验,并避免包含手工攻击恶 意发送垃圾验证短信。

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

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

6.场景流程限定

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

7.启用https协议

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

8.单IP请求限定

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

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

阿里云安全专家提示,企业可以根据业务的实际情况考虑,从以上8大方式中选择并组合成最适合企业自身的防担心接口被刷方案。并且提高技术人员在实际活动中的安全意识,提前防范风险。

防止短信接口被刷最佳实践推荐

阿里云安全专家参考了大量企业进行防止短信接口被刷的策略,总结出以下四种方式组合是防止短信接口被刷的最佳方案,

  • 使用体验更好的验证码服务防止攻击;
  • 如果需要使用短信验证码功能,可以在“短信验证码”处增加滑块验证(简单的验证码可以被破解)防止被恶意刷短信接口。
  • 在登录页面增加逻辑判断,提高攻击门槛,例如:增加账号检验功能
  • 使用阿里云云盾WAF数据风控功能CC自定义功能精准访问控制等高级防护功能对接口进行防护。
目录
相关文章
|
6月前
|
安全 NoSQL Java
互联网并发与安全系列教程(06) - 常见的Web安全漏洞(CSRF攻击)
互联网并发与安全系列教程(06) - 常见的Web安全漏洞(CSRF攻击)
72 0
|
9月前
|
SQL 网络协议 安全
🕷️常见WEB攻击与防御
常见WEB攻击与防御
150 0
|
10月前
|
SQL JavaScript 前端开发
常见Web攻击技术
常见Web攻击技术
161 0
|
15天前
|
安全 JavaScript Go
【Web】什么是 XSS 攻击,如何避免?
【Web】什么是 XSS 攻击,如何避免?
|
20天前
|
SQL 存储 前端开发
< 今日份知识点:web常见的攻击方式(网络攻击)有哪些?如何预防?如何防御呢 ? >
网络安全威胁日益严重,2017年的永恒之蓝勒索病毒事件揭示了网络攻击的破坏力。为了防御Web攻击,了解攻击类型至关重要。Web攻击包括XSS、CSRF和SQL注入等,其中XSS分为存储型、反射型和DOM型,允许攻击者通过注入恶意代码窃取用户信息。防止XSS攻击的方法包括输入验证、内容转义和避免浏览器执行恶意代码。CSRF攻击则伪装成用户执行操作,防范措施包括同源策略和CSRF Token验证。SQL注入则通过恶意SQL语句获取数据,预防手段包括输入验证和使用预编译语句。面对网络威胁,加强安全意识和实施防御策略是必要的。
|
2天前
|
数据采集 SQL 安全
【网安】DDoS / Web漏洞 / CC攻击 / 恶意爬虫
【网安】DDoS / Web漏洞 / CC攻击 / 恶意爬虫
6 0
|
14天前
|
存储 Serverless 网络安全
Serverless 应用引擎产品使用之阿里云函数计算中的Web云函数可以抵抗网站对DDoS攻击如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
23 0
|
17天前
|
安全 前端开发 JavaScript
在Python Web开发过程中:Web框架相关,如何在Web应用中防止CSRF攻击?
在Python Web开发中防范CSRF攻击的关键措施包括:验证HTTP Referer字段、使用CSRF token、自定义HTTP头验证、利用Web框架的防护机制(如Django的`{% csrf_token %}`)、Ajax请求时添加token、设置安全会话cookie及教育用户提高安全意识。定期进行安全审计和测试以应对新威胁。组合运用这些方法能有效提升应用安全性。
22 0
|
9月前
|
SQL 存储 前端开发
web常见的攻击方式有哪些,以及如何进行防御?
web常见的攻击方式有哪些,以及如何进行防御?
131 0
|
5月前
|
数据采集 安全 JavaScript
百度搜索:蓝易云【高防IP如何防止爬虫和Web攻击?】
总之,高防IP通过多种技术和策略的综合应用,提供了强大的防御能力,可有效防止爬虫和Web攻击对服务器的威胁。它能够识别恶意流量、限制访问、拦截攻击和保护服务器的稳定性和安全性。
33 0