无法适应环境并灵活作出改变的企业将在当今行业激烈的竞争中难以生存,对于 DevSecOps 也是如此。DevSecOps 是一门旨在确保安全融入软件开发过程的学科,而非在完成开发后附加的安全环节。DevSecOps 的发展和实施让软件世界变得更加安全,但这也并非意味着 DevSecOps 可以帮助企业一劳永逸地解决软件供应链安全问题。在 DevSecOps 的基础上,可以在应用程序开发过程中更早地考虑安全性,将安全融入到从最初的设计到集成、测试、部署和软件交付的每一个步骤,我们姑且将这个流程称为 PlanSecOps。
 

什么是 PlanSecOps?

实施 DevSecOps 时,开发人员需要将安全措施集成到代码中,然后进行测试以确保其安全正常工作。而 PlanSecOps 在开发周期的早期就开始这一过程,在编写任何代码之前的规划阶段就将安全性集成进来。在开发周期,通过让安全专家参与进来,这样更容易在规划和架构周期中从经验中了解不同类型的软件中存在哪些漏洞。
 
PlanSecOps 可以参考建造房屋的过程。假设在建造房屋前没有进行接线安全系统规划,则需要在房屋建成后需要在电工和承包商的帮助下进行安装和改造,以不干扰电气基础设施其他部分的方式进行安装。但如果电气安全系统中房屋建造之前的施工图纸阶段就已经充分考虑进去,那么在房屋建造完成的时候就不会存在不安全或不规范的问题(或从最大程度上避免此类问题),就可以开始安全使用了。同样,PlanSecOps 为开发过程也做着同样的事情,也就是安全计划(Security Planning)
 

更全面的安全方法

企业往往希望通过发展、创新和快速开发来为客户提供新功能,从而改善客户体验,这也是企业保持竞争力的重要方式之一。实施更加敏捷的方式,能够帮助 DevOps 团队有效缩短开发周期有助于他们更快的进行软件交付。但随着软件供应链状况日益复杂,恶意攻击者的攻击策略也变得难以捉摸,因为攻击者随时准备利用应用程序中的任何漏洞来发起攻击。为了保护软件安全,DevSecOps 会查看各个代码片段以查找漏洞,并应用补丁。但是一旦修复了漏洞,就会弹出一组新的暴露点,因为修复这个漏洞可能会撤销另一个漏洞的补丁。这个状况就有点像打地鼠游戏,你打中了其中一个地鼠,另一个又跑出来,因此漏洞问题的解决变得更加复杂。
 
PlanSecOps 是一种更全面的安全设计方法。PlanSecOps 旨在建立一个完备的安全系统,它简化了编码和测试以此来确保流程效率同时兼备安全。PlanSecOps 为软件开发工程师简化了下游流程,提供了更快、更容易和更可持续的开发流程,甚至可以将开发周期缩短数周。
 

实施 PlanSecOps 的建议

由于复杂性以及通用数据保护条例(General Data Protection Regulation)等隐私法规的影响,安全补丁在开发阶段变得越来越不实用。相比之下,在开发之前规划一个数据隐私总体策略可能是更好的方法。在进行安全策略规划时,团队需要有一名具有法律背景和软件开发经验的隐私工程师,或者一个具有所有这些专业知识的团队。不过这两种方式都需要花费较大成本,且招聘拥有此类复合背景的人才也是十分有挑战的。
 
目前已有一些公司正在创建简化安全设计的安全平台和工具。这些平台和工具可以对企业的代码进行分级并为开发过程提供框架。当然,企业仍然需要一位技术专家来根据工具提供的信息进行修复。此外,企业也可以考虑和第三方合作,例如拥有安全设计方法的第三方公司,且已有在架构阶段进行安全规划实践经验。与这样软件开发攻击合作比起招聘拥有法律和技术复合背景的人才会更加容易且成本更低一些。
 

安全需要尽早开始

在过去我们见证了数个大型软件供应链攻击事件,也深知此类攻击对企业、对社会的影响范围之大,时间之久,因此保护软件供应链安全是企业需要承担的责任,并在 DevOps 周期开始时解决不断演变的安全风险。随着行业的发展,软件功能会不断更新,新技术也会随之出现,软件开发之旅或许没有尽头。但是安全是永远不变的主题,确保软件开发过程中的每个人及其团队都具备安全意识和责任,所有系统都尽可能自动化。通过改进协作和对风险的理解,企业可以在展望未来时更好地应对网络安全风险和软件开发创新挑战。


Seal
1 声望3 粉丝

GPUStack,一个用于运行 LLM(大型语言模型)的开源 GPU 集群管理器。