軟件安全性測(cè)試_第1頁(yè)
軟件安全性測(cè)試_第2頁(yè)
軟件安全性測(cè)試_第3頁(yè)
軟件安全性測(cè)試_第4頁(yè)
軟件安全性測(cè)試_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、軟件安全性測(cè)試software safety testing徐仁佐軟件工程國(guó)家重點(diǎn)實(shí)驗(yàn)室(武漢大學(xué))軟件的問(wèn)題大多是因?yàn)椤爱惓!币疖浖械摹斑吔缰怠眴?wèn)題 控制參量 循環(huán)次數(shù)不少的事故是因?yàn)閷?duì)“異常”注意不夠 試飛時(shí)的操縱桿問(wèn)題設(shè)計(jì)異常 輸入時(shí)的小數(shù)點(diǎn)問(wèn)題行為異常 數(shù)據(jù)類型錯(cuò)誤使用異常出現(xiàn)故障以后,人們總愛(ài)說(shuō): “哎呀,真沒(méi)想到!”為什么事先沒(méi)想到呢?事后人們的表現(xiàn)后悔、懊惱人類總習(xí)慣于“正常思維”總是忽略對(duì)“異?!钡木?其實(shí),“異?!笔恰罢!钡膶?duì)立統(tǒng)一, 是比“正?!狈懂牳蟮?、在設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試軟件時(shí)應(yīng)給予更多關(guān)注的方面.“正?!狈懂燼ba: 正常域b

2、: 全域b-a: 異常域軟件是什么? 軟件是將人類目前認(rèn)為正確的知識(shí),按計(jì)算機(jī)能理解的方式、按一定的語(yǔ)法規(guī)則,轉(zhuǎn)換成計(jì)算機(jī)可執(zhí)行的一系列指令,讓計(jì)算機(jī)代替人進(jìn)行某些腦力勞動(dòng)(如:計(jì)算、判斷、信息的存取與變換、信息交換,等). 如果將計(jì)算機(jī)的硬件及其外圍設(shè)備比做一個(gè)人的軀體和四肢,那么,計(jì)算機(jī)軟件就好比是人的神經(jīng)、思想和靈魂. 我們能夠想象,如果一個(gè)人的身體某些器官工作不可靠,他還能夠應(yīng)付外來(lái)的侵害嗎? 中文的“安全”一詞,在english中主要有兩個(gè)詞和它對(duì)應(yīng):safety: the condition of being safe; freedom from danger, risk, or

3、injury.security: freedom from risk or danger. 可見(jiàn),僅用“security”不能涵蓋“安全”的全部含義. 必須增加“safety”的相應(yīng)概念.safety: the condition of being safe 可靠性是其基礎(chǔ) (修煉深厚內(nèi)功)security: freedom from risk or danger robust是其基礎(chǔ) (外習(xí)上乘武功)嚴(yán)重故障的后果: 生態(tài)環(huán)境的破壞財(cái)產(chǎn)的重大損失寶貴生命的傷亡軟件安全性證明的兩個(gè)方面: 表明軟件的故障不可能發(fā)生,即,在采取 措施之后,軟件不可能進(jìn)入不安全狀態(tài)或不可能導(dǎo)致系統(tǒng)進(jìn)入不安全狀態(tài)(s

4、ecurity). 表明即使發(fā)生軟件故障,該故障也不是危險(xiǎn)的(safety).軟件安全性測(cè)試的任務(wù):排除軟件中可能引發(fā)嚴(yán)重后果的錯(cuò)誤.軟件安全性測(cè)試技術(shù): 頂事件驅(qū)動(dòng)的故障樹分析法.頂事件與頂事件表: 處于故障樹頂層的、嚴(yán)重后果的軟件故障,稱為頂事件. 所有頂事件的集合,稱為頂事件表.要求: 頂事件表中的每一個(gè)頂事件將有一個(gè)故障樹與之對(duì)應(yīng).軟件規(guī)模較小的故障樹的作法: 根據(jù)程序中各語(yǔ)句的邏輯關(guān)系,分析頂事件的發(fā)生主要可能是哪些語(yǔ)句或模塊所造成的; 并進(jìn)一步往下進(jìn)行分析直到某條語(yǔ)句或某個(gè)條件時(shí)為止; 根據(jù)所有的邏輯關(guān)系就可以畫出它的故障樹. 根據(jù)故障樹確定頂事件的發(fā)生是由哪條語(yǔ)句發(fā)生錯(cuò)誤或哪些條

