国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

面向列控系統(tǒng)安全軟件黑盒測試的危險分析方法

2019-04-16 07:12王碩郭進(jìn)張亞東
關(guān)鍵詞:黑盒控系統(tǒng)危險

王碩,郭進(jìn),張亞東

?

面向列控系統(tǒng)安全軟件黑盒測試的危險分析方法

王碩,郭進(jìn),張亞東

(西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,四川 成都 611756)

針對高速鐵路列控系統(tǒng)安全軟件黑盒測試中對危險事件的可測性、全面性和優(yōu)先性的需求,研究能夠生成有效危險事件測試集的危險分析方法。根據(jù)列控系統(tǒng)接口交互信息的類型及特點(diǎn),改進(jìn)HAZOP的引導(dǎo)詞及節(jié)點(diǎn)參數(shù)并進(jìn)行接口危險辨識;然后利用風(fēng)險矩陣評估接口危險事件的風(fēng)險等級,提出面向安全軟件黑盒測試的接口危險分析方法—HAZOP-I;將該方法應(yīng)用到CTCS-3級列車運(yùn)行控制系統(tǒng)運(yùn)行場景中。研究結(jié)果表明:該方法能夠?yàn)榱锌叵到y(tǒng)安全軟件黑盒測試提供滿足需求的危險事件測試集。

列車運(yùn)行控制系統(tǒng);安全軟件黑盒測試;接口危險分析; HAZOP-I;危險事件測試集

列車運(yùn)行控制系統(tǒng)(以下簡稱:列控系統(tǒng))是保障高速鐵路列車安全高效運(yùn)行的安全苛求系統(tǒng),其安全性由硬件和軟件共同決定。隨著軟件的功能及作用不斷增大,在導(dǎo)致系統(tǒng)危險的因素中軟件因素所占的比例越來越高。根據(jù)鐵路總公司的規(guī)定,我國列控系統(tǒng)軟件安全由研發(fā)單位保證。在此基礎(chǔ)上,又增加了由獨(dú)立的第三方進(jìn)行安全測試。列控系統(tǒng)第三方安全軟件測試屬于系統(tǒng)后期測試,通常采用基于規(guī)范的黑盒測試方法。黑盒測試把程序看作一個不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,在接口輸入測試信息,檢查程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息。因此,黑盒測試的效果就取決于從程序接口輸入的測試信息的質(zhì)量。EN50128標(biāo)準(zhǔn)在整體軟件測試中規(guī)定被測對象應(yīng)在多種反映實(shí)際操作及運(yùn)行環(huán)境下進(jìn)行測試,包括正常運(yùn)行情況和異常運(yùn)行情況[1]。目前,正常運(yùn)行情況的測試已經(jīng)有很多成熟的方法,而異常運(yùn)行情況的測試需要充分有效的危險事件測試集,通過對被測對象注入危險事件來測試對風(fēng)險的防護(hù)能力。但目前危險事件測試集的生成僅依靠專家經(jīng)驗(yàn),還沒有一種系統(tǒng)的方法,不能保證危險事件測試集的完備性與充分性。近年來,學(xué)者們致力于從風(fēng)險的角度來構(gòu)建危險事件測試集,其中研究較多的是利用故障樹模型和威脅模型,并在把握測試重點(diǎn)、提高測試質(zhì)量及效率方面取得一定成效[2?10]。REN等[2]通過構(gòu)建故障樹建立系統(tǒng)失效模型并求出最小割集;根據(jù)定性及定量分析,確定基本事件的重要度和發(fā)生概率,以此為依據(jù)使得測試更有效的集中到關(guān)鍵模塊。Kloos 等[3]用故障樹分析的結(jié)果構(gòu)建測試模型,生成的測試案例根據(jù)識別風(fēng)險的嚴(yán)重程度及造成風(fēng)險的原因進(jìn)行選擇、排序,擴(kuò)大了對安全功能測試的覆蓋范圍。Casado等[4]將故障樹中的葉節(jié)點(diǎn)作為必須檢測的危險情況,并根據(jù)故障樹分析獲得測試案例。WANG等[7?8]用UML序列圖來表示威脅模型中的威脅路徑來驅(qū)動安全軟件測試。Marback等[9?10]用威脅樹來表示威脅模型,并能從威脅樹自動生成測試序列。上述研究雖然采用了不同的方式辨識危險事件,但側(cè)重點(diǎn)在于利用危險事件來生成測試案例,對于如何獲取全面的、適用的危險事件則缺乏相應(yīng)的方法。此外將上述辨識危險事件的方式應(yīng)用在列控系統(tǒng)黑盒測試中也存在較多的問題。例如故障樹模型的應(yīng)用存在3方面問題:首先,列控系統(tǒng)中功能邏輯十分復(fù)雜,自頂向下建立故障樹十分困難,容易遺漏重要信息;其次,故障樹分析一般只考慮系統(tǒng)和元部件的正常和故障2種狀態(tài),而列控系統(tǒng)中的危險事件是多態(tài)的;最重要一點(diǎn)是故障樹分析結(jié)果應(yīng)用于測試中存在可測性問題,例如進(jìn)行故障樹分析時會有“某功能模塊故障”這樣的底事件,而對于黑盒測試,并不能將此類事件注入到被測對象。威脅模型雖然不存在可測性的問題,但威脅模型是以惡意攻擊者的視角來構(gòu)建的,而對于列控系統(tǒng)第三方測試不僅需要威脅方面的危險事件,還需要包括運(yùn)行環(huán)境、設(shè)備和人為操作等方面的危險事件。因此,本文在分析高速鐵路列控系統(tǒng)安全軟件黑盒測試對危險事件需求的基礎(chǔ)上,改進(jìn)HAZOP方法,從接口交互的角度進(jìn)行危險辨識,并將其應(yīng)用到CTCS-3級列控系統(tǒng)的運(yùn)行場景中,證明了該方法的有效性。

