軟件安全性保障_第1頁
軟件安全性保障_第2頁
軟件安全性保障_第3頁
軟件安全性保障_第4頁
軟件安全性保障_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、安全性保障安全性工作的出發(fā)點(diǎn)是系統(tǒng)安全性。一個(gè)單獨(dú)的本身并不存在安全性問題,只有當(dāng)與硬件相互作用可能導(dǎo)致的生命、系統(tǒng)奔潰或造成不可接受的資源損失時(shí),才涉及到安全性問題。從設(shè)計(jì)角度看,保證安全性的關(guān)鍵在于系統(tǒng)設(shè)計(jì)時(shí)綜合考慮全部外部(包括各種異常條件),合理地設(shè)計(jì)、定義和分配各子系統(tǒng)的功能、時(shí)序及其相互之間的接口,使得條件出現(xiàn)時(shí)系統(tǒng)可以處于一種安全的狀態(tài),并將可能的損失降低到最小。從工 角度看,安全性分析的實(shí)質(zhì)是:通過對及其運(yùn)行環(huán)境的分析,發(fā)現(xiàn)中與風(fēng)系統(tǒng)條件相關(guān)的設(shè)計(jì)缺陷及產(chǎn)生條件,并分析的發(fā)生概率,確認(rèn)的險(xiǎn)指數(shù)。安全性的基本概念1.安全性的定義:1.11986 年全性涉及確保安全性技術(shù)的一位最有

2、影響的學(xué)者 Nancy G. Leveson 曾定義:“安在系統(tǒng)環(huán)境中運(yùn)行而不產(chǎn)生不可接受的風(fēng)險(xiǎn)”,同時(shí)定義“系統(tǒng)安全性是系統(tǒng)工 的一個(gè)分支,在整個(gè)系統(tǒng)周期中,運(yùn)用科學(xué)的、管理的及工 的原理,在使用效能、時(shí)間和費(fèi)用的約束范圍內(nèi)確保適當(dāng)?shù)陌踩浴薄?996 年宇航局的安全性標(biāo)準(zhǔn)采用提高系中定義安全性是“在整個(gè)生存周期運(yùn)用系統(tǒng)安全性工 技術(shù)來確保統(tǒng)安全性的有效措施,并確保那些可能降低系統(tǒng)安全性的錯(cuò)誤均已被排除或控制在可接受的風(fēng)險(xiǎn)水平”,同時(shí)定義系統(tǒng)安全性為“在系統(tǒng)周期各階段運(yùn)用工 和管理原理、準(zhǔn)則和技術(shù),以便在使用效能、時(shí)間和費(fèi)用的約束范圍內(nèi)使安全性最優(yōu)并且風(fēng)險(xiǎn)降低”。(ESA)組織的一項(xiàng)中定義安

3、全性是“在系統(tǒng)中執(zhí)行而不致在系統(tǒng)工作中造成不可接受的風(fēng)險(xiǎn)的能力”。我國 GJB/Z102-97可靠性和安全性設(shè)計(jì)準(zhǔn)則中定義安全性是“運(yùn)行不引起系統(tǒng)事故的能力”。GJB142-2004安全性分析指南中定義軟件安全性為“性?!本哂械牟粚?dǎo)致事故發(fā)生的能力。確切的說,安全性是的功能安全1.2 定義分析:分析以上關(guān)于安全性的定義,雖然其表述各有不同,但有兩點(diǎn)是共同的:(1)強(qiáng)調(diào)要在系統(tǒng)環(huán)境中安全性;(2)安全性是的一個(gè)質(zhì)量屬性或一種能力。安全性離不開系統(tǒng)安全性,特別是在航天航空等大型復(fù)雜安全性需求來源于系統(tǒng)安全性要求,只有通過對復(fù)雜系統(tǒng)逐層的系統(tǒng)中更是如此。分析,才能確定系統(tǒng)所的,只有依據(jù)對具體系統(tǒng)設(shè)計(jì)

4、方案的分析,才能確定與相關(guān)的關(guān)聯(lián)度,安全性是在此基礎(chǔ)上才能進(jìn)一步分析確定的安全性需求和的關(guān)鍵等級。此外,的一種質(zhì)量屬性,是通過安全性的設(shè)計(jì)和分析而形成的。當(dāng)安全性需求確定后,需要在開發(fā)的各階段采用相應(yīng)的需求。安全性開發(fā)和分析方法來實(shí)現(xiàn)和驗(yàn)證安全性安全性工作2.安全性工作要貫穿生命周期的始終,在開發(fā)的各個(gè)階段都需要開展相應(yīng)的安全性工作。安全性工作可以分為安全性開發(fā)和安全性分析兩類。安全性開發(fā)2.1安全性開發(fā)工作的主要內(nèi)容是要確定和測試,其目的是要全面、正確、合理地確定安全性需求、開展安全性設(shè)計(jì)、編安全性需求,并通過采用一系列的安全性設(shè)計(jì)和編 方法與準(zhǔn)則,在現(xiàn)。設(shè)計(jì)階段將安全性需求設(shè)計(jì)進(jìn)去并加以實(shí)

