【企业安全】企业安全项目-前端绕过专项整改

前端绕过专项整改是我加入公司后,参与的第一个“伤筋动骨”(涉及底层逻辑设计,影响整个公司业务)类安全项目,也差不多是公司内部自己开展的第一个影响范围广的业务相关安全项目。当时项目已经进行到安全逻辑设计尾声,即将开始对底层业务实现逻辑动工改造,以及开展接下来的排期验证工作。这里所指的前端安全,听上去像是关于JS、HTML5等方面的安全,但其实不然,实则是一些关于会员体系方面业务逻辑漏洞的整改。

1、总体概况

会员部门为公司的各业务线提供账号相关的基础服务,统一编写用户注册、登录、修改登录密码、忘记登录密码、忘记支付密码……等常见功能接口,业务方开发拿到开发文档后在自己的业务场景中进行调用。如果会员将这些接口进行改造的话,影响范围较广,所以推动起来的难度是比较大的。

由于是中途入职加入项目组,所以之前同事与业务方的斗志斗勇没能看到。不过据说在组织各业务线开发leader第一次开会的时候,请来了公司的CTO坐镇,想必这也是项目得以顺利开始的至关重要因素。整个项目大致经过了以下9个阶段:

2、风险评估

在对多个业务进行安全测试时,发现普遍存在常见的逻辑绕过漏洞,且部分接口甚至泄露敏感信息,经过梳理总结出有以下类型:

主 题

【安全】【高危】忘记密码通过修改中间响应结果,可以绕过手机验证码设置密码

【安全】【高危】忘记密码实现逻辑有问题,当前所有忘记密码操作可以绕过

【安全】【高危】APP通过修改服务器响应结果返回到前端,可以绕过验证码

【安全】【高危】忘记密码操作绕过图片验证码能获取到敏感信息

【安全】【高危】忘记密码流程中敏感信息泄露

【安全】【高危】验证码绕过

【安全】【中危】忘记密码业务逻辑存在漏洞,导致遍历用户名、email等信息

【安全】【中危】注册场景应在验证码校验以后再判断手机号是否被使用

【安全】【中危】余额变动短信关闭时可以绕过支付密码校验

【安全】【中危】短信验证码及图片验证码绕过漏洞

【安全】【中危】绑定手机号可以前端绕过

【安全】【中危】签入无防暴力破解机制

经过梳理总结出以下存在安全隐患的业务场景,包括但不仅限于:注册、登录、忘记/找回/重置密码、修改密码(用户登陆后)、更绑邮箱、更绑手机号等。

3、项目推进

根据对业务线进行安全测试、与业务负责人对接、与会员相关设计人员沟通,结合漏洞的威胁程度(高危优先,敏感信息泄露重点关注)与对业务的影响(主要考虑业务的迭代更新与发布日期),将涉及到的相关接口进行归档并排期整改。

4、问题集锦

# 该部分来源,参考同事编写的项目总结。

在进行改造前,已经尽可能的想到从影响业务最小的角度出发,但是一些开发甚至产品并不清楚自己产品的接口使用情况,导致出现部分影响业务的现象,其原因可以归纳为:

1) 业务开发未严格按照接口文档中提供的接口和流程来调用整改后的接口,导致接口中新增的安全功能未起效,影响项目进展。

2)业务开发在其他未知场景中调用了下线接口,导致应用中某功能无法正常使用,或涉及到预下线接口无法正常下线,影响项目进展。

此次项目中涉及到两种类型的端(pc & app),pc端好操作易整改,app端只能做强制。但在升级时,各业务时间并不能统一安排,需要统计老用户使用情况,比如要求月活跃用户升级占比90%,才能从生产正式下线,这就需要安排一个过渡过程。

5、总结反思

这应该算是一个大家不太愿意推动,但是企业安全建设必经之路的项目。因为它涉及业务底层逻辑,牵一发而动全身,几乎所有业务均需要跟着变动,项目难度较大。在项目之前,需要花功夫费心思去发现问题,总结梳理,说明危害,如果项目开展将长期稳定对业务保驾护航……同时需要从ROI角度去谈并取得技术boss的支持。在推动的过程中,困难与意外重重是不可避免的,但有了领导的支持,项目才能继续往前进行。

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

原文发表时间:2018-03-04

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

扫码关注云+社区