涵蓋整個軟件生命周期的現代軟件工程實踐和工具
DevSecOps是一種文化和工程實踐,它打破了障礙,開啟了開發、安全和運營組織之間的合作,使用自動化來專注于快速、頻繁地將安全基礎設施和軟件交付到生產中。它包含了從軟件的接收到發布,并以可預測的、透明的、最小的人為干預/努力來管理這些流程[1]。
DevSecOps管道試圖無縫整合三個傳統的派系,它們的利益有時是對立的:
人們不僅需要平衡這些派別。他們必須在時間、范圍和成本的限制下,以平衡風險、質量和效益的方式做到這一點。
超音速、5G、量子計算、數據分析和人工智能有什么共同點?它們都是美國防部圍繞令人興奮的技術創建組織或任命領導者的例子,而不是從戰術和操作殺傷鏈開始并確定正確的技術來縮小差距。
前參議院工作人員克里斯蒂安·布羅斯在他的《殺傷鏈:在未來的高科技戰爭中保衛美國》一書中正確地指出,像俄羅斯等這樣的大國競爭對手在建立自己的殺傷鏈和發展先進技術方面做得更好,破壞了傳統作戰方式。布羅斯為此提供了多種原因,但他沒有討論的一個原因是,在龐大的國防企業中,沒有人真正負責構建潛在對手所擁有的那種跨域、跨軍種、面向任務的殺傷鏈推出。布羅斯描述了中國圍繞其超遠程 DF-21 和 DF-26 精確制導導彈開發的“航母殺手”概念。
值得一問的是:誰將在美國防部內部負責創建這樣的殺傷鏈?由于導彈是從陸地發射的,因此陸軍可能會承擔自行制造導彈的任務。如果這些傳感器恰好是機載或天基的,空軍甚至可能是新的太空部隊可能會被要求建造傳感器來跟蹤敵艦。對殺傷鏈本身的需求以及詳盡(并最終限制)要求的編寫可能來自海軍。如果我們想將人工智能放入傳感器或武器的導引頭中,也許聯合需求監督委員會 (JAIC) 會參與進來。不過,歸根結底,讓所有這些一起工作不是任何人的工作。傳統上,這種方法只是向作戰指揮官提供少量能力,并希望他們能夠將各種系統拼湊成有用的東西。
如果想在構建更有效的殺傷鏈方面取得進展,就應該停止將時間、金錢和精力投入到圍繞特定技術組織起來的常設辦公室,或者讓高級領導層專注于開發特定技術。不要花時間和資源建立“興趣社區”。需要創建專注于開發具有特定任務的殺傷鏈的組織結構,或者需要修復現有的組織結構,以便他們有責任和自由這樣做。
一個潛在的模型是以能力為中心的投資組合管理方法。在這種模式下,該部門將匯集需求定義、技術開發、工程能力、業務管理和必要的資源,所有這些都在一個單一的、授權的領導之下,然后負責為特定問題提供具有操作影響的解決方案。對于某些問題,這都可以在單個服務中完成。對于其他殺傷鏈和問題領域,這種組合管理可能最好通過聯合組織來完成。我們過去曾這樣做過。
在最好的情況下,特別是在官僚主義開始變得更加普遍之前,導彈防御局擁有必要的重點和動力。對于完全符合其職權范圍的殺傷鏈,海軍已經展示了通過海軍綜合火控-防空 (NIF-CA) 等方式完成此類工作的能力。早期,國家偵察辦公室 (NRO) 以這種方式運作。需要美國防部周圍的領導者和辦公室有權做同樣的事情。
2016年,美國防部啟動了國防創新計劃 (DII),以幫助推動美國防部制定創新的應對方案,以扭轉相對于大國競爭對手俄羅斯等不斷削弱的軍事優勢。從那時起,看到美國防部的許多創新中心并沒有證明所有的創新性,在改變游戲規則的能力方面幾乎沒有什么成果。真正的創新來自深入了解部隊在戰場上面臨的任務問題的操作員與構建新系統的工程師和技術開發人員之間的密切合作。它不是來自軍官在硅谷初創企業的一日游中帶貴賓。它并非來自舉辦“宣傳日”,小公司向不真正了解該技術的評委推銷他們的產品,這些產品通常與用戶問題幾乎沒有關系或根本沒有關系。很多時候,用戶和開發人員之間存在阻抗不匹配。此外,這些舉措通常會解決微觀層面的問題,但不會為國防部面臨的重大運營挑戰提供解決方案。而且它們很少(如果有的話)提供聯合部隊所需的那種能力來對抗我們的大國對手正在快速部署的先進武器。
看看那些真正具有創新精神并為最具挑戰性的問題提供真正解決方案的地方,會看到運營商和技術開發人員長期合作設計和執行程序。
事實上,創新不是一天發生的。它會隨著時間的推移發生,因為人們要解決大問題,開發潛在的解決方案,看看哪些有效,哪些無效,并被迫迭代和適應。它來自對技術和任務需求的深入了解。空軍快速能力辦公室 (RCO) 就是一個很好的例子,它從研究實驗室中挑選具有作戰經驗的人、飛行測試工程師和技術專家,并將他們與 FFRDC 和行業中最優秀、最聰明的人結合起來。過去,空軍的 Big Safari 特別項目辦公室和其他機密項目辦公室都這樣做過。
這些組織都有能力在他們的開發計劃中進行試驗和制作原型。他們不會被鎖定在聯合需求監督委員會的一組詳細需求中。相反,他們從一個高層次的目標開始,構建一些東西或制作一些東西的原型(取決于規模),然后迭代、適應等等。消費品公司在創新方面具有巨大的優勢,因為他們通常自己就是用戶,并且他們擁有龐大的用戶群,他們會購買第一個產品,使用它,打破它,提供反饋,然后再次購買。國防部需要找到一種方法來捕獲該過程的關鍵要素,而無需該用戶群或日常操作機會。我們確實知道擁有帶桌上足球桌的現代辦公室并不是解決問題的辦法。
許多作者最近強調了先進的綜合防空系統、反太空系統以及遠程、精確制導、彈道和巡航導彈對美國力量投射構成的挑戰。不可避免地,討論隨后會轉移到需要建立更好的戰斗網絡以應對日益增長的威脅。此類討論經常忽略的是,我們擔心的并不是中國或俄羅斯的網絡,也不是威脅傳播信息的能力讓我們如此擔心。相反,中俄傳感器和武器的射程、速度和覆蓋范圍才是最令人不安的,也是對聯合部隊構成最大挑戰的。如果中國的 DF-21 殺傷鏈稍微慢一點,或者甚至在某個時候需要有人參與,那將無法使我們的航空母艦更靠近中國,也無法使我們在太平洋的機場和設施更具生存能力。事實上,是傳感器和武器,而不是網絡,已經超越了我們并戰勝了我們。更好的戰斗網絡可以提供幫助,而且對于我們需要的殺傷鏈來說肯定是至關重要的。但就其本身而言,它們還不夠。沒有任何戰斗網絡能夠為 F-22 提供在西太平洋戰斗更長時間所需的燃料。任何戰斗網絡都不會改變我們擁有的能夠深入敵方領土或在加里寧格勒綜合防空系統面前生存的傳感資源的稀缺性。
需要想出新的方法來開發傳感器、武器、戰斗網絡和決策系統,并更好地理解它們是如何在一個集成架構中結合在一起的。需要對這些架構進行交易,以了解功能和單位成本如何相互擴展。需要開發由這些架構定義的系統,然后構建它們并獲得足夠數量的它們。這樣做并不便宜。這將需要做出一些艱難的選擇,以決定愿意放棄哪些遺留平臺和系統。
更有效的戰斗網絡對于全面啟用更好、更多的平臺和能力至關重要。如果我們不建立新的戰斗網絡,我們將無法使用開發管道中的所有其他高級功能。不過,我們需要記住,即使我們可以立即將我們擁有的所有數據轉移給每個人,也無法解決我們的力量投射、網絡優勢或空間控制問題。即使我們更快地將正確的數據轉移給正確的人,并為他們提供決策工具來更快地處理這些數據,它仍然無法解決這些問題。然而,如果我們開發出更好的收集能力,將正確的信息(而非數據)傳遞給決策者,并為他們提供速度更快、射程更遠的武器,那么我們就可以實現這一目標。但我們現在需要搬出去。
威脅建模有助于確定系統或流程的關鍵任務安全要求,以保護系統。本培訓的目的是讓學員了解威脅建模的概念,并通過威脅建模場景的實例進行操作。培訓將使用SEI獨立程序模型(PIM)來描述用于威脅建模任務的保證案例和工作流程。
該培訓將包括:
隨后,SEI可以促進威脅建模研討會,以確定項目的具體威脅。隨后,將確定的對待和相應的緩解措施納入有系統模型。
威脅建模是創建系統抽象的過程,旨在識別攻擊者的能力和目標,并使用該抽象來生成系統必須緩解的可能威脅并進行編目。
雖然可以在網絡和代碼層面上分析安全問題,以防止緩沖區溢出、SQL注入攻擊等,但在需求和架構階段的早期,建立一種防御性思維的思維方式是有價值的。
防御性思維意味著,對于每一個新功能,我們必須考慮它如何被對手濫用或擊敗。
防御性思維方式是威脅建模方法的基礎
為了回應對戰略競爭對手的研究實力和做法的關注,國防部研究與工程副部長辦公室的基礎研究辦公室要求蘭德公司國防研究所研究美國國防部(DoD)如何對待國際基礎研究合作(IBRC),并為國防部制定建議,以改善其使用IBRC的方式。
國際基礎研究合作的好處包括減少技術驚喜,利用合作伙伴和盟友的投資,獲得不同的資源,并將國際科學思想領袖納入國防部網絡。盡管戰略上的考慮會增加或減弱一些合作的科學效益,但不參與IBRC將以失去機會的形式付出代價。建議包括:(1)為負責IBRC的國防部人員提供知識管理工具,使他們能夠更全面地了解合作機會和考慮因素;(2)改進指導,減少國防部研究人員不必要地選擇不與最佳合作伙伴合作的情況。(3) 考慮如何簡化IBRC的申請和批準程序,(4) 分析國防部授予外國研究人員的贈款規模和數量是否足以使國防部實現其成為首選合作伙伴的目標,以及(5) 對國防部的IBRC工作和流程進行更全面的了解。
第一章
簡介
第二章
方法論
第三章
美國國防部在基礎研究生態系統中的地位
第四章
國際基礎研究合作的科學和戰略考慮
第五章
美國國防部國際基礎研究合作成功的當前和未來挑戰
第六章
結論
附錄A
示例組織概述
附錄B
美國國防部的安全合作與國際基礎研究合作之間的聯系
附錄C
微電子學和光電子學的國際基礎研究合作考慮因素概述
附錄D
與國際研究合作有關的挑戰以及成功的促成因素和阻礙因素
機器人是一個具有挑戰性的領域,需要軟件和硬件的融合來完成所需的自主任務。任何工作流程的關鍵是在部署到生產環境之前對軟件進行自動構建和測試。本報告討論了美國陸軍作戰能力發展司令部陸軍研究實驗室(ARL)的無人自主車輛軟件研究平臺MAVericks的軟件開發過程中使用的持續集成/持續交付工具的重要性和創建情況。這個工具在ARL進行的快速研究和開發中起著至關重要的作用--包括模擬和嵌入式硬件目標的自動構建測試,以及驗證軟件在環模擬中的預期行為。
持續集成/持續交付(CI/CD)是軟件開發中常用的工具,用于自動構建、測試和部署代碼。這個工具對于提高研究的速度和效率至關重要,同時確保在增加或改變新功能時功能不受阻礙。在CI/CD之前,軟件開發過程是具有挑戰性的,隨著越來越多的合作者修改代碼庫,任何新的開發都有可能破壞現有的功能--比如代碼不再構建,自主行為和故障保護裝置不再按預期工作。
本報告重點關注美國陸軍作戰能力發展司令部(DEVCOM)陸軍研究實驗室(ARL)的MAVericks無人自主飛行器(UAV)軟件平臺的CI/CD集成,該平臺建立在開源平臺ROS2和PX4之上。ROS2是一套用于構建機器人應用的軟件庫和工具,而PX4是一個強大的無人機飛行控制軟件。利用這兩個平臺,MAVericks是一個專注于敏捷飛行的大型合作項目,在模擬和機器人平臺上都能發揮作用。MAVericks的目標是在ModalAI的VOXL和RB5硬件平臺上運行,因為它提供了尺寸、重量和功率,同時也是藍色無人機項目的合作伙伴,這意味著他們得到了國防創新部門的資助,以符合2020年國防授權法第848條的規定。
合作者包括美國軍事學院的西點軍校,作為分布式和協作式智能系統和技術項目的一部分;加州大學伯克利分校,作為規模化和穩健的自治項目的一部分;以及馬里蘭大學的人工智能和多代理系統的自治項目--而且這個名單一直在增加。此外,ARL一直在尋求提高其算法的穩健性和成熟的能力,以過渡到DEVCOM和國防部的其他組織。隨著許多合作者加入MAVericks,重要的是要確保每次修改后有最低限度的可用功能,以鼓勵快速加入和貢獻。MAVericks是一個由一百多個軟件包組成的大型研究平臺,重要的是每個軟件包都能可靠地構建和運行。通常情況下,合作者只關心幾個軟件包,他們可以很容易地進行修改和添加,而不需要對不相關的問題進行排查,這一點至關重要。由于這種不斷增長的社區,很容易偶然地引入錯誤或破壞不相關的功能。因此,CI/CD是一個很好的解決方案,它將為不同的用戶群體提高平臺的可靠性和可用性。
CI/CD管道實現了許多簡化開發的功能。它可以完全構建整個平臺,確保新用戶的依賴性安裝成功,在模擬環境中運行和測試平臺,以確保自主行為正常工作,并快速構建壓縮的工作空間,以防止在無人機上構建。
在自主系統的軟件開發中,一個有問題的情況是,用戶修改了幾個包,但只構建和測試了一個特定包。這樣,代碼就被合并到了生產中,而沒有驗證它對其他人是否有效。如果未經測試的修改被合并,依賴這些修改的包可能不再構建或通過所有的測試案例。
從用戶的角度來看,CI/CD是由用戶創建代碼合并請求(MR)來觸發的,將他們的修改添加到主分支。這就啟動了CI/CD,建立了一個管道。該管道包括四個階段:構建-依賴、構建-完整、測試和部署。對于每個階段,可以并行地運行多個作業來完成該階段。在每個作業中,流水線首先將合并后的變化復制到一個新的環境中,并完成一個特定的任務。在流水線的最后,一個完全構建的版本被上傳,并準備在無人機上閃現。如果任何步驟失敗,其余的管道階段將被中止,并通知用戶到底是什么地方出了問題,以便他們能夠解決任何問題。管線的概述見圖1。
在本報告中,描述了MAVericks CI/CD的基礎,然后詳細介紹了管道中的每個階段,以及所克服的幾個挑戰。
DevSecOps描繪了一種組織文化和技術方法,使組織能夠縮小軟件開發團隊、安全團隊和運行團隊之間的鴻溝。通過日常協同、敏捷工作流和持續的反饋回路系列,改進工作機制。
DevSecOps通過在軟件開發生命周期的每個階段以及技術堆棧的每個層中插入安全實踐和控件來構建敏捷獲取的基礎。該方法被認為是在確保賽博安全和指標、反饋等最高優先級的同時,實現軟件現代化、技術轉型和推進組織軟件開發生態系統向韌性方向發展的核心支柱。