美国国防部软件现代化战略(译文)

2022-12-13 14:59美国国防部
信息安全与通信保密 2022年4期
关键词:流程现代化软件

美国国防部

陈 梅,孙 茂,李 南 译

(中国电子科技集团公司第三十研究所,四川 成都 610041)

0 引 言

美国国防部(United States Department of Defense,DoD)内的创新派们早就希望通过改革传统的软件交付模式,以便更快地交付性能更好的软件。鉴于此,DoD 制定了软件现代化战略。本战略预计将取得两大成果:一是通过现代基础设施和云平台形成安全的软件交付模式。DoD 已经意识到技术对改进软件交付模式的重要性,因此,既要注重通过云平台建立商业伙伴关系,还要力求建立服务于整个DoD 的“软件工厂”。二是通过真正的流程改革和注重个人发展来实现上述成果。受制于DoD 内的繁文缛节,当前的软件交付模式步调难以满足需要。DoD 必须审查和修正各种需求、预算、采办事项和安全流程,以便利用新的方法和技术来形成快速、优质且防护得当的软件交付模式。然而,要实现这种改革,DoD 就必须注重个人的发展及其贡献。

1 软件现代化愿景

软件在美国随处可见,各种软件不但融入了美国人的工作和生活,还决定了美国人的健康、经济和军事能力。DoD 正日益依赖软件所提供的自动分析、决策和执行能力,这些能力提升了效率、实现了创新,但也带来了新的弱点和风险。鉴于此,美国的敌对势力已开始把信息和数据作为武器和攻击目标,而软件正是其发动攻击的手段。

未来战争的成败与否,将取决于DoD 是否具备擅于快速且安全地交付各种弹性软件的能力。这些能力必须能改善一线官兵和网络防御单位的战场感知水平,实现基于自动化和机器学习的“联合全域指挥与控制”(Joint All Domain Command and Control,JADC2),并通过数据的聚合和处理来帮助指挥官赢得决策优势。若想做到这一点,既不能依靠过时的平台和程序,也不能仅靠DoD 单打独斗。

一言蔽之,DoD 的软件现代化愿景就是“以相应的速度提供弹性软件能力”。其中,“弹性”意味着提供优质而安全的软件,这些软件能够经受住各种严苛环境并从故障中恢复过来;“相应的速度”是指交付速度要足以使美军保持竞争优势。实现这一愿景的可行之策,就是将DoD 及其合作方的工作与软件业巨头的工作统一起来,在不违反DoD 流程的前提下,形成一套最顶尖的软件能力。这些能力还必须与其他文职部门相契合,以吸纳零信任架构(Zero Trust Architecture,ZTA)、各种电磁频谱能力以及日益增多的联网式军事装备。

按照这一愿景,下文将确立统一相关工作的原则,为各项工作建立组织框架,并提出初步的行动目标。

2 统一原则

统一相关工作是DoD 实施软件现代化工作的根本目的。为此所制定的统一原则已考虑到了DoD 现有的战略以及多个领域的前沿水平,从而为本战略赋予了包括技术视角在内的全局观念。

2.1 将安全性、稳定性、质量和速度置于首位

DoD 必须优先保证弹性软件运行稳定、质量合格且能经受住恶劣的网络环境。为此,DoD可以积极地采取各种现代软件开发措施,以此将性能和安全有效融入整个软件开发周期,从而快速满足其要求。

2.2 智慧云/智慧数据

云服务和数据是软件现代化的基础。要想最终获得影响重大的能力,就必须让软件巧妙地采用云服务,并采纳数据领域的一些最佳做法。为此,DoD 必须通过加快云应用步伐来实现软件现代化,并按照其发布的《国防部数据战略》主动管理数据。

2.3 优先考虑企业能力

DoD 的预算资金有限,因此需要一套高效且合算的技术交付模式,而企业能力正是这种模式中的关键部分。协同管理企业能力有助于推动技术运用,并促使DoD 下属部门将有限的资源发挥出最大价值。

2.4 全员参与

