美国防部于2022年2月发布了《美国防部软件现代化战略》,提出了软件现代化框架,制定了实现快速、弹性软件交付的愿景,以及实现该愿景的长期与近期目标。本文在分析文件内容的基础上,综合了在美国防部软件环境中工作的专家对该战略的看法,这些专家对于美国防部软件开发流程与安全交付有着深入的了解,其看法有助于理解该战略的发布背景和影响。
2022年2月2日,美国防部副部长凯瑟琳•希克斯(Kathleen Hicks)签署批准了《美国防部软件现代化战略》(以下简称《战略》),该战略于2021年11月在《国防部云战略》(2018年12月)的基础上制定,是《国防部数字现代化战略》(2019年7月)的子战略,并将取代云战略。《战略》提出了“以相应速度实现软件弹性交付”的愿景,指明了五项总体原则,提出了软件现代化框架,制定了长期目标与具体目标,最后说明了如何统一实施。《战略》强调,技术与软件交付是国防部竞争优势的关键所在,而云服务和数据是软件现代化的基础。为实现软件现代化的战略愿景,国防部将加快企业云环境建设、建立软件工厂生态系统并改革流程以实现弹性和速度。
1 发布背景
美国防部认为,未来作战依靠的是“灵活性”,能否安全、快速地提供有弹性的软件将决定未来战争的成败。因此,增强软件开发的适应性和灵活性是美国防部投入的重点。而要将软件交付时间从数年缩短到数分钟,就需要对现有流程、政策、劳动力和技术等进行重大改变。为此,美国防部近几年来一直在积极研究并推动软件创新,持续发布了相关备忘录、战术手册、战略等方面的文件,从开源软件(OSS)备忘录、开发、安全和运营(DevSecOps)指南、战术手册和参考设计、持续运营权(cATO)备忘录到此次的《战略》,这些文件为国防部软件开发的前景绘制了一幅指导蓝图,构建了一个国防部范围内的统一的软件开发工作框架,反映出美军与对手保持技术同步进而超越对手的迫切需要。
2 内容详解
(一)愿景:通过快速交付弹性软件让美军在大国对抗中保持竞争优势
现代战场包含大量数字系统,信息和数据被当作武器和目标,而软件则充当实现目标的渠道。虽然软件提供了无限的前景和机会,但也充满被误用和滥用的风险。《战略》认为,为了支撑未来战场上的美军,就必须通过技术和软件为作战人员赋能。因此,《战略》提出了一个简单但强有力的愿景:“以相应速度实现软件弹性交付”。
“相应速度”指的是能够让美军在大国竞争中保持竞争优势所需的加速交付。但是必须注意的是,速度绝对不是衡量软件交付的唯一指标。软件稳定性、质量和可靠的网络生存能力才是弹性软件应具备的首要属性(参见图1)。这些属性都能够通过现代软件开发实践来快速实现。
图1 实现弹性软件能力的支柱(出自《美国防部企业DevSecOps战略指南》)
这一愿景不仅强调软件交付,而且还强调要交付“有弹性”的软件,即能够应对可能发生的各种事件并从这些事件中恢复正常。这与美国家标准与技术研究院(NIST)关于网络弹性系统的指导意见——《开发网络弹性系统》文件相一致。该文件强调,网络系统应达成预测、承受、恢复和适应等目标(参见图2)。如果国防部希望实现其战略愿景,则在其数字化系统和软件方面也必须采用这些目标。
图2 网络弹性结构之间的关系(出自《开发网络弹性系统》)
(二)软件现代化框架:技术、组织与流程的平衡发展
《战略》提出了一个软件现代化框架,旨在确定实现软件交付现代化所必须解决的最低限度的技术使能因素和流程。软件现代化框架侧重技术使能因素、技术力量倍增器、流程转型以及效果,如图3所示。
图3 软件现代化框架
(1)技术使能因素
美国防部认识到,新兴技术是实现整个国防部软件现代化目标的核心。这些技术使能因素包括国防部企业云环境、设计模式、DevSecOps/工具和企业服务等。
1)国防部企业云环境
《战略》强调,国防部企业云环境是软件现代化的基础,是一个多云、多供应商的生态系统,提供跨部门的云服务。这与美国防部最近转向的联合作战云能力(JWCC)相契合。但是,尽管《战略》强调了云技术赋能的环境对软件现代化的重要性,但对国防部任务或系统负责人目前面临的一些难以解决的问题却没有给出解决方案。例如,目前访问创新商业云服务的时间存在严重滞后,联邦风险与授权管理项目(FedRAMP)、《国防部安全需求指南》及其相关影响级别等繁琐的合规流程是导致这一问题的主要原因。
2)设计模式
设计模式是针对软件设计给定环境中常见问题的可重用解决方案,通过自动化来加速安全的云采用和软件开发。这些设计模式包括基础设施即代码(IaC)模板,这些模板可用来将任务/系统所有者的操作环境快速部署到云中,并将安全性和合规性要求嵌入其中。美国防信息系统局(DISA)托管和计算中心的国防部云基础设施即代码(IaC)工作就是这个领域的前沿拓展性工作。
3)DevSecOps/工具
DevSecOps是一种组织级软件工程文化和实践,旨在统一软件开发、安全和运营,目标是在软件生命周期的所有阶段实现自动化、监控和应用安全性。DevSecOps及其相关工具是美国防部软件现代化不可分割的一部分。国防部一直在推进DevSecOps的发展,并于2019至2021年发布了一系列DevSecOps战略指南、手册以及参考设计,推进力度越来越强。目前已批准并已发布的国防部DevSecOps参考设计包括云原生计算基金会(CNCF)的Kubernetes、多集群Kubernetes和亚马逊托管服务模型。
4)企业服务
美国防部如果期望采用现有的协同模式来加速达到预期结果,就只能借助于企业服务。企业服务提供即用型的可组合功能,包括安全服务、身份管理、应用程序编程接口和数据分析等,以支持软件现代化工作。企业服务不仅包括网络安全服务提供商(CSSP)、身份管理等共享安全服务,甚至还包括DevSecOps和软件工厂平台本身。
(2)技术力量倍增器
新兴技术如5G、区块链、人工智能、机器学习等正在持续改变着数字环境。引入新兴技术时,美国防部必须考虑这些技术对企业云环境、设计模式、DevSecOps/工具和企业服务带来的影响。
(3)流程转型
《战略》指出,为了利用新技术,必须转变流程。流程转型关注的主要领域包括:业务运营、采购、网络生存能力、测试和劳动力。虽然这部分内容在整个文件中所占篇幅不大,但其重要性怎么强调都不为过。根据在美国防部以及使用或交付软件的联邦环境安全系统中工作十余年的专家意见,利用新技术面临的问题主要是人员和流程方面的挑战,与技术限制基本无关。DevSecOps工具包、开源软件(OSS)备忘录和持续运营权(cATO)备忘录的推进就是典型的例子。尽管国防部多年来一直在推进DevSecOps、OSS和cATO,但相关工具包直到现在才被开发出来并发布,而且即便如此,还是引起了一些业界相关人士的强烈批评。
从一般规律看,政策和流程总是落后于技术的发展,但国防部也意识到,如果政策和流程一直没有随着技术创新而创新,就无法实现现代化并与大国对手保持均势地位。因此,改革相关领域流程已成为国防部无法回避的当务之急。
(4)效果
归根结底,所有这些技术使能因素和流程转型的目标都是将更好的能力交付到最重要的人——国防部作战人员和任务负责人的手中。从一线作战人员的角度来看,对新的软件的接受程度往往取决于其所带来的新技术、新能力是否能够通过作战的检验、是否能够实际提升作战效能和生存性,只有及时交付到作战人员手中、能够让作战人员在战争中生存下来并取得胜利的能力和技术才能获得认可。
(三)长期/近期目标:云环境建设、软件工厂生态系统构建、流程改革三管齐下
《战略》界定了3个高层次的长期目标,在每个长期目标下又分设了近期目标。
(1)长期目标一:加快国防部企业云环境建设
建设企业云环境为三大长期目标之首,再次突出了云环境是国防部软件现代化基础的关键所在。云环境包括在企业和战术前沿跨越多个云服务提供商和密级的环境。这一长期目标包含以下四个近期目标。
1)创新的云合同组合
美国防部在发展云计算方面的过程十分曲折,特别是其长期以来耗费大量精力的联合企业防御基础设施(JEDI)计划,该计划侧重于单一的企业云,但从未完全实现,最终于2021年7月被取消,国防部转而启动面向多云的“联合作战云能力(JWCC)”计划。在国防部认识到需要采用多样化的合同组合,以允许企业广泛采用多个云服务提供商之后,目前的云合同已经在朝着良性的方向发展了。
2)保护云中的数据
确保云中数据的安全由多个部分共同促成,包括适当的授权流程以及防御性网络安全作战(DCO)。联邦风险与授权管理项目(FedRAMP)对供联邦使用的云服务产品进行授权,然后国防部在此基础上构建了临时操作授权(P-ATO)流程和安全需求指南(SRG)中的要求及其附加控制措施(通常称为FedRAMP+)和针对各种影响级别(IL)的独特安全要求。虽然《战略》强调了授权流程,但并未就优化或改进当前的合规性要求提出见解,也没有说明如何加速国防部任务或系统负责人获取创新商业云服务的速度。
防御性网络安全作战(DCO)通常由网络安全服务提供商(CSSP)如DISA来实现。毫无疑问,DCO对于保护云中的国防部数据至关重要,但也面临着一些挑战。国防部正在继续采用Kubernetes、容器(Container)、无服务器(Serverless)等技术。DCO需要与这些技术保持一致,专注于结果而不是特定的工具,提供符合客户环境的动态技术堆栈和工具。
3)通过自动化设计模式加速云采用
这一目标专注于基础设施即代码(IaC)等技术,同时还与预增强容器相关。国防部在预增强容器方面开展的典型工作是“平台一号”(Platform One)的“Iron Bank”容器,其目的是尝试创建预增强容器的存储库,利用互惠性原则来避免重复评估和安全工作,并将这些容器提供给各军种使用。
4)为云计算准备美国本土外的基础设施
云计算为国家安全提供的价值不仅限于美国大陆。2021年4月,美国防部发布了《美国本土外云计算战略》,该战略称其“通过在战术前沿进行云创新,确立了实现主导全域优势的愿景和目标”。该文件提出了三大目标:为战术层级提供强大且有弹性的连接;为战术层提供云计算基础设施和能力;在需要的地方部署人才。针对本土外实施云计算的特殊性,文件特别强调需要重点考虑与所在国的协商、空间及电力条件的限制、断网等受限环境及状况、与他国合作中的数据主权这四个问题。
(2)长期目标二:建立整个国防部的软件工厂生态系统
第二个长期目标的重点是继续在国防部内部促进软件工厂生态系统的发展。国防部一直在不遗余力地建设软件工厂生态系统,正在发展的包括空军的“平台一号”和SkiCAMP、海军的“对位压制工程”软件库(Overmatch Software Armory)、海军陆战队业务运营支持服务、陆军编码资源和转型生态系统等。这些组织正在为国防部的软件创新定下基调,并以相关的速度提供有弹性的软件解决方案。该目标可分解为以下几个近期目标:
1)通过企业供应商推进DevSecOps
《战略》指出,国防部必须为合理数量的获准企业供应商制定要求,以有效地扩大软件工厂规模。这一目标期望达成的效果显而易见,就是要避免重复工作,最大限度地利用现有投资,并实现某种程度的标准化。但存在的挑战在于,“合理的数量”究竟由谁来决定,由什么来决定?如何在避免大量重复工作和支出的同时建立一个多元化和创新的生态系统是一个难题。
2)通过持续授权加速软件部署
cATO依然是《战略》的核心组成部分,再次出现在第二个长期目标中。自动化帮助简化了cATO流程,但随着软件工厂生态系统的多样化,2022年2月最新发布的cATO备忘录将国防部的首席信息安全官(CISO)置于唯一能够批准cATO的权威地位,引发了国防界对权力集中瓶颈的担忧。对此,国防部表示,其处理cATO的方法仍在不断发展,最终将分散控制权,让各军事部门和项目在授予cATO时拥有一定程度的自主权。
3)通过企业存储库推动工具互惠、为无缝的端到端软件交付简化控制点和将创新加速交付到作战人员手中
最后三个近期目标存在共通之处,皆需在技术和流程两方面提高效率,从而将成果加速送达关键的利益相关方,即作战人员。
(3)长期目标三:改革流程以实现弹性和速度
这一长期目标揭示出国防部是一个极其复杂的生态系统,对该系统的管理存在大量相互重复的要求、政策和法规。国防部必须对这一点加以改进,以加快向作战人员提供弹性软件和能力的速度。
目前,国防部软件政策的制定者既不是政策所管理的对象,也与政策所适用的技术无关,这导致了政策制定者与政策所适用的对象之间存在一条传统的鸿沟。根据从事软件和网络安全工作的美国防部专家的意见,改革流程的最好办法是让技术人员参与政策制定过程。也就是说,如果国防部希望通过软件和技术来增强创新和敏捷性,那么创建软件和利用技术的人应该成为帮助制定政策的关键利益相关方。
3 影响预测
《战略》将对美国防部云环境、软件工厂、软件相关流程等方面产生重要牵引作用,结合战略所提需求和国防部正在开展的相关工作,预计该文件将在以下三方面产生较大影响。
(一)云处理方式逐步向PaaS、SaaS的交付模式转变
《战略》反复强调云环境是国防部软件现代化基础的关键,多供应商、多云环境是发展趋势。但是,目前的很多云项目还只是将云视为另一个数据中心,而为实现软件现代化,需要采用更高水平的云交付模式,例如平台即服务(PaaS)和软件即服务(SaaS)。采用PaaS和SaaS服务有助于促进持续运营权(cATO)备忘录中所提出的许多关键标准。由于这些模式具有巨大优势,国防部未来将大力推进采用这类云交付模式。
(二)整合各军种软件工厂,实现跨军种共享代码
敏捷软件工厂的概念对美国防部来说并不是一个新概念,各军种早已开始实践,国防部“算法战”跨职能团队、空军“凯塞尔航线”软件工厂都是这种组织方式的代表。接下来的关键步骤应该是将这些相对较小的创新中心整合到一个连贯的“生态系统”中,该“生态系统”可以跨军种共享代码,使用一套通用的商业开发工具,并大大加快软件各组成部分的安全审批流程。目前,美国空军已经有自己的集中式DevSecOps环境,即“平台一号”(Platform One)。2020年,国防部正式将“平台一号”指定为国防部范围内的企业服务。虽然《战略》并没有要求整个国防部都迁移至“平台一号”,但它明确指出了国防部开发人员需要集中在“合理”数量的服务提供商和软件存储库上。
(三)加大流程改革力度以促进新技术利用
如上文所述,促进新技术利用面临的最大障碍不是技术本身,而是流程,或者从根本上说是流程背后的人和文化。《战略》列出了流程转型关注的几个主要领域:业务运营、采购、网络生存能力和测试等。业务运营方面,国防部将在需求和预算流程中建立激励机制,以促进软件能力共享、重用和信任。采购方面,将继续推进软件采购途径,为软件开发和采购提供一种快速、迭代的方法。网络生存能力和测试方面,国防部目前采用的合规性监控方式是:在3年运营权(ATO)窗口期内每年审查一次33%的适用安全控制基线,从而在整个ATO生命周期内达成对100%控制基线的审查。由于这种方式无法保证持续的合规性,国防部未来将采用合规自动化和近实时的合规监控及风险实时监控,实施自动化的安全测试,以帮助促进更有效的防御性网络安全作战。
声明:本文来自防务快讯,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。