5、目前,確定一般安全性需求、制定安全性設(shè)計(jì)準(zhǔn)則、定義編語言的安全子集或編 準(zhǔn)則等都是工 上常用的方法。生命周期中的安全問題2.1.1生命周期中的安全保障2.1.21.安全需求分析(1)需求分析計(jì)劃制定(2)寫出初步的安全需求文檔開發(fā)生命周期階段安全問題需求分析階段沒有明確用戶對安全性方面的要求設(shè)計(jì)階段設(shè)計(jì)沒有安全性的考慮設(shè)計(jì)中存在編碼階段代碼中存在為方便測試,開發(fā)在 序中留下后門開發(fā)在 序中植入代碼沒有經(jīng)過安全性測試的開源代碼測試階段沒有對進(jìn)行安全性測試運(yùn)行和階段產(chǎn)品發(fā)布后沒有對進(jìn)行合理的保護(hù) ,造成被或歷史遺留的項(xiàng)目源代碼和文檔卻是,造成及時(shí)發(fā)現(xiàn)安全也無法修改的局面2.設(shè)計(jì)與編碼階段(1)進(jìn)行

6、設(shè)計(jì)分析明確在設(shè)計(jì)階段有哪些安全方面的目標(biāo)需要達(dá)到,識別可能遇到的和安全隱患,畫出安全邊界、哪些數(shù)據(jù)是比較的、哪些輸入接口易成為目標(biāo)、列出潛在的方式等,確保設(shè)計(jì)的完整性和正確性。(2)安全設(shè)計(jì)設(shè)計(jì)時(shí)要注意盡量降低發(fā)生率,對可能發(fā)生的地方要提供警告,發(fā)生后采取有效措施進(jìn)行控制,同時(shí)還要注意所額外增加的復(fù)雜度。(3)基于編碼的安全分析防止使用不安全的函數(shù)。出了要求編碼高編碼階段的安全水平。3.安全監(jiān)測和評估階段(1)靜態(tài)檢測提高 序質(zhì)量,還可以材控第安全編譯來提在 序沒有運(yùn)行的情況下,靜態(tài)分析 序的數(shù)據(jù)流和控制流,然后給出相應(yīng)的測試分析動(dòng)態(tài)檢測選擇合適的測試用例,實(shí)際執(zhí)行待測 序,通過分析 序運(yùn)行

7、時(shí)的內(nèi)存、變量、等中間結(jié)果來檢測 序運(yùn)行時(shí)的正確性。檢查文檔器檢查需求說明書、概要設(shè)計(jì)說明書、詳細(xì)設(shè)計(jì)說明書中是否有對安全性的設(shè)計(jì)和描述,對安全性的描述是否和需求一致,還有用戶文檔是否有安全性注意事項(xiàng)。(4)出錯(cuò)處理和異常情況檢測保證各種出錯(cuò)和異常情況都被處理,提示給用戶的出錯(cuò)信息不會(huì)涉及到 序設(shè)計(jì)的細(xì)節(jié),而且的異常情況不能導(dǎo)致 序進(jìn)入不可知的情況。4.運(yùn)行和階段(1)發(fā)現(xiàn)相應(yīng),首先通知客戶收到,聯(lián)系相關(guān)的開發(fā)部門進(jìn)行技術(shù)細(xì)節(jié)的分析,為進(jìn)行風(fēng)險(xiǎn)評估。(2)修復(fù)開發(fā)部門和安全響應(yīng)部門協(xié)商進(jìn)行解決方案的制定,對修復(fù)外安全補(bǔ)丁,發(fā)布安全簡報(bào)。的補(bǔ)丁進(jìn)行嚴(yán)格測試之后對安全性分析2.2安全性分析工作的主

8、要內(nèi)容是要通過采用一系列的安全性分析方法,來驗(yàn)證軟件安全性需求確定的正確性、合理性和完備性,驗(yàn)證安全性設(shè)計(jì)和編 的正確性、安全性測試的充分性,其目的是要驗(yàn)證安全性需求是否通過安全性的設(shè)計(jì)、編 和測試被全部正確實(shí)現(xiàn),另外通過安全性分析工作能發(fā)現(xiàn)安全性開發(fā)工作的,進(jìn)一步完善和改進(jìn)安全性開發(fā)工作。Leveson 認(rèn)為可以才用呢時(shí)間邏輯、時(shí)間 Petri 網(wǎng)、故障樹分析以及故障樹分析等技術(shù)。不過實(shí)踐證明,上述方法都與的復(fù)雜度有關(guān),普遍存在工作量較大。很多學(xué)者也探討了需求規(guī)約和分析的該進(jìn)方法,如 p-timePetri 網(wǎng)方法、支持向量機(jī)和富樟樹相結(jié)合的方法。由 Leveson 團(tuán)隊(duì)開發(fā)的 SpecTR

9、M 工具集是目前解決需求分析的有效工具之一。從確保安全性分析的效果看,安全性分析方法至少應(yīng):1.提供基本的形式化模型避免需求規(guī)約的模糊性;2.具有性能通過構(gòu)件組合決定系統(tǒng)的安全性;3.采用系統(tǒng)建模方法、硬件甚至人的行為都以的或綜合的模型進(jìn)行建模;4.具有充分的表達(dá)能力能夠以較為直接的方式捕獲公共失效場景,比如順序失效、單點(diǎn)失效;5.提供自動(dòng)化支持能夠以最小的代價(jià)重復(fù)安全性分析。安全性評估3.關(guān)于安全性首先應(yīng)該區(qū)分安全性和系統(tǒng)安全性的差別。就本身而言并不直接做任何的事。然而把放在一個(gè)復(fù)雜的系統(tǒng)中有可能對系統(tǒng)產(chǎn)生不可和不安全的影響。因此安全性是一個(gè)系統(tǒng)級。安全性表示的運(yùn)行不使系統(tǒng)出現(xiàn)事故的能力。I

