乐趣区

关于安全:计算机网络安全软件开发周期中的活动-IDCF

本文从软件开发生命周期中的平安流动来介绍计算机网络安全。从组织层面来讲,平安团队往往是在交互团队之外,因为平安团队要关注的不仅仅是软件交付这一个层面。例如,服务经营平安,供应链平安(在计算机领域中这里指的是,云厂商或者软件硬件供应商),对于隐衷规定的制订,法律法规的合规性,配合审计,软件资质和 ISO 相干规范证实的施行等。

所以在我的了解中 DevSecOps 并不是将平安团队合并到交付团队当中,而是赋能交付团队平安的能力,将平安流动前置。这样不仅仅能够大大的升高修复平安危险的老本,也能够让平安团队的工作变得更加容易。

在很多组织外面,平安危险和安全漏洞被视为软件品质的一个衡量标准,所以在软件交付验证阶段会有平安品质验证这一个环节。依据这个实践为根底,也就呈现了将平安测试和破绽扫描嵌入到主动公布流程中,甚至作为终止部署的一个重要掂量指标。

随着各个国家对平安的器重,越来越多个人隐私法律的出台,很多客户也开始缓缓关注软件供应商的平安能力和平安资质,以其作为决定性的考量指标。因为畛域的不同,平安在软件开发中的器重水平也不同。

这也导致了平安的施行在不同畛域的差别。在银行,财务,医疗和国有机构等畛域,如果没有可控平安机制,软件开发甚至无奈进行。各个领域对于合规性的要求不一样,危险的管控形式也有所辨别。

所以业界出了很多规范和框架来帮忙各个组织来实现平安管控,例如: NIST CSF, ISO/IEC 27001, FISMA, HIPPA, PCI DSS 等。合规于这些规范就成为了掂量一个组织平安能力的其中一个因素。很多软件企业,供应商也为此投入了大量的精力来证实本人的合规性,进步其在市场中的竞争力。其中 NIST 是目前业界利用最广,最权威的平安机构,由美国联邦政府发动,为推动计算机网络安全最佳实际和倒退为目标成立的。因而本文将会参照 NIST 的规范进行分享。

在软件开发中,无论利用的是麻利还是瀑布模式,都存在需要剖析,设计,开发,测试,部署和运维这几个阶段。交付周期的长短并不影响平安在开发周期中的流动的内容。此文章专一探讨软件开发周期中的平安流动,对于各个流动如何在不同开发模式中利用会在不同的章节进行具体探讨。以下表格中列举了各个阶段平安流动对应关系。

