SDL 23/100问:如何制定一份有用的开发安全规范?
开发安全规范不难做,但要做得好可能就得下功夫。因为其是后续很多安全活动开展的依据,比如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最初实践系列
开篇
安全需求
安全设计
安全开发
安全测试
安全审核
安全响应