2023年2月,英特爾(Inter)公司官方宣布稱,英特爾和加州大學圣地亞哥分校(UC San Diego)已被選中加入美國國防高級研究計劃局(DARPA)的“強化開發工具鏈防御緊急執行引擎”,(Hardening Development Toolchains Against Emergent Execution Engines,以下簡稱HARDEN)計劃團隊。計算機系統日益復雜,導致漏洞利用的途徑更多。DARPA通過HARDEN計劃,將實現一種實用的方法,在軟件開發生命周期(Software Development Life Cycle,SDLC)的早期階段推理并發現漏洞,以增強遺留和未來的系統的安全性,以抵御網絡攻擊。
一、HARDEN的源起
1 部分系統自身的設計方式可謂“引狼入室”
目前人們非常關注檢測和補救軟件中的缺陷或是漏洞,但是讓你意想不到的是有些系統的設計方式也會為攻擊者創造大量機會。這主要是因為系統設計者主要關注的是確保程序善于執行特定的任務,關注的是設計如何能夠最好地支持預期的功能和行為,以及如何在設計中實現這些功能和行為。攻擊者也發現,這些設計結構和實施行為可以被重新利用來達到他們的惡意目的。因此,攻擊者經常發現,他們可以通過使用系統中已經內置的程序來產生突發行為,從而提供一種利用漏洞的方法。
2 系統一旦利用類似機制將為攻擊者創造持久的漏洞可利用模式
當涉及到漏洞時,通常的想法是軟件中有一個缺陷,然后有一個精心設計的輸入可以觸發這個缺陷,導致軟件做一些它不應該做的事情,如崩潰或授予攻擊者的特權。而現實卻有些不同,因為那些現有的缺陷并沒有立即暴露出來,所以攻擊者需要幫助才能找到它們。而這種幫助卻是在不知不覺中由系統本身的功能和設計提供的。DARPA信息創新辦公室的項目團隊觀察到:如果是有很多系統都依賴類似功能的時候,這個問題會變得更加嚴峻。因為,當攻擊者在一個系統上發現了一個漏洞,這可以為如何為其他系統找到類似的漏洞提供很大的提示,雖然這些系統是由不同的供應商獨立開發的,但利用了類似的機制。這就為攻擊者創造了持久的漏洞可利用模式,可以在一大批程序中使用。DARPA將這種模式通俗地描述為“緊急執行引擎(Engines of Emergent Execution,EE)”。那么有什么方法可以防御“緊急執行引擎”呢?
二、HARDEN做什么用?
為此,DARPA期望通過“強化開發工具鏈防御緊急執行引擎(HARDEN)”計劃探索新的理論和方法,并開發實用的工具,以便在整個軟件開發生命周期中預測、隔離和緩解計算機系統的突發行為。具體來說,HARDEN將通過破壞攻擊者使用的持久的漏洞可利用模式,并剝奪攻擊者的“緊急執行引擎”,來防止其對集成系統的利用。
三、HARDEN的優勢
1 在軟件設計層面破壞潛在漏洞執行引擎的理念遠勝于打補丁
網絡安全漏洞層出不窮,而常規的打補丁的方式往往只解決一個特定的漏洞,披露漏洞后及時發布其安全補丁。另一方面,今天的軟件開發工具鏈和測試方法提供了非常有限的方法來推理編寫和設計的代碼的對抗性重用。這導致在不知情的情況下,在系統中創建了穩定、可靠的緊急執行模式,對手可以在攻擊中重用這些模式。例如:利用瀏覽器的內存管理算法和web腳本的web瀏覽器漏洞攻擊以及利用可信計算系統管理模式的現代bootkit。為防止這種對抗性代碼重用,HARDEN計劃通過創建實用的工具、技術,在軟件開發生命周期的早期階段推理并且標記出具有高度對抗性重用和緊急執行潛力的代碼段和設計模式。這樣的理念遠優勝于打補丁的緩解方法,達到破壞駐扎在設計層面的潛在漏洞執行引擎,將可能發生的,可能被重復利用的漏洞扼殺在搖籃中,從根本上改善集成系統軟件的安全性。
2 具備網絡安全行業優秀的研發團隊與安全工具
另外,HARDEN計劃具備強大的優秀研發團隊。為了減輕和防止集成計算系統中的漏洞利用,DARPA選擇了Inter、UC San Diego、Galois、Kudu Dynamics、Narf Industries、River Loop Security、Riverside Research Institute等多個實力團隊來共同研究該解決方案。據DARPA信息創新辦公室的項目經理謝爾蓋·布拉特斯最新透露:內存安全問題一直是整個行業中大多數軟件漏洞的原因。而DARPA將利用Inter的加密能力計算系統,這是第一個無狀態內存安全機制,可有效地用高效的加密技術取代低效的元數據,大大增強其安全性。
四、HARDEN主要研究內容
HARDEN計劃使用正式的驗證方法和人工智能輔助程序模型、分析和開發實用工具,通過破壞攻擊者使用的健壯、可靠的攻擊模式來防止其利用“緊急執行引擎”。
該計劃將力圖解決以下技術挑戰:克服典型軟件行為模型的狀態爆炸;為軟件開發人員提供預期行為的注釋和緊急行為的預測;實現軟件架構師和開發人員進行有關漏洞發現緊急執行引擎的有效溝通方法;在共同的開發流程和工具中預測和防止潛在的漏洞發現緊急執行引擎;創建緊急執行模型,在漏洞發現緊急執行引擎設計中,抽象出與緊急行為不相關的部分;在幾個抽象層上建模接口和應用程序編程接口,以及這些層之間的交互;開發抽象的有效分層表示,以推理緊急執行模型等。
1 技術用例
HARDEN計劃將解決集成軟件系統的以下技術用例:(1)對美國防部極為重要的信任根和供應鏈信任管理用例,如統一的可擴展固件接口(Unified Extensible Firmware Interface,UEFI),和國防部特定的傳感器開放系統體系結構(Sensor Open System Architecture ,SOSA);(2)用于將平板電腦用戶界面系統與可信計算機(例如任務計算機)安全連接的集成技術。
UEFI體系結構被業界廣泛采用,用于管理現代計算系統的可信任引導過程和完整性,以取代傳統的基本輸入/輸出系統(Basic Input Output System, BIOS)和芯片組固件,為信任根和供應鏈信任管理提供可靠的體系結構基礎。然而,UEFI架構中暗藏了豐富的且不同類型的EE行為,并為攻擊者提供了一個復雜的攻擊面。該攻擊面可滲透到整個技術堆棧的各個層,從啟動進程到獨立驅動程序,再到受保護的內存和主處理器區域,再到網絡連接和整個供應鏈。HARDEN分析和工具將破壞UEFI架構所有抽象層上EE行為的可組合性,以防御最新的威脅并預測未來的威脅。SOSA是由空軍生命周期管理中心提出的,具有廣泛的行業參與其中。SOSA的目標是為各種下一代的國防部傳感器系統創建標準。SOSA關注的重點領域是對傳感器系統的啟動過程進行建模和驗證,以確保系統在傳感器投入運行之前的完整性。作為SOSA工作的補充,HARDEN將探索可信計算系統啟動過程中涉及的相關固件接口和事件,幫助制定標準以確保系統可靠性,并幫助創建工具來驗證SOSA系統是否符合這些標準。
作戰人員用戶界面用例將探索現代用戶界面元素(如飛行員平板電腦)與飛機任務系統網絡的安全集成。因為飛行員的平板電腦和飛機任務計算機之間的通信呈現出大型攻擊面。HARDEN計劃將創建最先進的集成系統分析能力,以確保值得信賴的飛行員平板電腦的任務目標。如果成功,HARDEN方法和工具將服務于其他類型的國防部集成系統,在其設計和實施中預測并預防可利用的EE行為。
2 關鍵技術領域
HARDEN計劃分為四個技術領域(TA),以支持計劃目標:
1. TA1:開發模型檢測工具
2. TA2:緊急執行模型建模
3. TA3:開發測試與支撐
4. TA4:集成和評估系統工程
關鍵技術1:開發模型檢測工具
TA1主要構建用于有效檢查TA2開發的緊急執行(EE)模型的工具;創建TA2模型所預期的EE通用緩解器;將這些工具與通用軟件開發生命周期(SDLC)和集成開發環境(IDE)集成在一起,為系統設計人員和開發人員提供有效和易懂的EE警告。這些工具將通過TA4開發者進行評估。此外,這些工具還將用于TA3的樣本系統的白盒測試。
關鍵技術2:緊急執行模型建模
TA2將側重于創建對EE行為建模的能力。TA2開發者將開發建模方法、語言和工具來描述不同抽象級別上的緊急執行,對緊急執行模型建模;為正在測試的系統中所有相關接口創建緊急執行模型。強大的TA2應解決從源代碼、構建系統或編譯的二進制代碼中派生緊急執行模型的自動化問題,并應設法將生成此類模型所需耗費的人力最小化。TA2建模可以利用現有規范、接口控制文檔、源代碼和相關元數據、構建鏈、單元測試和其他可用的用例代碼庫信息。
關鍵技術3:開發測試與支撐
TA3將重點關注前沿開發模式,與TA2開發者密切協調,提供TA2開發的專業知識,以幫助緊急執行(EE)模型的建模和開發;測試擬議的EE緩解措施的實際有效性;通過與SOTA工具(全稱State-Of-The-Art,用于描述機器學習中取得某個任務上當前最優效果的模型)的比較,測試TA1工具預測EE的實際有效性。DARPA要求TA3開發者解決以下難題:與TA4開發者合作,解釋評估和選擇不同架構設計的方法;描述技術用例將如何解決在跨集成系統中HARDEN技術的局部部署問題(例如,只有一些系統包含了HARDEN技術);探索與HARDEN技術本身安全性有關的各種選項(特別是在防御受損設備的篡改和泄漏方面);集成包含各種平臺、操作系統和應用程序環境的系統。
關鍵技術4:集成和評估系統工程
TA4重點部署由TA1和TA2開發的工具和模型,以便在一個適合于基礎研究的著名開源軟件系統中預測和減輕漏洞發現緊急執行引擎;構建用于演示TA1、TA2和TA3開發的HARDEN技術能力的測試床,并與TA3開發者協作,根據程序指標對這些能力進行評估和安全測試;建立技術過渡計劃,與國防部服務部門(陸軍、海軍、空軍和/或海軍陸戰隊)合作,向對HARDEN技術感興趣的國防部系統進行過渡性應用(例如,無人機航空電子設備)。
3 研究進展情況
HARDEN計劃為期48個月,分為三個階段:第一階段是18個月的開放源碼組件規模階段,大致時間是從2021年9月至2023年3月;第二階段是可選的18個月開放源碼子系統規模階段,大致時間是從2023年4月至2024年9月;第三階段是一個可選的12個月綜合系統階段,重點是將該技術擴展到與國防部相關的集成系統,大致時間是從2024年10月至2025年9月。
目前HARDEN計劃處于第一階段與第二階段的過渡期。在2022年,HARDEN計劃完成了在所有可用的抽象層,從編譯的二進制代碼到編譯器抽象的中間表示,再到最高層次的架構抽象,制定開發工具鏈來推理緊急行為的方法。2023財政年度HARDEN計劃主要開發任務包括:為可組合的緊急行為開發模型和緩解措施,即使安全緩解措施已經可以減少任何單一行為或缺陷的影響;探索自動技術,以識別可實現的緊急行為的組合,并建議對實現進行轉換;將概念和技術應用于關鍵的系統元素,如引導加載器和高可靠性集成軍事軟件系統,目的是演示在SDLC早期階段減輕復雜代碼重用和緊急執行漏洞發現的能力。
五、幾點認識
網絡安全漏洞是網絡空間系統構建的必然結果和客觀存在,日益成為全球網絡空間安全事件的主要誘因,一旦被惡意主體利用攻擊,就會對信息系統安全造成損害,進而對國家、社會和公眾造成重大損失。隨著漏洞的資源屬性和戰略地位不斷提高,“誰能利用好漏洞,誰就能在網絡空間占據先鋒”成為當前“網緣政治”的新名言。美國也基于漏洞治理領域先發優勢,從漏洞分析技術、漏洞發現理念、漏洞治理機制上多維度發力關注網絡安全漏洞治理,足以見其重視程度。
1 技術上,HARDEN計劃可望推動漏洞分析技術的發展
目前,軟件漏洞分析技術主要分為:軟件架構安全分析技術、源代碼漏洞分析技術、二進制漏洞分析技術和運行系統漏洞分析技術四類。各技術分別依次應用于是軟件開發生命周期(SDLC)中需求分析與設計階段 、編碼實現、運行測試,部署維護的四個階段。通常軟件架構是軟件的“骨架”,是SDLC中代碼編寫的基礎,其重要性不言而喻,而軟件架構安全分析技術在國內外尚處于探索和發展階段。HARDEN開發的軟件架構安全分析技術將通過場景分析法、用例分析法、威脅建模法有助于在SDLC早期階段(需求分析與設計階段)有效緩解復雜的代碼重用和緊急執行漏洞,為美國零信任架構和集成軍事軟件系統提供更強大的信任根的同時或將成為軟件架構安全分析技術的里程碑。
2 理念上,更大尺度地接受白帽黑客發現軍事網絡漏洞
美國國防部已更大尺度的接納利用白帽黑客發現軍事網絡安全漏洞的理念,鼓勵軍隊外部人員在國防部龐大的可公開訪問的信息網絡和系統中發現漏洞。今年3月,美國防部網絡犯罪中心披露,目前已經處理了45000份漏洞報告。雖然機密系統仍未對外開放,但美國防部不斷向白帽黑客擴大“攻擊面”。除面向公眾的網站和應用程序外,白帽黑客還獲準搜索所有可公開訪問的美國防部信息系統,包括數據庫、網絡、物聯網設備和工業控制系統等。
3 機制上,形成漏洞發現與驗證以及修復的完整閉環
漏洞的分析和發現是漏洞治理的起點,實現更廣范圍收集、更多主體參與是有效漏洞治理政策的必然要求。對此,網絡安全和基礎設施安全局重點推進漏洞披露政策(VDP),(VDP 源于美國管理和預算辦公室2020 年 9 月發布的“提升漏洞發現、管理和修復”備忘錄M-20-32)。通過VDP,研究人員提交的漏洞報告將經過審查和驗證,并提交給聯合部隊總部-國防部信息網絡(JFHQ-DODIN),由JFHQ-DODIN發布要求系統所有者進行補救的任務命令,在漏洞得到修復并得到再次驗證后即可終止此流程,從而形成漏洞發現、驗證和修復的完整閉環。
看雪學苑
安全圈
看雪學苑
安全圈
安全圈
一顆小胡椒
系統安全運維
安全內參
看雪學苑
安全圈
中國信息安全
數世咨詢