如何有效防止验证码盗刷?

简介: 验证码盗刷是攻击者利用程序批量请求短信验证码,对用户和企业造成经济损失与骚扰的安全威胁。为更安全地完成身份验证,企业可以采用阿里云提供的防盗刷监控、号码认证及图形认证等服务。

验证码盗刷是一种常见的安全威胁,是指攻击者利用用户短信资源中的验证码获取功能,通过程序批量对单个或多个号码进行验证码重复请求提交,给用户带来经济损失和骚扰,同时也给业务方造成品牌及业务不良影响。例如,攻击者通过盗取验证码,可能会登录用户的银行账户、支付平台等,进行非法转账、消费等操作,导致用户财产损失。同时,大量的恶意请求会使企业无法响应正常用户的请求,影响企业的业务运营。

01 验证码盗刷背后,是如何更安全地完成身份验证

每一个想要解决短信验证码盗刷问题的企业,其背后的真正目的,其实是以更加安全的方式,完成企业用户的身份验证。核验用户身份的方式有很多种,可以基于密码、行为、固有因素、token 或知识因素,短信验证码是比较典型的基于密码完成身份验证的方式。

虽然这种方式兼容性高、方便快捷,但一方面存在盗刷风险,另一方面信号、欠费、关机、短信平台的质量、通道的稳定性和软件拦截等因素都可能导致短信验证码无法及时送达。

因此,在短信验证码之外,阿里云也提供其他了包括号码认证、图形认证等多个能够满足安全性、便捷性和更优用户体验的产品服务,从根源上抵御验证码盗刷,助力企业安全完成用户身份验证。

02 解决短信验证码防盗刷:阿里云短信服务支持防盗刷预警

短信作为验证码发送的载体,其安全性直接关系到验证码的安全性。当短信的安全措施不足时,攻击者可能会利用漏洞,通过程序批量对单个或多个号码进行验证码重复请求提交,导致验证码盗刷,还会导致资金损耗。

为有效防御,阿里云短信服务提供防盗刷监控功能。开启后,可填写监控开启阈值预警触发阈值,针对接收次数的限制,可以防止单个手机号无限制刷短信。

  • 监控开启阈值:设置每小时验证码短信发送条数。
  • 预警触发阈值:设置当前一小时验证码成功率和当前一小时较前一天同时间段验证码增长率。

同时,企业还可采用以下手段进行防御:

  • 通过观察验证码短信发送量,观察其是否与业务量级匹配,或是否有异常激增,来判断是否发生了验证码盗刷事件。
  • 配置验证码发送频率和总量设置
  • 在服务器端对短时间内“单个 IP 请求验证码”的数量进行限制
  • 在服务器端对短时间内“单个手机号请求验证码”的数量进行限制

03 号码认证:不发验证码短信,也能完成身份验证

号码认证可以理解为本机号码一键登录,是一种基于运营商网关认证能力的身份验证方式,用户只需一键授权,即可使用本机号码完成注册或登录。其原理主要依托运营商的移动通信网络,采用通信网关取号技术,准确识别用户流量卡归属的手机号码。在获得用户授权后,APP端可使用本机号码实现一键免密登录。

在整个过程中,应用只能获取到用户的手机号码,并不能获取到其他任何与手机号码相关的信息。

04 图形认证: 提升盗刷难度,抵御自动化攻击

基于行为的身份验证在安全性方面具有显著优势,特别是在动态验证、难以模仿和持续监控方面。这些特点使得基于行为的身份验证能够更有效地防止攻击者获取和使用用户身份,从而提供更高的安全性。

图形认证就是基于行为验证的方式之一,它通过图形交互来区分人与机器,阻止机器脚本程序滥用攻击业务和网络资源,有效区分人类用户与自动化攻击,从而抵御脚本攻击和撞库行为。

去年 8 月,阿里云推出了图形认证服务,涵盖滑块验证、图标点选、文字点选、字序点选、九宫格验证 5 种形态。

             

欢迎前往阿里云官网,搜索“短信服务/号码认证”了解以上产品详细信息。

相关文章
|
7月前
|
数据采集 监控 安全
阿里云短信服务+图形认证,有效降低验证码盗刷概率
阿里云短信服务+图形认证服务,有效降低验证码盗刷概率。
689 3
阿里云短信服务+图形认证,有效降低验证码盗刷概率
|
11月前
|
前端开发 安全 Java
SpringBoot 实现登录验证码(附集成SpringSecurity)
SpringBoot 实现登录验证码(附集成SpringSecurity)
570 0
|
2月前
|
缓存 Java 应用服务中间件
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
433 5
|
8月前
|
存储 NoSQL 数据库
认证服务---整合短信验证码,用户注册和登录 ,密码采用MD5加密存储 【二】
这篇文章讲述了在分布式微服务系统中添加用户注册和登录功能的过程,重点介绍了用户注册时通过远程服务调用第三方服务获取短信验证码、使用Redis进行验证码校验、对密码进行MD5加密后存储到数据库,以及用户登录时的远程服务调用和密码匹配校验的实现细节。
认证服务---整合短信验证码,用户注册和登录 ,密码采用MD5加密存储 【二】
|
6月前
|
C#
C# 图形验证码实现登录校验代码
C# 图形验证码实现登录校验代码
206 2
|
6月前
|
Java
Java 登录输入的验证码
Java 登录输入的验证码
69 1
|
8月前
|
资源调度 JavaScript API
nest.js + sms 实现短信验证码登录
本文介绍了在Nest.js框架中集成短信验证码登录的实现方案,详细阐述了使用阿里云短信服务的配置流程、资质申请、短信模板设置,并提供了API调用示例和工程代码的运行步骤。
nest.js + sms 实现短信验证码登录
|
7月前
|
存储 JSON 前端开发
node使用token来实现前端验证码和登录功能详细流程[供参考]=‘很值得‘
本文介绍了在Node.js中使用token实现前端验证码和登录功能的详细流程,包括生成验证码、账号密码验证以及token验证和过期处理。
198 0
node使用token来实现前端验证码和登录功能详细流程[供参考]=‘很值得‘
|
8月前
【Azure 环境】中国区Azure B2C 是否支持手机验证码登录呢?
【Azure 环境】中国区Azure B2C 是否支持手机验证码登录呢?
|
11月前
|
缓存 算法 NoSQL
短信验证码登录接口,如何防止恶意攻击
该文讨论了移动应用中常见的手机短信验证码登录(短验登录)的安全设计。后端通常需要提供获取短信验证码和手机短验登录两个API。为了增强机短验登录API的安全性,提出了几种无需依赖Redis等存储介质的方案:1)使用数字签名确保请求合法性;2)基于时间戳的验证,允许在一定时间范围内有效;3)应用TOTP算法生成动态码进行验证;4)利用JWTToken进行身份验证并设置有效期。文章强调了创新思考在解决安全问题中的重要性,并鼓励读者分享更多方案。
788 1
下一篇
oss创建bucket