版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
軟件可靠性與安全性
第一部分軟件可靠性與安全性解決之道提要軟件失效機理與對策軟件可靠性與安全性典型失效事件與教訓32133軟件失效管理34對可靠軟件的需求軟件應(yīng)用廣泛,在許多領(lǐng)域成為產(chǎn)品創(chuàng)新的源泉軟件使系統(tǒng)更加智能、靈活,越來越多的系統(tǒng)能力由軟件實現(xiàn)系統(tǒng)對軟件的需求和依賴,使得軟件既要滿足用戶的功能要求,又必須穩(wěn)定可靠地完成賦予的任務(wù)軟件可靠性的重要程度依賴于軟件運行的風險成本,如果軟件失效的代價很高,則軟件的可靠性也就非常重要軟件的狀況硬件飛速發(fā)展,越來越可靠,軟件成為系統(tǒng)崩潰的主要原因軟件研發(fā)水平與應(yīng)用需求不相適應(yīng),雖然采取了許多辦法,但常在帶有許多缺陷的情況下發(fā)布和部署軟件自身規(guī)模、復(fù)雜性的增加,給獲得安全可靠軟件帶來挑戰(zhàn),大部分軟件不是十分可靠軟件質(zhì)量的定量評估困難,往往成為項目要素中最容易被忽略的部分軟件可靠性IEEE的定義在規(guī)定的條件下,規(guī)定的時間內(nèi),軟件不引起系統(tǒng)失效的概率。該概率是系統(tǒng)輸入和系統(tǒng)使用的函數(shù),也是軟件中存在的缺陷的函數(shù);系統(tǒng)輸入將確定是否會遇到存在的缺陷(如果缺陷存在的話)。在規(guī)定的時間周期內(nèi),在所述條件下程序完成所需功能的能力。軟件可靠性的相關(guān)要素軟件無失效運行的概率(規(guī)定的任務(wù)和功能)規(guī)定的條件(系統(tǒng)輸入和系統(tǒng)使用)規(guī)定的時間(任務(wù)周期)軟件可靠性構(gòu)成ISO/IEC25010:2011的定義可靠性(Reliability)在指定條件下和規(guī)定的時間范圍內(nèi),系統(tǒng)、產(chǎn)品或組件完成規(guī)定功能的能力包括:成熟性,可用性,容錯性,恢復(fù)性軟件可靠性構(gòu)成成熟性(Maturity)在正常操作情況下,滿足可靠性要求的能力可用性(Availability)當需要使用時,系統(tǒng)、產(chǎn)品或組件可操作和可訪問的能力軟件可靠性構(gòu)成容錯性(Faulttolerance)在硬件或軟件出現(xiàn)故障的條件下,系統(tǒng)、產(chǎn)品或組件仍能按預(yù)期運行的能力恢復(fù)性(Recoverability)在出現(xiàn)中斷事件或發(fā)生失效的情況下,產(chǎn)品或系統(tǒng)能夠恢復(fù)受到直接影響的數(shù)據(jù)并重建系統(tǒng)期望狀態(tài)的能力安全關(guān)鍵軟件應(yīng)用場景航空器控制軟件醫(yī)療設(shè)備軟件核應(yīng)用軟件汽車發(fā)動機控制軟件軌道/列車控制系統(tǒng)軟件關(guān)鍵基礎(chǔ)設(shè)施監(jiān)控系統(tǒng)軟件金融管理系統(tǒng)軟件軍事裝備/系統(tǒng)軟件軟件安全危險性安全危險性(Safety)是使人員或者環(huán)境免受風險影響的能力經(jīng)濟風險健康和安全風險環(huán)境風險風險常常是由功能性、可靠性、安全保密性、易用性或維護性中的缺陷所致安全危險性與系統(tǒng)所處的環(huán)境相關(guān),是使用質(zhì)量安全相關(guān)系統(tǒng)和軟件必須能夠?qū)崿F(xiàn)要求的安全功能,以達到或保持受控設(shè)備的安全狀態(tài);并且,自身或與其他安全相關(guān)系統(tǒng)或外部風險降低設(shè)施一道,能夠達到要求的安全功能所需的安全完整性一般分為安全控制系統(tǒng)和安全防護系統(tǒng)安全相關(guān)軟件是在安全相關(guān)系統(tǒng)中用于實現(xiàn)安全功能的軟件軟件安全完整性及等級軟件安全完整性在所有規(guī)定條件下和規(guī)定時間內(nèi)表示軟件在系統(tǒng)中執(zhí)行其安全功能的可能性的量值軟件安全完整性等級(SiL)一種離散的等級,用于規(guī)定在安全相關(guān)系統(tǒng)中軟件的安全完整性4個等級應(yīng)用方式對質(zhì)量需求的影響網(wǎng)絡(luò)化需求虛擬化需求智能化需求通用化需求經(jīng)濟性需求便捷性需求軟件安全保密性ISO/IEC25010:2011的定義安全保密性(Security)產(chǎn)品或系統(tǒng)保護信息和數(shù)據(jù)的能力,以使人員或其它產(chǎn)品或其它系統(tǒng)按照其相應(yīng)的類型和權(quán)限訪問信息和數(shù)據(jù)包括:機密性、完整性、不可抵賴性、可核查性、確實性軟件安全保密性機密性(Confidentiality)產(chǎn)品或系統(tǒng)確保數(shù)據(jù)僅被那些具有訪問權(quán)限的人或系統(tǒng)訪問的能力完整性(Integrity)系統(tǒng)、產(chǎn)品或組件防止未授權(quán)訪問或修改計算機程序或數(shù)據(jù)的能力軟件安全保密性不可抵賴性(Non-repudiation)證實活動或事件已發(fā)生的能力,以使已發(fā)生的活動或事件不可能在隨后被否認可核查性(Accountability)保證實體的活動與實體實現(xiàn)唯一性追蹤的能力軟件安全保密性確實性(Authenticity)確認和識別一個主體或資源就是其所聲稱的能力軟件質(zhì)量的系統(tǒng)化考慮可信性可靠性+可用性+安全危險性+安全保密性+維護性沒有普遍接受的定義專用質(zhì)量特性與通用質(zhì)量特性質(zhì)量是多維度的,客戶對質(zhì)量的追求也是多樣的RAMS相關(guān)標準標準號標準名稱IEEEStd982.1?-2005IEEEStandardDictionaryof
Measuresofthe
SoftwareAspectsof
DependabilityIEEEStd1633?-2008IEEERecommendedPracticeon
SoftwareReliabilityGB/T
20438-2006/IEC
61508-1998電器/電子/可編程電子安全相關(guān)系統(tǒng)的功能安全ISO/IEC25010:2011Systemsandsoftwareengineering--SystemsandsoftwareQualityRequirementsandEvaluation(SQuaRE)--Systemandsoftwarequalitymodels提要軟件失效機理與對策軟件可靠性與安全性典型失效事件與教訓32133軟件失效管理34失效(Failure)IEEEStd1633?-2008的定義系統(tǒng)或系統(tǒng)部件不能在規(guī)定的限制內(nèi)完成所需功能功能單元完成所需功能的能力被終止程序的運行偏離了其需求規(guī)定的、要求的、期望的失效狀態(tài)考慮到相關(guān)的操作及環(huán)境條件,由一個或多個失效引起或作用的,對系統(tǒng)的直接和后繼的影響軟件不會脫離環(huán)境運行,在某個環(huán)境中是安全的軟件,可能在另一個環(huán)境中就不安全了失效分類隨機硬件失效(RandomHardwareFailure)在硬件中由一種或幾種機能退化可能產(chǎn)生的、按隨機時間出現(xiàn)的失效系統(tǒng)性失效(SystematicFailure)原因確定的失效,只有對設(shè)計或制造過程、操作規(guī)程、文檔或其他相關(guān)因素進行修改后,才有可能排除這些失效可重現(xiàn)失效分類危險失效(UnsafeFailure)使安全相關(guān)系統(tǒng)處于潛在危險狀態(tài)或喪失安全功能執(zhí)行能力的失效安全失效(SafeFailure)不可能使安全相關(guān)系統(tǒng)處于潛在危險狀態(tài)或喪失安全功能執(zhí)行能力的失效失效分類檢測到的失效被系統(tǒng)診斷功能檢測到的失效許多安全相關(guān)系統(tǒng)具有自診斷能力,診斷功能可降低事故和誤停車發(fā)生的可能性未檢測到的失效未被自診斷功能檢測到的失效系統(tǒng)的自診斷能力影響系統(tǒng)的安全性能軟件失效機理導(dǎo)致軟件失效的缺陷主要是設(shè)計問題老化/磨損不會導(dǎo)致軟件失效,軟件失效沒有預(yù)兆周期性的重啟可幫助防止/修復(fù)一些軟件失效軟件可靠性不是運行時間的函數(shù)除非影響到軟件的輸入,否則環(huán)境因素不會對軟件可靠性產(chǎn)生影響相同軟件的冗余不能改善軟件可靠性軟件失效機理軟件的接口完全是概念上的、不可見的,但對軟件可靠性有影響通常不能通過對單條語句的分析來預(yù)計軟件失效率標準件可用于改善可靠性和可維護性,但軟件重用還沒有形成工程趨勢硬件維修使其恢復(fù)到良好狀態(tài),而軟件修改使其到達未知狀態(tài)軟件失效根本原因事件鏈1使用錯誤
失效
事件鏈2人為錯誤
缺陷
故障
失效導(dǎo)致失效的事件鏈1導(dǎo)致使用錯誤的原因缺少清晰的、良好結(jié)構(gòu)化的用戶文檔復(fù)雜的用戶接口缺乏培訓/技術(shù)支持產(chǎn)品規(guī)格說明和用戶使用環(huán)境不一致不適當?shù)挠布渲糜脩舻慕逃蛳到y(tǒng)背景知識不足用戶對操作環(huán)境或產(chǎn)品用途了解不足導(dǎo)致失效的事件鏈2錯誤(Error)在軟件開發(fā)過程中出現(xiàn)的不符合期望或不可接受的人為差錯典型的錯誤誤解或遺漏了用戶需求設(shè)計沒有完整的實現(xiàn)軟件需求程序設(shè)計錯誤導(dǎo)致失效的事件鏈2缺陷(Defect)軟件中存在的不期望或不可接受的偏差在特定的狀態(tài)下,導(dǎo)致軟件不能完成所需的任務(wù)如果缺陷可被利用來違反安全要求,這種與安全相關(guān)的缺陷一般被稱為漏洞典型的軟件缺陷數(shù)組越界使用算法實現(xiàn)不正確緩沖區(qū)溢出導(dǎo)致失效的事件鏈2故障(Fault)軟件中缺陷的體現(xiàn)。如:軟件的計算或判斷與規(guī)定的不符合等一個故障如果發(fā)生,可能引起失效典型的軟件故障資源泄露執(zhí)行了多余的循環(huán)無限遞歸調(diào)用遭遇失效的原因軟件中存在缺陷在使用周期內(nèi)的系統(tǒng)輸入/系統(tǒng)使用觸發(fā)了軟件缺陷對觸發(fā)的缺陷,軟件中沒有相應(yīng)的措施進行正確的處理缺陷的特性變異的預(yù)期常常產(chǎn)生缺陷在實際項目中完全消除缺陷是不可能的,基于軟件開發(fā)經(jīng)濟學的考慮,減少缺陷是現(xiàn)實的缺陷有可能非常簡單,也有可能極其復(fù)雜程序設(shè)計語言與缺陷的復(fù)雜性和數(shù)量的關(guān)系是未知的不論人的能力和背景,都可能產(chǎn)生缺陷缺陷的影響缺陷可能導(dǎo)致失效同樣的缺陷在不同的場景下導(dǎo)致的失效狀態(tài)會有很大的差別,可能只是使用不便,也有可能帶來災(zāi)難缺陷的復(fù)雜度與失效的嚴重性之間的關(guān)系是未知的最大限度的減少缺陷,可以提高軟件的可靠性缺陷解決策略缺陷消除策略避錯(DefectAvoidance)排錯(DefectRemoval)缺陷應(yīng)對策略容錯(FaultTolerance)恢復(fù)(FaultRecovery)軟件避錯策略第一次就做正確(DoItRighttheFirstTime)建立先進的理念,避免錯誤及預(yù)防失誤采取適當?shù)膶嵺`,形成缺陷預(yù)防的趨勢利用一切可用的方法及工具,確保不引入缺陷到軟件軟件避錯策略典型實踐舉例建立組織級別的規(guī)范和指南,全體人員共同遵守用戶的早期參與進行專業(yè)分工,使用有能力、經(jīng)驗及進取心的人員在生命周期各階段,使用現(xiàn)代的方法論和自動化工具,促進生產(chǎn)力提升的同時及達到預(yù)定質(zhì)量的目標軟件排錯策略盡早發(fā)現(xiàn),一旦可行立即改正(DetectItEarly;FixItasSoonasPracticable)測試及修復(fù)成為計劃性和經(jīng)常性活動,對缺陷進行早期檢測及消除,使得缺陷一旦產(chǎn)生就立刻解決修正系統(tǒng)缺陷時,應(yīng)考慮問題的嚴重程度、發(fā)生頻率及完成測試及管理的可能性在操作和維護階段發(fā)現(xiàn)的缺陷,不一定要立即修正軟件排錯策略典型實踐舉例在生命周期各階段,對軟件進行原型化、仿真、審查和檢查,驗證正確性,改善可靠性盡早開展多層次的測試工作,發(fā)現(xiàn)并消除缺陷和隱患優(yōu)先解決最高風險的問題,加強配置管理,防止變更失控建立并運行軟件故障報告、分析及糾正措施系統(tǒng),做好軟件故障管理軟件避錯/排錯改進密切監(jiān)督(MonitorIt)在整個軟件生命周期,進行原始數(shù)據(jù)的收集和評估有效整合測量、驗證和確認等活動,測量必須配合適當?shù)尿炞C和確認方法才能提供質(zhì)量良好的測量數(shù)據(jù)根據(jù)測量數(shù)據(jù),評估開發(fā)過程、驗證過程、軟件產(chǎn)品,持續(xù)改進軟件避錯/排錯改進典型實踐舉例在軟件生命周期各階段,持續(xù)開展軟件質(zhì)量保證工作通過開展測量與分析,收集軟件審查、測試數(shù)據(jù),對開發(fā)過程和驗證過程進行分析和評價對軟件缺陷、故障、失效進行跟蹤管理,分析根本原因,建立模式庫,指導(dǎo)避錯和排錯使用方式對失效的影響軟件缺陷只有被遇到時才會產(chǎn)生故障,才有可能導(dǎo)致失效不同使用方式下,對軟件可靠性的感受是不一樣的決定軟件使用方式的因素很多內(nèi)部參數(shù)、歷史數(shù)據(jù)、當前輸入、……缺陷在軟件中的位置未知軟件執(zhí)行條件一般不可預(yù)知軟件使用方式使用模型是對軟件使用的刻畫使用者使用方式使用者人、硬件、外部軟件等使用方式使用的操作、頻度等軟件使用方式的刻畫操作剖面操作及其發(fā)生概率組成的集合操作模型使用Markov鏈描述的軟件使用模型軟件操作剖面圖示(操作i
,0.056)發(fā)生概率操作……軟件操作模型圖示未激活終止準備狀態(tài)1狀態(tài)2狀態(tài)3狀態(tài)4S,1.00G,0.50B,0.30R,0.20G,1.00A,0.50B,0.40R,0.10R,0.30C,0.25D,0.50E,0.25F,0.70失效的時間表述失效的時間點失效間的間隔時間到達給定時間經(jīng)歷的失效數(shù)量在給定時間間隔內(nèi)發(fā)生的失效數(shù)可選的時間類型執(zhí)行時間日歷時間時鐘時間可選的時間類型程序A程序B程序CT1T2T3T4T5T6程序A(執(zhí)行時間)=T1+T3+T6程序A(時鐘時間)=T1+T2+T3+T4+T5+T6獲得無失效(fail-silent)軟件減少軟件中缺陷數(shù)量避錯排錯減少用戶遭遇潛在缺陷的可能性在正式發(fā)布前,基于使用模型進行測試,降低未來用戶觸發(fā)潛在缺陷的概率對已發(fā)生的故障進行正確處理容錯恢復(fù)提要軟件失效機理與對策軟件可靠性與安全性典型失效事件與教訓32133軟件失效管理34典型失效事件與教訓Therac-25失效事件Therac-25是AtomicenergyofCanadaLtd開發(fā)的一款放射治療儀1985.6~1987.1,6人治療過量,其中3人死亡典型失效事件與教訓Therac-25失效原因主循環(huán)中存在競爭條件寄存器溢出典型失效事件與教訓Therac-25失效帶來的教訓系統(tǒng)安全性分析、風險分析未包含軟件Therac-25重用了T-20的軟件,假設(shè)和前提發(fā)生了改變,但未受到關(guān)注典型失效事件與教訓Ariane5失效事件1996年6月4日,Ariane5發(fā)射40秒后爆炸典型失效事件與教訓Ariane5失效的直接原因?qū)⒁粋€64位浮點值轉(zhuǎn)換為16位有符號整數(shù)值時,超出了16位整數(shù)的表示范圍,而這個異常未得到正確處理典型失效事件與教訓Ariane5失效帶來的經(jīng)驗教訓作了Ariane5和Ariane4具有相同環(huán)境的假設(shè),重用軟件在新的環(huán)境下完全沒有進行測試異常處理模塊的處理機制不正確典型失效事件與教訓火星探測器失效事件1999年,火星氣象衛(wèi)星(MarsClimateOrbiter)到達火星之后不久就消失1999年,火星極地登陸者(MarsPolarLander)在火星上著陸時墜毀典型失效事件與教訓火星探測器失效原因地面系統(tǒng)軟件和飛行器上軟件分別使用公制和英制兩種單位典型失效事件與教訓火星探測器失效帶來的教訓沒有進行充分的測試發(fā)現(xiàn)異常時,沒有被恰當?shù)慕忉尩湫褪录c教訓1982年6月:邏輯炸彈導(dǎo)致蘇聯(lián)西伯利亞天然氣管道毀滅性爆炸(CIA)迄今為止最巨大的非核爆炸,甚至從太空可以看到火光由計算機控制系統(tǒng)中惡意功能導(dǎo)致,是最早的證實邏輯炸彈威力的案例在系統(tǒng)運行了一定的時間間隔后,重新設(shè)置泵的速度和閥門參數(shù),產(chǎn)生遠遠超過管道連接和焊接處可承受的壓力典型失效事件與教訓StuxNet事件2009~2010年,StuxNet蠕蟲攻擊伊朗的核計劃,成功破壞了伊朗的鈾濃縮系統(tǒng)定向攻擊SCADA系統(tǒng),目標針對Seimens控制器和特定配置的設(shè)備Stuxnet使用了兩個數(shù)字證書、多個未知漏洞、多種傳播途徑典型失效事件與教訓GE醫(yī)療軟件因失效主動召回銀聯(lián)出租車計價器酒店客房智能管理空調(diào)/機頂盒電子秤/加油機/保險柜(保密柜)……提要軟件失效機理與對策軟件可靠性與安全性典型失效事件與教訓32133軟件失效管理34可靠性問題的答案在哪里?你的軟件可靠嗎?你的測試過程需要改進嗎?你的開發(fā)過程需要改進嗎?不可靠的原因是什么?軟件失效管理利用“信息反饋,閉環(huán)控制”的原理,通過一套規(guī)范化的程序,使發(fā)生的產(chǎn)品失效能得到及時的報告和糾正,從而實現(xiàn)產(chǎn)品可靠性的增長,達到對產(chǎn)品可靠性和維修性的預(yù)期要求,防止失效再現(xiàn)基于風險水平管理失效建立企業(yè)的可靠性經(jīng)驗FRACAS“失效報告、分析及糾正措施系統(tǒng)”,是“FailureReportAnalysisandCorrectiveActionSystem”的縮寫也稱為“失效信息閉環(huán)管理系統(tǒng)”一組過程、規(guī)則和軟件工具,在產(chǎn)品生存期后端開始使用,是跟蹤系統(tǒng)可靠性的方法建立企業(yè)失效信息數(shù)據(jù)庫,提供數(shù)據(jù)支持軟件可靠性設(shè)計和分析維修策略、保障策略和備件策略的制定FRACAS過程記錄事件分析失效模式開展糾正活動檢驗糾正活動識別失效趨勢確定單個部件對失效產(chǎn)生的作用FRACAS知識積累知識庫失效事件失效報告根源分析糾正措施閉環(huán)驗證可靠性分析產(chǎn)品改進①②③④⑤⑥⑦FRACAS信息流失效記錄失效報告失效分析糾正措施閉環(huán)管理售后服務(wù)數(shù)據(jù)庫FRACAS數(shù)據(jù)庫外場失效廠內(nèi)失效通用質(zhì)量知識庫知識管理FRACAS文檔記錄失效記錄表失效報告表失效分析表糾正措施表閉環(huán)管理表FRACAS工作系統(tǒng)組織機構(gòu)(各方代表)人員職責分工工作的流程資源保障FRACAS信息系統(tǒng)與可靠性信息系統(tǒng)的關(guān)系信息準確與完整性及時性、正確性可追蹤性利用FRACASFRACAS數(shù)據(jù)庫FMEA設(shè)計準則可靠性評估可靠性增長計劃失效模式手冊關(guān)鍵件判定和失效歷史使用、失效、維修信息失效統(tǒng)計分析失效分級管理失效狀態(tài)可劃分為不同的等級不同的失效狀態(tài)對可靠性的影響具有差異軟件失效的分級可以依據(jù)不同的前提所帶來的安全風險所造成的經(jīng)濟損失對系統(tǒng)任
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 薛冰安全指南講解
- 達安深圳一體化項目手冊模板
- 2026年劇本殺運營公司行業(yè)展會參展管理制度
- 學生評價數(shù)字化改革對高校學生評價體系的影響策略研究教學研究課題報告
- 2026年旅游元宇宙應(yīng)用創(chuàng)新報告
- 保安公司上班時間制度
- 企業(yè)三個清單制度
- 中石化安委會制度
- 專業(yè)人員職稱制度
- 小手流血了安全教育課件
- JT-T 1037-2022 公路橋梁結(jié)構(gòu)監(jiān)測技術(shù)規(guī)范
- 綜合能源管理系統(tǒng)平臺方案設(shè)計及實施合集
- 共享單車對城市交通的影響研究
- 學校宿舍樓施工組織設(shè)計方案
- GB/T 7216-2023灰鑄鐵金相檢驗
- 學術(shù)論文的撰寫方法
- 上海市汽車維修結(jié)算工時定額(試行)
- 貴州省晴隆銻礦采礦權(quán)出讓收益評估報告
- 中心小學11-12學年度教師年度量化評分實施方案
- SH/T 1627.1-1996工業(yè)用乙腈
- JJG 1030-2007超聲流量計
評論
0/150
提交評論