美国军方如何实现DevSecOps标准? - cloudbees


当您的国家/地区的安全取决于软件时,您最好确保它坚如磐石。这就是为什么美国军方为DevSecOps设定标准的原因,DevSecOps是一种软件开发方法,可以将安全性嵌入每一行代码中,无论它是存储在私有云中还是在F-16战斗机的驾驶舱中。该程序由美国空军首席软件官Nicolas Chaillan运行,他还担任整个美国国防部的国防部企业DevSecOps计划的联合负责人。
Chaillan在15岁的时候创立了自己的第一家软件公司,并且是创建流行的Web编程语言PHP的团队的成员。此后的二十年间,Chaillan创立并出售了大约十二家科技公司,然后被国防部长办公室聘用,以帮助为美国军队带来软件安全性和快速原型创新。 

平衡速度和安全性
快速的软件开发是美国军方的重要目标,但决不能以安全为代价。因此,Chaillan的团队一直在努力将安全性嵌入到开发生命周期的每个阶段,这种做法被称为DevSecOps。
 零信任通过称为Istio的开放源代码服务网格一直到团队的开发过程一直到容器级别,有助于实施需要了解的知识和最低特权策略并减少攻击面。
他的愿景是通过国防部范围内的企业服务DevSecOps团队Platform One提供的新的“ Party Bus”和“ Big Bang”服务,向国防部的网络安全团队提供DevSecOps方法学作为集中服务。 
人们通常没有意识到提供企业级功能的复杂性。美国庞大的军事力量充斥着各种作战孤岛,这些孤岛会使从软件到武器系统的一切生产变得复杂,而且速度缓慢。筒仓越多、步骤和闸口越多,则在DoD程序之间浪费的时间就越长。
具有讽刺意味的是,提高速度实际上可以帮助组织变得更安全。

持续运转
通过以安全的方式简化开发操作,DoD的目标是实现所谓的“连续运行授权”,在这种环境中,团队可以每天多次或根据需要多次部署软件。该组织已经建立了一个由智能定义的管道和闸门组成的软件工厂,从而使所产生的产品能够自动获得认可并批准在整个DoD中使用。
建立工厂后,受过良好训练的团队可以根据需要自定义工厂,选择他们喜欢的编程语言和工具来构建和部署软件。为了简单起见,军方不会仅仅在整个机构范围内规定一套标准的DevSecOps工具。通过16种编程语言和23个数据库为170多种工具提供企业支持和扩展,因此我们想确保我们为团队带来了选择,并且没有一个千篇一律的解决方案。
但是,Chaillan一直在推动他所谓的“单一抽象层”,使DoD可以使用Cloud Native Computing Foundation在任何环境中部署软件,无论是传统的私有云,公共云还是边缘用例( CNCF)Kubernetes环境 。Kubernetes抽象层为您提供了将软件迁移到不同环境的灵活性。
Chaillan的DevSecOps服务体现在两个团队中:Cloud One和Platform One。Cloud One使DoD的工程团队可以单点登录访问政府经ATO认证的Azure和Amazon云。Platform One是一个DevSecOps环境,可以部署在任何地方,无论是在云中(包括Cloud One还是在本地),并且几乎可以用于任何用例或武器程序。对于寻求与国防部在机密级项目上安全合作的政府承包商来说,这也是一个不错的选择。