本文从产品经理的角度出发,对产品经理的安全职责、产品驱动安全的内涵、工作内容、工作方法、所需安全资源、以及产品经理的安全工作量进行了分析。希望所有产品经理在没有心理负担的情况下,有目标、有方法、有资源推进产品安全建设。
一、背景
1 |
2 |
3 |
4 |
5 |
姓名 |
身份 证号 |
电话 号码 |
银行卡 信息 |
联系 地址 |
用户的多系统用户数据关联ID(超级ID)。 交易过程中的音视频等多媒体数据。 各种非结构化的文档数据,如合同扫描件。 用户的行为画像数据等内容。
安全需求可能不完整,职业常识代替不了特定业务场景的深度分析; 产品各团队的安全工作资源无法保证,研发团队有理由认为安全团队干扰研发计划,研发进度与资源不变的情况下,额外增加了工作量; 安全部门通常没机会参与制订研发计划,产品研发计划与安全脱节; 安全团队高度依赖话语权,强制性驱动往往陷入窘境。
三、产品驱动安全的合理性
四、产品如何驱动安全
内容方面,产品经理需要做哪些安全工作; 能力方面,为了完成这些工作,产品经理需要具备什么样的安全能力; 方法方面,这些安全工作如何做,才能既兼顾产品业务功能研发与安全,又能保持研发敏捷性和项目管理流程不变形; 安全资源,从安全部门和其他部门可以获取哪些安全支持,来提升自己和研发团队安全工作的效率和效果,降低安全工作的能力门槛; 工作负担,安全工作会不会让产品经理很辛苦,影响其工作品质和生活品质。
五、产品经理的安全工作内容
明确产品安全需求; 保障安全研发资源,将安全工作设定到研发计划中,并分拨足够的安全研发资源; 推动研发团队安全能力建设,确保研发计划中的安全工作执行到位; 整合周边安全资源,确保研发计划中的安全工作执行到位。
5.1 明确产品安全需求
产品承载的业务数据安全防护需求,主要关注点是业务数据的机密性和完整性。 产品相关信息的安全监管要求,如等级保护、行业信息安全监管等要求。 产品承载的业务连续性要求,由于通常由数据中心或运维部门统一牵头实施该项任务,本文将不会展开描述该项内容。
5.2 产品数据安全需求
ID |
内容 |
说明 |
1 |
合法用户清单 |
系统用户类别、办公地点与访问方式,用户类别应包括有接口调用关系的对端系统 |
2 |
敏感数据清单 |
敏感数据范围与清单,及其分类、分级说明 |
3 |
业务访问行为清单 |
系统用户与敏感数据之间的访问映射关系与操作方式清单 |
4 |
敏感行为清单 |
需要记录业务操作日志的最小集合,为业务审计提供依据,该清单与上面的业务访问行为清单基本重合 |
ID |
原则 |
解释 |
1 |
最小权限 |
将用户对数据的访问操作的方式和动作最小化,如对于某个用户类别,OA网访问可满足业务需求的就不应开放到外网访问,数据脱敏可读可满足业务需求的情况应不开放明文可读或可写权限 |
2 |
知所必需 |
将用户的数据访问范围最小化,如对于某个用户类别,单个文件访问可以满足业务需求,决不开放2个或多个文件访问 |
敏感数据未脱敏。 多余的数据操作权限。 横向或纵向数据访问越权。 关键行为的日志痕迹缺失。
5.3 合规性需求
ID |
监管要求 |
监管层级 |
1 |
网络安全法及其两高释法(国家) |
国家 |
2 |
信息系统等级保护(公安部) |
公安部 |
3 |
个人信息保护规范(工信部) |
工信部 |
4 |
GDPR(涉及到服务欧盟公民的相关IT服务) |
欧盟 |
ID |
名称 |
时间 |
发文部门 |
1 |
关于开展App违法违规收集使用个人信息专项治理的公告 |
2019/1/25 |
中央网信办、工业和信息化部、公安部、市场监管总局 |
2 |
移动互联网应用基本业务功能必要信息规范 |
2019/6/1 |
全国信息安全标准化技术委员会 |
3 |
App违法违规收集使用个人信息自评估指南 |
2019/3/1 |
APP专项治理工作组 |
4 |
App违法违规收集使用个人信息行为认定方法(征求意见稿) |
2019/5/5 |
APP专项治理工作组 |
5 |
信息安全技术 移动互联网应用程序(App)收集个人信息基本规范(草案) |
2019/10/25 |
全国信息安全标准化技术委员会 |
6 |
关于开展APP侵害用户权益专项整治工作的通知 |
2019/11/6 |
工业和信息化部 |
ID |
产品经理安全需求工作内容 |
能力分析 |
1 |
明确合法用户清单 |
无需额外能力,需要描述模板支持 |
2 |
明确敏感数据清单 |
需要理解安全基础概念,在指定敏感数据安全等级时,需要敏感数据分类分级标准支持,需要模板支持 |
3 |
明确业务访问行为清单 |
无需额外能力,需要描述模板支持 |
4 |
明确敏感行为清单 |
无需额外能力,需要描述模板支持 |
ID |
工作内容 |
能力分析 |
1 |
保障安全研发资源 |
在产品迭代研发计划中增加安全相关活动与环节,并指定责任人。计划制订本身无需额外能力,但在安排相关安全活动时,为保持开发的敏捷性和现有的项目管理机制不变形,需要安全、质量管理和项目管理等部门提供方法论支持。需要产品经理有一定的安全意识。 |
2 |
推动研发团队安全能力建设 |
为了保证迭代研发计划中的活动执行成功,研发团队(设计、开发和测试)需要较高的安全意识和一些基础的安全能力,如安全设计、安全编码和安全测试。安全部应统筹各团队的安全能力建设需求,提供相关安全能力建设支持。需要产品经理有一定的安全意识。 |
3 |
整合周边安全资源 |
为了保证迭代研发计划中的活动执行成功,需要整合周边部门的专业性安全服务,比如安全部的各类安全评审服务、威胁建模、代码审计、渗透测试、流量实时监控等服务,基础研发部的SSO平台,运维的统一身份管理服务等等。甚至需要法务与合规等部门的安全支持。安全部门有责任提供和维护一份持续可用的安全服务清单,让产品经理和研发团队知晓服务清单,并知晓何处获取相关安全服务。需要产品经理有一定的安全意识。 |
七、产品安全研发方法
安全开发活动轻量化。轻量化可以通过工具化、自动化来实现,尽量减少人工耗费大和耗时长的安全开发活动; 安全开发活动分散化。将那些短期无法轻量化处理的安全开发活动分解并分散到多个迭代周期中执行; 安全开发活动并行化。将安全开发相关活动与其他活动并行,如渗透测试通常安排在测试的最后一个环节,避免单轮次渗透测试无法覆盖那些并行的修复点,当然渗透测试也可以由多个轮次来弥补这种情况,但通常资源不允许。实际上这种同步修复导致渗透测试覆盖率下降的问题,完全可以通过良好的沟通和团队文化建设进行弥补。 优化现有敏捷开发与DevOps相关的流程与工具平台,使得安全专家能够充分参与项目,提升安全开发沟通效率,快速获取安全反馈; 将安全专家纳入到敏捷开发和DevOps文化建设中来,信息安全人人有责,安全专家可以充分发挥教练员角色和守门员角色,使得团队人人有能力履行自己的安全职责,安全专家在恰当的时机对安全交付物进行质量把控; 提前进行安全基础设施规划与布局,如身份与权限管理系统、SSO系统、加解密平台与SDK、日志分析与监控平台、全流量检测平台等等,使得安全措施标准化、服务化和平台化,降低安全设计与编码的能力门槛,对安全基础设施的测试与验证取代设施所承载应用的大部分安全测试,可以有效消减安全测试工作量。
ID |
安全活动名称 |
迭代执行要求 |
触发场景与基线示例 |
1 |
创建产品安全需求名单 |
一次性执行 |
产品原型发布之前 |
2 |
维护产品安全需求白名单 |
每迭代执行 |
|
3 |
评审产品安全需求白名单 |
多迭代执行 |
重大需求变更或累积变更开发量达到n人天 |
4 |
创建产品数据流图 |
一次性执行 |
产品原型发布之前 |
5 |
建立威胁初始模型 |
一次性执行 |
产品原型发布之前 |
6 |
维护威胁模型 |
每迭代执行 |
重大需求变更或累积变更开发量达到n人天 |
7 |
评审威胁模型 |
多迭代执行 |
重大需求变更或累积变更开发量达到n人天 |
8 |
安全设计评审 |
多迭代执行 |
重大需求变更或累积变更开发量达到n人天 |
9 |
代码扫描及其报告分析(开发) |
每天/迭代执行 |
|
10 |
代码扫描及其报告分析(安全部) |
多迭代执行 |
重大需求变更或累积变更开发量达到n人天 |
11 |
深度黑盒安全扫描 |
每天/迭代执行 |
|
... |
... |
... |
ID |
产品经理工作内容 |
所需资源或服务 |
提供者 |
1 |
明确产品安全需求白名单 |
敏感数据分类分级标准及其相关模板和Demo;产品安全需求变更发生判断标准 |
安全部 |
2 |
保障安全研发资源 |
安全活动清单及其迭代基线 |
安全部&QA |
3 |
推动研发团队安全能力建设 |
安全培训与实操 |
安全部 |
4 |
整合周边安全资源 |
安全资源清单,包括安全咨询、评审、培训、开发包、平台或服务 |
安全部&法务&合规 |
九、产品经理安全工作压力分析
ID |
产品经理工作内容 |
产品经理工作压力分析 |
1 |
明确产品安全需求白名单 |
初次创建产品安全需求白名单的4张表格有一定的工作量,但属于一次性工作。产品经理也可以分批次完成,先完善主要信息,其它信息后续择机补充。后续产品安全需求白名单维护工作压力比较小,新增需求或变更只要不触动白名单4张表格的内容,就无需维护。实践表明,产品的用户、数据、访问白名单在经过少数几轮迭代后趋于稳定,很少有机会对表格进行变更。 |
2 |
保障安全研发资源 |
是迭代研发计划制订与推进工作的一部分,无需额外花费时间;每年可能需要花费一天左右的时间参加安全培训,了解安全活动迭代安排基线,了解安全基础概念,了解产品安全需求制订与维护方法。 |
3 |
推动研发团队安全能力建设 |
在研发团队能力建设计划与方案中添加安全相关内容,可能会涉及到一部分预算和人天。能力建设推进过程中可能涉及到一部分参加培训和演练的人天投入,但这部分资源占比应该会较小,构不成明显资源压力。可能存在一些安全部能力暂时无法覆盖的培训,需要外购,比如云安全、移动安全等,产品经理可以独立申请预算,或安全部跟产品线统筹统一申请预算。 |
4 |
整合周边安全资源 |
为解决已知安全问题,很多产品经理日常也在推进该项工作,成为日常沟通协调工作的一部分。主要是将这种被动的、个案化的行动转换为主动的、常态化的工作行为。目前公司有较为清晰的安全责任划分和流程,构不成明显工作压力。 |
小结
感悟
【本文是51CTO专栏机构宜信技术学院的原创文章,微信公众号“宜信技术学院( id: CE_TECH)”】