本發(fā)明屬于嵌入式系統(tǒng)領(lǐng)域,涉及模型檢測和定理證明技術(shù),特別涉及一種基于嵌入式操作系統(tǒng)微內(nèi)核原型的進程間通信安全性形式化分析驗證系統(tǒng)。
背景技術(shù):
一方面,隨著計算機科技的飛速發(fā)展,一類具有內(nèi)核精簡、專用性強、易維護等特點的嵌入式微內(nèi)核操作系統(tǒng)逐漸流行,并且在醫(yī)療、軍工、民生等各大方面都得到了廣泛應(yīng)用。另一方面,傳統(tǒng)宏內(nèi)核操作系統(tǒng)由于將絕大部分功能實現(xiàn)于內(nèi)核的設(shè)計理念,隨著時間推移,不可避免的出現(xiàn)了代碼量無比龐大,內(nèi)核體積迅速膨脹,模塊間依賴嚴(yán)重,易崩潰等問題。而微內(nèi)核的提出恰恰解決了宏內(nèi)核中存在的上述等眾多問題,微內(nèi)核只保留必須在內(nèi)核態(tài)完成的功能,其他功能一律通過服務(wù)線程的方式在用戶態(tài)中完成,而用戶態(tài)各系統(tǒng)服務(wù)之間的通信由進程間通信(IPC)掌控。由此可見,進程間通信在微內(nèi)核中的作用舉足輕重。
針對此現(xiàn)狀,目前主要使用的驗證方法有:仿真、傳統(tǒng)測試、推導(dǎo)證明、模型檢測等。其中仿真和傳統(tǒng)測試使用的典型方案均為設(shè)計不同覆蓋標(biāo)準(zhǔn)的邏輯測試用例,通過輸入信號,觀察結(jié)果信號是否有誤,這種測試方案在操作系統(tǒng)日益復(fù)雜的今天難以保證驗證的全面性與準(zhǔn)確性。對所有可能行為正確性的驗證則需要形式化方法,本發(fā)明正是基于推導(dǎo)證明和模型檢測的形式化驗證技術(shù)的驗證系統(tǒng)。一方面,模型檢測彌補了推導(dǎo)證明的半自動化效率問題,可以自動化檢驗特定屬性的安全性;另一方面,推導(dǎo)證明彌補了模型檢測過程中由于狀態(tài)爆炸和無窮狀態(tài)導(dǎo)致的相關(guān)屬性無法驗證的局限性。由于嵌入式操作系統(tǒng)的微內(nèi)核相對精簡,IPC功能也不會復(fù)雜至極,無論是使用推導(dǎo)證明還是模型檢測技術(shù),復(fù)雜度都在可控范圍之內(nèi)。本發(fā)明涉及的系統(tǒng)可對基于嵌入式操作系統(tǒng)微內(nèi)核原型的進程間通信安全性進行有效的形式化驗證,驗證的可信度遠高于傳統(tǒng)測試方案。
技術(shù)實現(xiàn)要素:
本發(fā)明提出了一種基于嵌入式操作系統(tǒng)微內(nèi)核原型的進程間通信安全性形式化分析驗證系統(tǒng),包括以下模塊:
原型預(yù)處理模塊,其包含所述形式化分析驗證系統(tǒng)的系統(tǒng)入口,并且以嵌入式操作系統(tǒng)微內(nèi)核原型為輸入,經(jīng)過微內(nèi)核模塊分類提取器處理從中提取出待驗證的IPC模塊,生成IPC功能相關(guān)的集合作為各模塊輸入的待驗證數(shù)據(jù);
可數(shù)狀態(tài)特定屬性驗證模塊,其與所述原型預(yù)處理模塊通信,用于驗證有窮狀態(tài)下特定屬性的IPC安全性質(zhì),可有針對性地對待驗證的IPC故障行為進行建模分析;
無窮狀態(tài)及泛化屬性驗證模塊,其與所述原型預(yù)處理模塊通信,用于驗證無窮狀態(tài)或非特定屬性的IPC安全性質(zhì)、驗證由規(guī)范化數(shù)據(jù)結(jié)構(gòu)抽象出的IPC外在性質(zhì)、及基于已有抽象性質(zhì)針對各興趣點深入抽象且進一步生成不同的模型并精化驗證。
本發(fā)明提出的所述基于嵌入式操作系統(tǒng)微內(nèi)核原型的進程間通信安全性形式化分析驗證系統(tǒng)中,進一步設(shè)有:可視化模塊,其分別與所述原型預(yù)處理模塊、所述可數(shù)狀態(tài)特定屬性驗證模塊及所述無窮狀態(tài)及泛化屬性驗證模塊交互,所述可視化模塊用于驗證過程及結(jié)果中圖形、文本和信息的可視呈現(xiàn)。
本發(fā)明提出的所述基于嵌入式操作系統(tǒng)微內(nèi)核原型的進程間通信安全性形式化分析驗證系統(tǒng)中,所述可數(shù)狀態(tài)特定屬性驗證模塊包括:
系統(tǒng)故障行為建模工具,其與所述原型預(yù)處理模塊通信,用于對系統(tǒng)微內(nèi)核故障行為建模,輸出狀態(tài)機元模型;
模型轉(zhuǎn)換引擎,其將所述狀態(tài)機元模型作為輸入,根據(jù)需要轉(zhuǎn)換成規(guī)范化故障模型;及模型自動化分析工具,其將所述規(guī)范化故障模型輸入到對應(yīng)的模型自動化分析工具中,得到驗證結(jié)果。
本發(fā)明提出的所述基于嵌入式操作系統(tǒng)微內(nèi)核原型的進程間通信安全性形式化分析驗證系統(tǒng)中,所述無窮狀態(tài)及泛化屬性驗證模塊包括:
可執(zhí)行規(guī)范化轉(zhuǎn)化引擎,將基于微內(nèi)核原型的IPC功能相關(guān)集合作為輸入,轉(zhuǎn)換成可執(zhí)行規(guī)范的數(shù)據(jù)結(jié)構(gòu),且包括抽象出的IPC性質(zhì);
定理證明器,其將抽象出的IPC性質(zhì)作為輸入,經(jīng)判定、深入抽象獲得包含可體現(xiàn)微內(nèi)核IPC外在功能特性的IPC抽象性質(zhì)集,并經(jīng)精化證明反復(fù)驗證系統(tǒng)微內(nèi)核的安全性質(zhì)。
本發(fā)明提出的所述基于嵌入式操作系統(tǒng)微內(nèi)核原型的進程間通信安全性形式化分析驗證系統(tǒng)中,所述定理證明器主要包括:Isabelle/HOL、Coq、Maude。
本發(fā)明的有益效果在于:
針對業(yè)界亟待解決的嵌入式操作系統(tǒng)微內(nèi)核IPC安全性問題,提供了一種基于微內(nèi)核原型并以形式化方法為主導(dǎo)的IPC高可信驗證系統(tǒng)。
本系統(tǒng)有效地結(jié)合了推導(dǎo)證明和模型檢測技術(shù),相互取長補短,很大程度上既彌補了推導(dǎo)證明半自動化證明的效率問題,也彌補了模型檢測對于無窮狀態(tài)或非特定屬性無法驗證的局限性;
相比于傳統(tǒng)的用例覆蓋測試方案,本發(fā)明涉及的系統(tǒng)可對嵌入式操作系統(tǒng)微內(nèi)核IPC安全性做出更為顯著有效的形式化驗證,驗證的可信度遠高于傳統(tǒng)測試方案。
附圖說明
圖1為本發(fā)明基于嵌入式操作系統(tǒng)微內(nèi)核原型的進程間通信安全性形式化分析驗證系統(tǒng)的系統(tǒng)框架圖。
圖2為具體實施方式中基于嵌入式操作系統(tǒng)微內(nèi)核原型的進程間通信安全性形式化分析驗證系統(tǒng)的系統(tǒng)框架圖。
具體實施方式
結(jié)合以下具體實施例和附圖,對本發(fā)明作進一步的詳細說明。實施本發(fā)明的過程、條件、實驗方法等,除以下專門提及的內(nèi)容之外,均為本領(lǐng)域的普遍知識和公知常識,本發(fā)明沒有特別限制內(nèi)容。
如圖1所示,本發(fā)明公開一種基于嵌入式操作系統(tǒng)微內(nèi)核原型的進程間通信(IPC)安全性形式化分析驗證系統(tǒng)的系統(tǒng),它包括了四個系統(tǒng)模塊:原型預(yù)處理模塊,可數(shù)狀態(tài)特定屬性驗證模塊,無窮狀態(tài)及泛化屬性驗證模塊和可視化模塊。其中,原型預(yù)處理模塊包含整個系統(tǒng)的入口,以嵌入式操作系統(tǒng)微內(nèi)核原型為輸入,經(jīng)過微內(nèi)核模塊分類提取器處理,提取出IPC功能相關(guān)集合;接下來,可數(shù)狀態(tài)特定屬性驗證模塊,根據(jù)微內(nèi)核原型提供的IPC功能相關(guān)集合,通過系統(tǒng)建模工具對其故障行為統(tǒng)一建模,然后將原始的狀態(tài)機元模型輸入轉(zhuǎn)換引擎,生成符合模型自動化分析工具規(guī)范的故障模型,最后將故障模型輸入至模型分析工具,自動化分析生成報告;同樣地,無窮狀態(tài)及泛化屬性驗證模塊,也將IPC功能相關(guān)集合作為輸入,通過可執(zhí)行規(guī)范化轉(zhuǎn)化引擎處理,生成符合定理證明器可執(zhí)行規(guī)范的數(shù)據(jù)結(jié)構(gòu),而由數(shù)據(jù)結(jié)構(gòu)抽象出的待驗證性質(zhì)可在定理證明器中進行判定,并且可多次抽象迭代,精化證明,達到包含足夠多細節(jié)以體現(xiàn)微內(nèi)核IPC外在特性的效果;以上三個模塊在運行過程和結(jié)果中所涉及圖形、文本以及其他數(shù)據(jù)信息,均通過可視化模塊予以顯示,但可視化模塊不直接參與分析驗證工作。
原型預(yù)處理模塊包括系統(tǒng)入口和微內(nèi)核模塊分類提取器。所述原型預(yù)處理模塊的系統(tǒng)入口是該系統(tǒng)開始運行的起點。所述原型預(yù)處理模塊的微內(nèi)核模塊分類提取器用于從嵌入式操作系統(tǒng)微內(nèi)核原型中提取出待驗證的IPC模塊,生成IPC功能相關(guān)集合。
可數(shù)狀態(tài)特定屬性驗證模塊包括系統(tǒng)故障行為建模工具,模型轉(zhuǎn)換引擎和模型自動化分析工具。的系統(tǒng)故障行為建模工具用于對系統(tǒng)微內(nèi)核IPC故障行為建模,輸出狀態(tài)機元模型,作為故障模型的初始模型。的模型轉(zhuǎn)換引擎將狀態(tài)機元模型作為輸入,可根據(jù)需求轉(zhuǎn)換成規(guī)范化故障模型,如GTS(guard transition system)等模型,生成用于模型自動化分析工具處理的最終故障模型。的模型自動化分析工具是一類具有模型自動化分析功能的工具,現(xiàn)有的一些比較成熟的工具有PAT、UPPAAL、SPIN等,將符合輸入規(guī)范的故障模型輸入對應(yīng)的模型自動化分析工具中,得到驗證結(jié)果。
無窮狀態(tài)及泛化屬性驗證模塊包括可執(zhí)行規(guī)范化轉(zhuǎn)化引擎,定理證明器和IPC抽象性質(zhì)集。的可執(zhí)行規(guī)范化轉(zhuǎn)化引擎,將基于微內(nèi)核原型的IPC功能相關(guān)集合轉(zhuǎn)換成滿足定理證明器可執(zhí)行規(guī)范的數(shù)據(jù)結(jié)構(gòu),且包括具體的描述和實現(xiàn)細節(jié)。的定理證明器對符合可執(zhí)行規(guī)范數(shù)據(jù)結(jié)構(gòu)的IPC安全性質(zhì)進行交互式的推導(dǎo)證明,現(xiàn)有的一些相對成熟工具包括Isabelle/HOL、Coq、Maude等,都可通過交互式的機器協(xié)助定理證明,驗證系統(tǒng)微內(nèi)核IPC的安全性質(zhì)。的IPC抽象性質(zhì)在定理證明器中進行判定,并且可深入抽象,精化證明,最終獲得包含足夠多細節(jié)可完整體現(xiàn)微內(nèi)核IPC外在功能特性的IPC抽象性質(zhì)集。
可視化模塊用于驗證過程及結(jié)果中圖形、文本和其他信息的可視呈現(xiàn),不直接參與分析驗證工作。通過可視化模塊,可以直觀地觀察各種信息數(shù)據(jù)及相互關(guān)系,例如各種狀態(tài)機模型圖、抽象關(guān)系圖、指標(biāo)數(shù)據(jù)圖等??梢暬K直接與用戶交互,將分析驗證的過程及結(jié)果可視呈現(xiàn)給用戶。
本發(fā)明主要提供一套支持擴展的驗證框架,其中,可數(shù)狀態(tài)特定屬性驗證模塊具體可使用工具有如PAT、UPPAAL、SPIN等現(xiàn)有工具,無窮狀態(tài)及泛化屬性驗證模塊具體輔助工具有如Isabelle/HOL、Coq、Maude等現(xiàn)有工具,具體的驗證算法將封裝在工具之中。下面具體講述本發(fā)明的一種基于嵌入式操作系統(tǒng)微內(nèi)核原型的進程間通信(IPC)安全性形式化分析驗證系統(tǒng)。
實施例1
本實施例以本發(fā)明一種基于嵌入式操作系統(tǒng)微內(nèi)核原型的進程間通信(IPC)安全性形式化分析驗證系統(tǒng)為例,實現(xiàn)對一基于某編程語言(例如c++、haskell等)所開發(fā)原型的系統(tǒng)微內(nèi)核IPC安全性驗證。
下面詳細介紹使用本發(fā)明的系統(tǒng)對該基于c++原型的系統(tǒng)微內(nèi)核IPC安全性進行分析驗證。該系統(tǒng)的具體實施系統(tǒng)框架圖如圖2所示。
該系統(tǒng)的輸入為基于c++開發(fā)的微內(nèi)核原型,在原型預(yù)處理模塊中經(jīng)過微內(nèi)核模塊分類提取器的處理,生成IPC功能相關(guān)集合數(shù)據(jù)作為其他模塊的輸入。對于模型檢測技術(shù),主要體現(xiàn)在可數(shù)狀態(tài)特定屬性驗證模塊,包括以下步驟:首先使用sysML/MARTE建模工具為系統(tǒng)微內(nèi)核IPC故障行為建模,可以得到sysML/MARTE狀態(tài)機元模型;然后通過擴展的AMMA平臺模型轉(zhuǎn)換引擎將狀態(tài)機元模型轉(zhuǎn)化為GTS衛(wèi)式遷移系統(tǒng)中間模型,且進一步轉(zhuǎn)化為文本形式的AltaRica故障樹模型;緊接著,將上一步得到的AltaRica故障樹模型輸入到XFTA工具中進行自動化分析;最后得到模型檢測的驗證結(jié)果。
對于推導(dǎo)證明技術(shù),主要體現(xiàn)在無窮狀態(tài)及泛化屬性驗證模塊,包括以下步驟:首先將IPC功能相關(guān)集合輸入到可執(zhí)行規(guī)范化轉(zhuǎn)化引擎中,生成滿足Isabelle/HOL定理證明器可執(zhí)行規(guī)范的數(shù)據(jù)結(jié)構(gòu),然后通過Isabelle/HOL定理證明器推導(dǎo)證明抽象出的IPC安全性質(zhì)。另外,一旦當(dāng)前待驗證的IPC性質(zhì)在定理證明器中被判定,即可進行下次抽象,通過迭代精化證明,達到包含足夠多細節(jié)可體現(xiàn)微內(nèi)核IPC外在特性的效果。
在整個分析驗證過程中,通過可視化模塊直觀地觀察各種信息數(shù)據(jù)及相互關(guān)系,例如狀態(tài)機元模型圖,GTS模型圖,AltaRica故障樹模型圖,IPC抽象性質(zhì)集列表等。
本發(fā)明的保護內(nèi)容不局限于以上實施例。在不背離發(fā)明構(gòu)思的精神和范圍下,本領(lǐng)域技術(shù)人員能夠想到的變化和優(yōu)點都被包括在本發(fā)明中,并且以所附的權(quán)利要求書為保護范圍。