数字化转型下的研发安全痛点 我的安全视界观 5 months 1 week ago 本文是”深耕研发安全”系列文章的开篇,介绍在数字化转型过程中,研发安全的工作模式与方法的迭代升级。从研发安全体系建设的角度出发,总结出难度比较大的三个典型问题。
BCS2024 | 企业安全运营论坛 我的安全视界观 6 months 3 weeks ago 再过两天,就到了24年的BCS网络安全大会。部门这次承办了企业安全论坛,并且议题质量很高。在QAXSRC小安发推文后,我说也要转载分享给粉丝。在我眼里,有两个亮点值得尤为关注:1、大模型在安全运营上的应用;2、《终端安全运营实践》发布。
SDL 29/100问:白盒检测工具存在局限性,如何进行补偿? 我的安全视界观 7 months 2 weeks ago 白盒检测工具的常见问题主要是误报和漏报,为了推广应用及实现自动化需求,误报是最开始被关注的。但从最终效果来看漏报也很重要,应该重点想办法解决: 1、工具本身的局限性:基于正则模式匹配或数据流污点跟踪等均是静态检测方法,动态数据处理、数据流中断等场景均无法检测。 2、工具能力之外漏洞:业务逻辑类(如越权)、数据安全类(如接口返回过多的敏感信息)及环境配置类漏洞,并非SAST本身的能力,均无法检测。 不过从整体SDL来看,白盒检测是产出最高的、也被寄予非常高的期望,以至于会误导领导以为能检测所有代码层面的漏洞。实则需要引入人工专项代码审计,重点review如认证处的逻辑关系、yii等SAST工具支持不友好的开发框架;在测试阶段使用DAST和IAST覆盖部分SAST检测不到的场景,如基础运行环境的安全、数据流中断的场景。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SDL与DevSecOps有何异同? 如何在不同企业实施SDL? SAST误报太高,如何解决? SDL需要哪些人参与? 在devops中做开发安全,会遇到哪些问题? 如何实施安全需求? 安全需求,有哪些来源? 安全需求怎么实现自动化? 实施安全需求,会遇到哪些难题? 安全需求和安全设计有何异同及关联? 设计阶段应开展哪些安全活动? 有哪些不错的安全设计参考资料? 安全设计要求怎么做才能落地? 有哪些威胁建模方法论? 有哪些威胁建模工具? 如何开始或实施威胁建模? 威胁建模和架构安全评审,有何异同? 编码阶段,开展哪些安全活动? 如何选择静态代码扫描(SAST)工具? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 如何制定一份有用的开发安全规范? 如何做到开发安全规范的有效实施? 应该如何选型代码安全扫描工具? 代码安全扫描应该设置哪些指标? 如何提升开发人员的安全意识? SDL 28/100问:在编码阶段加入安全检查后,如何处理带来的时间压力? 2、SDL最初实践系列 开篇 安全需求 安全设计 安全开发 安全测试 安全审核 安全响应
SDL 28/100问:在编码阶段加入安全检查后,如何处理带来的时间压力? 我的安全视界观 7 months 3 weeks ago 借着回答这个问题,顺道盘点了编码阶段的安全活动开展情况。首先是安全检测会给业务研发团队增加工作量,带来时间压力。反之业务团队也会对安全团队发起挑战,所以在编码阶段的安全活动设计之初,就应该考虑到: 1、推动安全开发工作融入到业务:在开发计划中,合理加入安全测试所需的时间,并将其纳入项目进度安排。从根本上杜绝给项目组带来“额外”工作的感觉,引导开发人员为自己引入的漏洞负责,这是他们需要恪守的底线。 2、代码检测自动化及提高准确率:自动化触发扫描替代手工登录工具后台创建任务进行扫描,精细化运营检测规则可以让开发人员更加相信安全团队、以及提高准确率能够提升开发人员修完漏洞的信心。 安全团队在推行安全活动时,一定是要先试点、先准备好工具并实现自动化、检测规则调整完毕再逐步推广。在整个过程中持续优化安全流程、检测工具及安全要求等,尽可能站在业务方考虑但要有安全底线,毕竟我们的目标是为业务保驾护航。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SDL与DevSecOps有何异同? 如何在不同企业实施SDL? SAST误报太高,如何解决? SDL需要哪些人参与? 在devops中做开发安全,会遇到哪些问题? 如何实施安全需求? 安全需求,有哪些来源? 安全需求怎么实现自动化? 实施安全需求,会遇到哪些难题? 安全需求和安全设计有何异同及关联? 设计阶段应开展哪些安全活动? 有哪些不错的安全设计参考资料? 安全设计要求怎么做才能落地? 有哪些威胁建模方法论? 有哪些威胁建模工具? 如何开始或实施威胁建模? 威胁建模和架构安全评审,有何异同? 编码阶段,开展哪些安全活动? 如何选择静态代码扫描(SAST)工具? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 如何制定一份有用的开发安全规范? 如何做到开发安全规范的有效实施? 应该如何选型代码安全扫描工具? 代码安全扫描应该设置哪些指标? SDL 27/100问:如何提升开发人员的安全意识? 2、SDL最初实践系列 开篇 安全需求 安全设计 安全开发 安全测试 安全审核 安全响应
SDL 27/100问:如何提升开发人员的安全意识? 我的安全视界观 7 months 3 weeks ago 开发人员的安全意识和能力,决定着代码原本的安全质量。提升安全能力变得很有必要,通常做法包括安全责任、安全教育及漏洞复盘: 1、建立安全责任:在公司或团队中营造安全文化氛围,明确开发人员在安全方面的责任和义务,让他们明白自己在安全工作中的角色和重要性;建立安全责任追究机制,对违反安全规定或造成安全漏洞的行为进行追责与处罚。 2、开发安全教育:定期组织开发安全培训,提供实际案例让开发人员了解安全漏洞是如何被利用,让开发人员了解最新的安全威胁、漏洞类型和攻击方式;其中,非常有效的一招是“解决不了问题,就解决写漏洞的开发人员”的思路,在一定周期内统计写漏洞数量top的开发人员,然后组织培训和考试。 3、外部漏洞复盘:在自助型SDL中,SAST、SCA、IAST都需要业务方自行去判断扫描结果,从历史复盘经验来看,有的开发会缺少责任心或专业技能,导致漏洞被漏判从而漏出到外部。此时用SRC收到的漏洞组织开发进行复盘分析,找出误判的原因更有效。不过是在事后,安全团队需要承担安全事件带来的领导质疑、赏金等代价。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SDL与DevSecOps有何异同? 如何在不同企业实施SDL? SAST误报太高,如何解决? SDL需要哪些人参与? 在devops中做开发安全,会遇到哪些问题? 如何实施安全需求? 安全需求,有哪些来源? 安全需求怎么实现自动化? 实施安全需求,会遇到哪些难题? 安全需求和安全设计有何异同及关联? 设计阶段应开展哪些安全活动? 有哪些不错的安全设计参考资料? 安全设计要求怎么做才能落地? 有哪些威胁建模方法论? 有哪些威胁建模工具? 如何开始或实施威胁建模? 威胁建模和架构安全评审,有何异同? 编码阶段,开展哪些安全活动? 如何选择静态代码扫描(SAST)工具? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 如何制定一份有用的开发安全规范? 如何做到开发安全规范的有效实施? 应该如何选型代码安全扫描工具? SDL 26/100问:代码安全扫描应该设置哪些指标? 2、SDL最初实践系列 开篇 安全需求 安全设计 安全开发 安全测试 安全审核 安全响应
SDL 26/100问:代码安全扫描应该设置哪些指标? 我的安全视界观 8 months ago 这部分内容易与代码安全扫描工具混淆,因为有部分指标如覆盖率、检出率等是重合的,还可能出现指标的指向不明等问题。故将从不同群体视角,对主要指标进行阐述: 1、对安全人员的指标 1)开发语言覆盖率:SDL团队需要考虑检测能力应覆盖公司所有的开发语言,通过对工具选型、异构方案设计等方式实现; 2)检测规则覆盖率:安全工具检测规则覆盖开发安全规范内容,或内部常见漏洞类型的情况,也是通过工具选型、SAST规则运营等方式实现; 3)检出漏洞修复率:已知漏洞的修复率与研发安全团队紧密相关,只有风险被消除才能称之为闭环、安全工作才有价值,故研发安全团队具有监督、组织业务修复等责任,可通过内部红黑榜、专题汇报等方式推进。 2、对开发人员的指标 1)检出漏洞修复率:该指标也应该纳入开发团队,作为软件质量的一个度量因素管理。开发团队需要认为自己对编写的软件安全质量负责,即使会遇到交付压力大、习惯、技能等困难,也应在安全人员的辅助下完成漏洞修复。无论是安全或开发人员,部分指标和研发安全的目标应保持一致。只有各自承担起自己的职责,才能交付安全的软件。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SDL与DevSecOps有何异同? 如何在不同企业实施SDL? SAST误报太高,如何解决? SDL需要哪些人参与? 在devops中做开发安全,会遇到哪些问题? 如何实施安全需求? 安全需求,有哪些来源? 安全需求怎么实现自动化? 实施安全需求,会遇到哪些难题? 安全需求和安全设计有何异同及关联? 设计阶段应开展哪些安全活动? 有哪些不错的安全设计参考资料? 安全设计要求怎么做才能落地? 有哪些威胁建模方法论? 有哪些威胁建模工具? 如何开始或实施威胁建模? 威胁建模和架构安全评审,有何异同? 编码阶段,开展哪些安全活动? 如何选择静态代码扫描(SAST)工具? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 如何制定一份有用的开发安全规范? 如何做到开发安全规范的有效实施? SDL 25/100问:应该如何选型代码安全扫描工具? 2、SDL最初实践系列 开篇 安全需求 安全设计 安全开发 安全测试 安全审核 安全响应
SDL 25/100问:应该如何选型代码安全扫描工具? 我的安全视界观 8 months ago 一般在做选型时,我通常会以最终要实现的目标来分析,然后再结合一些行业规范及最佳实践,整合起来便能找到恰当的参考要素。故,可从检出效果和便利性角度出发: 1、检测效果: 1)漏洞检出率:应能够覆盖尽可能多的开发语言,能扫描出尽可能多的漏洞类型和数量; 2)代码扫描速度:快速的扫描有助于提高开发效率,减少等待时间,更容易嵌入开发流程; 3)自定义规则支持情况:应支持自定义安全规则,以适应特定业务场景和安全需求,如加白和调优; 2、使用便利性: 1)集成性:应具备与其他开发工具(如CI/CD管道)的集成能力; 2)自动化能力:应支持触发自动化扫描,减少人为干预,提高扫描效率。 至于其他相近的指标,如误报率、漏报率等,也是在关注范围内。不过与检出率紧密相关,从正向指标来看选取检出率即可。此外在做POC时,建议:不要只看工具在一些知名漏洞靶场上的表现,最好结合真实的生产系统进行测试。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SDL与DevSecOps有何异同? 如何在不同企业实施SDL? SAST误报太高,如何解决? SDL需要哪些人参与? 在devops中做开发安全,会遇到哪些问题? 如何实施安全需求? 安全需求,有哪些来源? 安全需求怎么实现自动化? 实施安全需求,会遇到哪些难题? 安全需求和安全设计有何异同及关联? 设计阶段应开展哪些安全活动? 有哪些不错的安全设计参考资料? 安全设计要求怎么做才能落地? 有哪些威胁建模方法论? 有哪些威胁建模工具? 如何开始或实施威胁建模? 威胁建模和架构安全评审,有何异同? 编码阶段,开展哪些安全活动? 如何选择静态代码扫描(SAST)工具? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? 如何制定一份有用的开发安全规范? SDL 24/100问:如何做到开发安全规范的有效实施? 2、SDL最初实践系列 开篇 安全需求 安全设计 安全开发 安全测试 安全审核 安全响应
SDL 24/100问:如何做到开发安全规范的有效实施? 我的安全视界观 8 months ago 开发安全团按照实际情况制定好安全规范后,下一步就是要求开发人员参照规范编写代码。在企业研发安全的建设过程中,要想做好开发安全规范落地,至少需要完成以下三件事: 1、组织评审,然后发布:开发安全规范通常是由安全团队发起,此时出发点、编写视角很难考虑到研发,所以一定要邀请开发经理或架构师进行评审,达成一致后走发布流程在全公司发布,做到合理的有法可依; 2、培训赋能,广而告之:组织开发团队进行培训,并结合考试,可对开发人员当时的掌握情况进行评估。经过大量实践后发现,组织经常写漏洞的开发、通过安全事件推进相关开发复盘编码安全问题,更能解少编码阶段引入漏洞的问题; 3、技术闭环,靠谱之道:开发人员即使经过了培训和考试,但在实际编程过程中往往会因为习惯和技术栈问题,忽视了规范而去写漏洞。若是能将开发安全规范内容落实到SAST工具上进行检测,尤其是在开发语言比较统一的环境中,规范的落地才算得上获得保障。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SDL与DevSecOps有何异同? 如何在不同企业实施SDL? SAST误报太高,如何解决? SDL需要哪些人参与? 在devops中做开发安全,会遇到哪些问题? 如何实施安全需求? 安全需求,有哪些来源? 安全需求怎么实现自动化? 实施安全需求,会遇到哪些难题? 安全需求和安全设计有何异同及关联? 设计阶段应开展哪些安全活动? 有哪些不错的安全设计参考资料? 安全设计要求怎么做才能落地? 有哪些威胁建模方法论? 有哪些威胁建模工具? 如何开始或实施威胁建模? 威胁建模和架构安全评审,有何异同? 编码阶段,开展哪些安全活动? 如何选择静态代码扫描(SAST)工具? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SCA工具识别出高风险协议,如何处理? SDL 23/100问:如何制定一份有用的开发安全规范? 2、SDL最初实践系列 开篇 安全需求 安全设计 安全开发 安全测试 安全审核 安全响应
SDL 23/100问:如何制定一份有用的开发安全规范? 我的安全视界观 8 months 1 week ago 开发安全规范不难做,但要做得好可能就得下功夫。因为其是后续很多安全活动开展的依据,比如SAST的检测规则,可从技术层面实现规范的闭环,切实提高软件安全质量;又如为开发安全培训提供了培训素材,也能影响开发人员的安全意识水平;故制定一份有用的开发安全规范至关重要。回顾以往的实践及见闻,在编制时有以下三点经验可供分享: 1、按照开发语言:调研公司内部使用到的开发语言类型,先针对主流语言编写安全规范(可按照编程语言行数统计,一般配管人员能提供),再找对应语言的开发专家评审及优化,最后复制该模式逐一覆盖其他语言; 2、从开发的视角:多说对输入的安全检查和校验、文件的安全处理..少提SQLi漏洞、文件上传漏洞...尽可能的从开发视角去编写规范,并举例相关代码进行说明,提升易读、易懂性; 3、紧密围绕目标:明确开发安全规范的使用目标。若是为了合规检查,参照行业公开规范如云厂商的、owasp风险来写,就足以应对;若是为了解决编码过程中引入的实际安全问题,则公开内容只能作为参考、约占比内容的30%,剩下的主要部分应是历史安全测试提炼出来的安全漏洞与风险类型。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SDL与DevSecOps有何异同? 如何在不同企业实施SDL? SAST误报太高,如何解决? SDL需要哪些人参与? 在devops中做开发安全,会遇到哪些问题? 如何实施安全需求? 安全需求,有哪些来源? 安全需求怎么实现自动化? 实施安全需求,会遇到哪些难题? 安全需求和安全设计有何异同及关联? 设计阶段应开展哪些安全活动? 有哪些不错的安全设计参考资料? 安全设计要求怎么做才能落地? 有哪些威胁建模方法论? 有哪些威胁建模工具? 如何开始或实施威胁建模? 威胁建模和架构安全评审,有何异同? 编码阶段,开展哪些安全活动? 如何选择静态代码扫描(SAST)工具? 如何选择开源组件安全扫描(SCA)工具? SCA工具扫描出很多漏洞,如何处理? SDL 22/100问:SCA工具识别出高风险协议,如何处理? 2、SDL最初实践系列 开篇 安全需求 安全设计 安全开发 安全测试 安全审核 安全响应
SDL 22/100问:SCA工具识别出高风险协议,如何处理? 我的安全视界观 8 months 1 week ago 这是引用开源组件带来的第二个大问题,也是群里讨论最少的一个话题。在回顾群聊记录时,发现相关提问比较少且基本没人应答。结合自己的工作经验和理解,认为超纲到法务范畴了,并非网络安全专业能够解决。 然而,在企业安全建设工作中,有的事情就是要安全团队挑头,邀请其他团队一起作战。比如,在开源组件合规风险治理过程中: 1、需参与的人物角色包括: 业务、法务和安全,尤其是法务要结合业务场景给出专业意见; 2、首要关注的开源协议是: Copyleft许可证,包括GPL和AGPL,要求使用该类协议组件的产品代码也要使用相同的许可证,并开放源代码; 3、开源组件合规使用原则: 非必要不使用高风险协议的组件。但在无法避免时,可以有一些规避措施,如将私有代码和开源代码进行隔离,包括但不限于地址空间不同,通信方式轻耦合;与开源组件贡献者沟通商业许可等。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SDL与DevSecOps有何异同? 如何在不同企业实施SDL? SAST误报太高,如何解决? SDL需要哪些人参与? 在devops中做开发安全,会遇到哪些问题? 如何实施安全需求? 安全需求,有哪些来源? 安全需求怎么实现自动化? 实施安全需求,会遇到哪些难题? 安全需求和安全设计有何异同及关联? 设计阶段应开展哪些安全活动? 有哪些不错的安全设计参考资料? 安全设计要求怎么做才能落地? 有哪些威胁建模方法论? 有哪些威胁建模工具? 如何开始或实施威胁建模? 威胁建模和架构安全评审,有何异同? 编码阶段,开展哪些安全活动? 如何选择静态代码扫描(SAST)工具? 如何选择开源组件安全扫描(SCA)工具? SDL 21/100问:SCA工具扫描出很多漏洞,如何处理? 2、SDL最初实践系列 开篇 安全需求 安全设计 安全开发 安全测试 安全审核 安全响应
SDL 21/100问:SCA工具扫描出很多漏洞,如何处理? 我的安全视界观 8 months 1 week ago 曾听到过一些同行说:没有SCA工具的时候倒还好,上了SCA工具后竟然检测出一个项目成百上千、甚至上万个漏洞。乙方又没有可行的解决方案,简直是在领导面前挖了坑。 其实我很能理解他们的痛点,他们指:SCA工具厂商和客户,前者可能只有工具检测能力、不具备针对扫描结果的解决方案;后者则是更关注落地、需要合理有效的处理扫描结果至闭环。 三年前就正式开始尝试解决这个问题,今天来看还是受限于检测技术的瓶颈,如分析出漏洞调用链进而减少误报(让SCA具备SAST的能力),但终究没能有实质性的突破。与此同时尝试通过人工运营的方式,分析并提取漏洞利用条件,转化为开发视角的语言描述,提供给业务方进行判断,从而发现存在真正风险的漏洞并推修。 就强监管的公司而言,可以进行强制要求修复。其他情况,如我司借助重大网络安全保障,在公司内部强推行开源组件扫描与修复工作。在此之前不敢推行SCA,然而现在心里立马有底。原来利用公司重大事件/项目,来推进安全工作是这么给力,SCA可落地且策略依次为:扫出高危就修(强监管)、扫出漏洞存在公开POC就修(互联网)、扫出漏洞存在公开POC且满足利用条件才修(开发强势、安全弱势的情况)。 开源组件漏洞的治理也应该左移,统筹公司内部的开源组件库进行统一纳管。但这对于网络环境较为开放的公司而言,是一个漫长的过程及充满挑战的历程。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SDL与DevSecOps有何异同? 如何在不同企业实施SDL? SAST误报太高,如何解决? SDL需要哪些人参与? 在devops中做开发安全,会遇到哪些问题? 如何实施安全需求? 安全需求,有哪些来源? 安全需求怎么实现自动化? 实施安全需求,会遇到哪些难题? 安全需求和安全设计有何异同及关联? 设计阶段应开展哪些安全活动? 有哪些不错的安全设计参考资料? 安全设计要求怎么做才能落地? 有哪些威胁建模方法论? 有哪些威胁建模工具? 如何开始或实施威胁建模? 威胁建模和架构安全评审,有何异同? 编码阶段,开展哪些安全活动? 如何选择静态代码扫描(SAST)工具? SDL 20/100问:如何选择开源组件安全扫描(SCA)工具? 2、SDL最初实践系列 开篇 安全需求 安全设计 安全开发 安全测试 安全审核 安全响应
SDL 20/100问:如何选择开源组件安全扫描(SCA)工具? 我的安全视界观 8 months 1 week ago SCA(Software Composition Analysis,软件成分分析)工具,主要用于检测项目依赖项中可能存在的公开披露的漏洞,个别工具在早期提供了漏洞证明代码(POC),现由于监管、担心被滥用等问题都不再提供,而是用标记来说明。 1、商业的SCA工具,通常还会具有开源协议分析的功能,提醒用户使用的开源组件是否有合规方面的风险。 2、当提到SCA工具时,令人想到的核心能力有:开源组件依赖分析(拆包识包)能力、漏洞情报(漏洞库)能力、开源许可证识别能力。这几点上,显然商业的要比开源的更胜一筹。 3、在选择SCA工具时,仍然首要考虑对实施扫描的环境(主要为开发框架和语言)的支持性,其次是考虑工具的准确性(上述核心能力),最后是工具的易用性、及集成能力。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SDL与DevSecOps有何异同? 如何在不同企业实施SDL? SAST误报太高,如何解决? SDL需要哪些人参与? 在devops中做开发安全,会遇到哪些问题? 如何实施安全需求? 安全需求,有哪些来源? 安全需求怎么实现自动化? 实施安全需求,会遇到哪些难题? 安全需求和安全设计有何异同及关联? 设计阶段应开展哪些安全活动? 有哪些不错的安全设计参考资料? 安全设计要求怎么做才能落地? 有哪些威胁建模方法论? 有哪些威胁建模工具? 如何开始或实施威胁建模? 威胁建模和架构安全评审,有何异同? 编码阶段,开展哪些安全活动? SDL 19/100问:如何选择静态代码扫描(SAST)工具? 2、SDL最初实践系列 开篇 安全需求 安全设计 安全开发 安全测试 安全审核 安全响应
SDL 19/100问:如何选择静态代码扫描(SAST)工具? 我的安全视界观 8 months 1 week ago 静态代码分析的工具非常多,有开源或商业的,有国内、外之分,有基于关键字正则匹配、或AST语义分析、亦或IR/CFG的代码分析。不过从甲方安全建设的视角来看,首要考虑成本和效果,故提供以下几点建议: 1、根据公司技术栈选择工具,具体来说就是看主流开发语言,因为有的工具确实会对某个语言支持得更好,表现在高检出率(POC时尽量不要用知名漏洞靶场); 2、破解版的SAST商业工具很少,但在国内却广泛传播着国外的某个破解工具,目前来看还有小范围更新规则库,个人研究或缺少预算的可以看看。但针对该情况,更推荐使用开源工具(不主张企业级用破解版,会带来麻烦); 3、从检测效果来看,正则关键匹配方式明显是误报最高的,但在有的场景中比较好用,比如数据流中断、想要快速检出具体的某一类漏洞.时..故不应考虑技术是否先进,不要指望一个工具能解决所有问题。在工具链建设时,可以先主、然后不断的丰富不同原理但又能扫出漏洞的工具。 总的来说,要做好代码安全扫描,无论选择怎样的工具都会有一个前提:企业配备具备代码审计的人员,持续做开发安全运营。附静态代码分析工具大全(国外与开源版):https://owasp.org/www-community/Source_Code_Analysis_Tools 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SDL与DevSecOps有何异同? 如何在不同企业实施SDL? SAST误报太高,如何解决? SDL需要哪些人参与? 在devops中做开发安全,会遇到哪些问题? 如何实施安全需求? 安全需求,有哪些来源? 安全需求怎么实现自动化? 实施安全需求,会遇到哪些难题? 安全需求和安全设计有何异同及关联? 设计阶段应开展哪些安全活动? 有哪些不错的安全设计参考资料? 安全设计要求怎么做才能落地? 有哪些威胁建模方法论? 有哪些威胁建模工具? 如何开始或实施威胁建模? 威胁建模和架构安全评审,有何异同? SDL 18/100问:编码阶段,开展哪些安全活动? 2、SDL最初实践系列 开篇 安全需求 安全设计 安全开发 安全测试 安全审核 安全响应
SDL 18/100问:编码阶段,开展哪些安全活动? 我的安全视界观 8 months 2 weeks ago 纵观软件安全开发周期,编码阶段的安全活动是最好实现技术管控,最容易发现代码中的漏洞,最容易做自动化安全扫描的。经过实践之后,认为可以在该阶段开展: 1、编码安全规范:根据业务开发语言和历史发现的安全问题,量身定制编码安全规范,在SDL的体系文件中定位为三级规范性文件,做到有据可循; 2、编码安全培训:对编码安全规范、安全扫描工具及扫描的结果研判方法进行技术分享,配合考试等方式提升开发人员的安全意识; 3、静态代码扫描:对自研代码进行安全扫描,一般都能实现自动化触发、扫描结果推送到开发邮箱,有的甚至在IDE上开发时就检测漏洞,提醒开发人员及时修复漏洞; 4、开源组件扫描:针对第三方组件(开源或自研),也要进行漏洞扫描和协议合规性分析,同样可以实现自动化触发和扫描,但处理扫出的问题就比较棘手了; 5、引入安全SDK:其实不一定是具体的SDK,有的是改良过的开发框架或库,有的是全局filter,尤其是在技术栈统一的公司更可能落地。在开发编码时,开发人员正确使用安全SDK,从源头解决常见的web漏洞。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SDL 1/100问:SDL与DevSecOps有何异同? SDL 2/100问:如何在不同企业实施SDL? SDL 3/100问:SAST误报太高,如何解决? SDL 4/100问:SDL需要哪些人参与? SDL 5/100问:在devops中做开发安全,会遇到哪些问题? SDL 6/100问:如何实施安全需求? SDL 7/100问:安全需求,有哪些来源? SDL 8/100问:安全需求怎么实现自动化? SDL 9/100问:实施安全需求,会遇到哪些难题? SDL 10/100问:安全需求和安全设计有何异同及关联? SDL 11/100问:设计阶段应开展哪些安全活动? SDL 12/100问:有哪些不错的安全设计参考资料? SDL 13/100问:安全设计要求怎么做才能落地? SDL 14/100问:有哪些威胁建模方法论? SDL 15/100问:有哪些威胁建模工具? SDL 16/100问:如何开始或实施威胁建模? SDL 17/100问:威胁建模和架构安全评审,有何异同? 2、SDL最初实践系列 开篇 安全需求 安全设计 安全开发 安全测试 安全审核 安全响应
SDL 17/100问:威胁建模和架构安全评审,有何异同? 我的安全视界观 8 months 2 weeks ago 在SDL中,威胁建模和架构安全评审通常是相辅相成的,虽说它们的目的一样,但出发点和关注点不同: 1、威胁建模:通过分析或模拟攻击场景来识别潜在的安全威胁。通常涉及对系统的数据流、信任边界、入口点和输出点进行全面分析。有成熟的方法论,如STRIDE、VAST、DREAD等。 2、架构安全评审:通过审查文档和与相关人员讨论,审查系统的整体架构设计,以确保其满足安全需求和标准。不仅关注整个系统的安全性,还关注架构层面的决策是否可能导致潜在的安全风险。 就安全活动的开展顺序而言,我更偏向推荐先架构安全评审,再威胁建模。因为前者主要是验证性质,更关注安全需求考虑情况、具体怎么设计;后者是通过体系化的方法来发现可能存在的潜在隐患,重在发现新的问题并消除风险。 更多软件安全内容,可以访问: 1、SDL100问:我与SDL的故事 SDL 1/100问:SDL与DevSecOps有何异同? SDL 2/100问:如何在不同企业实施SDL? SDL 3/100问:SAST误报太高,如何解决? SDL 4/100问:SDL需要哪些人参与? SDL 5/100问:在devops中做开发安全,会遇到哪些问题? SDL 6/100问:如何实施安全需求? SDL 7/100问:安全需求,有哪些来源? SDL 8/100问:安全需求怎么实现自动化? SDL 9/100问:实施安全需求,会遇到哪些难题? SDL 10/100问:安全需求和安全设计有何异同及关联? SDL 11/100问:设计阶段应开展哪些安全活动? SDL 12/100问:有哪些不错的安全设计参考资料? SDL 13/100问:安全设计要求怎么做才能落地? SDL 14/100问:有哪些威胁建模方法论? SDL 15/100问:有哪些威胁建模工具? SDL 16/100问:如何开始或实施威胁建模? 2、SDL最初实践系列 开篇 安全需求 安全设计 安全开发 安全测试 安全审核 安全响应