您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[2023第十二届全球TOP100软件案例研究峰会]:奇安信-武鑫-从SDL到DevSecOps的混沌式演进之路 - 发现报告
当前位置:首页/行业研究/报告详情/

奇安信-武鑫-从SDL到DevSecOps的混沌式演进之路

AI智能总结
查看更多
奇安信-武鑫-从SDL到DevSecOps的混沌式演进之路

从SDL到DevSecOps的混沌式演进之路 武鑫奇安信产品安全高级经理 www.top100summit.com 讲师简介 姓名TITLE “虎符智库专家,曾兼负责公司内部安全防护、运营和蓝军工作。 网络尖刀Z小队成员,BCS2020、INSECWORLD2020、EISS2021、DevOpsDays2022 等会议分享嘉宾。擅长从攻防视角进行甲方企业安全建设,在软件开发安全、供应链安全、攻防对抗方面有一定研究。业余时间喜欢思考与总结沉淀,主理个人微信公众号“我的安全视界观”,将安全实践输出成文,并对外分享与交流。 ” 1 数字化转型下的痛点 目录 Contents 3 2 www.top100summit.com 从安全角度看开发 4 开发安全的关键要素 混沌模式下的开发安全解决之道 www.top100summit.com 01数字化转型下的痛点 www.top100summit.com 市场对业务的快速交付需求 抢占市场先机,倒逼业务快速集成与交付。 但并不是所有的业务都被要求快速,开发模式逐渐出现差异化。 瀑布模式 敏捷模式 DevOps模式 设计开发测试部署 www.top100summit.com 技术发展带来的多样化 在数字化转型的大背景下,编程技术的发展,出现了新语言代替旧语言的情况。然而,仍旧会有多种语言共存的局面。 www.top100summit.com 研发基础设施不统一 发布流程及平台可能因为业务不同的发展速度,有着不一样的实现方式及存在。 SCMBuild&CIBinaryrepository www.top100summit.com 多重混沌带来的巨大挑战 安全工作是建立在现有流程上的,并不应该单独创建新流程,改变原有的研发体系。 但若是现有流程都没有实现统一,开发安全活动的设计和落地,将找不到抓手,甚至无从下手… 开发模式三足鼎立 开发语言丰富多彩 基础设施没有统一 www.top100summit.com 02从安全角度看软件开发 安全漏洞通常是企业的入口 仅从国家信息安全漏洞共享平台 统计,近十年发现漏洞逾17w个,平均每年有1.7w个漏洞被发现。 安全漏洞治理早已是行业讨论最多的话题,在国家层面已经对漏洞管理做出明确要求。 在实战攻防演习中,应用系统经常被用于打点,是突破企业边界安全防护的最佳手法之一。 www.top100summit.com 什么是安全漏洞? 安全漏洞定义:硬件、软件、协议的具体实现或系统安全策略上存在的缺陷。 操作系统类漏洞 主机漏洞 硬件 系统服务类漏洞虚机容器类漏洞 安全漏洞软件 常见web漏洞SQLi漏洞 www.top100summit.com 业务逻辑漏洞 协议 二进制类漏洞 OS命令注入漏洞 文件上传漏洞... 开发过程直接紧密相关 www.top100summit.com 怎么切入做开发安全? CapersJonesAppliedSoftwareMeasurement:GlobalAnalysisofProductivityandQuality 1、85%的缺陷都是在开发人员编码时引入; 2、目前大多缺陷都是在测试阶段发现; 3、缺陷的修复工作越往后成本越大。 开发过程中,安全漏洞的生产源 有时候,还没开始写代码,就已经引入了漏洞;有时候,写完提交了代码,还是会有漏洞产生。 eg:未考虑安全性,使用有漏洞的框架 架构设计缺陷 eg:命令注入、SQL注入、文件上传 编码忽视安全 eg:CORS配置安全漏洞、Redis未授权 配置发生错误 www.top100summit.com 开发过程中,安全漏洞的治理 分析漏洞产生原因、检测盲点,向“左”反馈 开发安全是一个体系化的工程,包括“发现-验证-修复-复盘”及常态化运营等环节。 漏洞发现 漏洞验证 漏洞修复 漏洞复盘 架构设计缺陷 编码忽视安全 1、安全性需求 2、安全设计(架构安全评审) 1、编码安全规范设计与应用 2、静态代码扫描(SAST) 3、开源组件安全扫描(SCA) 4、安全组件 配置发生错误 1、默认配置安全基线 2、黑盒漏洞扫描(DAST) 运营阶段 1、漏洞预警 2、SRC运营 www.top100summit.com www.top100summit.com 03开发安全的关键要素 www.top100summit.com 谈论开发安全时,应该关注什么? 安全不要新造流程!安全不要新造流程!安全不要新造流程! 安全融入开发流程!安全融入开发流程!安全融入开发流程!So… 序号 开发模式 模式特点 安全模型 安全需求特点 安全责任 治理原则 1 瀑布模式 1、开发周期长2、每个阶段目的明确,参与人员仅需专注个人部分 SDLC 1、重视过程文档,重人力投入执行缓慢 安全团队 1、设计原则一样2、部分方法一样3、融入流程不同 2 敏捷模式 1、开发周期短2、以客户需求为导向,强调团队之间的高度协作 DevSec 1、强调快速迭代,自动化为最基本需求 安全团队、研发团队 3 DevOps模式 1、同上2、在敏捷的基础上,强调运维团队应该纳入协作范围 DevSecOps 1、与敏捷模式需求一致2、结合云原生特点,�现弹性安全需求 安全团队、研发团队、运维团队(“人人责任共担”) DevSecOps实施的关键要素 开发安全的落地需要组织、流程、规范和安全检测工具的支撑。 组织架构 安全管理委员会产品安全团队产品安全专员 产品安全应急响应小组 安全流程 产品安全提测作业流程产品安全应急响应流程产品带病上线绿色流程产品紧急安全提测流程 安全工具 产品安全管理平台静态代码扫描工具开源组件扫描工具其他安全测试工具 安全规范 产品安全提测作业规范安全设计规范 编码安全规范 网络安全事件管理办法 www.top100summit.com 组织架构 董事会 以“为业务输出安全能力,为业务保驾护航”为践行理念,构建适应集团数字化转型的一体化、服务化、智能化的产品安全保障框架,全面提升产品自身安全性。 网络安全委员会产品安全部 网络安全委员会是集团网络安全管理的最高领导决策机构,对重大网络安全措施、安全事件或可能会对公司造成重大影响的网络安全事件处理意见进行决策。 安全体系组安全测试组安全工具组 安全运营组 产品安全事件应急响应小组 www.top100summit.com 负责产品安全体系、流程、规范、指标的建设与运营。 负责安全提测工单指导、交付物复检、开展安全测试。 负责各类安全测试工具的开发、推广、检测规则调优。 负责SRC及外部漏洞的运营,对内组织进行复盘总结。 产品安全专员 负责产品线的开发安全工作落地,对接产品安全部开展日常工作。 负责产品安全事件的应急响应,统一对外处置安全应急突发事件。 安全流程 产品安全测试结果,嵌入业务发布流程,业务上线前必须完成安全测试并且达标。典型流程示例如下: 申请网络权限(对外映射ACL) 申请资源(服务器/域名) 发布流程 开发…测试部署… 校验结果通知 渗透测试、漏洞修复及漏洞创建 提交安全测试工单,自动校验测试结果 开发安全平台获取 SAST/SCA检测结果 业务完成DAST/CAST自检并提交链接 提测流程 发起安全提测 www.top100summit.com 完成安全提测 判断结果达标 www.top100summit.com 需求 设计 开发 测试 9、容器镜像扫 描; 运营 安全工具 1,安全需求 2,安全设计 4,静态代码扫 6,主机安全扫 10,SRC平台; checklist(法律/ checklist(可集 描(SAST); 描(DAST); 法规、行规及客 成到安全平台中 11,PSIRT平台; 户相关安全要求,可集成到安全平台中做成业务场景问卷); 做成交互式问卷);3、威胁建模工具; 5、开源组件扫描(SCA); 7、web漏洞扫描(IAST/DAST);8、客户端安全扫描(CAST); 12,开源软件运营平台。 www.top100summit.com 混沌模式下的 04开发安全解决之道 一个安全提测工单的生命周期 未提交 校验中 待分配 测试中修复中 已完成 NY 新建 提交 是否 达标 Y 是否 增量 N 分配 测试 遗留 漏洞 N 已完 成 Y www.top100summit.com 业务方 •填写项目信息 •填写自检信息 PSM平台 •检查信息规范 PSM平台 •检查测试结果 •通知检查结果 业务方 •根据通知整改 •再次提交工单 PSM平台 •创建漏洞工单 (允许SCA和CAST存在延期修复的漏洞工单) 安全人员 •分配全量工单 •抽查自检结果 •开展人工测试 业务方 •修复已知漏洞 •申请绿色通道 安全人员 •评估潜在风险 •审核特批申请 www.top100summit.com 安全培训赋能 产品安全专员必参加,带动产线其他人参加联合研发学院做分享,全公司内部进行普及 开发安全运营 一切围绕软件安全质量提升的工作,都属于开发安全运营。包括但不仅限于: •安全测试工具能力增强 组织 安全指标 安全测试覆盖率安全漏洞检出率次均安全漏洞数非自主高危漏洞数 •开发安全人 员能力提升 www.top100summit.com 工具 •安全规范补充内容优化 开发安 全运营 规范 流程 安全事件 启动应急响应 防护方面验证 检出情况分析 安全测试回顾 复盘总结 定位问题 改进计划 剖析原因 跟进落地 •安全测试流程持续优化 从SDL到DevSecOps的一些建议 SDL和 DevSecOps在本质是一样的, 离不开组织、流程、规范和工具的支撑 安全工具融入开发流程是多种模式并存的,最佳是同步测试,次之为异步 从开发模式转向DevOps的过程可能比较漫长,安全需要做好持久战的准备 建立开发-安全 -运维责任共担的有效方式包括 培训、技术分享和定期开会 DevSec Ops 安全流程与规范的设计,可以参考行业做法、标准规范,但一定结合实际 在建设完开发安全体系后,重点要转向运营并持续向左、流程、规则反馈 安全团队需要提供安全能力和方法给有能力的业务方,比如安全 工具的API CI/CD研发基础设施涉及大量敏感信息,已经成 为攻击队的首选目标之一 www.top100summit.com www.top100summit.com Thankyou!