DevSecOps
Dev 开发
Sec 安全
Ops 运维
共145页
DevOps
DevOps 是将开发和运维的人员和流程进行协作,形成 一个由利益相关者、客户、工程师和测试人员组成的单一敏捷交付团队。
DevSecOps
开发人员流程和运维流程(DevOps)与安全流程的合并。
安全教育
参与 DevOps 的每个人都应该知道安全如何影响他们的工作,包括它如何参与创建 新功能和产品、设计应用程序、编写代码、测试功能、部署代码、构建基础设 施,识别和响应事件,或向客户销售。安
- 培养安全拥护者
通过灌输安全知识和技能, 培养的产品安全性的关键参与者。 - 游戏化学习
将安全测试纳入他们 的工作实践。 经常案例分享。 - 安全编码培训
- 讲师指导培训
- 自定进度学习
- 结对编程和同行评审
结对编程(英語:Pair programming)是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作。 一个人输入代码,而另一个人审查他输入的每一行代码。 - 应用安全工程师参与代码评审
- 非正式的安全知识分享
- 安全事件演练
- 黑客玩法
测试vulnable app,比如GOAT等 - 考试认证
如 (ISC)2、ISACA 和 CompTIA - 避免熵
熵描述了信息的损失--在这种情况下是知识和技能。要避免人员流失和紧跟技术进步,必要对教育进行持续投资。
P62
安全设计
安全设计原则
- 原则1:最小化攻击面:原则2:Secure default:原则3:权限最小化:原则4:纵深防御:原则5:Fail securely:原则6:不要信任第三方系统原则7:业务隔离:原则8:公开设计:原则9:
简化系统设计:原则10:使用白名单:
威胁建模 -
- 正在建造什么?- 为正在变更的系统建模 2. 可能会出什么问题?- 使用公认的威胁模型方法发现威胁 3. 我们能做些什么呢?- 根据风险偏好来应对威胁 4. 威胁分析是否正确?- 使用安全测试程序验证威胁
- STRIDE 欺骗,抵赖,信息泄露,拒绝服务,特权提升
整洁代码
微服务
容器技术
流水线安全设计
P91
安全自动化
通过自动化流程应用他们的安全知识并实 施高质量的设计原则。
自动化是 DevOps 的核心,自动化安全测试需要嵌入到这个 核心中。
- 应用安全测试
- 静态 SAST
- 动态 DAST
- 交互式 IAST
- 软件成分分析 SCA
- 容器镜像扫描
- 容器动态威胁分析(DTA)
- 渗透测试
- bug bounty
- 漏洞管理
度量和调整
度量和调整
- 度量知识和技能
- 度量代码质量
- 度量测试自动化
- 度量误报率
- 度量应用安全测试的价值
- 度量软件组成分析的价值
- 度量对价值的影响