1 危險事件測試集需求及HAZOP方法概述

1.1 危險事件測試集需求分析

生成危險事件測試集需要滿足以下3方面的需求。

第一,危險事件必須能夠轉(zhuǎn)換成可測的案例,即可測性需求??蓽y性是指能夠在被測對象上通過施加直接的激勵而產(chǎn)生響應(yīng),以便在既有接口上對被測對象進(jìn)行測試。為黑盒測試提供的危險事件必須滿足可測性的需求,傳統(tǒng)的故障樹分析、故障模式影響分析以及HAZOP分析中通常會有“某個模塊故障”這類的危險事件,而對于黑盒測試而言并不能將此類事件注入到被測對象。

第二,危險事件必須盡可能的完備,而且能夠涵蓋被測對象設(shè)備、環(huán)境和人為等各方面的因素,即全面性需求。以往對列控系統(tǒng)進(jìn)行危險分析往往是從一系列的組件失效入手的,但實(shí)際中造成事故的原因遠(yuǎn)遠(yuǎn)不止組件失效的情況,況且當(dāng)前列控系統(tǒng)技術(shù)規(guī)范中往往已經(jīng)包含了對組件失效的防護(hù)。因而為了滿足測試風(fēng)險信息全面性的需求,需要能夠涵蓋設(shè)備、環(huán)境和人為等方面的異常情況。

第三,危險事件要具有優(yōu)先級順序,以便根據(jù)測試成本有選擇的進(jìn)行利用,即優(yōu)先性需求。列控系統(tǒng)黑盒測試需要考慮時間、人力和經(jīng)濟(jì)等測試成本,測試人員需要權(quán)衡測試成本與測試范圍的關(guān)系。因此,給測試人員提供的危險事件需要具有優(yōu)先級順序。

1.2 HAZOP方法概述