10、EEE 標(biāo)準(zhǔn)認(rèn)為安全性是指避免安全性僅僅與安全性的影響。上述到達(dá)狀態(tài)的能力。系統(tǒng)安全性指避免系統(tǒng)到達(dá)狀態(tài)的能力。的失效有關(guān),與硬件、人為操作安全性的定義并沒有反映出人們等無關(guān)。而系統(tǒng)安全性受對于事故的嚴(yán)重性的態(tài)度。而安全性應(yīng)該是一個(gè)不只局限于時(shí)間和空間的概念,還取決于人們對它的態(tài)度,這種態(tài)度是自 20 世紀(jì) 80 年代首次提出的,并且隨著時(shí)間和環(huán)境而變化。安全性概念以來,圍繞安全性分析、設(shè)計(jì)和驗(yàn)證已經(jīng)提出了一些方法。但是由于安全性評估所需的數(shù)據(jù)的獲得很,因此在一定 度上遏制了安全性評估模型的發(fā)展。安全性評估方法分類研究3.1迄今為止,安全性評估方法主要可以分為安全性風(fēng)險(xiǎn)矩陣評估、安全性模糊評估

11、、基于可靠性模型的評估。 風(fēng)險(xiǎn)矩陣評估方法最早出現(xiàn)在系統(tǒng)安全性的評估上,后來將其引入到安全性評估。安全性的評估涉及,這會(huì)導(dǎo)致評估結(jié)果的模糊性,這是安全性模糊評估方法出現(xiàn)的原因。 而后考慮安全性與可靠性的有一定的相同之處,運(yùn)用可靠性模型來評估型的安全性評估方法。安全性成為可能,這樣就出現(xiàn)了基于可靠性模安全性風(fēng)險(xiǎn)矩陣評估3.1.1事故定義為這樣的一系列事件,這些事件最終導(dǎo)致受傷(甚至)、損失、環(huán)境破壞或者設(shè)備損壞等。 風(fēng)險(xiǎn)由事故發(fā)生的可能性和事故導(dǎo)致的Risk=f(hazard),Pr(hazard)兩方面來衡量。其中,Risk 表示風(fēng)險(xiǎn),(hazard)表示對事故所造成的度量,Pr(hazard

12、)表示事故發(fā)生的可能性,函數(shù) f 表示風(fēng)險(xiǎn)與事故發(fā)生的可能性和事故導(dǎo)致的之間存在著一定的關(guān)系。 將風(fēng)險(xiǎn)概念運(yùn)用到安全性評估中,風(fēng)險(xiǎn)將由失效的概率和失效引起的事故的(失效嚴(yán)重度)來綜合表示。表 1 自然語言安全風(fēng)險(xiǎn)矩陣率和失效嚴(yán)重度兩方面共同表示。 在考慮失效時(shí),由領(lǐng)域?qū)κЦ怕?、失效?yán)重度的值用自然語言表示,這就需要大量的歷史數(shù)據(jù)以及豐富的經(jīng)驗(yàn)才能對結(jié)果有個(gè)比較可靠的評估, 并且得到的風(fēng)險(xiǎn)水平只是用“高”、“嚴(yán)重的”、“中等的”、“來區(qū)分。 這種方法只能算是一種定性評估方法。鑒于上述矩陣的風(fēng)險(xiǎn)等級劃分得不夠細(xì)致, 不同失效概率和失效嚴(yán)重表二 風(fēng)險(xiǎn)評估矩陣組合會(huì)得出相同的風(fēng)險(xiǎn)水平。 所以用1,2

13、0中的某個(gè)自然數(shù)來表示風(fēng)險(xiǎn)水平,從而將風(fēng)險(xiǎn)所示7。值劃分得更細(xì)致,并且避免在矩陣中出現(xiàn)相同的風(fēng)險(xiǎn)值,如表 2其中 1-5 對應(yīng)“高”等級,6-9 對應(yīng)“嚴(yán)重的”等級,10-17 對應(yīng)“中等的”等級,其余數(shù)字對應(yīng)“級。數(shù)字等級的劃分能在一定 度上量化安全性等級,從而能更方便地區(qū)別各種風(fēng)險(xiǎn)的檔次。 另外,應(yīng)該根據(jù)具體領(lǐng)域、具體對象來定制數(shù)字所對應(yīng)的風(fēng)險(xiǎn)等級。3.1.2 基于 Mamdani 模糊模型的風(fēng)險(xiǎn)評估對失效發(fā)生的可能性和危害 度嚴(yán)重性都要借助領(lǐng)域和實(shí)踐經(jīng)驗(yàn)的判斷,而判斷帶有一定的模糊性,所以風(fēng)險(xiǎn)水平是模糊的。 于是,一些學(xué)者試圖引入模糊數(shù)學(xué)方法來對安全性進(jìn)行評估?;?Mamdani 模糊

14、模型(如圖 1 所示)的風(fēng)險(xiǎn)評估利用 Mamdani 模糊模型的模糊推理機(jī)制, 通過處理安全性評估中的評價(jià)達(dá)到求出風(fēng)險(xiǎn)水平的目的,然后據(jù)此確定安全的安全等級8?;?Mamdani 模糊模型風(fēng)險(xiǎn)評估方法分為四個(gè)步驟。1) 調(diào)整安全風(fēng)險(xiǎn)矩陣圖 1 Mamdani 模糊模型不同的領(lǐng)域有不同的側(cè)重點(diǎn), 對失效嚴(yán)重度和失效概率有不同的劃分,所以會(huì)生成不同的安全風(fēng)險(xiǎn)矩陣。因此,在進(jìn)行模糊評估之前,必須要結(jié)合領(lǐng)域的工 經(jīng)驗(yàn)調(diào)險(xiǎn)矩陣以適應(yīng)實(shí)際情況。假設(shè)這里所用的是表 1 所示的安全風(fēng)險(xiǎn)矩陣。2) 建立模糊規(guī)則庫定義失效概率和失效嚴(yán)重度的隸屬度函數(shù)(如圖2 所示),并且根據(jù) 1)中所確立的安全風(fēng)險(xiǎn)矩陣建立模糊