软件现代化工作必须既受到强有力的领导,又由技术人才推动,最终由技能娴熟的员工落实。因此实现软件现代化的关键因素在于发展、培训和招募DoD 员工。

2.5 不止于代码

软件现代化并不仅限于开发代码,还包含许多力求将设想转化为现实的政策、流程和标准。这些政策、流程和标准既应有助于达成本战略的愿景,也不应忽视合同、知识产权以及“如何从开发过渡到实际部署”等因素。

3 软件现代化框架

获得软件的方式主要有3 种:(1)采用DoD 下属部门出资开发的现有应用程序和云平台;(2)通过传统的软件许可证制度购买软件或用于开发软件的组件,包括低代码/无代码平台或订阅的“云软件即服务”;(3)定制软件(通常是为了赋予DoD 某些独特能力),可能包括复杂的系统体系、简单的网页(Web)应用程序或嵌入式代码。

不论选用哪种方式,软件交付都不能一蹴而就,急功近利的软件交付工作只会适得其反。为了保证快速、安全且持续地交付软件,无论是采用外购软件还是自主研发,所有现代软件获取方法都已吸纳了模块化设计原则和自动化理念。

本战略建立了一套软件现代化框架,其中指明了实现软件交付现代化所必需的技术基石和技术流程。需要指出的是,该框架虽然规范了软件现代化工作中的常用词汇和组织架构,但其既谈不上包罗万象,也并非最终定论,其目的仅在于帮助有关部门把精力放到具体工作上。有关部门应根据各种因素来决定是否采用该框架,例如,任务规定的软件获取方式(比如是采用外购还是自主研发)、软件开发的复杂性(比如简单的网站还是系统体系),以及软件最终用户的情况(比如是一线官兵、医护人员还是招聘人员)等。

3.1 技术基石

为了以相应的速度提供弹性软件能力,DoD必须采用最新的技术和方法。上述软件现代化框架中的技术基石将遵循任务要求、实现互操作性并确保安全,但这些技术基石并非面面俱到,它们彼此间也存在着千丝万缕的联系。软件现代化框架以“同心圆”的形式来表现这些基石,这既是为了表明必须整合这些互补性基石(或者能力)才能实现最大价值,也是为了说明和软件交付模式一样,这些能力也会不断发生变化。

3.1.1 国防部的企业级云环境

DoD 的企业级云环境是一套多云、多供应商的生态体系,旨在提供覆盖整个DoD 的云服务,其中包括基础设施、平台和软件服务等。云环境始终是软件现代化的基础,它能以更快的速度获取全球的计算能力和行业创新成果。如果能通过结构化的方法来建立和维持这种云环境,便可提升服务质量的一致性,实现规模经济,并避免云滥用(Cloud Sprawl)带来的风险。

3.1.2 设计模式

设计模式是指在软件设计中的可复用方案,这些方案旨在解决特定背景下的常见问题,而自动化的设计模式能安全地加快云运用步伐和软件开发进度。在初期,“设计模式”基石将侧重于那些构成虚拟环境所需的常见工作,例如安全合规性扫描和访问权管理等。有关部门可通过标准蓝图或模板来实现设计模式的自动化,这将有助于在整个软件开发过程中保持架构和配置的一致性,并在实现规模化、互操作性和安全性,以及缩短任务时长方面发挥关键作用。

3.1.3 开发、安全及运行(DevSecOps)/工具化

DevSecOps 是一种组织层面的软件工程文化和理念,旨在统一软件的开发、安全和运行。DevSecOps 的主要特点是在软件全生命周期过程中(包括规划、开发、构建、测试、发布、交付、部署、运行和监控等)始终贯彻安全原则、监控安全水平和采用自动化安全措施。同时能带来的好处包括减少从开发到部署的时间、提升安全性以及加快获取能力的速度等。DevSecOps/工具化拥有“能够持续整合和交付由软件工厂生产的安全软件”的一系列能力,其中,“软件工厂”是指负责软件开发和集成的“软件组装厂”,这种“工厂”拥有多条渠道,并配备了一系列工具、工作流、脚本和环境。凭借这些条件,“软件工厂”能在尽量避免人为干预的情况下生成一组软件型组件,从而在开发、构建、测试、发布和交付阶段自动开展各项工作。此外,“软件工厂”也允许采用多租户架构。要想最大限度地提高“软件工厂”的效益,就必须通过DevSecOps 等方式将技术(例如工具和平台)与流程改革(例如安全授权和安全测试)结合起来。