HAZOP(Hazard and Operability Analysis)是一種系統(tǒng)化的創(chuàng)造性辨識方法,通過引導(dǎo)詞與節(jié)點(diǎn)參數(shù)構(gòu)成的偏差來逐步引導(dǎo)、啟發(fā)專家組成員的思維,對系統(tǒng)中潛在的危險以及操作性問題進(jìn)行全面和系統(tǒng)地辨識,并分析危險源發(fā)生的原因和可能導(dǎo)致的后果[11]。HAZOP具有完整的實(shí)施流程,能夠較全面的識別系統(tǒng)潛在的危險,但由于HAZOP起源于化工領(lǐng)域,其節(jié)點(diǎn)參數(shù)及引導(dǎo)詞帶有化工工藝的特點(diǎn),不能很好的適用在列控領(lǐng)域。因而很多學(xué)者對HAZOP方法進(jìn)行了改進(jìn),并取得很好的效果。例如Hwang等[12]在HAZOP基礎(chǔ)上提出了HAZOP- R,設(shè)計了一套適用于鐵路信號領(lǐng)域的節(jié)點(diǎn)參數(shù)和引導(dǎo)詞。Pumfrey[13]在HAZOP的基礎(chǔ)上提出了SHARD(Software Hazard Analysis and Resolution in Design)方法,該方法是一種結(jié)構(gòu)化方法,用來在設(shè)計階段從軟件模塊間信息流角度辨識軟件系統(tǒng)的潛在危險。姚笑菲[14]在傳統(tǒng)的 HAZOP 分析法中引入系統(tǒng)組合模型,先從多個角度對 CTCS-3 級列控系統(tǒng)進(jìn)行刻畫與描述,再利用HAZOP進(jìn)行危險辨識,從而保證危險辨識結(jié)果的正確性與完整性。本文針對列控系統(tǒng)的特點(diǎn),從接口交互的角度辨識接口危險事件,對HAZOP方法進(jìn)行了改進(jìn)。接口危險事件是從輸入接口角度進(jìn)行分析的,因而滿足對被測對象施加激勵的可測性需求。且接口危險事件可以全面表示設(shè)備、環(huán)境和人為等方面的異常情況。例如設(shè)備異常情況會通過交互的信息傳播;環(huán)境異常和干擾也會體現(xiàn)在交互信息上;人為操作異常則可表述為通過人機(jī)交互接口輸入的信息異常。此外,接口危險事件可以通過利用風(fēng)險矩陣對其劃分優(yōu)先等級,使危險事件具有優(yōu)先性。

2 HAZOP-I方法步驟

HAZOP-I方法流程如圖1所示,總共包括10步,以下將流程的每一步進(jìn)行詳細(xì)論述。

步驟1:

列控系統(tǒng)中的被測對象通常具有復(fù)雜的邏輯和功能,為了簡化被測對象的功能邏輯,將被測對象劃分為若干運(yùn)行場景,并對場景中的一些環(huán)境和條件作出合理的假設(shè)(例如場景的初始狀態(tài))。但各個場景中所涉及的功能邏輯需要完全覆蓋被測對象標(biāo)準(zhǔn)規(guī)范所包含的內(nèi)容。

步驟2:

根據(jù)選擇的場景,確定有交互信息輸入的接口。這些接口包括:傳感器的信號輸入、電磁感應(yīng)的信號輸入、控制命令的輸入、人員操作輸入及無線通信消息輸入等。

為了對不同作用的信息進(jìn)行分別描述,需要以交互信息表的方式對輸入接口、傳輸環(huán)境、產(chǎn)生源頭、內(nèi)容以及作用進(jìn)行描述。

圖1 HAZOP-I流程圖

步驟3:

根據(jù)輸入接口交互信息的描述,選擇一個輸入接口作為HAZOP-I 的節(jié)點(diǎn),例如列車輸入接口、應(yīng)答器接收天線接口等。

步驟4:

根據(jù)選擇的接口節(jié)點(diǎn),選擇其中的一個交互信息作為HAZOP-I的節(jié)點(diǎn)參數(shù)。列控系統(tǒng)中的交互信息包括無線報文消息、電磁感應(yīng)信號數(shù)據(jù)、采集驅(qū)動信號數(shù)據(jù)及有線接口信號數(shù)據(jù)等。

步驟5:

根據(jù)列控系統(tǒng)中交互信息的特點(diǎn),定義HAZOP-I的引導(dǎo)詞如表1所示。

