# Security-Champion **Repository Path**: lab-mj/Security-Champion ## Basic Information - **Project Name**: Security-Champion - **Description**: Security Champion(安全担当)-安全开发全面落地的承担者和守护者 - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-08-25 - **Last Updated**: 2022-09-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Security-Champion #### 介绍 Security Champion(安全担当)-安全开发全面落地的承担者和守护者。security champion一词可以翻译为安全捍卫者、安全倡导者。 由于一般组织中安全专业人员相比开发人员的比例较小,仅靠安全团队往往无法弥补开发人员缺乏安全经验的不足,也无法为开发人员提供所需的全面安全指导。 这时就需要在每个开发团队中选择安全担当来帮助弥补这一差距,通过安全担当向开发团队成员宣传、管理和加强安全意识,让开发团队成为安全团队的扩展成员。 #### 安全担当的责任 1、不断学习安全知识。 安全知识和技能是成为安全担当的关键,安全担当需要接受持续的培训,以跟进最新的实践、方法和工具,然后向开发团队分享这些知识。 2、传播安全最佳实践。 3、协助安全团队。对安全问题进行扫描,并作为对接人将问题上报给安全团队审查,帮助进行安全问题管理和测试。这将使他们能够参与风险和威胁评估的过程,以尽早确定和纠正安全问题。 4、获取和维护认可。开发团队开发项目一般都有项目的固有特性和开发语言,安全担当可以通过以他们理解的方式沟通安全问题来获得同事的认可,从而在SDLC早期就能主动介入安全相关的活动。这提高了开发的效率和开发的产品的有效性,同时加强了不同功能团队之间的关系,最大限度地减少了后期安全测试的瓶颈。 #### 安全担当执行手册 下面列出一个基本的,简单可执行的步骤,仅供参考。 ##### 1. 确定Security Champion实践的团队 首先要确定,公司或者部门的哪些项目参与Security Champion计划,将这些团队识别出来,并且对可能需要的资源进行基本的沟通和确认。 这个过程里面,需要收集以下信息: - 1. 部门/产品涉及到的具体开发团队有多少,是哪些团队; - 2. 技术栈(开发语言,操作系统,开发模式等); - 3. 代码库以及代码技术标准,技术规范等; - 4. 开发,测试所涉及到的工具以及平台; - 5. 当前的代码质量控制过程,是否设计代码的安全审查; - 6. 产品的发布周期,发布过程,发布计划; - 7. 团队内部的沟通渠道以及共享平台; - 8. 是否有待处理的安全问题以及责任人; ##### 2. 定义角色职责 这一步的主要目标是提出切实的目标,并为未来的安全担当定义明确的角色描述。部门或者产品的安全策略的定义可参考 OWASP SAMM。 具体的职责定义,根据实际情况,可从以下方面进行完善: - 1. 在团队中执行安全审查/或验证安全审查的处理情况; - 2. 推广安全相关的最佳实践; - 3. 为新功能进行威胁建模; - 4. 在团队中执行安全审查/或验证安全审查的处理情况; - 5. 推广安全开发知识; - 6. 处理安全风险; - 7. 参与安全工具的推广和实施; - 8. 参与安全架构的设计和评估; ##### 3. 安全担当提名 在完成步骤2之后,就可以开始提名安全担当了,这个过程,通常要先得到高层的批准,进而和团队的管理人员进行沟通,确保,对该角色的职责定义,要求,时间投入等内容进行详细明确的沟通。确保该过程是提名的过程,而不是任命的过程;对潜在的候选人,做好以下沟通: - 1. 角色的职责定义,能力要求; - 2. 对个人发展的好处,对产品带来的潜在好处; - 3. 参加公司的安全活动,以及业界的活动; - 4. 分享安全知识库; - 5. 对最终的提名人要广而告之,让上至老板,下到团队的每个成员,都了解; - 6. 沟通培训计划; - 7. 建立沟通渠道,介绍给其他的安全担当; - 8. Quick Start,分配任务; ##### 4. 建立沟通机制 - 1. 建群:Teams.微信...; - 2. 各种工具的系统权限; - 3. 例行的会议,安全相关的活动; ##### 5. 构建安全知识库 建立充分,完善的内部安全知识库,对于整个安全相关项目的推广,人员能力的提升,公司安全资产的积累,都有非常大的作用, 应该从以下方面准备: - 1. 安全策略; - 2. 安全角色,职责以及安全活动流程步骤; - 3. 代码安全开发的最佳实践; - 4. 常用的加密算法; - 5. 安全的第三方软件库; - 6. 常见的安全漏洞以及安全风险; - 7. 密码管理策略; - 8. 威胁建模; ##### 6. 持续提升安全担当的能力和参与度 安全相关的改进和执行,是一个细水长流,延绵不绝的过程,切记不要有一锤子买卖的想法,需要从以下几方面,保持安全改进项目的价值和效率: - 1. 定期或者不定期的举办各种工作坊和培训,可以针对安全担当,也可以是对项目成员; - 2. 举办安全比赛,打擂台,渗透测试等活动; - 3. newsletter等沟通活动; - 4. 安全团队,可以构建类似读书角的场所; 以上步骤是一个简化的Security chanpion program的基本步骤,大家可以在不断地实践过程中,进行针对性的完善; ------------------------------------------------------------------------------------------------------- 欢迎微信沟通学习: ![输入图片说明](k9cw9whc0wkrn4f5w4ie.jpg)