15、推理規(guī)則。3)評判組對同一失效事件的失效嚴(yán)重度及其失效概率的評估不盡相同。采用 0,10上的數(shù)據(jù)對失效危害嚴(yán)重度和發(fā)生可能性分別進(jìn)行評判,然后綜合的意見求得平均值,其中,0 表示失效嚴(yán)重度和發(fā)生可能性的最低值,10 為最大值。4) 模糊推理圖 2 失效嚴(yán)重度、失效概率和風(fēng)險(xiǎn)的隸屬度定義失效危害嚴(yán)重度和發(fā)生可能性的評判平均值作為模糊模型的輸入, 經(jīng)過Mamdani 模型的計(jì)算可以得到風(fēng)險(xiǎn)水平,然后,根據(jù)風(fēng)險(xiǎn)水平的隸屬函數(shù)定義公式獲得其在高、嚴(yán)重的、中等的、低這些風(fēng)險(xiǎn)等級的隸屬度,以及失效的最終風(fēng)險(xiǎn)水平。該方法認(rèn)為的復(fù)雜性導(dǎo)致在的安全性評估存在許多不確定性,另外,安全性評估應(yīng)該是在可靠性評估之后(

16、即到達(dá)的可靠性要求)進(jìn)行,那么,由于失效屬于稀有事件,因此從它的實(shí)際運(yùn)行過統(tǒng)計(jì)失效數(shù)據(jù)十分。 通過該方法可以確定軟件失效在不同風(fēng)險(xiǎn)等級的隸屬度及失效的最終風(fēng)險(xiǎn)水平。與風(fēng)險(xiǎn)矩陣評估法相比,該方法雖然也能在一定 度上客觀評估安全性,但是仍然避免不了對失效概率和失效嚴(yán)重度的評價(jià),另外,由于模糊數(shù)學(xué)的引入,還增加了隸屬度的定義,而這些都是領(lǐng)域的經(jīng)驗(yàn)總結(jié),都帶有一定的性。 安全性評估的難點(diǎn)在于安全性難以準(zhǔn)確地量化,文獻(xiàn)9通過問卷收集的相關(guān)數(shù)據(jù),在模糊評估的基礎(chǔ)上應(yīng)用粗糙集理論來評估安全性。3.1.3 基于可靠性模型評估安全性除了關(guān)注失效嚴(yán)重度外,和可靠性存在很多相似之處,所以借用可靠性模型來評估安全性是

17、可行的。2.3.1 Markov 評估模型運(yùn)行有正常狀態(tài)(O)、失效安全狀態(tài)(FS)、非失效安全狀態(tài)(FU)等 3 種狀態(tài)10,如圖 3 所示。故叫做失效安全狀態(tài);其余的失效使失效但沒有發(fā)生事處于非失效安全狀態(tài)。失效覆蓋率 C 定義為當(dāng)發(fā)生失效時(shí),從正常狀態(tài)轉(zhuǎn)移到失效安全狀態(tài)的概率。 為失效率;MR 為失效修復(fù)時(shí)間。和 MR 是常量。由前可知,可靠性關(guān)注于所有的圖 3安全的 3 狀態(tài)模型失效,無論其失效嚴(yán)重度的大小,通常用平均失效時(shí)間 MTTF 和可靠度 R(t)來定量地評估的可靠性。與此相反,安全性要考慮失效嚴(yán)重度,特別是嚴(yán)重度較大的失效,為體現(xiàn)安全性的本質(zhì),該方法使用平均失效時(shí)間MTTUF

18、(MeSss(Steady-sTo Unsafe Failure)和穩(wěn)定狀態(tài)安全度e safety)來量化安全性,通過 MTTUF 可以用來下一次發(fā)生非安全失效的平均時(shí)間。由圖 3 可以得到處于正常狀態(tài)下的概率(的可靠度),即R(t)=PO(t);而安全度為不發(fā)生非安全失效的概率,即S(t)=PO(t)+PFS(t)。(1)(2) 由文獻(xiàn)41可以得到:(3) 所以,根據(jù)式(2)(3)可以推導(dǎo)出(4) 上述公式表明,安全性評估模型可以建立在可靠性評估模型的基礎(chǔ)上。根據(jù)測試的客觀數(shù)據(jù),運(yùn)用可靠性模型求得和平均失效時(shí)間 MTTF, 然后用Markov 模型求得從正常狀態(tài)到安全失效狀態(tài)的轉(zhuǎn)移概率 C,

19、 進(jìn)而得到平均非安全失效時(shí)間MTTUF 及的穩(wěn)定狀態(tài)安全度。2.3.2 改進(jìn)型 Markov 評估模型文獻(xiàn)11認(rèn)為傳統(tǒng)的 Markov 評估模型得到的結(jié)果過于樂觀,而對安全關(guān)鍵悲觀的估計(jì)總是更好一些,于是提出了改進(jìn)型 Markov 評估模型。來說,由公式(2)看出,MTTUF 隨著失效率 的增大而減少,那么,如果能求得失效率的最大值 max,則必然得到平均非安全失效時(shí)間的最小值 MTTUFmin。改進(jìn)型 Markov 評估模型的求解過 與 Markov 評估模型基本相似,以 Goel-Okomoto模型為例,通過式(5)可以求得 max,然后將max 代入式(6)就可以得到 MTTUFmin。