選擇的引導(dǎo)詞與信息流結(jié)合產(chǎn)生的危險事件要具有實(shí)際意義,例如Long、Short與無線傳輸報文消息結(jié)合便沒有意義,報文消息不存在持續(xù)時間的問題,它們與一些持續(xù)采集驅(qū)動的交互信息結(jié)合才具有意義。此外,Error與交互信息結(jié)合時要注意一條信息中具有哪些含義的信息。例如,測速傳感器脈沖信號只具有測速信息一種含義;而一些無線報文消息中,一條消息中包含了表示多種含義的多個信息包。此時Error要分別與表示不同含義的信息包分別結(jié)合。

表1 HAZOP-I的引導(dǎo)詞

步驟6:

從3個方面確定危險事件致因,即信息產(chǎn)生的源頭、傳播的環(huán)境及被測對象的輸入接口,具體致因涵蓋了設(shè)備、環(huán)境和人為等方面的因素。不考慮被測對象除接口以外其它部分的故障失效情況,因?yàn)橹乱蚍治龅哪康脑谟谡f明危險事件存在的合理性,而不是為了說明被測對象內(nèi)部如何導(dǎo)致該 事件。

步驟7:

確定危險事件后果,分析危險事件可能造成的系統(tǒng)級危險。列控系統(tǒng)中的系統(tǒng)級危險包括列車與列車相撞、列車與障礙物相撞及列車脫軌3大類型,每個類型下又可根據(jù)具體情況細(xì)化。危險事件后果分析用于說明該危險事件是否會造成嚴(yán)重的后果,以此作為判斷該危險事件優(yōu)先等級的因素。

步驟8:

利用風(fēng)險矩陣評估危險事件的風(fēng)險等級。EN50126標(biāo)準(zhǔn)中給出的典型的6×4風(fēng)險矩陣如表2所示[15],通過估計危險事件發(fā)生的頻率及后果嚴(yán)重度將風(fēng)險劃分為一系列離散的等級,并將風(fēng)險等級及危險事件記錄到危險事件測試集中。

表2 風(fēng)險矩陣

步驟9:

如果與當(dāng)前信息結(jié)合的不是有意義的最后一個引導(dǎo)詞,則跳轉(zhuǎn)到步驟5;否則判斷當(dāng)前信息是否是當(dāng)前接口中的最后一條信息,如果不是則跳轉(zhuǎn)到步驟4;否則判斷當(dāng)前接口是否是當(dāng)前場景中最后一個接口,如果不是跳轉(zhuǎn)到步驟3;否則判斷當(dāng)前場景是否是被測對象的最后一個場景,如果不是則跳轉(zhuǎn)到步驟1;否則對得到被測對象危險事件測試集進(jìn)行優(yōu)化。

步驟10:

上述方式獲得的危險事件測試集十分龐大,需要做進(jìn)一步優(yōu)化來平衡測試成本與測試集之間的關(guān)系。根據(jù)測試成本,選擇危險事件測試集中相應(yīng)風(fēng)險等級的事件進(jìn)行測試,通常至少選擇風(fēng)險等級為“不容許的”和“不希望的”的事件進(jìn)行測試,對于其它等級的危險事件則根據(jù)測試成本決定是否舍棄。

3 HAZOP-I應(yīng)用實(shí)例

為了驗(yàn)證HAZOP-I方法的正確性和可用性,下面選取了CTCS-3級列控系統(tǒng)中一個運(yùn)行場景,并以車載設(shè)備作為被測對象進(jìn)行危險分析。選擇場景為:車載設(shè)備運(yùn)行在FS模式下,列車以一定速度靠近危險點(diǎn),列車與危險點(diǎn)之間出現(xiàn)了新的危險情況。

車載設(shè)備的接口示意圖如圖2所示,其中場景中涉及輸入的接口包括GSM-R電臺接口、動車組接口、速度傳感器接口和應(yīng)答器天線接口。

下面對GSM-R電臺接口中移動授權(quán)消息及速度傳感器接口輪軸脈沖信號進(jìn)行舉例描述分析,得到交互信息描述如表3所示,迭代分析的危險事件測試集如表4所示。

圖2 車載設(shè)備接口示意圖

表3 接口信息描述

表4 危險事件測試集

