一、安全培训
在企业信息安全建设的工作中,安全培训常常被列为首先要做的事情。安全培训即持续不断地对内输出安全能力、提升全员信息安全意识、为业务系统安全赋能。
可根据不同环节选择性制作相关培训内容,针对不同人群进行“专业培训”
(一)培训对象
新员工入职培训:技术人员
对新入职的技术人员,从技术角度提升开发,运维的安全意识,如禁止弱密码的使用,禁止使用fastjson,禁止上传代码到github等以及带来的影响,危害。避免因为安全意识薄弱酿成一些重大安全漏洞事故。
安全开发培训:开发 ,运维工程师 / 产品
主要是针对开发以及运维人员,从安全意识,代码层面讲解如何预防,如何修复不同类型的漏洞。我们将依据安全测试结果,分析漏洞产生原因并追溯到代码层,提取各业务系统常见漏洞对应的开发规范,展开安全开发规范以及相关漏洞修复的讲解。
安全测试培训:业务测试工程师
主要针对项目的测试人员,为测试赋能安全。让测试掌握一般的安全测试方法以及工具的使用,让一些常见的安全问题在功能测试时就能解决,减轻安全人员的测试压力。我们将从测试角度出发,以测试人员熟悉的思路和工具来看待问题,讲解如何进行一些简单的安全漏洞测试,如xss、sql注入、url跳转等。在实际过程中,根据业务类型特点,开展针对性的培训,将测试方法转化为标准的测试用例,简单易学。
(二)安全培训流程
(三)安全培训课程类型
-
在线课程
很多公司都有自己的在线培训系统,在系统上可以开设安全专栏,将安全开发培训课件、视频讲解上传系统中,这样可以保证课件的流转和培训内容的继承。
安全开发在线课程可以分为流程类、技术类、系统使用类,这样就可以将安全开发最重要的三项工作通过视频方式传递给所有人
流程类:重点讲解安全开发流程、标准解读、规范解读等内容,让开发人员知道在开发过程中遇到问题后应该找谁,可以找谁的问题
技术类:通过对安全开发技术专题讲解,通过小单元讲解形式进行,这样时间不会太长,并且可以将某一个点讲深讲透,要遵循“多即是少、少即是多”的理念
系统使用类:通过对安全开发赋能工具的使用讲解以及系统可以解决怎样的安全开发问题,可以实现业务人员自己通过系统解决安全问题。
-
线下培训
线上培训可以实现通用型的安全开发问题的讲解,而针对线下培训,主要是解决专项问题,可以针对不同的人群进行不同层次的安全培训内容,例如针对外包同学,可以重点讲解技术开发过程中需要注意到的红线及开发规范,经常出现的漏洞原理及解决方案;而针对新入职同学,则可以通过讲解安全开发流程、制度规范等要求,着重放在安全开发制度等宣贯上;对于项目经理可以重点讲解安全开发流程、安全开发系统使用等方面。
-
实战演练
实战演练是可以真实让受众了解安全开发的过程,了解开发过程中一旦写出漏洞来是如何对业务造成影响的,对于这块可以通过docker搭建靶场方式进行,笔者以前借助安全培训活动,构建了安全开发攻防靶场,让开发人员真实对有风险的应用进行攻击,获取Flag得分,类似于CTF比赛,只不过题目都是在开发过程中经常遇到的漏洞的复现过程。