DevSecOps被认为是诸如联合全域指挥控制(JADC2)等重大战略概念成功的基础,旨在解决美国防部目前面临的最大挑战——如何迅速将关键任务能力交付给作战人员。本文介绍了DevSecOps软件工程的机理、成功案例,并讨论了业界在构建未来关键任务伙伴关系中的重要作用。
美国防部目前面临的最大挑战之一是如何迅速将关键任务能力交付给作战人员。这个挑战,在很大程度上与软件开发和认证的速度息息相关。当前的现实情况是,当软件到达交付标准时,其中大部分已过时。
优步(Uber)、网飞(Netflix)和沃尔玛(Walmart)等商业巨头通常会按照“业务速度”(speed of business)部署软件。尽管国防部有独特的安全要求,但依旧不能在速度上妥协。延迟向战场交付创新软件、应用程序和能力,对于国防部而言是无法承受的。
国防部领导已认识到需要以“作战的速度”(warfighting speed)开发和部署软件,因此开始使用DevOps技术来简化交付周期。DevOps使开发人员和运营人员能可协同、可持续地构建、测试和部署软件。随后,为了应对快速发展的赛博威胁,DevSecOps技术应运而生,它将安全团队和最优方法融入到开发工作中。
DevSecOps被认为是诸如联合全域指挥控制(JADC2)等重大战略概念成功的基础。国防部启动了“企业DevSecOps计划”(DOD Enterprise DevSecOps Initiative),目标宏大——“为国防部项目带来自动化软件工具、服务和标准,使作战人员能够以安全、灵活和可互操作的方式创建、部署和操作软件应用程序。”
在不断改善赛博态势的同时加快软件交付,要求国防部内部利益相关者治理、提供工具、开展培训和协作,而且必须追求速度,使速度匹配任务。成功实现DevSecOps计划,摆在国防部面前的最好方法就是通过软件工厂。
1、DevSecOps软件工厂机理
软件工厂是实体制造工厂的数字化版本。它将开发资源聚集在一起,利用规模经济和自动化技术,来优化软件开发的速度和质量。
国防部一直是软件工厂概念的全球领导者,通过设立创新中心(如美国空军Kessel Run)来执行其DevSecOps愿景。在DevSecOps模式下,安全团队、开发人员和运营人员被串联起来,零信任原则从一开始就融入到每个新版本中。在自动化的支持下,这种预先的安全设置简化了测试、认证和最终的批准流程,而批准通常是快速交付的最大障碍。DevSecOps带来的成果是相关人员可以方便地访问这些经批准的工具,从而快速构建新的解决方案。
由于资源集中在云端,DevSecOps的成果可交付给整个国防部,为增强国防部持续反馈回路(feedback loops)、持续监控、持续快速原型化和最终的持续运行授权(ATO)奠定基础。
2、建立数据基础以简化ATO流程
DOD面向软件认证的ATO流程平均需要8个月。这个流程相当严格,因为有很好的理由,那就是没有组织像国防部那样设置了关键或独特的安全需求。批准单个软件工具组件,既繁复又耗时。因此,当这些能力被批准在战场使用时,它们往往已经过时,对任务毫无增益。
软件工厂可以帮助引入“一次批准,多次使用”的模式。这是通过DevSecOps实现的。首先需要确定软件最终运行所需的所有相关数据。如果项目工作人员不得不手动搜索在国防部内分散的数百万数据集,那么极易陷入困境,造成软件开发和最终部署的速度大大延缓。此外,确保软件开发后仅需最小程度的改动,将使批准流程更快,并显著加快授权过程。
空军的“平台1号”(Platform One)项目是软件工厂如何改变上述流程的一个很好的例子。“平台1号”支持空军总体DevSecOps结构,提供全空军范围的ATO服务。通过自动化,空军已能够大幅缩短软件发布时间线,得以在一周内完成以前需要3到8个月才能完成的任务。“平台1号”已实现了一个可持续的ATO机制,这使得团队能够定期推送软件更新,获得新版本的批准,并不断提供给任务人员。
3、软件工厂的未来和行业的角色
由于国防部及其任务的复杂性、竞争性和全球性特点,其面临的挑战要大得多。业界在协助DevSecOps在国防部落地中扮演着重要的角色,必须设置“游戏规则”。当业界在这些非常重要的工程上开展合作时,所交付的工具必须提供最大程度的灵活性,确保应用程序可在开放式平台移植。同时,在优化安全性和灵活性的前提下,帮助国防部避免锁定供应商的情况。还要消除使用各厂商软件的障碍,尽可能快速和简单地进行采购。最后,业界也必须以DevSecOps的模式快速展开行动,促进未来关键任务伙伴关系的构建。
戴钰超译自互联网
声明:本文来自防务快讯,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。