結(jié)合表4中可以看出,危險事件是場景輸入接口信息與特定引導(dǎo)詞結(jié)合產(chǎn)生的,每條危險事件均可以注入到被測對象中,滿足可測性需求。列控系統(tǒng)安全軟件的接口和功能較多,HAZOP-I通過迭代運(yùn)行場景、輸入接口、輸入信息及引導(dǎo)詞保證危險事件測試集的完備。而且致因分析中涵蓋了被測對象設(shè)備、環(huán)境和人為等方面的異常因素,滿足全面性的需求。表4中的風(fēng)險等級是根據(jù)危險事件發(fā)生頻率及后果嚴(yán)重度劃分的。由于危險事件測試集的規(guī)模龐大,因而測試人員根據(jù)測試成本重點(diǎn)關(guān)注風(fēng)險等級為“不容許的”和“不希望的”的事件,滿足測試風(fēng)險信息優(yōu)先性的需求。綜上,通過HAZOP-I分析所得的危險事件測試集對于把握測試重點(diǎn)及擴(kuò)大測試范圍方面具有顯著作用。

4 結(jié)論

1) 列控系統(tǒng)安全軟件黑盒測試需要利用危險事件測試集來檢驗(yàn)安全軟件對風(fēng)險的防護(hù)能力,而用于黑盒測試的危險事件測試集需要滿足可測性、全面性和優(yōu)先性的需求。

2) HAZOP-I方法通過改進(jìn)HAZOP的引導(dǎo)詞及節(jié)點(diǎn)參數(shù)從接口交互信息的角度進(jìn)行危險辨識,并利用風(fēng)險矩陣評估接口危險事件的風(fēng)險等級,得到的危險事件測試集能夠滿足列控系統(tǒng)安全軟件黑盒測試的需求。

3) HAZOP-I方法可以分析單個事件對系統(tǒng)的影響,對于事件組合的情況還有待進(jìn)一步研究。

[1] European Committee for Electrotechnical Standardi- zation. EN 50128 Railway applications: Commun- ications, signaling and processing system Software for railway control and protection systems[S]. 2011.

[2] REN Y, HONG L, LI H W. Research on technique of software testing based on fault tree analysis[C]// International Conference on Computer Science and Network Technology. Harbin: IEEE, 2011: 1718?1720.

[3] Kloos J, Hussain T, Eschbach R. Risk-based testing of safety-critical embedded systems driven by fault tree analysis[C]// IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops. Berlin: IEEE Computer Society, 2011: 26?33.

[4] Casado R, Tuya J, Younas M. Testing long- lived web services transactions using a risk- based approach[C]// International Conference on Quality Software. Zhangjiajie: IEEE Reliability Society, 2010: 337?340.

[5] 張衛(wèi)祥, 劉文紅. 基于故障樹分析與組合測試的測試用例生成方法[J]. 計算機(jī)科學(xué), 2014, 41(b11): 375?378. ZHANG Weixiang, LIU Wenhong. Test suite generation based on interaction testing and fault tree analysis[J]. Computer Science, 2014, 41(b11): 375?378.

[6] 劉文紅, 吳欣. 基于SFTA和等價類的軟件測試用例設(shè)計方法研究與應(yīng)用[J]. 現(xiàn)代電子技術(shù), 2013(21): 128?131. LIU Wenhong, WU Xin. Research and application of software test case design method based on SFTA and equivalence class[J]. Modern Electronics Technique, 2013(21): 128?131.

[7] WANG L, WONG E, XU D. A threat model driven approach for security testing[C]// The Third International Workshop on Software Engineering for Secure Systems. Washington: IEEE Computer Society, 2007: 10?16.

[8] 楊廣華, 齊璇, 施寅生. 基于威脅模型的軟件安全性測試[J]. 計算機(jī)安全, 2010(2): 11?13. YANG Guanghua, QI Xuan, SHI Yinsheng. Software security testing based on threat model[J]. Computer Safety, 2010(2): 11?13.

[9] Marback A, Do H, He K, et al. A threat model-based approach to security testing[J]. Software Practice & Experience, 2013, 43(2): 241?258.