3.1.4 企业服务

企业可提供现成的组合式功能(例如安全服务、身份管理、应用程序接口和数据分析)来支持DoD 的软件现代化工作。由此一来,DoD 各下属部门便可迅速地运用各种安全能力来满足各自的任务需求,从而让有限的人才专注于开发独具特色的软件。此外,DoD 可将从企业购买的软件交给所有下属部门使用,以减轻其财务负担。

3.2 技术能力倍增器

新兴技术不断改变着数字化格局,因此,在按照《国防部科学与技术战略》采纳这些技术时,DoD 必须考虑到它们对软件现代化的技术基石和流程有何影响。在重新评估这些技术基石和流程时,DoD 不能仅局限于当前的软件开发理念,而是必须准备好在新的条件下跳出思维定式。

3.3 流程改革

在建立软件现代化框架时,DoD 已经意识到必须改变流程才能用上新的技术。流程改革不仅要考虑步调和灵活性,还要对新举措予以激励,实行允许创新和试验的新版策略,并确保能从软件合规阶段转向运行就绪阶段。对整个DoD 而言,流程改革应从小处着手,然后逐步扩大,最终推广到整个DoD。流程改革预计将取得2 个成果:一是使采办时间表变得更加紧凑;二是通过经济激励来打破“孤岛式”的业务运作模式和服务管理模式,以及缩短网络安全合规工作的筹备时间等。

3.3.1 业务运作

为推广共享软件开发平台和可复用软件,DoD 必须改变其内部的经济制度,调整催生“孤岛式”业务运作和服务管理的因素,并通过资源激励来形成共享、复用和信任各类软件的氛围。具体而言,DoD 必须将激励措施纳入需求和预算流程中,并通过优化内部管理业务的方式来简化共享服务交易。

3.3.2 采办

软件需求千变万化,软件的更新速度也快过以往,然而,目前的采办和合同周期太慢,软件在交付时可能就已过时。因此,为适应当前的节奏和灵活性,DoD 必须继续改革软件采办模式,同时也需要企业界的配合。

3.3.3 网络生存能力

“遵守现行规定即可确保网络安全”的心态可能会带来错误的安全感,DoD 应把“网络安全”视为一种动力,而“符合网络安全规范”则应是这种动力的结果,而不是相反。基于此,DoD 必须把“反映一时之需”的网络安全合规文化转变为网络安全从业者所遵从的文化,即把自动化及实时、持续的风险监控(包括供应链风险监控和快速的事件响应)视为应有之义,并将这些理念整合到软件开发渠道之中。DoD 必须尽早确定符合系统安全工程理念的方式方法,利用新的技术和方法来简化软件的风险流程,为各类授权持续提供必要的信息,并落实防御性网络空间行动(Defensive Cyberspace Operations,DCO)。

3.3.4 测试

软件将在武器平台和任务能力中扮演更加重要的角色,因此,DoD 必须将可靠的软件测试环节整合进软件交付渠道,并在这些环节中留出“评测端到端任务线程”的余地。在软件测试阶段,DoD 不能仅靠运行一遍脚本就对软件特性和功能作出评估,而是必须将运行场景纳入测试,以确保运行效果能够达到期望水平并满足最低要求。为提升网络生存能力,在软件开发过程中,DoD 必须开展合作性和对抗性的渗透测试以及持续性的网络测试,并在部署软件后反复进行网络测试,以确保实现积极主动的网络防御。

3.3.5 员工队伍

