蔡舒祺
摘 要近年來,隨著嵌入式系統(tǒng)在諸如航空航天、核能、交通等安全攸關(guān)領(lǐng)域的廣泛應(yīng)用,使得保障系統(tǒng)安全性成為系統(tǒng)工程領(lǐng)域的研究熱點(diǎn)之一。本文在綜合分析國內(nèi)外研究的基礎(chǔ)上,對(duì)系統(tǒng)安全性概念進(jìn)行了界定,并區(qū)分了安全性與信息安全、可靠性之間的差異。然后,在此基礎(chǔ)上對(duì)當(dāng)前較為常用的系統(tǒng)安全性分析方法進(jìn)行了分類與概述,并對(duì)當(dāng)前嵌入式系統(tǒng)安全性分析的研究挑戰(zhàn)進(jìn)行歸納與總結(jié)。
【關(guān)鍵詞】系統(tǒng)安全性 嵌入式系統(tǒng) 可靠性 安全性分析
1 引言
近年來,隨著嵌入式系統(tǒng)大規(guī)模應(yīng)用于航空航天、核能、交通等領(lǐng)域, 因嵌入式系統(tǒng)失效而導(dǎo)致的財(cái)產(chǎn)損失、環(huán)境破壞以及人員傷亡等事故已屢見不鮮。例如,2009年法國航空公司AF447航班的A330-200飛機(jī)由于測(cè)速儀結(jié)冰,給出了飛行控制系統(tǒng)錯(cuò)誤的攀升指示,而系統(tǒng)中未設(shè)置高度值上限,最終導(dǎo)致飛機(jī)在大西洋上墜毀;同年,一架土耳其航空公司波音737-800型飛機(jī)在機(jī)場(chǎng)跑道進(jìn)近期間,由于無線電高度值錯(cuò)誤使得飛機(jī)失速而機(jī)載系統(tǒng)缺乏“處理失速情況”的程序,導(dǎo)致飛機(jī)墜毀。由此可見,嵌入式系統(tǒng)的安全性問題越來越重要,對(duì)系統(tǒng)進(jìn)行有效的安全性分析已經(jīng)迫在眉睫。
本文針對(duì)嵌入式系統(tǒng)安全性開展研究,在綜合分析國內(nèi)外研究的基礎(chǔ)上。首先對(duì)系統(tǒng)安全性概念進(jìn)行了闡述,并分析了安全性、信息安全以及可靠性這幾個(gè)相關(guān)概念之間的差異。然后在此基礎(chǔ)上對(duì)當(dāng)前較為常用的幾種系統(tǒng)安全性分析方法進(jìn)行了簡單介紹,并歸納總結(jié)出了當(dāng)前嵌入式系統(tǒng)安全性的研究挑戰(zhàn),最后對(duì)全文進(jìn)行了總結(jié)。
2 系統(tǒng)安全性概述
談到安全性,就不得不提到Safety和Security,這兩個(gè)單詞中文都翻譯成安全,但兩者的含義卻存在著一定的差異。一般而言,Safety強(qiáng)調(diào)的是一個(gè)系統(tǒng)、組織或個(gè)人按照自己的機(jī)制正常運(yùn)轉(zhuǎn)的“穩(wěn)定狀態(tài)”;而Security則是由惡意的操作者通過故意的動(dòng)作而導(dǎo)致系統(tǒng)進(jìn)入危險(xiǎn)狀態(tài),其本質(zhì)區(qū)別是操作者是否是故意的。更一般的說,Safety更加關(guān)注的事系統(tǒng)本身功能,而Security則關(guān)注的是與外界進(jìn)行通訊信息而產(chǎn)生的安全性。因此,為了對(duì)兩者進(jìn)行區(qū)分,通常將Safety翻譯成功能安全,而將Security翻譯成信息安全。在沒有特別說明的情形下,本文所提的安全性均指功能安全。
為了進(jìn)一步區(qū)分這兩個(gè)概念,本文下面將以工業(yè)控制領(lǐng)域的IEC61508標(biāo)準(zhǔn)和IEC62443標(biāo)準(zhǔn)對(duì)Safety和Security的定義為例進(jìn)行具體論述。
首先,介紹功能安全(Safety),在IEC61508中將其定義為:“與受控設(shè)備和受控設(shè)備控制系統(tǒng)有關(guān)的整體的組成部分,它取決于電氣、電子、可編程安全相關(guān)系統(tǒng)、其它技術(shù)安全相關(guān)系統(tǒng)和外部風(fēng)險(xiǎn)降低設(shè)施功能的正確行使。”具體而言,功能安全防止的是與安全相關(guān)的系統(tǒng)或設(shè)備因功能失效所導(dǎo)致的危險(xiǎn)。以鍋爐控制系統(tǒng)為例,“當(dāng)鍋爐壓力達(dá)到危險(xiǎn)值時(shí)應(yīng)當(dāng)關(guān)閉爐火”這是鍋爐控制系統(tǒng)的一項(xiàng)基本功能,如果這一功能失效(即當(dāng)鍋爐內(nèi)的壓力達(dá)到危險(xiǎn)值時(shí),不能及時(shí)關(guān)閉爐火,而是讓其持續(xù)燃燒),則會(huì)使得鍋爐發(fā)生爆炸,從而可能引發(fā)人員傷亡等危險(xiǎn)。在這種情況下,安全性主要依賴于系統(tǒng)能否執(zhí)行正確的功能。類似于這種安全性依賴于系統(tǒng)功能的情形,就稱之為“功能安全”。
接下來進(jìn)一步介紹信息安全(Security),在IEC 62443中對(duì)信息安全的定義主要包括以下五點(diǎn)內(nèi)容:
(1)為了保護(hù)系統(tǒng)而采取的相應(yīng)措施;
(2)由建立和維護(hù)保護(hù)系統(tǒng)的措施所得到的系統(tǒng)狀態(tài);
(3)能夠免于對(duì)系統(tǒng)資源的非授權(quán)訪問和非授權(quán)或意外的變更、破壞或者損失;
(4)能夠確保未經(jīng)授權(quán)的人員和系統(tǒng)無法修改軟件及其數(shù)據(jù),同時(shí)也無法對(duì)系統(tǒng)功能進(jìn)行修改,但是必須保證獲得授權(quán)的人員能夠?qū)ο到y(tǒng)進(jìn)行正常訪問,并對(duì)軟件及數(shù)據(jù)進(jìn)行修改;
(5)能夠有效地阻止非法或有害的入侵,或者對(duì)其有效的操作進(jìn)行干擾。
此外,安全性也不同于可靠性(Reliability)??煽啃允侵赶到y(tǒng)或設(shè)備在規(guī)定的條件以及規(guī)定的時(shí)間內(nèi)完成規(guī)定功能的能力。也就是說,可靠性評(píng)估的是系統(tǒng)在時(shí)間間隔 內(nèi)運(yùn)行時(shí)正常工作的概率。在大多數(shù)情況下,系統(tǒng)的可靠性和安全性是一致的,系統(tǒng)不可靠會(huì)導(dǎo)致系統(tǒng)不安全,當(dāng)系統(tǒng)發(fā)生故障時(shí),不僅會(huì)影響系統(tǒng)功能的實(shí)現(xiàn)而且有可能會(huì)導(dǎo)致安全性事故的發(fā)生,從而造成人員傷亡或財(cái)產(chǎn)損失。例如,當(dāng)飛機(jī)發(fā)動(dòng)機(jī)發(fā)生故障時(shí),不僅會(huì)對(duì)飛機(jī)的正常飛行產(chǎn)生影響,而且還可能會(huì)導(dǎo)致飛機(jī)因動(dòng)力不足而墜落,造成機(jī)毀人亡的后果。因此,提高系統(tǒng)可靠性不僅可以保證系統(tǒng)功能的實(shí)現(xiàn),而且可以提高系統(tǒng)的安全性。
但是,可靠性又不完全等同于安全性。其根本區(qū)別是兩者的著眼點(diǎn)不同,可靠性著眼于系統(tǒng)功能,關(guān)注于對(duì)系統(tǒng)目標(biāo)的實(shí)現(xiàn);而安全性著眼于防止事故的發(fā)生,避免人員傷亡和財(cái)產(chǎn)損失。可靠性研究故障發(fā)生以前直到故障發(fā)生為止的系統(tǒng)狀態(tài),而安全性則側(cè)重關(guān)注于故障發(fā)生后,故障對(duì)系統(tǒng)的影響。
正是因?yàn)橄到y(tǒng)的可靠性與安全性之間存在著密切的關(guān)聯(lián)關(guān)系,所以在系統(tǒng)安全性研究中廣泛利用和借鑒了可靠性研究中的一些理論和方法。系統(tǒng)安全性分析就是以系統(tǒng)可靠性分析為基礎(chǔ)的而進(jìn)行的。
3 常用的系統(tǒng)安全性分析方法
對(duì)于一個(gè)復(fù)雜嵌入式系統(tǒng)來說,其安全性通常需要通過一系列方法和技術(shù)來保證。目前,系統(tǒng)安全性分析方法有很多種,可以應(yīng)用于不同的系統(tǒng)安全分析過程。這些方法可以按照不同的標(biāo)準(zhǔn)與方式進(jìn)行分類,例如按照數(shù)理方法可以分為定性分析與定量分析;按照邏輯方法可以分為歸納法與演繹法。
歸納法是從原因歸納出結(jié)果,即從故障出發(fā)分析可能導(dǎo)致的事故或系統(tǒng)故障,再來確定危險(xiǎn)源;演繹法則是從結(jié)果出發(fā)追溯原因,即從事故或者系統(tǒng)故障出發(fā)查找與該事故或系統(tǒng)故障有關(guān)的危險(xiǎn)因素。相比較而言,演繹法可以把注意力集中在有限的查找范圍內(nèi),提高工作效率,而歸納法則可以無遺漏地分析與辨識(shí)系統(tǒng)中的所有危險(xiǎn)源。實(shí)際工作中,這兩類方法通常被結(jié)合使用,以便充分發(fā)揮各類方法的優(yōu)點(diǎn)。
3.1 歸納方法
在系統(tǒng)安全性分析當(dāng)中,歸納方法主要應(yīng)用表格式的方法用于發(fā)現(xiàn)危害或者特定操作條件或失效的危害結(jié)果。目前,比較有代表性的歸納形式的安全性分析方法主要包括失效模式與影響分析(Failure Mode and Effects Analysis,簡稱FMEA)、危害及可操作性研究(Hazard and Operability studies,簡稱HAZOP)以及事件樹分析(Event Tree Analysis, 簡稱ETA )。
3.1.1 失效模式與影響分析
失效模式與影響分析是一種經(jīng)典的危害分析技術(shù),它是20世紀(jì)40年代由美國武裝部隊(duì)首次提出的,之后在諸如航空航天等領(lǐng)域得到了廣泛使用。
FMEA是一種自底向上的分析技術(shù),它適用于任何系統(tǒng)或設(shè)備,也可以用于任何所需的系統(tǒng)設(shè)計(jì)層次,如子系統(tǒng)、組件、單元或部件。但一般而言,F(xiàn)MEA主要用于組件或單元級(jí)層次分析,因?yàn)樵搶哟沃械膯蝹€(gè)嵌入式部件的失效率更容易獲得。FMEA的結(jié)果被記錄在了一個(gè)FMEA表格中。FMEA表可以假設(shè)有幾種不同的形式。一個(gè)FMEA表通過不同的實(shí)體進(jìn)行構(gòu)造,每個(gè)實(shí)體記錄了與給定系統(tǒng)故障的影響信息。當(dāng)FMEA用于支持系統(tǒng)安全和危害分析時(shí),應(yīng)當(dāng)至少包含:失效模式、失效模式對(duì)系統(tǒng)的影響、失效導(dǎo)致的系統(tǒng)層危險(xiǎn)、危險(xiǎn)對(duì)事故影響的后果、失效模式和/或危險(xiǎn)的原因、失效模式和檢測(cè)的方式、建議(如可采用的安全性要求或規(guī)范)以及所確定危險(xiǎn)引起的風(fēng)險(xiǎn)等內(nèi)容。
3.1.2 危害及可操作性研究
HAZOP是一種識(shí)別與分析系統(tǒng)中的危險(xiǎn)以及運(yùn)行問題的技術(shù),是一種高度組織化、結(jié)構(gòu)化和條理化的過程,可以用于對(duì)系統(tǒng)的危險(xiǎn)進(jìn)行識(shí)別與分析,其應(yīng)用可以從系統(tǒng)的方案認(rèn)證到退役整個(gè)生命周期。HAZOP最早出現(xiàn)在化學(xué)領(lǐng)域,于20世紀(jì)60年代由ICI首次提出的,HAZOP的目標(biāo)是研究處于分析中系統(tǒng)操作的基本集合,考慮正常操作下可能的偏差,并且鑒別出他們潛在的危害性影響。HAZOP是以識(shí)別出被稱為節(jié)點(diǎn)的標(biāo)識(shí)符開始的。每個(gè)節(jié)點(diǎn)都具有一個(gè)相關(guān)聯(lián)的過程參數(shù)和一個(gè)設(shè)計(jì)好的意圖,就是規(guī)定了操作條件,即這個(gè)過程必須以正確的操作發(fā)生。當(dāng)今HAZO已經(jīng)被應(yīng)用于制造工業(yè)(如化工、石化和核工業(yè)等)以及航空航天等其他領(lǐng)域。
3.1.3 事件樹分析
事件樹分析是一種用于在可能的事故場(chǎng)景中識(shí)別和評(píng)價(jià)在某個(gè)初始時(shí)間發(fā)生后的時(shí)間序列的分析技術(shù),ETA實(shí)際上是一種二元決策樹,它是在WASH-1400核電站安全性研究過程中提出并發(fā)展起來的一種安全性分析技術(shù)。當(dāng)時(shí)WASH-1400研究人員發(fā)現(xiàn)可以利用FTA進(jìn)行核電站的安全性分析,但是故障樹結(jié)果十分龐大,不利于使用,因此,他們?cè)诒A鬎TA的基礎(chǔ)上提出了ETA,并利用ETA將分析結(jié)果壓縮成一個(gè)更適于管理的圖形。
ETA以一個(gè)初始時(shí)間開始,一般是位于圖的左邊,并且從左向右開始執(zhí)行,以更深層次的事件進(jìn)行分支,這些更深層次的時(shí)間在分析的過程中被識(shí)別,并決定系統(tǒng)可能的結(jié)果。典型地是使用二權(quán)分支,也就是說,可能是事件,也可能是它的補(bǔ)充物會(huì)發(fā)生(例如,一個(gè)子系統(tǒng)的成功或失敗應(yīng)該介入到那些樹的前層所識(shí)別的事件中)。樹會(huì)一直延伸下去,直到系統(tǒng)中出現(xiàn)了預(yù)期的結(jié)果,被稱為結(jié)束事件或結(jié)果場(chǎng)景。與FTA相比,ETA中事件會(huì)對(duì)處于分析中的系統(tǒng)(例如,閥門的開關(guān))或錯(cuò)誤條件(例如,沒有關(guān)閉的閥門)做出對(duì)應(yīng)的預(yù)期操作。每個(gè)事件都會(huì)在圖中產(chǎn)生一個(gè)分支,一個(gè)完整的樹包含有2N個(gè)分支,N是事件的個(gè)數(shù)。由于這個(gè)原因,在分析的過程中都必須要考慮正常和危險(xiǎn)的操作,對(duì)于復(fù)雜的系統(tǒng)來說,事件樹會(huì)產(chǎn)生更大的樹。
3.2 演繹方法
演繹形式的安全性分析方法比較有代表性的包括可靠性框圖(Reliability Block Diagram,簡稱RBD)和故障樹分析(Fault Tree Analysis,簡稱FTA)。
3.2.1 可靠性框圖
可靠性框圖是系統(tǒng)單元及其可靠性意義下連接關(guān)系的圖形表達(dá),表示單元的正?;蚴顟B(tài)對(duì)系統(tǒng)狀態(tài)的影響。與結(jié)構(gòu)連接圖不同,RBD是利用互相連接的方框來顯示系統(tǒng)的失效邏輯,分析系統(tǒng)中每一個(gè)成分的失效率對(duì)系統(tǒng)的影響,以此對(duì)系統(tǒng)整體的可靠性進(jìn)行評(píng)估。RBD通過方框和連線描述了系統(tǒng)各個(gè)部分發(fā)生故障時(shí)對(duì)系統(tǒng)功能特性的影響。它與部件之間的順序無關(guān),僅僅反映了各個(gè)部件之間的串并聯(lián)關(guān)系。
3.2.2 故障樹分析
故障樹分析(FTA)是在二十世紀(jì)六十年代,由貝爾實(shí)驗(yàn)室首次提出的,并且隨后由波音公司所擴(kuò)展使用與推廣。目前已成為工業(yè)界應(yīng)用最為廣泛的安全性分析方法之一。
FTA以系統(tǒng)故障作為安全性分析對(duì)象,采用自頂向下的邏輯圖演繹方法,對(duì)可能引起故障現(xiàn)象的各種因素(如:軟硬件、環(huán)境、人為因素等)進(jìn)行分析,從而確定各種可能導(dǎo)致故障發(fā)生的原因,并形象地表示出故障與故障原因之間的邏輯關(guān)系,進(jìn)而通過定性分析和定量計(jì)算,找出系統(tǒng)的設(shè)計(jì)錯(cuò)誤、安全缺陷以及薄弱環(huán)節(jié),并采取糾正措施,提高系統(tǒng)可靠性和安全性。
4 嵌入式系統(tǒng)安全性分析的研究挑戰(zhàn)
近年來,隨著計(jì)算機(jī)技術(shù)的發(fā)展,嵌入式系統(tǒng)在航空航天、核能、交通等安全攸關(guān)領(lǐng)域的應(yīng)用越來越廣泛,而且,由于軟件功能的日益強(qiáng)大,軟件正在逐步取代部分硬件的功能,使得嵌入式系統(tǒng)的安全性分析出現(xiàn)了新的挑戰(zhàn)。
4.1 嵌入式系統(tǒng)規(guī)模大、復(fù)雜度高的特點(diǎn)
以航空領(lǐng)域?yàn)槔?,從第二代飛機(jī)起,通過軟件實(shí)現(xiàn)的功能隨著每一代飛機(jī)而翻番。對(duì)于第三代和第四代飛機(jī)來說,軟件已經(jīng)成為飛行控制、通信導(dǎo)航、火力控制以及維修保障的核心(如軍機(jī)F-22飛機(jī)上嵌入式系統(tǒng)代碼高達(dá)300萬行,F(xiàn)-35機(jī)載和地面的嵌入式系統(tǒng)代碼高達(dá)1500萬行)。這表明越來越多的安全攸關(guān)系統(tǒng)逐漸成為軟件密集型系統(tǒng)。一方面軟件的大量應(yīng)用使機(jī)載裝備性能有了很大的飛躍,有效提高了機(jī)載裝備的精確性、靈活性和快速反應(yīng)能力,另一方面嵌入式系統(tǒng)復(fù)雜度的快速增加使得保證系統(tǒng)安全性出現(xiàn)了新的挑戰(zhàn)。
4.2 與環(huán)境交互復(fù)雜的特點(diǎn)
如今,諸如航空航天、交通等安全攸關(guān)領(lǐng)域的嵌入式系統(tǒng),通常都涉及到復(fù)雜的環(huán)境交互,使得傳統(tǒng)的安全性分析方法存在不足,無法考慮這些復(fù)雜的環(huán)境因素。具體而言,如今軟件的功能越來越強(qiáng),大量的人工操作已經(jīng)被軟件所取代,使得現(xiàn)在的嵌入式系統(tǒng)越來越智能化,因此,系統(tǒng)需要感知的外界環(huán)境也越來越復(fù)雜,如何綜合考慮這些外界環(huán)境因素進(jìn)行系統(tǒng)的安全性分析是當(dāng)前研究的難點(diǎn)。
此外,功能安全與信息安全的深度融合,也為系統(tǒng)安全性分析帶來了新的挑戰(zhàn)。
5 總結(jié)
本文針對(duì)嵌入式系統(tǒng)的安全性問題進(jìn)行相關(guān)論述,明確了安全性的基本概念,并區(qū)分了其與信息安全、可靠性之間的差異。然后在此基礎(chǔ)上對(duì)當(dāng)前國內(nèi)外應(yīng)用比較成熟的系統(tǒng)安全性分析方法進(jìn)行了簡單介紹,最后歸納總結(jié)出了目前嵌入式系統(tǒng)安全性分析的挑戰(zhàn)。
參考文獻(xiàn)
[1]黃志球,徐丙鳳,闞雙龍,胡軍,陳哲.嵌入式機(jī)載軟件安全性分析標(biāo)準(zhǔn)、方法及工具研究綜述[J].軟件學(xué)報(bào),2014,25(02):200-218.
[2]Learmount D.Never Again.Flight International.2012,182:32-35.
[3]Afshar A,Majid Hajyhosseinloo MD, Ali Eftekhari,MD.A Report of the Injuries Sustained in Iran Air Flight 277 that Crashed near Urmia, Iran.Archives of Iranian medicine, 2012,15(05):317-319.
[4]IEC 60812:Analysis techniques for system reliability.In:Proc.of the Failure Mode and Effect Analysis (FMEA).Intl Electrotechnical Commission,1991.
[5]IEC 61822:Hazard and operability studies (HAZOP studies)-Application guide.Intl Electrotechnical Commission,2001.
[6]Rausand M,Hoyland A.System Reliability Theory:Models, Statistical Methods,and Applications.2nd ed.,New York:Wiley InterScience,2003.
[7]IEC 61078:Analysis techniques for dependability-Reliability block diagram method.Intl Electrotechnical Commission,1991.
[8]Cha S,Yoo J.A safety-focused verification using software fault trees.Future Generation Computer Systems,2012,28(08):1272-1282.
作者單位
南京師范大學(xué)附中江寧分校 江蘇省南京市 210003