20、 其中,tn 為數(shù),Nn-1 為第 n-1 次失效發(fā)生時(shí)刻預(yù)計(jì)的失效總數(shù)。第 n 次失效發(fā)生的時(shí)間,e 為常max=Nn-1/etn(5)改 進(jìn) 型MTTUFmin=etn/(-1)Nn-1(6)Markov 評估模型與 Markov 評估模型相比,除了求失效率公式不同外,還有一處不一樣。假設(shè)在時(shí)刻發(fā)生失效,兩個(gè)模型都估計(jì)該時(shí)刻之后的 MTTUF,Markov 評估模型將tn 時(shí)刻之前的數(shù)據(jù)輸入可靠性模型求得 (tn)和 Cn,用這幾個(gè)數(shù)據(jù)來推算MTTUF;而改進(jìn)型 Markov 評估模型將 tn-1 時(shí)刻之前的數(shù)據(jù)輸入到可靠性模型中求 Cn-1 和Nn-1,最終求得 MTTUFmin?;?

21、Markov 模型的安全性評估方法都用 MTTUF 作為評估指標(biāo),而該指標(biāo)只能估計(jì)下一次非安全失效發(fā)生的時(shí)間,不管該失效造成的有多么嚴(yán)重。3.1.4 已有方法比較在安全性評估的已有方法中, 風(fēng)險(xiǎn)矩陣評估和基于 Mamdani 模糊模型的風(fēng)險(xiǎn)評估都是以風(fēng)險(xiǎn)作為衡量安全性的標(biāo)準(zhǔn); 而在基于可靠性模型評估方法中,Markov 評估模型和改進(jìn)型 Markov 評估模型以平均非安全失效時(shí)間為衡量安全性的標(biāo)準(zhǔn),所以把風(fēng)險(xiǎn)矩陣評估方法和基于 Mamdani 模糊模型的風(fēng)險(xiǎn)評估方法進(jìn)行比較,而把基于可靠性模型的 2 種方法放在一起進(jìn)行比較。表 3失效數(shù)據(jù)集表 3 中的數(shù)據(jù)來自 Johnson Space Ce

22、nter 的一個(gè)地面系統(tǒng)中的安全關(guān)鍵 的測試11,該 的總測試時(shí)間是 2656.9 個(gè)小時(shí)。 期間發(fā)生關(guān)鍵失效 4 次,主要失效84 次,次要失效 157 次。基于表 3 中的數(shù)據(jù),對已有的如下比較。1)風(fēng)險(xiǎn)矩陣評估與模糊風(fēng)險(xiǎn)評估安全性評估方法做傳統(tǒng)的風(fēng)險(xiǎn)評估方法需要由多個(gè)領(lǐng)域根據(jù)大量的歷史數(shù)據(jù)評判失效概率和失效嚴(yán)重度,但在實(shí)際應(yīng)用中顯然是不太現(xiàn)實(shí)的。 所以在這里用已發(fā)生的失效數(shù)/失效總數(shù)估計(jì)值來表示的失效概率,用各級別的失效嚴(yán)重度* 該級別失效數(shù)在總數(shù)中的比例之和來表示重度。的失效嚴(yán)對表 3 中的數(shù)據(jù)進(jìn)行計(jì)算,求得0.49597;失效嚴(yán)重度為 0.49469。的失效概率為事故發(fā)生可能性 5

23、級閾值劃分如下:頻繁的(10-1)、很可能(102,10-1)、有時(shí)(10-3,10-2)、極少(10-6,10-3)、不可能(10-6)7。 事故嚴(yán)重度 4 級閾值劃分如下:的(0.75,1)、關(guān)鍵的(0.5,0.75)、輕度的(0.25,0.5)、輕微的(0,0.25)。根據(jù)上述閾值劃分可以得到 最終得到以風(fēng)險(xiǎn)為評估指標(biāo)的上述兩種方法評價(jià)的是同一個(gè)的失效概率處于“頻繁的”、失效嚴(yán)重度處于“輕度的”。2 種方法的比較結(jié)果如表 4 所示。, 最后得出的風(fēng)險(xiǎn)等級不同,一個(gè)為“嚴(yán)重的”,另一個(gè)為“中等的”,分析其不同的原因有 2 點(diǎn):第一,風(fēng)險(xiǎn)矩陣評估中風(fēng)險(xiǎn)的是離散的,而基于 Mamdani 模糊

24、模型的風(fēng)險(xiǎn)評估表 4 兩種風(fēng)險(xiǎn)評估方法比較中風(fēng)險(xiǎn)的是連續(xù)的。第二,在風(fēng)險(xiǎn)矩陣評估方法中,危害嚴(yán)重度和失效發(fā)生可能的自然語言的量化具有一定的隨意性。風(fēng)險(xiǎn)矩陣評估法是一種比較傳統(tǒng)的方法,在定性評估安全性方面有一定的優(yōu)勢,但是若用于定量評估也難以客觀地評估安全性,則精度不太夠。 另外,即使使用一定權(quán)值代替自然語言,安全性。 模糊評估方法相對于風(fēng)險(xiǎn)矩陣評估方法的優(yōu)點(diǎn)是考慮評價(jià)的模糊性,用多個(gè)對同一失效進(jìn)行評估,取其平均值,這在一定 度上能增加評估的精度。 但是風(fēng)險(xiǎn)矩陣評估方法和模糊評估方法都要根據(jù)領(lǐng)域概率和嚴(yán)重度進(jìn)行判斷,這就需要有充足的歷史數(shù)據(jù)供的經(jīng)驗(yàn),對的失效參考,才能做出比較正確的評價(jià)。 而在實(shí)