要想采取现代化的软件开发与交付模式,就得调整DoD 的员工队伍。具体而言,DoD 需要采取6 个方面的措施:一是要想调整战术边缘作战平台的算法,就得有软件人才;二是要想用低代码/无代码平台处理数据,就得有技能娴熟的分析师;三是要想推出软件定义型机器人技术,就得有一支掌握相应开发与工程知识的灵活团队;四是必须吸引和留住人才,将人才推上领导岗位,并设法培养竞争所需的技能。五是改变面向员工的各类流程及团队文化;六是为了实现“由软件定义的”未来,需要具备各个专业的人才,改善专家与用户之间的沟通,并建立一支精通技术的联合部队。这意味着各级领导者和管理者必须跳出窠臼,重新思考职业规划、人员合作以及整个DoD 范围内的协调与配合问题。

3.4 成果

DoD 通过奠定技术基石和推进流程改革来更快地提高一线官兵的作战能力。弹性软件将以更快的速度部署到任务中,利用高自动化能力提升各类业务的效率和效益,对网络威胁展开实时抵御,而各种软件将促成以数据为中心、由数据驱动的运行环境,从而增强美军的数据优势。

4 目标

本战略提出了3 大目标,分别代表了DoD实现软件现代化愿景的3 项长期工作。此外,每项大目标下还设置了若干个近期小目标,这些小目标的重点在于软件现代化框架下的技术基石和流程改革。

4.1 大目标1:加快建设国防部的企业级云环境

DoD 和商业云服务提供商必须通力合作,以便既迅速且安全地部署云服务,又确保网络安全活动的透明度。本目标正是拜登总统签署的第14028 号行政令《关于改善国家网络安全的行政命令》的核心内容,要求加紧保障云服务的安全,并强调了商业关系的重要性。

4.1.1 小目标1:形成一组成熟的创新性云合同

在确保所有下属部门都能使用云服务的前提下,DoD 将与企业界密切合作,不断改进云服务的合同流程,从而形成一组更加全面和多样化的创新性云合同。这些合同既要吸收现有采办流程的优点,也要避免彼此重复。

4.1.2 小目标2:保护云数据

保护云数据的关键在于改进授权流程和在云平台上开展DCO。

在流程方面,DoD 将采用三级云安全流程,即联邦级流程(FedRAMP 项目)、DoD 的专有流程(临时授权),以及由合作方独立开展的政府网络安全测试与评估。DoD 将通过这些流程来列明符合其安全标准的云服务产品,并执行各系统或应用程序的安全合规流程(即操作授权),以确保依据各下属单位的风险承受能力来采取适当的安全控制措施。此外,为了更好地了解系统或应用程序遭受攻击后的恢复能力,DoD 还必须在开发和运行阶段开展单独的网络安全测试。

在DCO 方面,DoD 必须尽早发现漏洞,对可疑行为作出快速反应,并考虑是否需要反复开展网络安全测试和评估。这些DCO 既包括技术措施,也包括事件上报与响应流程。此外,为协调云事件响应工作,在DoD 各下属部门之间以及DoD 与企业界之间都应展开合作。

4.1.3 小目标3:通过自动设计模式加快云运用步伐

为便于建立和配置虚拟开发环境,DoD 必须提供可重复使用的自动化设计模式,比如“基础设施即代码”“合规即代码”和加固式软件容器等。这些模式必须符合如下要求:(1)适用于整个DoD;(2)集成到授权流程中;(3)持续更新;(4)其配置受到控制;(5)立足于行业最佳做法,以及规定的或公认的标准;(6)有多种实行方式。

4.1.4 小目标4:在美国本土以外建设云基础设施

在美国本土以外(OCONUS)部署军队是使美国保持可信威慑力的关键所在,而为确保威慑力,驻外美军部队必须获得与本土部队相同或更好的能力。这意味着DoD 必须改善包括设施和网络在内的OCONUS 云基础设施,以便驻外部队能够充分利用云服务来访问数据。

4.2 大目标2:打造面向整个国防部的软件工厂生态体系

