演講嘉賓 | 周慶國
回顧整理 | 廖 濤
排版校對 | 李萍萍
嘉賓簡介
周慶國,理學博士,教授,博士生導師,IET Fellow,教育部新世紀人才基金獲得者,現為蘭州大學開源軟件與實時系統教育部工程研究中心主任,蘭州大學分布式與嵌入式系統實驗室主任,蘭州大學OpenHarmony技術俱樂部主任。目前主要從事安全關鍵系統、嵌入式系統、智能駕駛、虛擬化技術的研究,2018年榮獲甘肅省科技進步獎二等獎,榮獲2021年甘肅省教學成果特等獎。
內容來源
第一屆開放原子開源基金會OpenHarmony技術峰會——OpenHarmony高校技術俱樂部分論壇
視頻回顧
正 文 內 容
現代操作系統在其技術復雜度、軟件規模、機電部件不斷增加的同時,也引入了額外的系統性失效和硬件隨機失效風險。有什么理論和方法能夠將軟件失效及其導致的風險控制在可接受的范圍內呢?蘭州大學OpenHarmony技術俱樂部主任周慶國教授在第一屆OpenHarmony技術峰會上分享了幾點思路。
01?
安全與安全關鍵
“安全”對應的英文釋義有Safety和Security,兩者存在很大的區別。Safety-IEC 61508 Part 2 中將Safety定義為:將能夠造成人員傷亡或財產損失以及嚴重破壞環境的危險降低到可以接受范圍;Security-IEC17799 Part 1 中將Security定義為:保護外來傷害的能力,適用于脆弱和有價值的資產,如人、組織、住房、國家等。Safety的關鍵因素在于:(1)可預測性(Predictability):系統中可能會出現的風險情況應該均可以被考慮到;(2)確定性(Certainty):系統的行為可以被預測,且風險均在可控范圍內;(3)確信度(Degree of certainty):系統提供方對目標系統的可預測性和功能確定性是有效的,并提供相關證明。
功能安全也稱為安全關鍵,關注的是系統發生故障之后的行為,通常應用于系統失效會對人和財產及環境造成重大傷害和損失的場景,如核電站、航天航空、軍工、醫療等領域,乃至當下熱度極高的自動駕駛領域。在國際電工委員會發布的IEC61508功能安全標準中,以安全完整性 (Safety integrity)來評估安全相關系統成功實現所要求的安全功能的概率,并規定了四個安全完整性等級,第四級(SIL4)表示最高的完整性程度,第一級(SIL1)表示最低,不同的等級由每小時發生的危險失效概率決定。
安全標準-IEC61508與安全完整性等級劃分
在IEC61508中定義了Type-A和Type-B兩種類型的系統,其中Type-A系統的判定標準為:(1)所有組件的故障模式都已定義;(2)可以確定故障條件下的組件的行為模式;(3)對于系統聲稱的故障率有足夠可靠的故障數據。只要滿足以上任意一點的就是Type-A系統;而Type-B系統則正好與之相反。
在傳統的安全系統設計中,人們更多處理的是Type-A系統,因為傳統的系統大都是低復雜度的系統,人們對其的理解至少符合上述三種標準之一,因而可以處理系統中潛在的風險所導致的系統失效。而自動駕駛為例的安全關鍵系統在要求系統高安全高可靠的同時,還對系統的功能豐富度以及系統性能方面有較高的要求,因此在系統中將大量使用高度復雜的Type-B類型組件(如Linux內核、人工智能模型等)。對于這類高度復雜的組件,傳統的安全分析與驗證無法對其失效模式與失效行為進行有效管理與緩解,為系統的安全關鍵驗證帶來巨大的挑戰。
02?
Linux在安全關鍵領域應用
Linux作為一個性能穩定的多用戶網絡操作系統,擁有幾大比較突出的優點:(1)迭代頻率高:擁有千萬行級別代碼和百萬行級別文檔;每個版本提交頻率達數百次/天;開發人員眾多,社區活躍;Linux已經是現存最大、最活躍的開源開放軟件生態之一。(2)開發質量高:Linux內核采取開源社區開發,開發過程高度透明,且具有嚴格的項目管理流程;它的開發過程使用規范的設計、測試和版本維護方法;每天都會有大量的修改提交以保證Linux內核版本的穩定。
Linux開源項目
然而,目前并沒有一套明確的方法對Linux進行安全驗證,Linux作為一個高度復雜、有著超兩千萬行代碼量的龐然大物,其驗證的工作量更是巨大。一個面向安全關鍵場景的系統需要采取一些方法提供足夠的證據來驗證系統是安全的、符合安全標準規范的,還需要滿足一系列的功能安全要求來提供當系統遇到操作失誤、系統內部故障時的應對策略。Linux并沒有貫徹IEC 61508標準中要求的安全開發生命周期。目前,基于Linux的安全關鍵系統的安全認證工作中,最大的挑戰在于缺乏完善的文檔和工具來證明基于Linux的Safety-critical系統的安全性。
2015年由寶馬、西門子以及德國開源軟件實驗室OSADL等出資合作的SIL2LinuxMP項目,旨在為工業界提供一套驗證基于Linux Kernel的Safety-critical系統安全性的方法。項目基于IEC61508標準的要求,提出對Linux內核驗證的關鍵是利用系統開發的上下文將龐大的Linux內核限制在一個相對小的驗證范圍,并嘗試利用Linux內核的復雜性與不確定性進行系統的安全加固。
2019年Linux基金會啟動了ELISA開源項目,該項目在SIL2LinuxMP項目的研究基礎上進行。其目的是為了協助相關公司對基于Linux的Safety-critical系統實現一系列工具,以避免其系統運行失敗造成的人身傷害,重大財產損失或環境污染。該項目定義和維護一組用于Linux安全關鍵驗證工作的通用的元素、流程和工具,為期望將Linux應用于安全關鍵系統的企業和機構提供支持。
03?
SIL2LinuxMP項目
SIL2LinuxMP項目選擇內核元素與非內核元素作為預先存在的組件,提出對Linux開發過程持續的監測,并通過相關工具的認證、預先存在組件的認證等一系列協同認證等方法對Linux內核評估認證以滿足系統安全規范的要求,在這一過程中,Linux內核的認證數據和認證方案為認證評估提供重要依據。
SIL2LinuxMP項目總覽
在SIL2LinuxMP項目研究過程中發現,Linux內核的容器技術提供了足夠的隔離能力,避免了虛擬機監控程序帶來的運行開銷和驗證成本以及對硬件虛擬化的依賴,因此基于Linux內核容器技術提出了分區隔離架構:SIL2LinuxMP Architecture,簡稱SIL2Arch。SIL2Arch組合了Linux內核原生提供的Namespace、Cgroup和Seccomp等容器技術,將系統資源以容器的形式進行分區與隔離,可以用于對Linux內核中不同安全完整性等級的任務進行分區隔離。
SIL2Arch的實現
目前,SIL2LinuxMP項目的研究缺少對動態執行路徑不確定性的原理討論,而且分區隔離架構的部署也可能會對動態執行路徑造成影響。針對該情況,周慶國教授所在團隊研究了以下3部分內容:(1)部署對照實驗環境,并設計開發了自動化執行路徑采集工具SIL2Trace;(2)構建執行路徑調用關系的有向圖,分析Linux內核動態執行路徑不確定性的原理;(3)采用自相關檢驗和泊松回歸模型,評估容器分區隔離架構對于執行路徑種類數量的影響。具體如下:
動態執行路徑測試范圍選擇:Linux內核是一個龐大且復雜的軟件,進行全面的測試覆蓋難度較大,可以選擇在固定輸入參數下,特定用戶應用程序所主動請求系統調用執行的Linux內核執行路徑作為主要測試范圍。
自動化采集工具SIL2Trace設計:為了記錄實驗中目標測試程序的內核函數執行路徑,基于Ftrace內核函數跟蹤框架設計實現了自動化采集工具SIL2Trace。SIL2Trace分為客戶端程序和服務端程序,客戶端程序將多次重復觸發執行目標測試程序,借助Ftrace進行執行路徑采集,并將數據通過網絡傳輸給服務端程序。由于Ftrace所采集的數據中會包含一些無關的執行路徑, 因此服務端程序將對執行路徑中的無關路徑進行過濾處理。
無關路徑過濾
動態執行路徑不確定性原理分析:導致路徑不確定性的主要原因是在執行主干之外的函數調用時產生的調用分支。這些分支是由于與輸入參數無關的全局狀態變量引起的,它們會影響Linux內核的全局運行狀態,從而導致動態執行路徑的不確定性。
動態執行路徑種類數量估計:首先需要驗證執行路徑之間的相關性,若執行路徑之間存在相關性,將影響對動態執行路徑種類數量的估計。利用統計學中的自相關檢驗方法計算路徑之間的自相關系數,檢驗結果顯示執行路徑之間具有獨立性。
04?
OpenHarmony與安全
OpenHarmony目前在活躍開發之中,廠商開發的產品不僅可能引入經典的開源項目,還可能包含具有OpenHarmony特色的組件,這對廠商的軟件供應鏈安全管理能力提出了更高的要求。
開源軟件供應鏈
以安全漏洞為抓手,實現函數級跨架構漏洞檢測驅動的軟件成分分析,從而有效幫助社區中的企業構建低成本的軟件供應鏈安全管理方案。目前,周慶國教授所在團隊已經為基于Linux的物聯網設備設計了高精度的跨架構函數級漏洞檢測技術方案。在實驗室場景下,平均檢測準確率已經超過 99%,可以有效地為不具備精細三方件管理能力的中小型開發者提供面向最終產品的軟件供應鏈漏洞檢測。
函數級漏洞檢測技術方案
此外,OpenHarmony在安全關鍵領域還有以下等方向可以進一步討論和研究:
根據功能安全標準對OpenHarmony開發過程中的開發流程、技術文檔、風險管理、安全分析等方面進分析與擴展。
對OpenHarmony的開發生命周期進行系統的和持續的研究,試圖建立度量開源軟件系統的穩定性或發展趨勢的指標體系。
嘗試應用數學模型結合統計測試對OpenHarmony可靠性等進行研究,試圖建立相關本質特征反應的可應用評測體系。
針對風險空間中嚴重性等問題進行深入研究,結合Machine Learning/Deep Learning等技術對其進行分類,試圖結合具體功能安全標準進行風險分段及風險緩解。
基于新型圖表示和圖學習技術,研究面向OpenHarmony的跨架構函數級漏洞檢測技術,試圖為社區提供新型軟件供應鏈安全管理方案。
目前,蘭州大學OpenHarmony技術俱樂部已經正式成立。后續,俱樂部將結合操作系統與軟件安全等研究內容開展相關工作,歡迎大家的持續關注和監督,也希望大家能夠共同為OpenHarmony技術生態的繁榮貢獻力量。
E N D
審核編輯 黃宇
-
Linux
+關注
關注
87文章
11295瀏覽量
209347 -
開源
+關注
關注
3文章
3322瀏覽量
42473 -
OpenHarmony
+關注
關注
25文章
3716瀏覽量
16260
發布評論請先 登錄
相關推薦
評論