25、際的工 應(yīng)用中,由于歷史數(shù)據(jù)有限,這 2 種方法就顯示出局限性。2)基于可靠性模型的評估方法的比較 Markov 評估模型和改進(jìn)型 Markov 評估模型2 種評估方法比較結(jié)果如圖 4 所示。根據(jù)改進(jìn)型 Markov 評估模型的原理, 其 MTTUF 值應(yīng)該小于 Markov 評估模型的圖 4 Markov 模型與改進(jìn)型 Markov 模型的比較值,但是從圖 4 中可以看出,偶爾也會(huì)有例外情況出現(xiàn)。通過對其求解過 和數(shù)據(jù)的分析發(fā)現(xiàn),該種情況是由于用 GO 可靠性模型計(jì)算得出的(正常情況應(yīng)該介于0,1)所致。失效覆蓋率大于 1Markov 評估模型和改進(jìn)型 Markov 評估模型在測試的最后時(shí)刻

26、進(jìn)行,其來說,下一次失效發(fā)生的時(shí)間分別為 408.77 和 307.2 小時(shí)。 對于安全關(guān)鍵幾百個(gè)小時(shí)的 MTTUF 并不能說明處于低風(fēng)險(xiǎn)的狀態(tài),所以基于可靠性模型的評估方法和前面的風(fēng)險(xiǎn)評估方法在安全性評估結(jié)果上基本一致。安全性測試4.常規(guī)的工 方法和并不能完全驗(yàn)證安全性,因此需要通過安全性測試來驗(yàn)證與相關(guān)的系統(tǒng)已被消除或被控制在可接受的風(fēng)險(xiǎn)水平,并通過測試在軟件中發(fā)現(xiàn)和排除隱蔽的錯(cuò)誤。4.1 基于可靠性分析法的安全性測試方法4.1.1 基于FTA 的安全性測試方法基于 FTA 的安全性測試方法是利用故障樹的最小割集來生成安全性測試用例的方法。它以系統(tǒng)中最不希望發(fā)生的故障狀態(tài)作為故障分析的頂事

27、件,尋找導(dǎo)致這一故障發(fā)生的全部可能,繪制故障樹,然后搜索出最小割集,并以最小割集為依據(jù)生成安全性測試用例。該方法在計(jì)算機(jī)聯(lián)鎖自動(dòng)測試系統(tǒng)中進(jìn)行了實(shí)現(xiàn)。實(shí)際結(jié)果表明:它不僅有效地提高了測試的自動(dòng)化 度,而且提高了安全性測試的充分性。此外,由于應(yīng)用的領(lǐng)域的不同,故障樹中底事件的語釋并不唯一,因此出現(xiàn)了一種基于形式化故障樹分析建模的安全性測為一個(gè)以時(shí)間為變量的實(shí)時(shí)間隔邏輯持續(xù)時(shí)間計(jì)算公式,消除故障樹的語義模糊性,達(dá)到形式化故障樹的目的。這種方法首先對需求規(guī)格說明進(jìn)行分級劃分,然后利用形式化故障樹表示安全性需求,在搜索出形式化故障樹所有最小割集的基礎(chǔ)上,運(yùn)用基于割集的安全性測試用例動(dòng)態(tài)擴(kuò)展算法進(jìn)行用例

28、設(shè)計(jì)。4.1.2 基于 Petri 網(wǎng)的安全性測試方法基于 Petri 網(wǎng)的安全性測試方法是利用 Petri 網(wǎng)簡潔、直觀、潛在模擬能力強(qiáng)等特點(diǎn),在因果關(guān)系作用下進(jìn)行推演的過體現(xiàn)系統(tǒng)的動(dòng)態(tài)行為特征。目前,安全性測試存在兩種基于 Petri 網(wǎng)的方法,即正向分析法和逆向分析法。正向分析法首先建立完整的可達(dá)圖和狀態(tài)標(biāo)識表,得到 Petri 網(wǎng)的可達(dá)集,建立相應(yīng)的 Petri網(wǎng)模型,然后在可達(dá)集中搜索所有包含任意一個(gè)狀態(tài)的狀態(tài)標(biāo)識,并將其標(biāo)記為標(biāo)識,從初始狀態(tài)到該標(biāo)識的每個(gè)變遷序列均可設(shè)計(jì)為一個(gè)測試用例。在生成用例時(shí),對每個(gè)被標(biāo)記的標(biāo)識應(yīng)至少生成一個(gè)用例,這些用例了針對該 Petri 網(wǎng)模型的安全性

29、測試用例集。該方法在聯(lián)鎖自動(dòng)測試系統(tǒng)中進(jìn)行了實(shí)現(xiàn)。實(shí)際結(jié)果表明,它可以快速地求出測試用例集,并能有效地提高測試自動(dòng)化 度。然而,正向分析的方法存在一定的缺陷,因?yàn)樗枰赏暾目蛇_(dá)圖和狀態(tài)標(biāo)識集,這對于邏輯和結(jié)構(gòu)比較復(fù)雜的系統(tǒng)是比較的,甚至容易形成組合,因此出現(xiàn)了逆向分析方法。逆向分析方法是構(gòu)造所有可能導(dǎo)致的狀態(tài),然后分析求出由初始狀態(tài)到該狀態(tài)可能的路徑,并通過構(gòu)造測試用例來驗(yàn)證該路徑是可行的。這說明逆向分析法要針對具體問題具體分析。4.2 基于形式化模型的安全性測試方法形式化方法的基本是建立的數(shù)學(xué)模型,并在形式規(guī)格說明語言的支持下提供的形式規(guī)格說明。目前,形式化方法。安全性測試方法可分為兩