为保持竞争优势,DoD 必须以更大的规模和更快的速度生产安全且具有弹性的软件,为此必须建立面向整个DoD的软件工厂生态体系。该体系应借助各军种的现有资源(例如空军的“一号平台”、海军的“压制软件军械库”、海军陆战队的“业务运作支援服务”和陆军的“编码资源与改革生态体系”等),并允许跨项目/跨军种运作。

4.2.1 小目标5:通过企业提供商推进DevSecOps

DoD 必须合理确定DevSecOps 提供商的数量,而由DevSecOps 平台构成的生态体系不仅要提供技术能力和有吸引力的流程(例如业务运作模式、维持模式和网络安全流程),还要有能力应对各类任务场景。

4.2.2 小目标6:通过持续授权加快软件部署

DoD 各下属部门普遍认为“操作授权”(Authorization To Operate,ATO)是在软件开发与部署过程中最耗时的环节,因此,DoD 应利用自动化手段重新评估ATO 流程,以便将授权活动从“勾选数百项安全控制措施”模式改为“持续授权”模式。“持续授权”模式包括检验软件开发平台、流程及平台团队的质量与安全,并利用自动化手段持续生成实时的检验结果,以证明相关平台的防御态势并实时生成相应软件。DoD 的网络安全专业人士必须与软件开发人员和系统工程师共同核查这些检验结果及相关渠道,以确保现有保护措施符合强弹性和高生存力软件的需要。

4.2.3 小目标7:利用企业级知识库推动工具层面的互动

商业工具对软件开发至关重要,但为避免重复劳动和延迟部署,DoD 不会持续不断地评估每个网络领域的商业工具。相反,商业工具一旦通过网络安全审查,DoD 就应立即通过企业级知识库将其提供给相应的用户。

4.2.4 小目标8:简化端到端软件无缝交付过程中的控制点

按照当前的网络访问批准流程或网络安全合规流程,软件工厂编写的代码需要经过数月才能进入操作环境。为缩短这一时间,DoD 必须简化各种组织和网络边界上的控制点和决策批准事项,并推动建立从开发环境直通操作域的端到端软件交付模式。

4.2.5 小目标9:使创新成果更快服务于一线官兵

为避免数字基础设施落后于人,DoD 须采取2 个方面的措施:一方面,必须借助企业界、学术界和科技界来推动技术方案的互惠互利,建立创造性的合作关系,并促成相关试验;另一方面,必须在各群体之间建立创新渠道,以便以更快的速度和更大的规模将研究工作从试点推向实用。

4.3 大目标3:以流程改革提升弹性和速度

DoD 规模庞大、机构繁杂,规范其采购、执行和运作的法律与流程五花八门,其中许多都颇有些年头,已跟不上技术发展的步伐。因此,为了维持作战主导权,DoD 必须开始改变其行事方式,通过流程改革来提升软件领域的弹性和速度。

4.3.1 小目标10:调整政策、法规和标准

DoD 领导层必须在政策、法规和标准中贯彻软件现代化理念,例如在制定政策和作出指导时,应考虑到软件管理、安全和开源等因素,并在限制与创新之间取得平衡。此外,DoD 还必须参与行业标准机构和国际标准机构,以确保这些机构推行的软件标准有利于国际社会。

4.3.2 小目标11:增强采办灵活性

目前,DoD 正在从采办周期和经费上增强软件项目的采办灵活性,这方面的工作包括DoD 制定的软件获取途径“适应性采办框架”,以及经美国国会批准的“预算活动8(BA8):软件研究、开发、测试和评估拨款”试点项目等。今后,DoD 必须改善其软件项目在采办和经费方面的灵活性。

4.3.3 小目标12:将软件视为数据

软件代码也是一种数据资产,按照发布的《国防部数据战略》,DoD 必须为软件的开发、维护和保护提供相应的数据权限。为此,DoD应与企业界合作制定知识产权战略,以更好地平衡DoD 和软件供应商的投资回报。此类战略应注重采用模块化的开放式系统,并推动各方就专业许可事宜展开磋商,以确保在把DoD 视为客户、共同投资者和共同开发者的基础上,灵活制定互惠互利的业务安排。

