我的安全视界观
大大的世界,小小的人儿;喜欢夜的黑,更爱昼的白。因为热爱安全,所以想起该做些什么了?!公众号主要将不定期分享个人所见所闻所感,包括但不限于:安全测试、漏洞赏析、渗透技巧、企业安全 (wechat feed made by @ttttmr https://wechat2rss.xlab.app)
这个话题比较有意思,因为我们这几年也做了自己的研发安全平台,其初衷主要有以下几点: 1、业务驱动:各种安全扫描工具比较多,产线使用起来很麻烦,做了平台之后安全扫描工具的扫描结果可以都发到平台上,统一处理和管理; 2、效能提升:研发安全团队的各类工具,比如安全测试报告生成工具都集成到平台,产品线就能生成报告;与其他系统打通,又可以提升效率; 3、成果展示:类似态势感知的大屏展示,可以把安全团队/个人/产品线的指标做实时的展示和分析,快速输出数据做汇报和对外展示。 这其实都是研发安全发展到一定阶段的必定产物,也许有人会说为什么不把这些数据放到devops平台、bug管理系统?其实也可,具体缘由不由分说。 更多内容,可以访问: 1、SDL 100问 SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 软件安全领域有哪些成熟度模型? 如何在隔离环境中修复大量的Java漏洞? SDL 62/100问:如何处理扫描出的三方组件开源协议风险? 2、SDL创新实践 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点 一个思考:安全测试驱动产品安全? 3、SDL最初实践 【SDL最初实践】开篇 【SDL最初实践】安全培训 【SDL最初实践】安全需求 【SDL最初实践】安全设计 【SDL最初实践】安全开发 【SDL最初实践】安全测试 【SDL最初实践】安全审核 【SDL最初实践】安全响应 4、软件供应链安全 软件供应商面临的攻防实战风险 软件供应商实战对抗十大安全举措 软件供应商攻防常规战之SDL 软件供应链投毒事件应急响应 浅谈企业级供应链投毒应急安全能力建设 5、安全运营实践 基于实践的安全事件简述 安全事件运营SOP:钓鱼邮件 安全事件运营SOP:网络攻击 安全事件运营SOP:蜜罐告警 安全事件运营SOP:webshell事件 安全事件运营SOP:接收漏洞事件 应急能力提升:实战应急困境与突破 应急能力提升:挖矿权限维持攻击模拟 应急能力提升:内网横向移动攻击模拟 应急能力提升:实战应急响应经验
在国内,这类事件带来的风险事件还比较少,感受比较明显的是公司收到过QT的律师函。不过,从风险治理的角度来说,这类风险搞不好要打官司、不容忽视。有见过比较强管理的方法:不允许使用强传染性的开源组件,但是对业务造成的影响很大,况且安全团队并没有那么高的话语权;其次是对强传染性的协议进行分析,比如LGPL的组件,要用就必须以动态链接的方式,否则就得开源产品代码。 综合来讲,这类风险需要提前纳入治理计划,需要从高层建设治理组织,最好是从源头做统一的、公司级的开源组件管理。 更多内容,可以访问: 1、SDL 100问 SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? SDL是否适合互联网公司? 如何计算安全评审的覆盖率? 研发安全管理用哪些工具? ATT&CK与SDL能否混搭使用? 软件安全领域有哪些成熟度模型? SDL 61/100问:如何在隔离环境中修复大量的Java漏洞? 2、SDL创新实践 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点 一个思考:安全测试驱动产品安全? 3、SDL最初实践 【SDL最初实践】开篇 【SDL最初实践】安全培训 【SDL最初实践】安全需求 【SDL最初实践】安全设计 【SDL最初实践】安全开发 【SDL最初实践】安全测试 【SDL最初实践】安全审核 【SDL最初实践】安全响应 4、软件供应链安全 软件供应商面临的攻防实战风险 软件供应商实战对抗十大安全举措 软件供应商攻防常规战之SDL 软件供应链投毒事件应急响应 浅谈企业级供应链投毒应急安全能力建设 5、安全运营实践 基于实践的安全事件简述 安全事件运营SOP:钓鱼邮件 安全事件运营SOP:网络攻击 安全事件运营SOP:蜜罐告警 安全事件运营SOP:webshell事件 安全事件运营SOP:接收漏洞事件 应急响应:redis挖矿(防御篇) 应急响应:redis挖矿(攻击篇) 应急响应:redis挖矿(完结篇) 应急能力提升:实战应急困境与突破 应急能力提升:挖矿权限维持攻击模拟 应急能力提升:内网横向移动攻击模拟 应急能力提升:实战应急响应经验
记参加“华为合作伙伴网络安全管理前移赋能培训会”,引发对安全测试的深入思考。
由于环境有限制,可以尝试从四方面入手: 1、梳理漏洞修复范围:自研代码的漏洞,还是Java项目中使用到的开源组件的漏洞?前者在代码中直接修复即可,后者需要依赖第三方; 2、明确漏洞修复标准:根据要求明确必须修复的漏洞类型,比如按照风险等级、对外有传播poc的漏洞等区分,可根据实际情况分级修复; 3、漏洞修复常见方法:使用或搭建内部的Maven等仓库,将最新或安全的版本下载到本地仓库,Java项目通过内部第三方仓库进行修复; 4、内部搭建仓库的建议:这是长期的解决之道,亦是从源头管控的方法。不过入库前需进行安检,并常态化做预警及体检。 更多内容,可以访问: 1、SDL 100问 SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? SDL是否适合互联网公司? 如何计算安全评审的覆盖率? 研发安全管理用哪些工具? ATT&CK与SDL能否混搭使用? SDL 60/100问:软件安全领域有哪些成熟度模型? 2、SDL创新实践 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点 3、SDL最初实践 【SDL最初实践】开篇 【SDL最初实践】安全培训 【SDL最初实践】安全需求 【SDL最初实践】安全设计 【SDL最初实践】安全开发 【SDL最初实践】安全测试 【SDL最初实践】安全审核 【SDL最初实践】安全响应 4、软件供应链安全 软件供应商面临的攻防实战风险 软件供应商实战对抗十大安全举措 软件供应商攻防常规战之SDL 软件供应链投毒事件应急响应 浅谈企业级供应链投毒应急安全能力建设 5、安全运营实践 基于实践的安全事件简述 安全事件运营SOP:钓鱼邮件 安全事件运营SOP:网络攻击 安全事件运营SOP:蜜罐告警 安全事件运营SOP:webshell事件 安全事件运营SOP:接收漏洞事件 应急响应:redis挖矿(防御篇) 应急响应:redis挖矿(攻击篇) 应急响应:redis挖矿(完结篇) 应急能力提升:实战应急困境与突破 应急能力提升:挖矿权限维持攻击模拟 应急能力提升:内网横向移动攻击模拟 应急能力提升:实战应急响应经验
目前比较知名的相关模型包括:构建安全成熟度模型(BSSIM)、软件保障成熟度模型(OWASP SAMM)、软件安全能力成熟度模型(中国信息安全测评中心 SSCMM)、CMMI+SAFE(卡内基梅隆大学开发,作为 CMMI-DEV 的扩展)、NIST CSF框架等。 在这些模型中,活跃度比较高的是BSSIM,一些在安全领域做得好的企业,常用于评估或改进软件安全能力的框架,企业可以自评确定当前的安全水平及规划提升路径(网上早已流传自评表)。亦可找第三方公司进行评估,证明软件安全的能力以帮助业务提升竞争力。 更多内容,可以访问: 1、SDL 100问 SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? SDL是否适合互联网公司? 如何计算安全评审的覆盖率? 研发安全管理用哪些工具? 线上系统变更,不安全提测怎么办? ATT&CK与SDL能否混搭使用? SDL 59/100问:关于第三方组件安全扫描系统的运营,可以定哪些指标? 2、SDL创新实践 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点 3、SDL最初实践 【SDL最初实践】开篇 【SDL最初实践】安全培训 【SDL最初实践】安全需求 【SDL最初实践】安全设计 【SDL最初实践】安全开发 【SDL最初实践】安全测试 【SDL最初实践】安全审核 【SDL最初实践】安全响应 4、软件供应链安全 软件供应商面临的攻防实战风险 软件供应商实战对抗十大安全举措 软件供应商攻防常规战之SDL 软件供应链投毒事件应急响应 浅谈企业级供应链投毒应急安全能力建设 5、安全运营实践 基于实践的安全事件简述 安全事件运营SOP:钓鱼邮件 安全事件运营SOP:网络攻击 安全事件运营SOP:蜜罐告警 安全事件运营SOP:webshell事件 安全事件运营SOP:接收漏洞事件 应急响应:redis挖矿(防御篇) 应急响应:redis挖矿(攻击篇) 应急响应:redis挖矿(完结篇) 应急能力提升:实战应急困境与突破 应急能力提升:挖矿权限维持攻击模拟 应急能力提升:内网横向移动攻击模拟 应急能力提升:实战应急响应经验
见到过一些中小型互联网,自研SCA扫描工具,仅关注了部分高危的漏洞及对应组件检查,若是这样的话,则需要设置安全能力相关的指标,如已纳入治理的漏洞及组件数量; 其次是覆盖率,对产品线的检测覆盖情况,包括:工具支持扫描的语言类型、已经常态化扫描的产品线数量、已经自动化触发扫描的产品线数量; 最后是修复率,安全工程师推动产线修复漏洞或组件的修复率。 还有最基础的不能丢了,关于SCA 工具的基本运营相关要求,比如规则更新、系统更新、可用性问题,在安全团队中容易被忽视。 更多内容,可以访问: 1、SDL 100问 SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? SDL是否适合互联网公司? 如何计算安全评审的覆盖率? 研发安全管理用哪些工具? 线上系统变更,不安全提测怎么办? SDL 58/100问:ATT&CK与SDL能否混搭使用? 2、SDL创新实践 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点 3、SDL最初实践 【SDL最初实践】开篇 【SDL最初实践】安全培训 【SDL最初实践】安全需求 【SDL最初实践】安全设计 【SDL最初实践】安全开发 【SDL最初实践】安全测试 【SDL最初实践】安全审核 【SDL最初实践】安全响应 4、软件供应链安全 软件供应商面临的攻防实战风险 软件供应商实战对抗十大安全举措 软件供应商攻防常规战之SDL 软件供应链投毒事件应急响应 浅谈企业级供应链投毒应急安全能力建设 5、安全运营实践 基于实践的安全事件简述 安全事件运营SOP:钓鱼邮件 安全事件运营SOP:网络攻击 安全事件运营SOP:蜜罐告警 安全事件运营SOP:webshell事件 安全事件运营SOP:接收漏洞事件 应急响应:redis挖矿(防御篇) 应急响应:redis挖矿(攻击篇) 应急响应:redis挖矿(完结篇) 应急能力提升:实战应急困境与突破 应急能力提升:挖矿权限维持攻击模拟 应急能力提升:内网横向移动攻击模拟 应急能力提升:实战应急响应经验
将攻击框架应用到威胁建模中,还是在研发安全的哪个阶段引入框架式攻击?当我仔细分析安全产品等大型软件后,发现产品的安全防护就是一个小微型的企业安全防护,ATT&CK能派上用场。 大型应用的gateway、iptables就如企业网络边界的firewall、waf,先要想尽一切办法在边界上阻挡恶意攻击;攻击者突破边界后要进行信息搜集,大型应用的配置文件、日志文件等若有明文账密,就能被利用于横向攻击内部其他服务,以至于提权到最高权限,进而做持久化或搞破坏。 所以,若将ATT&CK的攻击思路吸收为防守,再融入于SDL中,如安全设计、安全测试等环节,将提升产品在攻防实战中的对抗能力。 更多内容,可以访问: 1、SDL 100问 SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? SDL是否适合互联网公司? 如何计算安全评审的覆盖率? 研发安全管理用哪些工具? SDL 57/100问:线上系统变更,不安全提测怎么办? 2、SDL创新实践 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点 3、SDL最初实践 【SDL最初实践】开篇 【SDL最初实践】安全培训 【SDL最初实践】安全需求 【SDL最初实践】安全设计 【SDL最初实践】安全开发 【SDL最初实践】安全测试 【SDL最初实践】安全审核 【SDL最初实践】安全响应 4、软件供应链安全 软件供应商面临的攻防实战风险 软件供应商实战对抗十大安全举措 软件供应商攻防常规战之SDL 软件供应链投毒事件应急响应 浅谈企业级供应链投毒应急安全能力建设 5、安全运营实践 基于实践的安全事件简述 安全事件运营SOP:钓鱼邮件 安全事件运营SOP:网络攻击 安全事件运营SOP:蜜罐告警 安全事件运营SOP:webshell事件 安全事件运营SOP:接收漏洞事件 应急响应:redis挖矿(防御篇) 应急响应:redis挖矿(攻击篇) 应急响应:redis挖矿(完结篇) 应急能力提升:实战应急困境与突破 应急能力提升:挖矿权限维持攻击模拟 应急能力提升:内网横向移动攻击模拟 应急能力提升:实战应急响应经验
这本质上属于安全管理的范畴,造成的原因可能比较复杂。不过,可以从两方面来看: 1、安全测试未嵌入研发流程,安全团队没有抓手? 2、安全团队人手不够或研发体系问题,有意不检查已上线系统? 无论是哪一点,均说明安全的资源不够,前者可能是领导的支持、安全团队的话语权,后者则是人员、工具、外包服务等资源。 建议首先还是向上争取资源;其次则要完善SDL流程堵住这个缺口,如:纳入安全提测管理降低安全事件发生风险、运营阶段的应急响应准备、安全事件的奖惩政策,至少做到在发生安全事故时有兜底的方案。 更多内容,可以访问: 1、SDL 100问 SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? SDL是否适合互联网公司? 有什么SDL相关的评价体系? 如何引导业务方进行自助式安全扫描? 在DevOps中用到哪些自动化的安全工具? 如何看待安全提测看板这一需求? 如何计算安全评审的覆盖率? SDL 56/100问:研发安全管理用哪些工具? 2、SDL创新实践 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点 3、SDL最初实践 【SDL最初实践】开篇 【SDL最初实践】安全培训 【SDL最初实践】安全需求 【SDL最初实践】安全设计 【SDL最初实践】安全开发 【SDL最初实践】安全测试 【SDL最初实践】安全审核 【SDL最初实践】安全响应 4、软件供应链安全 软件供应商面临的攻防实战风险 软件供应商实战对抗十大安全举措 软件供应商攻防常规战之SDL 软件供应链投毒事件应急响应 浅谈企业级供应链投毒应急安全能力建设 5、安全运营实践 基于实践的安全事件简述 安全事件运营SOP:钓鱼邮件 安全事件运营SOP:网络攻击 安全事件运营SOP:蜜罐告警 安全事件运营SOP:webshell事件 安全事件运营SOP:接收漏洞事件 应急响应:redis挖矿(防御篇) 应急响应:redis挖矿(攻击篇) 应急响应:redis挖矿(完结篇) 应急能力提升:实战应急困境与突破 应急能力提升:挖矿权限维持攻击模拟 应急能力提升:内网横向移动攻击模拟 应急能力提升:实战应急响应经验
研发安全管理涉及多个环节,需要综合使用多种安全检测工具来确保代码、数据、流程和基础设施的安全性。但此处不再介绍各类AST工具,当SDL做到一定成熟度后(如已有很多检测工具),则会出现统一管理的需求,包括各工具的扫描结果、漏洞管理、简化流程提升效率、上下文威胁评估及态势等。 由此就会诞生研发安全管理平台类似的产品,目前已知商业化的产品不多,以ASOC(应用安全编排与关联)、ASPM(应用安全姿态管理)较为出名,另外笔者内部也在做该领域已经2年了,也踩了一些坑、积累了一些经验。若有兴趣深入交流,可以回复或私聊。 更多内容,可以访问: 1、SDL 100问 SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? SDL是否适合互联网公司? 有什么SDL相关的评价体系? 如何引导业务方进行自助式安全扫描? 在DevOps中用到哪些自动化的安全工具? 如何看待安全提测看板这一需求? SDL 55/100问:如何计算安全评审的覆盖率? 2、SDL创新实践 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点 3、SDL最初实践 【SDL最初实践】开篇 【SDL最初实践】安全培训 【SDL最初实践】安全需求 【SDL最初实践】安全设计 【SDL最初实践】安全开发 【SDL最初实践】安全测试 【SDL最初实践】安全审核 【SDL最初实践】安全响应 4、软件供应链安全 软件供应商面临的攻防实战风险 软件供应商实战对抗十大安全举措 软件供应商攻防常规战之SDL 软件供应链投毒事件应急响应 浅谈企业级供应链投毒应急安全能力建设 5、安全运营实践 基于实践的安全事件简述 安全事件运营SOP:钓鱼邮件 安全事件运营SOP:网络攻击 安全事件运营SOP:蜜罐告警 安全事件运营SOP:webshell事件 安全事件运营SOP:接收漏洞事件 应急响应:redis挖矿(防御篇) 应急响应:redis挖矿(攻击篇) 应急响应:redis挖矿(完结篇) 应急能力提升:实战应急困境与突破 应急能力提升:挖矿权限维持攻击模拟 应急能力提升:内网横向移动攻击模拟 应急能力提升:实战应急响应经验
在SDL建设的路上,各类检测覆盖率是最常见的指标。然而,这些指标出现的先后顺序,可能代表了SDL实施的成熟度。如安全评审是左移到需求或设计阶段的产物,这说明SDL估计做的还不错。 再来谈覆盖率,分母是所有项目,分子则是满足条件的项目,不过除了数量、也要关注质量: 1、公式的计算范围:应不断思考所有项目是否都纳入分母,分子的制定是否合理、是否需要进一步扩大范围; 2、减少评审主观性:尽可能将安全要求固化并持续优化,作为人人评审的依据,降低主观性和个体能力差异; 3、评审标准要全面:从合规、攻防到数据安全、隐私领域,结合实际业务场景制定有效、合理、清晰的标准。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? 如何安全管理研发提交代码到GitHub进行开源? 安全组件(SDK)能够否覆盖Owasp Top 10? SDL建设是难中难,该如何做? 如何定位及落地威胁建模? 关于安全测试标准化的讨论? SDL是否适合互联网公司? 有什么SDL相关的评价体系? 如何引导业务方进行自助式安全扫描? 前端修复bug需要进行SAST扫描吗? 在DevOps中用到哪些自动化的安全工具? SDL 54/100问:如何看待安全提测看板这一需求? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
关于问题的产生场景,是发生在SDL建设比较重的状态下。对于重的最简单理解就是:每个工单均需要做人工安全测试,并设置卡点,通过之后才允许上线。此时就会出现:业务方提交安全测试后,工单积压排队的情况。一方面是研发安全团队人员有限、加紧测试,另一方面是业务方需要知道安全测试排队情况,于是就产生了该需求。 对于SDL安全建设来说,这是个“中间态”。若这种状态长期下去,不利研发安全团队发展(疲于工单测试产生厌倦)、不利于业务方支撑(安全提测总拖后腿),急需要做出改变: 1、不要恋战人工测试:对待测系统进行分级,不要对每个系统每次发版都人工测试,对同一系统测试多次后也会出现思路短缺; 2、寻找其他措施兜底:建立完善的安全检测攻击链(黑白灰盒安全测试),引入红蓝渗透、SRC等机制补充人工测试能力覆盖不足,才能放做到有的放矢。 只有在充分弄清楚人工安全测试的作用后,方可做出科学有效的SDL机制调整。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? 如何安全管理研发提交代码到GitHub进行开源? 安全组件(SDK)能够否覆盖Owasp Top 10? SDL建设是难中难,该如何做? 如何定位及落地威胁建模? 关于安全测试标准化的讨论? SDL是否适合互联网公司? 有什么SDL相关的评价体系? 如何引导业务方进行自助式安全扫描? 前端修复bug需要进行SAST扫描吗? SDL 53/100问:在DevOps中用到哪些自动化的安全工具? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
在DevOps中,安全工具链包括威胁建模工具、静态安全检测(SAST、SCA)、动态安全检测(各类DAST)、交互式安全检测(IAST)、及运行时应用自我保护(很多说法将RASP算进来)、甚至waf等。 在自动化方面,除了威胁建模工具不能提供API外,其他安全工具都可以,即均可触发实现自动化扫描。此外,提供以下实践之后的建议: 1、最好是异步扫描:安全工具执行任务所需的时间长,直接串入会影响流水线的速度; 2、扫描结果有误报:设置安全门禁时需要有所甄别,需要人工介入或检测规则做精细; 3、依赖于研发工具:需要通过研发工具触发,比如gitlab的push触发静态扫描、构建时触发容器扫描和IAST插桩扫描。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? 如何安全管理研发提交代码到GitHub进行开源? 安全组件(SDK)能够否覆盖Owasp Top 10? SDL建设是难中难,该如何做? 如何定位及落地威胁建模? 关于安全测试标准化的讨论? SDL是否适合互联网公司? 有什么SDL相关的评价体系? 如何引导业务方进行自助式安全扫描? SDL 52/100问:前端修复bug需要进行SAST扫描吗? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
从严谨的角度出发,凡是涉及到代码变动,在上线前都应该进行SAST(静态代码)扫描。因为前端也会有一些常见的可利用web漏洞,比如XSS、CSRF、敏感信息泄露等,不过不太好在SAST中全面检测。 但在实践SDL过程中,应该要观其成熟度而定,比如设计了代码变更触发自动扫描、且具备扫描前端漏洞的检测能力和性能,那就可以扫描;若是在建设初期,则应先关注后端代码的高危漏洞扫描。 PS:记得很久之前使用fortify扫描js,对性能消耗极大、影响了其他扫描任务,后来就直接忽略js文件了。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? 如何安全管理研发提交代码到GitHub进行开源? 安全组件(SDK)能够否覆盖Owasp Top 10? SDL建设是难中难,该如何做? 如何定位及落地威胁建模? 关于安全测试标准化的讨论? SDL是否适合互联网公司? 有什么SDL相关的评价体系? SDL 51/100问:如何引导业务方进行自助式安全扫描? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
为了说清楚问题,先介绍一下提出问题的背景:已经要求业务方进行安全测试,并且有较为完善的机制与流程保障其正常运转。但由于安全检测工具不全都“友好”的支持自动化接入研发流程,故而产生该问题。 回到问题本身,建议从给业务方带来的好处来谈,安全检测工具如DAST(系统/web/容器)等能力开放给业务方,会对其带来更大的便利。比如: 1、有来自客户的安全需求时,要进行扫描并提交报告,此时不需要安全团队帮助、自己就能做; 2、在提交安全测试前,业务方先完成自检或将工具接入自己研发流程SOP(手动触发扫描也算),然后再送检,能够提升发版速度。 随之而来的也会有一些麻烦,比如增大安全工具运营成本、扫描范围不可控等问题,不过都有解、且好处是大于坏处的,所以这事儿就值得持续干下去。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? 如何安全管理研发提交代码到GitHub进行开源? 安全组件(SDK)能够否覆盖Owasp Top 10? SDL建设是难中难,该如何做? 如何定位及落地威胁建模? 关于安全测试标准化的讨论? SDL是否适合互联网公司? SDL 50/100问:有什么SDL相关的评价体系? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
从问题及接踵而至的回答来看,提问者是想知道SDL推行后,实施的水平怎样?业内应该没有直接评价SDL的模型或方法论,但与之相关的有软件安全或研发安全成熟度的评估方法,如: 1、国外模型:构建安全成熟度模型(BSIMM)、软件保障成熟度模型(SAMM)、CMMI+SAFE模型、软件安全能力成熟度模型(SSCMM); 2、国内标准:软件安全开发能力评估技术规范、软件供应链安全要求、研发运营一体化(DevOps)能力成熟度模型、可信研发运营安全成熟度评估(TSM)、软件供应链安全能力成熟度评估等。 这些模型或标准各有侧重,但共同之处都提供了一套框架或评估方法、细则,能够帮助在落地SDL时进行效果评估、识别不足并提出改进项。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? 如何安全管理研发提交代码到GitHub进行开源? 安全组件(SDK)能够否覆盖Owasp Top 10? SDL建设是难中难,该如何做? 如何定位及落地威胁建模? 关于安全测试标准化的讨论? SDL 49/100问:SDL是否适合互联网公司? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
之所以就互联网公司提出SDL适合性疑问,估计是认为:互联网注重效率快速交付、产品线多样带来的不同开发流程和需求等特点,与微软SDL繁重的安全活动、流程相矛盾。 其实,软件安全领域的安全技术也在伴随发展,比如适合DevOps流程的DevSecOps,强调自动化和协作来做安全,以保障软件的发布速度。 SDL不仅是只适用于瀑布开发模式,在自动化的加持下也适用于敏捷模式、甚至DevOps模式。正是因为公司内部大概率不止一种开发模式,故统称为SDL也不为过。至于怎么去做自动化,可以从代码白盒扫描、流量黑盒扫描、先减少检测规则再逐步增加等方面入手,在业务发展中稳步推进安全能力。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? 如何安全管理研发提交代码到GitHub进行开源? 安全组件(SDK)能够否覆盖Owasp Top 10? SDL建设是难中难,该如何做? 如何定位及落地威胁建模? SDL 48/100问:关于安全测试标准化的讨论? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
不同的安全测试工程师,在面对相同系统时,会有不同的测试思路与习惯,以至于发现的漏洞不一样,导致业务方会有一些怨言。在此背景下,就安全测试标准化进行了讨论。 安全测试很难像功能测试一样,有完善的测试用例然后逐一执行。因为安全本身就是意料之外的事情,虽然标准化之后还会出现遗漏,但带来的安全效果肯定会比单兵作战要好,所以这事儿是有必要做的。回顾我们的做法: 1、资深安全测试工程师牵头编写安全测试用例集,结合历史漏洞、主营业务功能来做; 2、其他安全测试工程师学习安全测试用例集,并补充自己的思路,这是一个持续过程; 3、参照安全测试用例集,尝试开发一些小工具用于提升效率; 4、将测试集分享给业务线学习,鼓励业务线的测试、开发进行自测。 至此,作为集团级的应用安全团队就没啥招了,从效果来看仅对扩展测试思路有用、开发的小工具效果也一般。后来,就没再维护安全测试用例集,取而代之的是建设“纵深”的安全测试工具链:(安全需求、安全设计)- SAST、SCA、人工审计 - IAST、DAST、人工测试 - SRC收洞,并通过对外部发现的漏洞复盘、不断优化整个安全测试体系(规范-流程-工具-人员)。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? 如何安全管理研发提交代码到GitHub进行开源? 安全组件(SDK)能够否覆盖Owasp Top 10? SDL建设是难中难,该如何做? SDL 47/100问:如何定位及落地威胁建模? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
SDL涉及到多个安全活动,随着DevSecOps火热,相关安全活动数量还在增加。从纯产出的角度(漏洞、合规及市场需求)来说,这些活动的“部分”优先级如下: 1、DAST,包括主机漏扫、web漏洞扫描、容器漏洞扫描等,满足合规需求; 2、SAST,通过规则精简、调优及数据流追踪等原理检测,很大程度上降低误报; 3、IAST,对于技术栈统一且与工具匹配的业务,这一点排名甚至可以排到第二; 4、人工安全测试,包括渗透测试和代码审计,作为工具的补充很有必要,但资源有限时不会考虑; 5、安全设计,如问题中的威胁建模,对业务场景中的安全问题发现效果非常好、且更早发现,缺点就是对人的要求太高、自动化难度大。 由此可以见得威胁建模在我心中的定位,虽然排名靠后但并不是不好,相反是很好,但就是“太贵”!关于落地方面的经验,在第16问中有介绍,此处不再描述。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 有哪些不错的安全设计参考资料? 安全设计要求怎么做才能落地? 有哪些威胁建模方法论? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 白盒检测工具存在局限性,如何进行补偿? SCA用什么系统做,自研还是外购? Sonar是否好用以及误报率咋样? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 在研发安全流程落地方面,有何经验? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 如何展示SDL的成果或效果? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? 如何安全管理研发提交代码到GitHub进行开源? 安全组件(SDK)能够否覆盖Owasp Top 10? SDL 46/100问:SDL建设是难中难,该如何做? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
仅从回答问题的角度来说,安全SDK肯定不能覆盖全owasp top 10(当前还是2021版),因为在这个列表中涉及到的安全问题范围比较广,比如: 1、不安全的设计、使用自带缺陷和过时的组件(属于设计阶段该考虑的问题); 2、安全配置错误、安全日志和监控故障,也与安全SDK无直接关系。 回归到这个问题本质,安全SDK能够解决的应该是常见web漏洞,如owasp top 10中的注入类、SSRF,之外的如文件上传、反序列化等。 经过一些实践之后,发现比较好的方式还是在开发框架层面做安全,因为现在的框架提供越来越多的安全功能,正确使用就能解决很多漏洞,所以安全团队的关注点也可以放到安全的开发框架及引导开发正确使用。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 有哪些不错的安全设计参考资料? 安全设计要求怎么做才能落地? 有哪些威胁建模方法论? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 白盒检测工具存在局限性,如何进行补偿? SCA用什么系统做,自研还是外购? 有没有好用的SDL平台? Sonar是否好用以及误报率咋样? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 在研发安全流程落地方面,有何经验? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 如何展示SDL的成果或效果? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? SDL 44/100问:如何安全管理研发提交代码到GitHub进行开源? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
这个问题容易与另一个混淆:github信息泄露监测,从权责角度来看,这是安全人员的管理职责。然而标题所述,应该把安全人员定位为参与者比较合适。 对外开源项目可能是为了提升团队/个人影响力、遵循开源社区协议...等各种原因,综合来看算是一个合理的需求,但是需要注意数据资产安全性,比如:是否是核心代码,是否报备公司并取得同意,代码中是否含有公司相关的敏感信息? 针对前两个问题,公司应该设置配置管理团队或技术委员会,对公司代码进行管理和使用审批,安全作为其中一环对要开源的项目进行敏感信息检测,各层检测/审批通过后方可对外开源。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 有哪些不错的安全设计参考资料? 安全设计要求怎么做才能落地? 有哪些威胁建模方法论? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 白盒检测工具存在局限性,如何进行补偿? SCA用什么系统做,自研还是外购? 有没有好用的SDL平台? Sonar是否好用以及误报率咋样? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 在研发安全流程落地方面,有何经验? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 如何展示SDL的成果或效果? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? SDL 43/100问:安全组件如何在SDL中落地? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
由于环境有限制,可以尝试从四方面入手: 1、梳理漏洞修复范围:自研代码的漏洞,还是Java项目中使用到的开源组件的漏洞?前者在代码中直接修复即可,后者需要依赖第三方; 2、明确漏洞修复标准:根据要求明确必须修复的漏洞类型,比如按照风险等级、对外有传播poc的漏洞等区分,可根据实际情况分级修复; 3、漏洞修复常见方法:使用或搭建内部的Maven等仓库,将最新或安全的版本下载到本地仓库,Java项目通过内部第三方仓库进行修复; 4、内部搭建仓库的建议:这是长期的解决之道,亦是从源头管控的方法。不过入库前需进行安检,并常态化做预警及体检。 更多内容,可以访问: 1、SDL 100问 SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? SDL是否适合互联网公司? 如何计算安全评审的覆盖率? 研发安全管理用哪些工具? ATT&CK与SDL能否混搭使用? SDL 60/100问:软件安全领域有哪些成熟度模型? 2、SDL创新实践 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点 3、SDL最初实践 【SDL最初实践】开篇 【SDL最初实践】安全培训 【SDL最初实践】安全需求 【SDL最初实践】安全设计 【SDL最初实践】安全开发 【SDL最初实践】安全测试 【SDL最初实践】安全审核 【SDL最初实践】安全响应 4、软件供应链安全 软件供应商面临的攻防实战风险 软件供应商实战对抗十大安全举措 软件供应商攻防常规战之SDL 软件供应链投毒事件应急响应 浅谈企业级供应链投毒应急安全能力建设 5、安全运营实践 基于实践的安全事件简述 安全事件运营SOP:钓鱼邮件 安全事件运营SOP:网络攻击 安全事件运营SOP:蜜罐告警 安全事件运营SOP:webshell事件 安全事件运营SOP:接收漏洞事件 应急响应:redis挖矿(防御篇) 应急响应:redis挖矿(攻击篇) 应急响应:redis挖矿(完结篇) 应急能力提升:实战应急困境与突破 应急能力提升:挖矿权限维持攻击模拟 应急能力提升:内网横向移动攻击模拟 应急能力提升:实战应急响应经验
目前比较知名的相关模型包括:构建安全成熟度模型(BSSIM)、软件保障成熟度模型(OWASP SAMM)、软件安全能力成熟度模型(中国信息安全测评中心 SSCMM)、CMMI+SAFE(卡内基梅隆大学开发,作为 CMMI-DEV 的扩展)、NIST CSF框架等。 在这些模型中,活跃度比较高的是BSSIM,一些在安全领域做得好的企业,常用于评估或改进软件安全能力的框架,企业可以自评确定当前的安全水平及规划提升路径(网上早已流传自评表)。亦可找第三方公司进行评估,证明软件安全的能力以帮助业务提升竞争力。 更多内容,可以访问: 1、SDL 100问 SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? SDL是否适合互联网公司? 如何计算安全评审的覆盖率? 研发安全管理用哪些工具? 线上系统变更,不安全提测怎么办? ATT&CK与SDL能否混搭使用? SDL 59/100问:关于第三方组件安全扫描系统的运营,可以定哪些指标? 2、SDL创新实践 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点 3、SDL最初实践 【SDL最初实践】开篇 【SDL最初实践】安全培训 【SDL最初实践】安全需求 【SDL最初实践】安全设计 【SDL最初实践】安全开发 【SDL最初实践】安全测试 【SDL最初实践】安全审核 【SDL最初实践】安全响应 4、软件供应链安全 软件供应商面临的攻防实战风险 软件供应商实战对抗十大安全举措 软件供应商攻防常规战之SDL 软件供应链投毒事件应急响应 浅谈企业级供应链投毒应急安全能力建设 5、安全运营实践 基于实践的安全事件简述 安全事件运营SOP:钓鱼邮件 安全事件运营SOP:网络攻击 安全事件运营SOP:蜜罐告警 安全事件运营SOP:webshell事件 安全事件运营SOP:接收漏洞事件 应急响应:redis挖矿(防御篇) 应急响应:redis挖矿(攻击篇) 应急响应:redis挖矿(完结篇) 应急能力提升:实战应急困境与突破 应急能力提升:挖矿权限维持攻击模拟 应急能力提升:内网横向移动攻击模拟 应急能力提升:实战应急响应经验
见到过一些中小型互联网,自研SCA扫描工具,仅关注了部分高危的漏洞及对应组件检查,若是这样的话,则需要设置安全能力相关的指标,如已纳入治理的漏洞及组件数量; 其次是覆盖率,对产品线的检测覆盖情况,包括:工具支持扫描的语言类型、已经常态化扫描的产品线数量、已经自动化触发扫描的产品线数量; 最后是修复率,安全工程师推动产线修复漏洞或组件的修复率。 还有最基础的不能丢了,关于SCA 工具的基本运营相关要求,比如规则更新、系统更新、可用性问题,在安全团队中容易被忽视。 更多内容,可以访问: 1、SDL 100问 SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? SDL是否适合互联网公司? 如何计算安全评审的覆盖率? 研发安全管理用哪些工具? 线上系统变更,不安全提测怎么办? SDL 58/100问:ATT&CK与SDL能否混搭使用? 2、SDL创新实践 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点 3、SDL最初实践 【SDL最初实践】开篇 【SDL最初实践】安全培训 【SDL最初实践】安全需求 【SDL最初实践】安全设计 【SDL最初实践】安全开发 【SDL最初实践】安全测试 【SDL最初实践】安全审核 【SDL最初实践】安全响应 4、软件供应链安全 软件供应商面临的攻防实战风险 软件供应商实战对抗十大安全举措 软件供应商攻防常规战之SDL 软件供应链投毒事件应急响应 浅谈企业级供应链投毒应急安全能力建设 5、安全运营实践 基于实践的安全事件简述 安全事件运营SOP:钓鱼邮件 安全事件运营SOP:网络攻击 安全事件运营SOP:蜜罐告警 安全事件运营SOP:webshell事件 安全事件运营SOP:接收漏洞事件 应急响应:redis挖矿(防御篇) 应急响应:redis挖矿(攻击篇) 应急响应:redis挖矿(完结篇) 应急能力提升:实战应急困境与突破 应急能力提升:挖矿权限维持攻击模拟 应急能力提升:内网横向移动攻击模拟 应急能力提升:实战应急响应经验
将攻击框架应用到威胁建模中,还是在研发安全的哪个阶段引入框架式攻击?当我仔细分析安全产品等大型软件后,发现产品的安全防护就是一个小微型的企业安全防护,ATT&CK能派上用场。 大型应用的gateway、iptables就如企业网络边界的firewall、waf,先要想尽一切办法在边界上阻挡恶意攻击;攻击者突破边界后要进行信息搜集,大型应用的配置文件、日志文件等若有明文账密,就能被利用于横向攻击内部其他服务,以至于提权到最高权限,进而做持久化或搞破坏。 所以,若将ATT&CK的攻击思路吸收为防守,再融入于SDL中,如安全设计、安全测试等环节,将提升产品在攻防实战中的对抗能力。 更多内容,可以访问: 1、SDL 100问 SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? SDL是否适合互联网公司? 如何计算安全评审的覆盖率? 研发安全管理用哪些工具? SDL 57/100问:线上系统变更,不安全提测怎么办? 2、SDL创新实践 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点 3、SDL最初实践 【SDL最初实践】开篇 【SDL最初实践】安全培训 【SDL最初实践】安全需求 【SDL最初实践】安全设计 【SDL最初实践】安全开发 【SDL最初实践】安全测试 【SDL最初实践】安全审核 【SDL最初实践】安全响应 4、软件供应链安全 软件供应商面临的攻防实战风险 软件供应商实战对抗十大安全举措 软件供应商攻防常规战之SDL 软件供应链投毒事件应急响应 浅谈企业级供应链投毒应急安全能力建设 5、安全运营实践 基于实践的安全事件简述 安全事件运营SOP:钓鱼邮件 安全事件运营SOP:网络攻击 安全事件运营SOP:蜜罐告警 安全事件运营SOP:webshell事件 安全事件运营SOP:接收漏洞事件 应急响应:redis挖矿(防御篇) 应急响应:redis挖矿(攻击篇) 应急响应:redis挖矿(完结篇) 应急能力提升:实战应急困境与突破 应急能力提升:挖矿权限维持攻击模拟 应急能力提升:内网横向移动攻击模拟 应急能力提升:实战应急响应经验
这本质上属于安全管理的范畴,造成的原因可能比较复杂。不过,可以从两方面来看: 1、安全测试未嵌入研发流程,安全团队没有抓手? 2、安全团队人手不够或研发体系问题,有意不检查已上线系统? 无论是哪一点,均说明安全的资源不够,前者可能是领导的支持、安全团队的话语权,后者则是人员、工具、外包服务等资源。 建议首先还是向上争取资源;其次则要完善SDL流程堵住这个缺口,如:纳入安全提测管理降低安全事件发生风险、运营阶段的应急响应准备、安全事件的奖惩政策,至少做到在发生安全事故时有兜底的方案。 更多内容,可以访问: 1、SDL 100问 SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? SDL是否适合互联网公司? 有什么SDL相关的评价体系? 如何引导业务方进行自助式安全扫描? 在DevOps中用到哪些自动化的安全工具? 如何看待安全提测看板这一需求? 如何计算安全评审的覆盖率? SDL 56/100问:研发安全管理用哪些工具? 2、SDL创新实践 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点 3、SDL最初实践 【SDL最初实践】开篇 【SDL最初实践】安全培训 【SDL最初实践】安全需求 【SDL最初实践】安全设计 【SDL最初实践】安全开发 【SDL最初实践】安全测试 【SDL最初实践】安全审核 【SDL最初实践】安全响应 4、软件供应链安全 软件供应商面临的攻防实战风险 软件供应商实战对抗十大安全举措 软件供应商攻防常规战之SDL 软件供应链投毒事件应急响应 浅谈企业级供应链投毒应急安全能力建设 5、安全运营实践 基于实践的安全事件简述 安全事件运营SOP:钓鱼邮件 安全事件运营SOP:网络攻击 安全事件运营SOP:蜜罐告警 安全事件运营SOP:webshell事件 安全事件运营SOP:接收漏洞事件 应急响应:redis挖矿(防御篇) 应急响应:redis挖矿(攻击篇) 应急响应:redis挖矿(完结篇) 应急能力提升:实战应急困境与突破 应急能力提升:挖矿权限维持攻击模拟 应急能力提升:内网横向移动攻击模拟 应急能力提升:实战应急响应经验
研发安全管理涉及多个环节,需要综合使用多种安全检测工具来确保代码、数据、流程和基础设施的安全性。但此处不再介绍各类AST工具,当SDL做到一定成熟度后(如已有很多检测工具),则会出现统一管理的需求,包括各工具的扫描结果、漏洞管理、简化流程提升效率、上下文威胁评估及态势等。 由此就会诞生研发安全管理平台类似的产品,目前已知商业化的产品不多,以ASOC(应用安全编排与关联)、ASPM(应用安全姿态管理)较为出名,另外笔者内部也在做该领域已经2年了,也踩了一些坑、积累了一些经验。若有兴趣深入交流,可以回复或私聊。 更多内容,可以访问: 1、SDL 100问 SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? SDL是否适合互联网公司? 有什么SDL相关的评价体系? 如何引导业务方进行自助式安全扫描? 在DevOps中用到哪些自动化的安全工具? 如何看待安全提测看板这一需求? SDL 55/100问:如何计算安全评审的覆盖率? 2、SDL创新实践 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点 3、SDL最初实践 【SDL最初实践】开篇 【SDL最初实践】安全培训 【SDL最初实践】安全需求 【SDL最初实践】安全设计 【SDL最初实践】安全开发 【SDL最初实践】安全测试 【SDL最初实践】安全审核 【SDL最初实践】安全响应 4、软件供应链安全 软件供应商面临的攻防实战风险 软件供应商实战对抗十大安全举措 软件供应商攻防常规战之SDL 软件供应链投毒事件应急响应 浅谈企业级供应链投毒应急安全能力建设 5、安全运营实践 基于实践的安全事件简述 安全事件运营SOP:钓鱼邮件 安全事件运营SOP:网络攻击 安全事件运营SOP:蜜罐告警 安全事件运营SOP:webshell事件 安全事件运营SOP:接收漏洞事件 应急响应:redis挖矿(防御篇) 应急响应:redis挖矿(攻击篇) 应急响应:redis挖矿(完结篇) 应急能力提升:实战应急困境与突破 应急能力提升:挖矿权限维持攻击模拟 应急能力提升:内网横向移动攻击模拟 应急能力提升:实战应急响应经验
SDL涉及到多个安全活动,随着DevSecOps火热,相关安全活动数量还在增加。从纯产出的角度(漏洞、合规及市场需求)来说,这些活动的“部分”优先级如下: 1、DAST,包括主机漏扫、web漏洞扫描、容器漏洞扫描等,满足合规需求; 2、SAST,通过规则精简、调优及数据流追踪等原理检测,很大程度上降低误报; 3、IAST,对于技术栈统一且与工具匹配的业务,这一点排名甚至可以排到第二; 4、人工安全测试,包括渗透测试和代码审计,作为工具的补充很有必要,但资源有限时不会考虑; 5、安全设计,如问题中的威胁建模,对业务场景中的安全问题发现效果非常好、且更早发现,缺点就是对人的要求太高、自动化难度大。 由此可以见得威胁建模在我心中的定位,虽然排名靠后但并不是不好,相反是很好,但就是“太贵”!关于落地方面的经验,在第16问中有介绍,此处不再描述。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 有哪些不错的安全设计参考资料? 安全设计要求怎么做才能落地? 有哪些威胁建模方法论? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 白盒检测工具存在局限性,如何进行补偿? SCA用什么系统做,自研还是外购? Sonar是否好用以及误报率咋样? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 在研发安全流程落地方面,有何经验? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 如何展示SDL的成果或效果? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? 如何安全管理研发提交代码到GitHub进行开源? 安全组件(SDK)能够否覆盖Owasp Top 10? SDL 46/100问:SDL建设是难中难,该如何做? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
仅从回答问题的角度来说,安全SDK肯定不能覆盖全owasp top 10(当前还是2021版),因为在这个列表中涉及到的安全问题范围比较广,比如: 1、不安全的设计、使用自带缺陷和过时的组件(属于设计阶段该考虑的问题); 2、安全配置错误、安全日志和监控故障,也与安全SDK无直接关系。 回归到这个问题本质,安全SDK能够解决的应该是常见web漏洞,如owasp top 10中的注入类、SSRF,之外的如文件上传、反序列化等。 经过一些实践之后,发现比较好的方式还是在开发框架层面做安全,因为现在的框架提供越来越多的安全功能,正确使用就能解决很多漏洞,所以安全团队的关注点也可以放到安全的开发框架及引导开发正确使用。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 有哪些不错的安全设计参考资料? 安全设计要求怎么做才能落地? 有哪些威胁建模方法论? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 白盒检测工具存在局限性,如何进行补偿? SCA用什么系统做,自研还是外购? 有没有好用的SDL平台? Sonar是否好用以及误报率咋样? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 在研发安全流程落地方面,有何经验? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 如何展示SDL的成果或效果? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? SDL 44/100问:如何安全管理研发提交代码到GitHub进行开源? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
这个问题容易与另一个混淆:github信息泄露监测,从权责角度来看,这是安全人员的管理职责。然而标题所述,应该把安全人员定位为参与者比较合适。 对外开源项目可能是为了提升团队/个人影响力、遵循开源社区协议...等各种原因,综合来看算是一个合理的需求,但是需要注意数据资产安全性,比如:是否是核心代码,是否报备公司并取得同意,代码中是否含有公司相关的敏感信息? 针对前两个问题,公司应该设置配置管理团队或技术委员会,对公司代码进行管理和使用审批,安全作为其中一环对要开源的项目进行敏感信息检测,各层检测/审批通过后方可对外开源。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 有哪些不错的安全设计参考资料? 安全设计要求怎么做才能落地? 有哪些威胁建模方法论? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 白盒检测工具存在局限性,如何进行补偿? SCA用什么系统做,自研还是外购? 有没有好用的SDL平台? Sonar是否好用以及误报率咋样? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 在研发安全流程落地方面,有何经验? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 如何展示SDL的成果或效果? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? SDL 43/100问:安全组件如何在SDL中落地? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
SDL是一个体系化的大工程,需要业务方增加人员投入进行配合,很可能影响业务系统发布节奏,所以会遇到不少阻力。 不过从为“业务保驾护航,安全服务业务”的切入点出发,保持“结合实际定制,轻柔融入”的原则,会增大成功的概率。在推进时可以: 1、找案例:纵观行业,介绍在SDL方面做得好的公司以及取得的成效; 2、讲好处:可以获得及早发现安全风险、满足法规要求、全面提高产品安全性、增强客户信任等收益; 3、先试点:找重视安全有意愿的、安全问题比较多的业务开始小范围推进,最开始可以是1个业务跑通流程、持续优化; 4、再全面:有了小范围的试点之后,以此为先进代表、在公司公开晒取得的成果,产生一定影响力,与此同时可以直接将SDL写成安全规范,然后在全公司推广。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 有哪些不错的安全设计参考资料? 安全设计要求怎么做才能落地? 有哪些威胁建模方法论? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 白盒检测工具存在局限性,如何进行补偿? SCA用什么系统做,自研还是外购? 有没有好用的SDL平台? Sonar是否好用以及误报率咋样? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 在研发安全流程落地方面,有何经验? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 如何展示SDL的成果或效果? 怎么解决源代码两张皮导致安全失效? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
开发安全培训,此处主要是指给业务团队进行安全意识与安全技能的培训,如:安全规范培训、安全需求培训、安全工具培训、编码安全培训等,是SDL中很重要的一环。如果直接回答提问的话,答案肯定是Yes。 但对于“有效”的理解,不应该是达到100%的效果,比如组织编码安全培训后,不能期望开发时就不会引入漏洞,而是在开发时有意识思考有没有安全风险、弄不清楚的知道联系安全团队咨询、引入安全组件等。我想这是比较有效又合理的结果,不过要做到这程度并非易事,可以从三方面做努力: 1、培训的连续性,做到常态化、线上化; 2、培训得有考核,组织参与的人员/部门考试,排名并公布; 3、培训有针对性,针对研发人员、运维人员、产品经理做不同的内容设计。 此外曾经做过一次尝试,“把产生问题的人干掉”。即:年底,组织各业务写漏洞top排名的开发人员进行针对性学习及考试,惊喜的发现有不少人考了很多遍,有个研发刷了20+次直到拿到100分。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 有哪些不错的安全设计参考资料? 安全设计要求怎么做才能落地? 有哪些威胁建模方法论? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 白盒检测工具存在局限性,如何进行补偿? SCA用什么系统做,自研还是外购? 有没有好用的SDL平台? Sonar是否好用以及误报率咋样? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 在研发安全流程落地方面,有何经验? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 如何展示SDL的成果或效果? SDL 40/100问:怎么解决源代码两张皮导致安全失效? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
提问者的原意是:系统发版前进行了安全测试,但是业务方不想投入太多时间整改,直接把未改完的代码给到运维中心发版上线。如果仅进行安全团队自省,则大概率是研发安全的工作模式出现了问题: 1、安全检查没有嵌入到研发流程中,缺少卡点或检查,不能阻断不达标系统上线; 2、安全质量没有和业务绩效挂钩,或执行不到位,导致可以直接不理安全就发版。 再深挖一层,可能是研发安全团队处境比较尴尬,没有足够的话语权,甚至没有取得高管的认可与信任。这是开展研发安全工作的基础,值得想办法去破局。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 有哪些不错的安全设计参考资料? 安全设计要求怎么做才能落地? 有哪些威胁建模方法论? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 白盒检测工具存在局限性,如何进行补偿? SCA用什么系统做,自研还是外购? 有没有好用的SDL平台? Sonar是否好用以及误报率咋样? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 在研发安全流程落地方面,有何经验? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? SDL 39/100问:如何展示SDL的成果或效果? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
在探讨SDL的成效之前,先回溯下SDL实施的初衷:即在软件开发的各个阶段中,力求尽早且全面地识别并解决漏洞及潜在的安全风险,从而转变以往软件上线后频繁应对安全事件的不利局面。基于这一初衷,至少可提炼出以下三个关键的成效衡量指标: 1、漏洞数量:实施SDL前后,相同周期内发现的漏洞数量,展示实施SDL带来的漏挖能力提升效果; 2、漏洞修复率:已发现漏洞的修复率,也是比较SDL前后,展示SDL流程或措施在该方面的提升效果; 3、安全事件发生率:统计SDL前后的,外部发现漏洞的数量,展示SDL在降低安全事件发生率方面的效果。 此外,这些都是结果指标,若SDL在建设过程中,还可以添加过程指标,证明SDL带来的好处: 1、安全测试覆盖率:统计SDL前后的安全提测工单数量,包括代码审计、开源组件检测、动态扫描、渗透测试等; 2、漏洞检出能力:统计SDL前后的漏洞检测能力,如针对某类漏洞的检测能力增强或填补空白。 综上所述,以上指标均可作为衡量SDL成效的重要依据。为了更直观地展示这些指标的变化趋势与对比情况,建议采用图表等可视化手段进行展示,以便更好地理解和分析SDL的实施效果。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 有哪些不错的安全设计参考资料? 安全设计要求怎么做才能落地? 有哪些威胁建模方法论? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 白盒检测工具存在局限性,如何进行补偿? SCA用什么系统做,自研还是外购? 有没有好用的SDL平台? Sonar是否好用以及误报率咋样? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 在研发安全流程落地方面,有何经验? 如何说服业务完成checklist自检? SDL 38/100问:sdl会对项目变更代码做review吗? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
代码审查(Code Review)是一个由项目核心成员,如资深开发架构师执行的精密流程,其核心在于对源代码实施全面而系统的审核。此过程的根本目的,在于识别代码中潜藏的缺陷、安全漏洞、违反编码标准之处,以及可进一步提升的性能瓶颈。 从安全性的专业视角出发,尽管在某些关键功能或敏感场景中,人工审查仍具有不可替代的价值,但在日常实践中,鉴于项目代码的高频变动性,更为高效且可持续的策略是采用自动化的安全扫描机制。这通常涉及在代码提交或构建阶段,无缝集成静态应用安全测试(SAST)工具,以确保安全扫描能够即时响应代码变更。 至于扫描范围的选择,即在仅针对变更部分还是整个项目进行全面扫描之间权衡,是一个值得深入探讨的问题。从确保漏洞检测准确性的专业角度出发,在扫描能力和系统性能允许的前提下,推荐采取全项目扫描策略。这一做法能够最大限度地减少因代码变更可能引发的安全盲区,从而确保项目整体的安全性处于可控且优化的状态。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 有哪些不错的安全设计参考资料? 安全设计要求怎么做才能落地? 有哪些威胁建模方法论? 有哪些威胁建模工具? 如何开始或实施威胁建模? 威胁建模和架构安全评审,有何异同? 编码阶段,开展哪些安全活动? 如何选择静态代码扫描(SAST)工具? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 如何制定一份有用的开发安全规范? 如何做到开发安全规范的有效实施? 应该如何选型代码安全扫描工具? 白盒检测工具存在局限性,如何进行补偿? SCA用什么系统做,自研还是外购? 有没有好用的SDL平台? Sonar是否好用以及误报率咋样? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 在研发安全流程落地方面,有何经验? SDL 37/100问:如何说服业务完成checklist自检? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
不少群友都提及绩效导向与领导层的支持,对此我亦持赞同立场。然而,在此基础上,我们更需从研发视角出发,精心筹备安全检查清单(checklist)。我曾与一位研发总监深入交流,他虽对安全工作表达了积极支持,却对填写checklist感到为难: 团队协作难题:同一产品往往牵涉多个研发团队,如何确保各团队均能参与填写,并明确责任归属? 填写时机模糊:设计初期填写可能因信息不足而效果欠佳,开发后期则可能错失引导时机,究竟何时填写最为适宜? 内容理解障碍:checklist内容繁杂、粒度不一,且多从安全工程师视角撰写,导致研发人员难以准确理解。 鉴于此,初期应侧重于实施SAST、DAST及架构安全评审等更为基础且有效的安全措施。待体系成熟后,再行考虑引入checklist。同时,我们应致力于简化并系统化checklist,降低其复杂度,并减少自检查的频率,方能确保安全检查清单在组织中得以顺利推行并发挥实效。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 有哪些不错的安全设计参考资料? 安全设计要求怎么做才能落地? 有哪些威胁建模方法论? 有哪些威胁建模工具? 如何开始或实施威胁建模? 威胁建模和架构安全评审,有何异同? 编码阶段,开展哪些安全活动? 如何选择静态代码扫描(SAST)工具? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 如何制定一份有用的开发安全规范? 如何做到开发安全规范的有效实施? 应该如何选型代码安全扫描工具? 代码安全扫描应该设置哪些指标? 如何提升开发人员的安全意识? 白盒检测工具存在局限性,如何进行补偿? SCA用什么系统做,自研还是外购? 有没有好用的SDL平台? Sonar是否好用以及误报率咋样? 如何推进有问题的jar包更新? SCA工具的误报率怎样? SDL 36/100问:在研发安全流程落地方面,有何经验? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
在SDL建设的路上,各类检测覆盖率是最常见的指标。然而,这些指标出现的先后顺序,可能代表了SDL实施的成熟度。如安全评审是左移到需求或设计阶段的产物,这说明SDL估计做的还不错。 再来谈覆盖率,分母是所有项目,分子则是满足条件的项目,不过除了数量、也要关注质量: 1、公式的计算范围:应不断思考所有项目是否都纳入分母,分子的制定是否合理、是否需要进一步扩大范围; 2、减少评审主观性:尽可能将安全要求固化并持续优化,作为人人评审的依据,降低主观性和个体能力差异; 3、评审标准要全面:从合规、攻防到数据安全、隐私领域,结合实际业务场景制定有效、合理、清晰的标准。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? 如何安全管理研发提交代码到GitHub进行开源? 安全组件(SDK)能够否覆盖Owasp Top 10? SDL建设是难中难,该如何做? 如何定位及落地威胁建模? 关于安全测试标准化的讨论? SDL是否适合互联网公司? 有什么SDL相关的评价体系? 如何引导业务方进行自助式安全扫描? 前端修复bug需要进行SAST扫描吗? 在DevOps中用到哪些自动化的安全工具? SDL 54/100问:如何看待安全提测看板这一需求? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
在SDL建设的路上,各类检测覆盖率是最常见的指标。然而,这些指标出现的先后顺序,可能代表了SDL实施的成熟度。如安全评审是左移到需求或设计阶段的产物,这说明SDL估计做的还不错。 再来谈覆盖率,分母是所有项目,分子则是满足条件的项目,不过除了数量、也要关注质量: 1、公式的计算范围:应不断思考所有项目是否都纳入分母,分子的制定是否合理、是否需要进一步扩大范围; 2、减少评审主观性:尽可能将安全要求固化并持续优化,作为人人评审的依据,降低主观性和个体能力差异; 3、评审标准要全面:从合规、攻防到数据安全、隐私领域,结合实际业务场景制定有效、合理、清晰的标准。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? 如何安全管理研发提交代码到GitHub进行开源? 安全组件(SDK)能够否覆盖Owasp Top 10? SDL建设是难中难,该如何做? 如何定位及落地威胁建模? 关于安全测试标准化的讨论? SDL是否适合互联网公司? 有什么SDL相关的评价体系? 如何引导业务方进行自助式安全扫描? 前端修复bug需要进行SAST扫描吗? 在DevOps中用到哪些自动化的安全工具? SDL 54/100问:如何看待安全提测看板这一需求? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
关于问题的产生场景,是发生在SDL建设比较重的状态下。对于重的最简单理解就是:每个工单均需要做人工安全测试,并设置卡点,通过之后才允许上线。此时就会出现:业务方提交安全测试后,工单积压排队的情况。一方面是研发安全团队人员有限、加紧测试,另一方面是业务方需要知道安全测试排队情况,于是就产生了该需求。 对于SDL安全建设来说,这是个“中间态”。若这种状态长期下去,不利研发安全团队发展(疲于工单测试产生厌倦)、不利于业务方支撑(安全提测总拖后腿),急需要做出改变: 1、不要恋战人工测试:对待测系统进行分级,不要对每个系统每次发版都人工测试,对同一系统测试多次后也会出现思路短缺; 2、寻找其他措施兜底:建立完善的安全检测攻击链(黑白灰盒安全测试),引入红蓝渗透、SRC等机制补充人工测试能力覆盖不足,才能放做到有的放矢。 只有在充分弄清楚人工安全测试的作用后,方可做出科学有效的SDL机制调整。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? 如何安全管理研发提交代码到GitHub进行开源? 安全组件(SDK)能够否覆盖Owasp Top 10? SDL建设是难中难,该如何做? 如何定位及落地威胁建模? 关于安全测试标准化的讨论? SDL是否适合互联网公司? 有什么SDL相关的评价体系? 如何引导业务方进行自助式安全扫描? 前端修复bug需要进行SAST扫描吗? SDL 53/100问:在DevOps中用到哪些自动化的安全工具? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
关于问题的产生场景,是发生在SDL建设比较重的状态下。对于重的最简单理解就是:每个工单均需要做人工安全测试,并设置卡点,通过之后才允许上线。此时就会出现:业务方提交安全测试后,工单积压排队的情况。一方面是研发安全团队人员有限、加紧测试,另一方面是业务方需要知道安全测试排队情况,于是就产生了该需求。 对于SDL安全建设来说,这是个“中间态”。若这种状态长期下去,不利研发安全团队发展(疲于工单测试产生厌倦)、不利于业务方支撑(安全提测总拖后腿),急需要做出改变: 1、不要恋战人工测试:对待测系统进行分级,不要对每个系统每次发版都人工测试,对同一系统测试多次后也会出现思路短缺; 2、寻找其他措施兜底:建立完善的安全检测攻击链(黑白灰盒安全测试),引入红蓝渗透、SRC等机制补充人工测试能力覆盖不足,才能放做到有的放矢。 只有在充分弄清楚人工安全测试的作用后,方可做出科学有效的SDL机制调整。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? 如何安全管理研发提交代码到GitHub进行开源? 安全组件(SDK)能够否覆盖Owasp Top 10? SDL建设是难中难,该如何做? 如何定位及落地威胁建模? 关于安全测试标准化的讨论? SDL是否适合互联网公司? 有什么SDL相关的评价体系? 如何引导业务方进行自助式安全扫描? 前端修复bug需要进行SAST扫描吗? SDL 53/100问:在DevOps中用到哪些自动化的安全工具? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
在DevOps中,安全工具链包括威胁建模工具、静态安全检测(SAST、SCA)、动态安全检测(各类DAST)、交互式安全检测(IAST)、及运行时应用自我保护(很多说法将RASP算进来)、甚至waf等。 在自动化方面,除了威胁建模工具不能提供API外,其他安全工具都可以,即均可触发实现自动化扫描。此外,提供以下实践之后的建议: 1、最好是异步扫描:安全工具执行任务所需的时间长,直接串入会影响流水线的速度; 2、扫描结果有误报:设置安全门禁时需要有所甄别,需要人工介入或检测规则做精细; 3、依赖于研发工具:需要通过研发工具触发,比如gitlab的push触发静态扫描、构建时触发容器扫描和IAST插桩扫描。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? 如何安全管理研发提交代码到GitHub进行开源? 安全组件(SDK)能够否覆盖Owasp Top 10? SDL建设是难中难,该如何做? 如何定位及落地威胁建模? 关于安全测试标准化的讨论? SDL是否适合互联网公司? 有什么SDL相关的评价体系? 如何引导业务方进行自助式安全扫描? SDL 52/100问:前端修复bug需要进行SAST扫描吗? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
在DevOps中,安全工具链包括威胁建模工具、静态安全检测(SAST、SCA)、动态安全检测(各类DAST)、交互式安全检测(IAST)、及运行时应用自我保护(很多说法将RASP算进来)、甚至waf等。 在自动化方面,除了威胁建模工具不能提供API外,其他安全工具都可以,即均可触发实现自动化扫描。此外,提供以下实践之后的建议: 1、最好是异步扫描:安全工具执行任务所需的时间长,直接串入会影响流水线的速度; 2、扫描结果有误报:设置安全门禁时需要有所甄别,需要人工介入或检测规则做精细; 3、依赖于研发工具:需要通过研发工具触发,比如gitlab的push触发静态扫描、构建时触发容器扫描和IAST插桩扫描。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? 如何安全管理研发提交代码到GitHub进行开源? 安全组件(SDK)能够否覆盖Owasp Top 10? SDL建设是难中难,该如何做? 如何定位及落地威胁建模? 关于安全测试标准化的讨论? SDL是否适合互联网公司? 有什么SDL相关的评价体系? 如何引导业务方进行自助式安全扫描? SDL 52/100问:前端修复bug需要进行SAST扫描吗? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
从严谨的角度出发,凡是涉及到代码变动,在上线前都应该进行SAST(静态代码)扫描。因为前端也会有一些常见的可利用web漏洞,比如XSS、CSRF、敏感信息泄露等,不过不太好在SAST中全面检测。 但在实践SDL过程中,应该要观其成熟度而定,比如设计了代码变更触发自动扫描、且具备扫描前端漏洞的检测能力和性能,那就可以扫描;若是在建设初期,则应先关注后端代码的高危漏洞扫描。 PS:记得很久之前使用fortify扫描js,对性能消耗极大、影响了其他扫描任务,后来就直接忽略js文件了。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? 如何安全管理研发提交代码到GitHub进行开源? 安全组件(SDK)能够否覆盖Owasp Top 10? SDL建设是难中难,该如何做? 如何定位及落地威胁建模? 关于安全测试标准化的讨论? SDL是否适合互联网公司? 有什么SDL相关的评价体系? SDL 51/100问:如何引导业务方进行自助式安全扫描? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
从严谨的角度出发,凡是涉及到代码变动,在上线前都应该进行SAST(静态代码)扫描。因为前端也会有一些常见的可利用web漏洞,比如XSS、CSRF、敏感信息泄露等,不过不太好在SAST中全面检测。 但在实践SDL过程中,应该要观其成熟度而定,比如设计了代码变更触发自动扫描、且具备扫描前端漏洞的检测能力和性能,那就可以扫描;若是在建设初期,则应先关注后端代码的高危漏洞扫描。 PS:记得很久之前使用fortify扫描js,对性能消耗极大、影响了其他扫描任务,后来就直接忽略js文件了。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? 如何安全管理研发提交代码到GitHub进行开源? 安全组件(SDK)能够否覆盖Owasp Top 10? SDL建设是难中难,该如何做? 如何定位及落地威胁建模? 关于安全测试标准化的讨论? SDL是否适合互联网公司? 有什么SDL相关的评价体系? SDL 51/100问:如何引导业务方进行自助式安全扫描? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
为了说清楚问题,先介绍一下提出问题的背景:已经要求业务方进行安全测试,并且有较为完善的机制与流程保障其正常运转。但由于安全检测工具不全都“友好”的支持自动化接入研发流程,故而产生该问题。 回到问题本身,建议从给业务方带来的好处来谈,安全检测工具如DAST(系统/web/容器)等能力开放给业务方,会对其带来更大的便利。比如: 1、有来自客户的安全需求时,要进行扫描并提交报告,此时不需要安全团队帮助、自己就能做; 2、在提交安全测试前,业务方先完成自检或将工具接入自己研发流程SOP(手动触发扫描也算),然后再送检,能够提升发版速度。 随之而来的也会有一些麻烦,比如增大安全工具运营成本、扫描范围不可控等问题,不过都有解、且好处是大于坏处的,所以这事儿就值得持续干下去。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? 如何安全管理研发提交代码到GitHub进行开源? 安全组件(SDK)能够否覆盖Owasp Top 10? SDL建设是难中难,该如何做? 如何定位及落地威胁建模? 关于安全测试标准化的讨论? SDL是否适合互联网公司? SDL 50/100问:有什么SDL相关的评价体系? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
为了说清楚问题,先介绍一下提出问题的背景:已经要求业务方进行安全测试,并且有较为完善的机制与流程保障其正常运转。但由于安全检测工具不全都“友好”的支持自动化接入研发流程,故而产生该问题。 回到问题本身,建议从给业务方带来的好处来谈,安全检测工具如DAST(系统/web/容器)等能力开放给业务方,会对其带来更大的便利。比如: 1、有来自客户的安全需求时,要进行扫描并提交报告,此时不需要安全团队帮助、自己就能做; 2、在提交安全测试前,业务方先完成自检或将工具接入自己研发流程SOP(手动触发扫描也算),然后再送检,能够提升发版速度。 随之而来的也会有一些麻烦,比如增大安全工具运营成本、扫描范围不可控等问题,不过都有解、且好处是大于坏处的,所以这事儿就值得持续干下去。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? 如何安全管理研发提交代码到GitHub进行开源? 安全组件(SDK)能够否覆盖Owasp Top 10? SDL建设是难中难,该如何做? 如何定位及落地威胁建模? 关于安全测试标准化的讨论? SDL是否适合互联网公司? SDL 50/100问:有什么SDL相关的评价体系? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
从问题及接踵而至的回答来看,提问者是想知道SDL推行后,实施的水平怎样?业内应该没有直接评价SDL的模型或方法论,但与之相关的有软件安全或研发安全成熟度的评估方法,如: 1、国外模型:构建安全成熟度模型(BSIMM)、软件保障成熟度模型(SAMM)、CMMI+SAFE模型、软件安全能力成熟度模型(SSCMM); 2、国内标准:软件安全开发能力评估技术规范、软件供应链安全要求、研发运营一体化(DevOps)能力成熟度模型、可信研发运营安全成熟度评估(TSM)、软件供应链安全能力成熟度评估等。 这些模型或标准各有侧重,但共同之处都提供了一套框架或评估方法、细则,能够帮助在落地SDL时进行效果评估、识别不足并提出改进项。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? 如何安全管理研发提交代码到GitHub进行开源? 安全组件(SDK)能够否覆盖Owasp Top 10? SDL建设是难中难,该如何做? 如何定位及落地威胁建模? 关于安全测试标准化的讨论? SDL 49/100问:SDL是否适合互联网公司? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
从问题及接踵而至的回答来看,提问者是想知道SDL推行后,实施的水平怎样?业内应该没有直接评价SDL的模型或方法论,但与之相关的有软件安全或研发安全成熟度的评估方法,如: 1、国外模型:构建安全成熟度模型(BSIMM)、软件保障成熟度模型(SAMM)、CMMI+SAFE模型、软件安全能力成熟度模型(SSCMM); 2、国内标准:软件安全开发能力评估技术规范、软件供应链安全要求、研发运营一体化(DevOps)能力成熟度模型、可信研发运营安全成熟度评估(TSM)、软件供应链安全能力成熟度评估等。 这些模型或标准各有侧重,但共同之处都提供了一套框架或评估方法、细则,能够帮助在落地SDL时进行效果评估、识别不足并提出改进项。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? 如何安全管理研发提交代码到GitHub进行开源? 安全组件(SDK)能够否覆盖Owasp Top 10? SDL建设是难中难,该如何做? 如何定位及落地威胁建模? 关于安全测试标准化的讨论? SDL 49/100问:SDL是否适合互联网公司? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
之所以就互联网公司提出SDL适合性疑问,估计是认为:互联网注重效率快速交付、产品线多样带来的不同开发流程和需求等特点,与微软SDL繁重的安全活动、流程相矛盾。 其实,软件安全领域的安全技术也在伴随发展,比如适合DevOps流程的DevSecOps,强调自动化和协作来做安全,以保障软件的发布速度。 SDL不仅是只适用于瀑布开发模式,在自动化的加持下也适用于敏捷模式、甚至DevOps模式。正是因为公司内部大概率不止一种开发模式,故统称为SDL也不为过。至于怎么去做自动化,可以从代码白盒扫描、流量黑盒扫描、先减少检测规则再逐步增加等方面入手,在业务发展中稳步推进安全能力。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? 如何安全管理研发提交代码到GitHub进行开源? 安全组件(SDK)能够否覆盖Owasp Top 10? SDL建设是难中难,该如何做? 如何定位及落地威胁建模? SDL 48/100问:关于安全测试标准化的讨论? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
之所以就互联网公司提出SDL适合性疑问,估计是认为:互联网注重效率快速交付、产品线多样带来的不同开发流程和需求等特点,与微软SDL繁重的安全活动、流程相矛盾。 其实,软件安全领域的安全技术也在伴随发展,比如适合DevOps流程的DevSecOps,强调自动化和协作来做安全,以保障软件的发布速度。 SDL不仅是只适用于瀑布开发模式,在自动化的加持下也适用于敏捷模式、甚至DevOps模式。正是因为公司内部大概率不止一种开发模式,故统称为SDL也不为过。至于怎么去做自动化,可以从代码白盒扫描、流量黑盒扫描、先减少检测规则再逐步增加等方面入手,在业务发展中稳步推进安全能力。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? 如何安全管理研发提交代码到GitHub进行开源? 安全组件(SDK)能够否覆盖Owasp Top 10? SDL建设是难中难,该如何做? 如何定位及落地威胁建模? SDL 48/100问:关于安全测试标准化的讨论? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
不同的安全测试工程师,在面对相同系统时,会有不同的测试思路与习惯,以至于发现的漏洞不一样,导致业务方会有一些怨言。在此背景下,就安全测试标准化进行了讨论。 安全测试很难像功能测试一样,有完善的测试用例然后逐一执行。因为安全本身就是意料之外的事情,虽然标准化之后还会出现遗漏,但带来的安全效果肯定会比单兵作战要好,所以这事儿是有必要做的。回顾我们的做法: 1、资深安全测试工程师牵头编写安全测试用例集,结合历史漏洞、主营业务功能来做; 2、其他安全测试工程师学习安全测试用例集,并补充自己的思路,这是一个持续过程; 3、参照安全测试用例集,尝试开发一些小工具用于提升效率; 4、将测试集分享给业务线学习,鼓励业务线的测试、开发进行自测。 至此,作为集团级的应用安全团队就没啥招了,从效果来看仅对扩展测试思路有用、开发的小工具效果也一般。后来,就没再维护安全测试用例集,取而代之的是建设“纵深”的安全测试工具链:(安全需求、安全设计)- SAST、SCA、人工审计 - IAST、DAST、人工测试 - SRC收洞,并通过对外部发现的漏洞复盘、不断优化整个安全测试体系(规范-流程-工具-人员)。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SAST误报太高,如何解决? SDL需要哪些人参与? 设计阶段应开展哪些安全活动? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 应该如何选型代码安全扫描工具? 如何推进有问题的jar包更新? SCA工具的误报率怎样? 如何说服业务完成checklist自检? sdl会对项目变更代码做review吗? 怎么解决源代码两张皮导致安全失效? 开发安全培训是否有效? 安全组件如何在SDL中落地? 如何安全管理研发提交代码到GitHub进行开源? 安全组件(SDK)能够否覆盖Owasp Top 10? SDL建设是难中难,该如何做? SDL 47/100问:如何定位及落地威胁建模? 2、SDL创新实践系列 首发!“ 研发安全运营 ” 架构研究与实践 DevSecOps实施关键:研发安全团队 DevSecOps实施关键:研发安全流程 DevSecOps实施关键:研发安全规范 从安全视角,看研发安全 数字化转型下的研发安全痛点
您可以订阅此RSS以获取更多信息