30、類: 模型檢驗(yàn)方法和定理證明4.2.1 基于模型檢驗(yàn)的安全性測試方法模型檢驗(yàn)方法用狀態(tài)遷移系統(tǒng)S 描述的行為,用邏輯公式 F 表示執(zhí)行必須滿足的性質(zhì),通過自動(dòng)搜索模型檢驗(yàn)技術(shù)基本S 中不滿足公式F 的狀態(tài)來發(fā)現(xiàn)中的。是將系統(tǒng)表示成為自模型,并將系統(tǒng)要驗(yàn)證的屬性用某種邏輯公式來表示,再采用窮舉狀態(tài)空間的方式來證明系統(tǒng)的模型是否滿足要驗(yàn)證的屬性。這種方法利用內(nèi)置的結(jié)構(gòu)形式分析 ( 模型檢驗(yàn)中的狀態(tài)機(jī)描述) 來驅(qū)動(dòng)測試過供了生成和評估安全性測試集的方法。給測試工 師提模型檢驗(yàn)方法的流 如圖 5 所示。其中,方框表示測試的活動(dòng),箭頭代表測試的流在該檢驗(yàn)?zāi)P椭?,覆蓋率標(biāo)準(zhǔn)和有限系統(tǒng)規(guī)格共同驅(qū)動(dòng)測試需求,

31、測試需求通過檢驗(yàn)?zāi)P驮俅卧u估系統(tǒng)需求,每個(gè)模型檢驗(yàn)的反例對應(yīng)于一個(gè)滿足給定測試需求的測試用例,而通過收集和裁減這些用例可以消除各種冗余。該方法生成的結(jié)果是滿足所有可其測試需求符合了與有限系統(tǒng)規(guī)格相關(guān)的覆蓋率標(biāo)準(zhǔn)。試需求的測試集,此外,NASA 的 JPL模型。運(yùn)用這種形式化模開展形式化安全性測試的主要思路是建立安全需求的狀態(tài)機(jī)圖 5 用模型檢驗(yàn)方法生成測試集安全性測試,可以通過搜索狀態(tài)空間,檢查是否能從起始狀態(tài)找到一條路徑到達(dá)型進(jìn)行規(guī)約的不安全狀態(tài)。4.2.2 基于定理證明的安全性測試方法基于定理證明的安全性測試方法將 序轉(zhuǎn)換為邏輯公式,然后使用公理和規(guī)則證明 序是一個(gè)合法的定理。目前,由于定

32、理證明過 非常耗時(shí)費(fèi)力,所以一般只用于驗(yàn)證設(shè)計(jì)階段的 序規(guī)范而非實(shí)際代碼。4.3 基于測試方法的安全性測試方法4.3.1 基于猜錯(cuò)法的安全性測試方法基于猜錯(cuò)法的安全性測試方法依據(jù)經(jīng)驗(yàn)、和對被測試系統(tǒng)的探索,在按規(guī)則生成的測試用例集之外添加一些 另類 的用例。運(yùn)用這種方法,為用例所涉及的實(shí)體定義一系列關(guān)系,借助這些關(guān)系實(shí)現(xiàn)用例的自描述,并最終和新的生。測試背景匹配,實(shí)現(xiàn)用例的再該方法在一個(gè)鐵路計(jì)算機(jī)聯(lián)鎖安全性測試中進(jìn)行了應(yīng)用。利用這種方法不僅能夠解決這部分用例的測試自動(dòng)化問題,還可以提高測試的充分性。嚴(yán)格地說,用例的自描述和再生過也需要一系列的規(guī)則。但是,這些規(guī)則不是基于功能需求的,而是基于用例

33、描述的。規(guī)則只存在于被描述的這些用例中,不同的猜錯(cuò)用例描述所需要的規(guī)則是不同的。因此,用例和用例之間不論其在聯(lián)鎖功能上是否相關(guān),它們在描述上都是相互獨(dú)立的,在運(yùn)算上不會(huì)帶來自動(dòng)測試時(shí)的相互牽制。由于猜錯(cuò)用例的總數(shù)是有限的,所以,通過猜錯(cuò)用例自描述和再生,將其納入測試自動(dòng)化后,對一個(gè)測試任務(wù)帶來運(yùn)算量上的增加能夠限制在可接受的范圍內(nèi)。4.3.2 基于接口語法的安全性測試方法基于接口語法的安全性測試方法根據(jù)被測功能接口的語法生成測試輸入,檢測被測對各類輸入的響應(yīng)。的接口包括多種類型: 數(shù)據(jù)總線、文件、環(huán)境變量、套接字等,它明確或隱含規(guī)定了輸入的語法。基于這樣一種的輸入數(shù)據(jù)類型、格式。,接口語法測試