[10] Marback A, Do H, He K, et al. Security test generation using threat trees[C]// The Workshop on Automation of Software Test. Vancouver: IEEE, 2009: 62?69.

[11] 張亞東. 高速鐵路列車運(yùn)行控制系統(tǒng)安全風(fēng)險辨識及分析研究[D]. 成都: 西南交通大學(xué), 2013. ZHANG Yadong. Study on the safety risk identification and analysis of train control system of high-speed railway[D]. Chengdu: Southwest Jiaotong University, 2013.

[12] Hwang Jong-Gyu, Jo Hyun-Jeong. Hazard identification of railway signaling system using PHA and HAZOP methods[J]. International Journal of Automation & Power Engineering, 2013, 2(2): 32?39.

[13] Pumfrey D J. The principled design of computer system safety analyses[D]. England: the University of York, 2000.

[14] 姚笑菲. 基于模型的列控系統(tǒng)危險辨識方法研究[D]. 北京: 北京交通大學(xué), 2015. YAO Xiaofei. Research on the method of model-based hazard identification for the train control system[D]. Beijing: Beijing Jiaotong University, 2015.

[15] European Committee for Electrotechnical Standardiza- tion. EN 50126 Railway applications:The specification and demonstration of reliability, availability, maintain- ability and safety[S]. 1999.

Hazard analysis method for security software black-box testing of train control system

WANG Shuo, GUO Jin, ZHANG Yadong

(School of Information Science and Technology, Southwest Jiaotong University, Chengdu 611756, China)

Aiming at the testability, comprehensiveness and priority of hazard events contained in security software black-box testing of high-speed train control system, a hazard analysis method that can generate effective testing set of hazard events was studied. According to the type and characteristics of interface information in train control system, the guide words and node parameters of HAZOP are improved to identify interface hazard events. The risk matrix is used to assess the risk level of interface hazard events. And then a interface hazard analysis method named HAZOP-I which is for security software black-box testing is proposed. This method is applied to the operation scenario of CTCS-3 train operation control system. As a result, this method can provide applicable hazard events testing set for the security software black-box testing of train control system.

train operation control system; security software black-box testing; interface hazard analysis; HAZOP-I; hazard events testing set

10.19713/j.cnki.43?1423/u.2019.03.005

U284

A

1672 ? 7029(2019)03 ? 0590 ? 06

2018?04?18

國家自然科學(xué)基金青年基金資助項(xiàng)目(61703349);中央高校基本科研業(yè)務(wù)費(fèi)專項(xiàng)資金資助項(xiàng)目(2682017CX101,2682017ZDPY10);中國鐵路總公司科技研究開發(fā)計劃資助項(xiàng)目(2017X007-D)

郭進(jìn)(1960?),男,甘肅蘭州人,教授,博士,從事列車運(yùn)行控制、可靠性與安全性技術(shù)研究;E?mail:jguo_scce@swjtu.edu.cn

(編輯 涂鵬)

猜你喜歡
黑盒控系統(tǒng)危險
一種基于局部平均有限差分的黑盒對抗攻擊方法
關(guān)于DALI燈控系統(tǒng)的問答精選
聯(lián)調(diào)聯(lián)試中列控系統(tǒng)兼容性問題探討
數(shù)字電視播控系統(tǒng)關(guān)鍵技術(shù)探究
喝水也會有危險
基于Arduino的智能家居燈控系統(tǒng)設(shè)計
擁擠的危險(三)
話“危險”
武平县| 凤翔县| 杨浦区| 浑源县| 花莲县| 汉源县| 柳河县| 郸城县| 吴忠市| 保康县| 乌鲁木齐县| 德兴市| 陆川县| 丰宁| 星子县| 新密市| 巢湖市| 德兴市| 张北县| 张掖市| 渝中区| 开阳县| 安阳市| 灌云县| 青海省| 都江堰市| 湘阴县| 巴林右旗| 灵台县| 钦州市| 郎溪县| 堆龙德庆县| 海阳市| 广南县| 呼和浩特市| 南溪县| 扶风县| 博客| 阜康市| 顺平县| 临城县|