4.3.4 小目标13:提升技术能力

为了吸引和留住人才,DoD 必须尽早制定面向未来的技能规划,并调整招募流程、职业发展计划和员工激励机制。各军种必须合力制定可修订的基本训练标准清单,并通过扩充跨军种在职实习项目和轮岗机制的方式来强化其训练。

4.3.5 小目标14:准许更多员工做出技术贡献

并非只有开发人员才能推动软件现代化,包括基础设施管理人员和操作员在内的所有员工都有机会做出技术贡献。为此,DoD 必须努力培养一支所有人都懂技术的员工队伍,而全体员工必须了解各自在软件交付中的职责,并摸索简化流程、提升自动化水平和改善技术效能的方法。

4.3.6 小目标15:通过管理商用现货软件来提升效率和效益

在提升软件开发能力的过程中,DoD 采取了2 个方面的措施:一方面,必须以颁发企业许可证的方式实现规模经济,在测试方的配合下及时发布改善软件安全性和性能的更新和补丁,并设法使用成熟的软件产品及相关的安全技术实施指南;另一方面,必须采取强有力的软件资产管理措施,以改善软件投资、软件许可证和整体软件库存的可见性和回报,从而打造出成本效益良好的软件组合。

4.3.7 小目标16:鼓励使用企业服务

为体现企业服务的经济效益,DoD 必须为各类企业服务制定更加可靠的经费拨发与资源分配流程,从而使这些服务达到或超过最终用户要求的水准。DoD 领导层必须通过密切合作来确定如何从财务上支持企业服务,例如,设置专门用于软件现代化的周转资金或是采用服务费颇具竞争力的标准业务模式等。

5 统一实施

实施软件现代化战略需要DoD 各下属部门的共同参与。具体来说,DoD 首席信息官、分管采办与维护的DoD 副部长和分管研究与工程的DoD副部长将牵头协调各项软件现代化工作,根据实际的财务状况,在“数字现代化基础设施执行委员会”的指导下组成“软件现代化高级指导组”( Software Modernization Senior Steering Group,SW Mod SSG),而SSG 将合理安排相关工作的优先顺序,并通过制定和落实年度行动计划来逐步达成各项目标。SSG 还将制定用于衡量工作进展的业绩标准,并定期重新评估年度行动计划,以确保优先事项和目标工作仍然符合战略需求。SSG 将按照本战略及各种指导文件(例如相关的政策、参考设计和标准等)落实工作,确保将本战略与JADC2、ZTA 以及电磁频谱优势等其他理念相结合。最终SSG 将建立一套软件能力组合,以此来整合各项工作,形成预算决策,并确保明智地使用资源。

6 结 语

软件既是新兴技术的基石,也将成为美国国防的一大特色、优势和关键资产。本战略只是DoD 实现软件现代化的第一步,其立足当前的发展势头,依托DoD 的相关发明和成果,以“以相应的速度提供弹性软件能力”为愿景,确定了软件现代化的总体原则,建立了共同的认知框架,并提出了若干个初步目标。DoD 把软件现代化视为一段永无止境的旅程,为此其将在软件领域不断奋进,以加强和维持美军的作战主导权。

(此报告翻译方式为编译,原文链接:https://media.defense.gov/2022/Feb/03/2002932833/-1/-1/1/DEPARTMENT-OF-DEFENSE-SOFTWAREMODERNIZATION-STRATEGY.PDF)

猜你喜欢
流程现代化软件
谱写“强富美高”新江苏的现代化新篇章
基本实现现代化需要补足哪些短板?
禅宗软件
吃水果有套“清洗流程”
发达国家审计发展及其对中国审计治理现代化的启示
工业软件 自主创新
与元英&宫胁咲良零距离 from IZ*ONE
违反流程 致命误判
四川省高考志愿填报流程简图
即时通讯软件WhatsApp