34、定義了所接受接口語法測試法的步驟是: 首先識別被測接口的語言,定義語言的語法。然后根據(jù)語法生成測試用例。其中,生成的測試輸入應(yīng)當(dāng)包含各類語法錯(cuò)誤、符合語法的正確輸入、不符合語法的畸形輸入等。最后,通過執(zhí)試檢驗(yàn)被測對各類輸入的處理情況,確定被測是否存在安全缺陷。接口語法測試法適用于被測有較明確的接口語法,易于表達(dá)語法并生成測試輸入的情況。語法測試結(jié)合故障注入技術(shù)可以得到更好的測試效果。4.4 各種測試方法的分析對比下面對上述各種試方法進(jìn)行分析對比。安全性測1)兩種基于可靠性分析方法的安全性測試方法在安全性測試中都融入了分析過也各有特點(diǎn):( 1) 基于 FT A 的安全性測試方法利用了故障樹的最小

35、割集,有利于滿足測試充分性,而且便于推廣,但故障樹分析和最小割集搜索過 的工作量較大,而且從安全性需求到形式化故障樹的轉(zhuǎn)化不易實(shí)現(xiàn)。因此,使用該方法時(shí)需要通過自動(dòng)化同時(shí)要明確從安全性需求到形式化故障樹轉(zhuǎn)化的方法和準(zhǔn)則。來減少人工的工作量,( 2) 基于 Petri 網(wǎng)的安全性測試方法分為正向分析法和逆向分析法兩種。其中,正向分析法利用了 Petri 網(wǎng)簡潔、直觀、潛在模擬能力強(qiáng)等特點(diǎn),有助于進(jìn)行全面分析,但是,它需要生成完整的可達(dá)圖和狀態(tài)標(biāo)識集,對邏輯和結(jié)構(gòu)復(fù)雜系統(tǒng)的分析較難完成,而且容易形成組合。而逆向分析法雖然可以避免組合問題,針對具體問題進(jìn)行具體分析,但是這種分析并不全面,由初始狀態(tài)到分

36、析系統(tǒng)關(guān)鍵層或模塊。狀態(tài)的路徑分析通過人工很難實(shí)現(xiàn),因此常用于2)基于模型檢驗(yàn)和定理證明的這兩種形式化安全性測試方法雖然通用性強(qiáng),但是也都存在一定的局限性:( 1) 基于模型檢驗(yàn)的安全性測試方法可以生成滿足所有可試需求的測試集,整個(gè)過去除了人工的參與,減少了出錯(cuò)的可能性,同時(shí)采用窮舉方式比傳統(tǒng)測試方式更能保證軟件的質(zhì)量,但是,其測試準(zhǔn)則和檢驗(yàn)?zāi)P筒灰捉?,而且減少冗余測試用例的算法實(shí)現(xiàn)起來也存在。此外,由于需要窮盡 序的所有實(shí)際執(zhí)行狀態(tài),所以模型檢驗(yàn)的效率較低,并且很難檢驗(yàn)無窮狀態(tài)系統(tǒng)。這些都增大了使用該方法的難度。( 2) 對于基于定理證明的安全性測試方法而言,由于其定理證明過 難以完全自動(dòng)

37、化,需要高素質(zhì)分析的大量參與,證明過 非常耗時(shí)費(fèi)力,所以其實(shí)際使用范圍受到了一定的限制,一般只用于驗(yàn)證設(shè)計(jì)階段的 序規(guī)范而非實(shí)際代碼。3)基于猜錯(cuò)法和接口語法的安全性測試方法都來源于傳統(tǒng)的測試,在實(shí)施時(shí)各有特點(diǎn):( 1) 基于猜錯(cuò)法的安全性測試方法在經(jīng)過自描述處理后所生成的用例具有普遍適用性,只要在新的測試任務(wù)中找到匹配的背景,自描述用例就可以重新變成在新背景下的測試用例。但是,該方法用例自描述和再生過 規(guī)則不易實(shí)現(xiàn),同時(shí),這種基于猜錯(cuò)法的用例生成方法較大,對分析者的要求較高,不易推廣使用。( 2) 基于接口語法的安全性測試方法可以與測試過 結(jié)合,節(jié)約測試成本,并且易于表達(dá)語法并生成測試輸入的

38、情況,但是其使用范圍有限,在測試時(shí)需要與其他方法配合使用。此外,由于各種接口特點(diǎn)千差萬別,使用中也增大了方法推廣的難度。4)分析對比:通過對上述安全性測試方法進(jìn)行的分析對比,可以總結(jié)出它們的優(yōu)缺點(diǎn),如表 5 所示。通過表 5 可以看出,以上這些安全性測試方法雖然各具特點(diǎn),但都存在一定,因此,這些方法在使用時(shí)需要綜合考慮各方面,制定合理的測試策略。比如,在測試時(shí)可以先通過計(jì)階段的表 5 對各種tri 網(wǎng)等分析方法對測試的全面性進(jìn)行把握,然后運(yùn)用定理證明法驗(yàn)證設(shè)FT序規(guī)范,使用模型檢驗(yàn)法提高測試效率,再用猜錯(cuò)法和接口語法測試進(jìn)行補(bǔ)充。安全性測試方法的分析對比安全性測試方法優(yōu)點(diǎn)缺點(diǎn)基于 FT A 的軟件安全性測試方法1) 有利于滿足 安全性測試的充分性。 2)利用了故障樹最小割集,便于推廣使用。1) 故障樹分析和最小割集搜索過 的工作量較大。2) 從安全性需求到形式化故障樹的轉(zhuǎn)化不易實(shí)現(xiàn)?;?于Pe tri網(wǎng)的軟件安全性測試方法正向分 析法1)簡潔、直觀潛在模擬能力強(qiáng)。2)有助于進(jìn)行全面分析。1) 對

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論