软件生产阶段 NIST 平安软件开发框架 平安流动
需要剖析 平安需要,隐衷需要,危险视为其一部分 平安需要评估和履行
设计 查看软件设计,验证平安需要和危险与其合规性 威逼建模(Threat Modeling)
开发 验证第三方软件遵从平安需要,查看 / 剖析源代码来定位破绽 动态代码扫描(SAST),第三方模块检测 (SCA)
测试 测试可执行代码来定位破绽,验证与平安需要的合规性 动静检测(DAST/IAST),浸透测试(Penetration Testing)
部署 配置编译和构建流程来改善可执行代码的平安 配置验证,安全门
运维 破绽报告的响应(继续的定位和确立破绽,评估并将补救所有破绽进行优先级排序,剖析破绽并且定位其根本原因) 平安响应程序,安全监控,运行环境平安防护(防火墙)
  • 平安需要评估和履行:简略的说就是将平安团队制订好的,标准化的软件平安能力作为软件开发需要的一部分,有很多组织把平安需要作为非功能性需要或者技术债来履行,在此不想评判其办法的好坏。主观的角度剖析,平安需要往往是从 ISO/IEC 等规范或者危险信息演化出的技术解决方案或安全控制伎俩。作为软件性能的残缺组成部分,应该适当的被定位和排序。依据在周期内要实现的软件性能范畴,平安的需要的范畴也会随之变动。
  • 威逼建模:这是个在设计阶段经常容易被疏忽的一个重要环节,它并不是针对某一个畛域的平安实际。因为平安需要笼罩的范畴比拟宽泛,而且会依据畛域的不同而变动。而威逼建模则是针对软件设计计划中的威逼的定位,危险的剖析。这种有针对性的剖析会大大降低前期因平安问题重构的危险,也会帮忙该软件建设本人的危险体系。勾画浸透测试的范畴。
  • 动态代码扫描(SAST):这是帮助开发人员实现平安编码标准的重要组成部分,例如很多不标准的编码会影响程序的品质,不平安的编码标准会导致程序漏洞百出。不经意的为黑客留下程序的后门。
  • 第三方模块检测 (SCA):咱们很多的代码都是利用现有的框架来实现的,并且为了实现疾速开发,引入了很多性能包 / 库。很多开发者并没有意识到,这些框架,包 / 库都存在一些危险。因为重大的依赖关系,这些甚至会成为咱们没法轻易解决的致命破绽。另外很多框架和库中也存在一些援用许可的问题,提前的检测并解决这些问题变得至关重要。
  • 动静检测(DAST/IAST):在这里我将 DAST 和 IAST 放在一块儿,因为检测其目标类似。都会对正在执行的程序进行负面问题剖析,模仿攻打。以便于定位在动态检测无奈定位的问题。
  • 浸透测试(Penetration Testing):这个是一个行业,很多平安专家,平安考察人员的必备技能。很多人会问,咱们既然有了 SAST, DAST/IAST 为什么还要有浸透测试?其实 DAST/IAST 的工具的倒退曾经十分贴近浸透测试所具备的能力了,然而还是没有能齐全达到由测试者的手动挖掘的能力。所以大部分企业会在倒退本人外部浸透测试者能力的同时,通常会雇佣外界比拟业余的浸透测试公司来履行这个环节。因为他们的业余能力会真正的帮组验证软件应答外界攻击者威逼的能力。
  • 配置验证,安全门:在这里咱们指的是有自动化部署能力的状况下,依据安全部门设定的规章制度,对软件部署过程中品质把控的方法。能够是通过某些条件制订的终止部署束缚。也特地是在基础设施即代码 (IaC) 中的基础设施部署和变更时,平安的强化和标准。在这里提出一个新的概念:平安标准即代码。前期会在这个系列的章节中具体介绍。
  • 平安响应程序:这个程序指的是流程上,如何响应安全事件。这与客户反对的事件响应相似。但不同然而平安方面的响应,在解决问题的同时须要退出法律 / 合规部门,重大的状况须要公司高层对客户的回应。特地是波及到公司信用问题的时候。
  • 安全监控,运行环境平安防护(防火墙):这对开发人员来讲可能并不是很相熟。但却又是平安畛域十分重要的一部分。当初越来越多的开发人员开始接触和配置利用防火墙 (WAF) 对网络应用程序进行爱护。这阐明随着平安的左移,开发人员须要关注的运维层面的平安问题也会越来越多。另外,安全监控是很大的一个话题。这个话题,我会依据大家对其的趣味水平决定是否出一个专题来探讨。在此大家须要理解的是,无论是在云环境还是在传统环境下,安全监控是一个很业余的生态体系,不仅用于帮助定位问题,而且在安全事件中组阻隔影响起着重要的作用。

参考文献英文原文:https://csrc.nist.gov/publica…

起源:DevSecOps SIG
作者:Nick Yu
申明:文章取得作者受权在 IDCF 社区公众号(devopshub)转发。优质内容共享给思否平台的技术伙伴,如原作者有其余思考请分割小编删除,致谢。

7 月每周四晚 8 点,【冬哥有话说】研发效力工具专场,公众号留言“效力”可获取地址

  • 7 月 8 日,LEANSOFT- 周文洋《微软 DevOps 工具链的 “ 爱恨情仇 ”(Azure DevOps)》
  • 7 月 15 日,阿里云智能高级产品专家 - 陈逊《复杂型研发合作模式下的效力晋升实际》
  • 7 月 22 日,极狐 (GitLab) 解决⽅案架构师 - 张扬分享《基础设施即代码的⾃动化测试摸索》
  • 7 月 29 日,字节跳动产品经理 - 胡贤彬分享《自动化测试,如何做到「攻防兼备」?》
  • 8 月 5 日,声网 AgoraCICD System 负责人 - 王志分享《从 0 到 1 打造软件交付质量保证的闭环》
退出移动版