【企业安全】企业安全项目-短信验证码安全

1、总体概况

谈起短信验证码的安全,首先从脑海中蹦出来的可能有:短信炸弹、验证码暴力破解、验证码重复利用、短信验证绕过……追究其根源,大致可以分为短信相关接口、验证码的特性甚至与业务逻辑验证相关联。

然而,短信验证码安全算是企业安全建设中能马上“止血见效”的突出代表,无论是从企业开销,又或实际有效性,还是用户体验来说,保护好我们的短信相关接口、完善校验逻辑是十分有必要的。本篇章将从短信验证码常见风险场景(验证码挖洞技巧)与加固措施等方面进行展开。

2、风险描述

  • 短信任性发,慢性恶意消耗企业费用

在做验证码安全改造项目过程中,深刻的领悟到“水滴石穿”的道理,每条短信大约0.03元,目测单价很便宜但整个公司的业务短信量却很庞大,一年下来正常的总花销也是一大笔费用。如果发送短信接口被轰炸平台抓住,被用于发送恶意短信,无形之中在帮别人恶搞或出气时,还得为他买单。

曾发现某平台(gghzj.cc)在半小时内,调用我们的短信发送接口18w+次。庆幸的是该接口已经进行改良,设置了其他参数与规则进行严格校验。

  • 短信滥发,客户投诉,通道面临关停风险

中间件的同学常常发来坏消息,某通道因为投诉被处罚关停,这是常见的由客户发起投诉的案例。至于原因除了短信发送接口存在安全缺陷导致不停发送外,不可忽视的还有测试环境的规范化问题,在进行功能测试时,是否操作不规范致发送短信验证码到真实用户手机。

  • 短信验证码失效,又或是业务逻辑背锅

短信验证码在对企业造成不良影响的同时,还可能违背设计者的初衷,并未到达预期验证、放刷等功能。其原因主要为:验证码本身与业务逻辑。如果从漏洞的角度来讲,大致可以分为以下几种:

相关漏洞的美,确实不足以在这里用思维导图简单的描绘来形容,如果对这方面感兴趣或有独到的挖洞思路,欢迎留言交流。

3、参与人员

在该项目中主要涉及到三个角色:

中间件:作为基础服务的提供者(短信发送服务与验证服务),为所有业务提供短信相关接口,通常会制定一个基础的规则供各业务方使用。

安全组:发现安全隐患与安全规则的制定者、验证人员以及推广。参与基础服务(短信服务)相关规则的安全测试、制定、验证,与中间件同学推广改造后的相关接口到各业务。

业务方:短信相关功能的使用者,接口调用、可灵活调整规则(比如短信发送的间隔时间基础为15s,业务方可根据实际情况调整为30s)以及对接口打包调用等。

4、加固措施

关于验证码的发送接口与验证码的特性可以归结为一点,即:对底层接口进行改良,涉及短信验证码的发送间隔、每分钟/小时/天的发送总条数、健壮性、有效性、一次校验失效性、手机号拉入黑名单的机制、手机号解冻的时间……

安全在其中扮演的角色主要是:规则制定与生效验证,以及协助中间件相关同学去推动业务进行改造,因为是“不参与就不给玩”的性质,再加上改动较小,所以各个业务方表现出来的积极性都比较高。部分相关的规则如下,可供大家参考:

《1》短信验证码安全改造接口说明

《2》短信验证码安全改造接口测试

通过对底层短信相关接口的改造,足以解决短信验证码中的大多数问题,但在具体的一些业务场景中,可能仍然存在安全漏洞,由此需要安全人员深入各业务线,对短信验证码可能出现的场景进行安全测试,尽可能的完善安全业务逻辑。通常涉及的场景有:

至此,关于验证码安全的相关内容已经告一段落,也基本解决了目前发现的以及面临的安全风险。如果大家在实际工作中遇到没提到的点或难题,欢迎在下方留言讨论。

原文发布于微信公众号 - 我的安全视界观(CANI_Security)

原文发表时间:2018-02-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏何俊林

关于直播,所有的技术细节都在这里了(一)

网络视频直播存在已有很长一段时间,随着移动上下行带宽提升及资费的下调,视频直播被赋予了更多娱乐和社交的属性,人们享受随时随地进行直播和观看,主播不满足于单向的...

2276
来自专栏IT大咖说

面对手游外挂横行,网易如何做到游戏保护

内容来源:2018 年 09 月 08 日,网易资深安全工程师张本梁在“RTC2018 实时互联网大会”进行《网易 Android 游戏保护实践》演讲分享。IT...

5414
来自专栏前沿技墅

SM人人爱:微服务时代的分布式计算

苏宁易购高级架构师。2006年至今,历任程序员、技术经理、架构师、高级架构师等职,具有十余年研发及技术管理工作经验。早年在日本参与过みずほ银行(瑞穂实业银行)内...

1215
来自专栏微信终端开发团队的专栏

给创业码农的话--如何提升开发效率

笔者去年从微信团队“毕业”,变成一个创业码农,期间也踩过一些坑,这里与大家分享一些我个人的经验。

7027
来自专栏人工智能

分布式技术在无人驾驶汽车中的应用

作者:张轩博 1「自动驾驶汽车系统特点」 自动驾驶汽车是复杂的分布式系统。它结合了视觉,雷达,激光雷达,接近传感器,GPS,地图,导航,规划和控制等组件。这些不...

3241
来自专栏企鹅号快讯

热门交友应用Tinder被曝安全漏洞:黑客可轻松获照片等信息

腾讯科技讯 据外媒报道,最新研究表明,热门约会交友应用Tinder目前仍缺乏必要的加密技术,确保用户照片、滑动操作和匹配信息的私密性。 本周二,以色列移动应用信...

1868
来自专栏FreeBuf

使用第三方库进行软件开发的安全风险研究

如今,很多软件由于长期使用第三方库文件,导致了持续的安全问题。而在程序开发设计阶段,开发者又经常忽略了第三方库代码的漏洞审查,甚至有些资源库(repositor...

2847
来自专栏腾讯社交用户体验设计

手机QQ里的注册那些事儿

1613
来自专栏闵开慧

云存储深层解析

云存储的概念与云计算类似,它是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存...

4746
来自专栏程序员互动联盟

程序员都用什么编写程序?

说到编写代码的工具说多了多如牛毛,经典的来回也就是几个,现在笔者根据多年的经验列举下常见的编写程序工具。 vim+emacs vim是在linux编写代码的利器...

2917

扫码关注云+社区