文章前言
安全并不仅仅是安全团队的本职工作,也是企业的每个研发人员、产品经理、项目经理、企业高管额外的工作,每个企业员工都应该要了解安全基础知识并知道如何在软件和服务中构建安全以使产品更加安全,并在满足业务需求的同时并提供安全价值。
在企业SDL安全建设的第一步就是安全培训,这为企业构建安全体系制定了一个很好的基调,企业可以结合自身特点来制定安全培训计划和安全培训方式,就目前而言很多大公司的安全培训内容都要求必须要贯穿整个SDL流程,但安全培训的目的并非是要确保每个人都成为安全专家,也不是力求要成为熟练的渗透测试人员,但是需要确保每个人都了解攻击者的视角,攻击者的目标和可能利用的技巧,这将有助于提高企业团队安全意识水平
培训目的
企业进行安全培训的目的主要包含以下几个方面:
-
建立安全意识:通过安全培训使企业员工认识安全、了解安全,从而建立安全意识
-
规范安全操作:通过安全培训使得企业员工将安全落实到日常工作中,提高办公环境、软件产品等多方面的安全
-
宣发安全制度:通过安全培训使企业员工充分而全面的了解企业安全制度规范以及相关的惩处条例和方案,建立安全红线
培训接入
企业进行安全培训的最佳切入点是\\”新员工入职培训\\”,在新员工入职时便通过安全培训来灌输信息安全的相关知识(什么是信息安全、信息安全的重要性、信息安全与我们的联系、信息安全事件等),同时通过企业内部建立的一系列的安全制度规范和惩罚条例使得员工在今后的工作中逐渐关注安全、践行安全、重视安全
培训方式
企业进行安全培训可以采用线上或线下两种培训模式,而采用的培训方式可以根据培训人员进行选择,例如:针对公司技术人员可以通过公司内部的安全团队进行安全技术相关的培训,而针对公司领导层的培训则可以与外部厂商合作聘请专业的、说话水平能达到领导层级的高级讲师或者邀请公安部领导或其他上级领导进行相关法律法规的安全培训讲解,当然也有不少大的甲方企业有自己专门的培训团队负责培训事宜,其培训的内容大多都提炼自当前企业的自身特点,且不仅限于安全培训,例如:业务培训
培训内容
安全培训作为SDL的第一个环节其培训内容应当贯穿整个SDL流程,根据安全培训的内容大致可以分为以下几个方面:
安全意识培训
安全意识培训的主要目的是在企业员工心中牢牢建立信息安全的意识,针对不同的培训对象主要有以下几类:
安全意识的建立不仅可以通过安全意识培训来达到目的也可以通过日常的安全意识宣传来达到目的,常见的宣传方式有以下几种:
安全技术培训
安全技术培训内容可以分为以下五大部分:安全设计、安全测试、安全开发、安全运维、移动安全等
(1)安全设计
安全设计培训主要分为两个大的方向,一个是对如何通过威胁建模来识别当前产品所潜在的安全风险并通过安全设计来做规避处理,另一个是对企业通过多方面的考量而制定的通用类的安全设计CheckList的介绍
a、安全设计CheckList
通过参考《软件安全开发指南》、《OWASP安全编码规范快速参考指南》并提取出其中比较实用且具体的要点,编写安全设计Checklist并进行培训推广,下面是被当前互联网金融行业所广泛借鉴的美的SDL安全设计checklist
b、威胁建模(STRIDE)
STRIDE威胁建模方法是由微软提出的一种威胁建模方法,它从Spoofing(仿冒)(身份认证、会话管理、口令安全、未公开接口等)、Tampering(篡改)(访问通道安全、数据后台校验、完整性校验)、Repudiation(抵赖)(认证、日志审计等)、Information Disclosure(信息泄漏)(敏感数据加密与保护,包括安全传输、加密算法安全、敏感数据加密存储、证书可替换、 隐私保护、合法监听等)、Denial of Service(拒绝服务)(协议健壮性、fuzz测试等)、Elevation of Privilege(权限提升)(越权测试、权限最小化、访问控制、配置管理等)等六个方面对威胁风险进行了全面分析:
(2) 安全开发
在产品开发阶段需要提前确定公司产品使用的开发语言(例如:JAVA/Python/PHP等)并参考外部知名大公司(例如:华为、阿里巴巴等)的安全编码规范制定适合本公司自身的安全编码规范条例,同时通过在安全培训阶段对安全编码规范的讲解在一定程度上对研发人员编码实现规范化
(3) 安全测试
从测试的角度出发以测试人员熟悉思路和工具来引入安全问题,推动测试人员慢慢培养安全思维,将一些问题在测试阶段就直接解决,而不用等到后期的安全测试阶段:
(4) 安全运维
通过对运维人员进行安全培训使其了解常见的运维工作中的安全风险以及具体的处置方法,提升日常安全运维效率和安全风险鉴别能力:
(5) 移动安全
通过培训使得移动开发人员掌握移动开发中常见的安全漏洞并在开发过程中如何实现规避,减少后续安全测试工作:
安全制度贯宣
安全制度贯宣的主要目的是告诉软件开发相关的所有人如何按照安全制度条例进行产品开发以及产品上线发布需要达到什么样的标准
A、安全提测流程宣贯
每当业务方有新的应用需要发布或者老应用有新增功能发布时都需要通过安全提测后才能发布上线,而在培训阶段进行安全提测流程贯宣的目的主要有以下几个:
-
减少研发和安全测试关于安全提测流程的沟通时间成本
-
通过业务方的需求的收集,不断持续改进安全提测流程
-
使业务方熟知开发生命周期中各个节点的安全check流程
B、信息安全管理办法
公司可以结合信息安全相关法律法规、公司所在行业安全践行标准、公司管理制度等建立一套《信息安全管理办法》,内容条例需要满足精简、易读、完善的需求且获得公司上层领导的认可和支持,在安全培训阶段进行信息安全管理办法的贯宣目的在于使得公司员工知晓公司有《信息安全管理办法》这么一套规章制度并引起全员的重视,作为规章制度自然少不了各种条条框框和约束,所以信息安全管理办法的后续宣传也需要注意频次、内容、方式等问题
文末小结
安全培训作为SDL的第一个环节需要确保培训内容覆盖整个SDL环节,同时也需要注意安全培训所采用的方式、方法,主要以规范员工操作、建立员工安全意识、贯宣安全制度为目的而进行
原创文章,作者:七芒星实验室,如若转载,请注明出处:https://www.sudun.com/ask/34371.html