5、件組合而引起的,我們就可以根據(jù)這些分析的結(jié)果著重設(shè)計(jì)軟件可靠性穩(wěn)定增長(zhǎng)測(cè)試和軟件安全性測(cè)試的測(cè)試計(jì)劃,并進(jìn)一步選取合適的測(cè)試用例集合。對(duì)大型軟件的安全性分析采取的辦法: 采取分層構(gòu)造軟件故障樹的方法,也就是對(duì)程序的各個(gè)子功能模塊進(jìn)行分析,這樣不僅建樹和分析比較容易,而且可以找出軟件的關(guān)鍵功能模塊,以便對(duì)其進(jìn)行重點(diǎn)分析。 大型軟件由很多個(gè)功能模塊組成,軟件要執(zhí)行一定的任務(wù),根據(jù)用戶的不同操作,軟件將調(diào)用不同的模塊。因而,應(yīng)以功能模塊作為底事件進(jìn)行故障樹分析。 采取“分而治之”的辦法,在不同的層次上進(jìn)行分析和建立故障樹?!暗资录笔轻槍?duì)整個(gè)軟件系統(tǒng)的模塊結(jié)構(gòu)而言的,處于最下層的模塊均為底事件。 在

6、以功能模塊作為底事件進(jìn)行分析時(shí),同樣要確定一個(gè)系統(tǒng)的頂事件表。最后得出的故障樹也很大,不能直接看出哪個(gè)是關(guān)鍵的功能模塊。此時(shí)可采用最小割集法(一個(gè)最小割集代表系統(tǒng)的一種故障模式,即只要最小割集的事件發(fā)生,就會(huì)導(dǎo)致頂事件的發(fā)生),求出故障樹的最小割集,從而在最小割集中找出系統(tǒng)的關(guān)鍵功能模塊。 下一步是對(duì)關(guān)鍵功能模塊進(jìn)行分析。 利用前面所提到的代碼分析或其它軟件分析技術(shù)進(jìn)行分析,找出可能導(dǎo)致關(guān)鍵功能模塊失效的原因。 根據(jù)故障重新計(jì)算頂事件的發(fā)生概率,達(dá)不到預(yù)定要求,則重新分析,根據(jù)變化了的情況重建故障樹(由于程序改動(dòng)以及某些關(guān)聯(lián)的因素發(fā)生變化,因而第二次建的樹可能和第一次不一樣),對(duì)它進(jìn)行分析,找

7、出另一個(gè)可能引起頂事件發(fā)生的關(guān)鍵功能模塊。 有時(shí)需要反復(fù)多次。 例:某應(yīng)用軟件中,其中的一個(gè)部件由 七 個(gè) 模 塊 組 成 , 分 別 設(shè) 為x1,x2,x3,x4,x5,x6,x7。 各 模 塊 的 失 效 概 率 為 :fx1=fx2=0.01、fx3=0.004、fx4=0.007、fx5=fx6=0.02、fx7=0.03(此數(shù)據(jù)可由軟件可靠性分配或通過(guò)軟件可靠性預(yù)計(jì)得到),經(jīng)過(guò)采用上述的方法進(jìn)行分析,得到故障樹,如下圖所示。 從以上的分析可以看出,k2割集的故障發(fā)生概率最大,其次為k1,這和定性分析的結(jié)果有一定的相似性。由于各底事件的故障較小,因而系統(tǒng)的故障概率可近似計(jì)算為各最小割集故障概率之和,即p

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論