• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      軟件可信性相關指南標準對比研究

      2018-04-15 16:49:28于敏楊春暉
      關鍵詞:軟件可靠性可信性安全性

      于敏,楊春暉

      (工業(yè)和信息化部電子第五研究所,廣東廣州 510610)

      0 引言

      可信性是需要時產(chǎn)品按要求執(zhí)行的能力,是用于描述產(chǎn)品性能中與時間相關特性的集合性術語[1]??尚判允侵冈诮o定的使用和維修保障要求條件下的特性,包括可用性 (Availability)、可靠性(Reliability)、恢復性 (Recoverability)、維修性(Maintainability)和維修保障性 (Maintenance support)等,以及在某些情況下,諸如耐久性 (Durability)、安全性 (Safety)和安保 (Security)等其他特性??尚判悦枋隽讼嘈攀挛锬芟袼谕哪菢庸ぷ鞯某潭???尚判阅軌蚪⑿湃魏蜆淞⑿判模⒂绊懡M織滿足目標的能力,它可通過產(chǎn)品壽命周期內(nèi)有效的策劃及實施可信性活動來獲得[2]。如果產(chǎn)品的可信性高,則表明該產(chǎn)品是值得信賴的,并且能夠執(zhí)行所需的服務以滿足用戶需求;差的可信性將嚴重地影響用戶對于由組織開發(fā)或提供的產(chǎn)品價值的認知。

      目前,隨著計算機應用的不斷發(fā)展,軟件的應用范圍越來越廣泛,軟件失效造成的后果也愈加嚴重,特別是在航空航天、金融保險、交通通信和工業(yè)控制等關系國計民生的重要領域,軟件一旦失效就將造成重大的損失。同時,隨著軟件的規(guī)模越來越大,軟件的開發(fā)、集成和維護工作越來越復雜,因此對軟件的可信性提出了更高的要求。雖然軟件可信性日益受到關注,但是,多年來,軟件領域的標準主要集中在軟件工程、軟件過程管理和軟件質(zhì)量方面,很少有標準從可信性的角度來解決軟件的問題。目前,軟件可信性相關的指南標準,國際標準方面主要有IEC 62628:2012“Guidance on software aspects of dependability(《軟件可信性指南》)”,國內(nèi)標準方面主要有國軍標GJB/Z 102A-2012《軍用軟件安全性設計指南》、GJB/Z 142-2004《軍用軟件安全性分析指南》、GJB/Z 157-2011《軍用軟件安全保證指南》和GJB/Z 161-2012《軍用軟件可靠性評估指南》。本文對上述5個標準進行了系統(tǒng)性的對比研究,以期為軟件可信性領域標準的工程使用提供一定的參考。

      1 軟件可信性指南標準簡介

      1.1 IEC 62628: 2012標準

      IEC 62628:2012標準是一個完整的軟件可信性指南標準[3]。軟件技術的發(fā)展和軟件應用在行業(yè)實踐中的快速適應,已經(jīng)為全球商業(yè)環(huán)境的實際軟件可信性標準提供了必要的條件。該標準確定了管理在軟件可信性方面的影響,并提供了相關的技術過程來處理系統(tǒng)中軟件的可信性問題。此外,該標準還提供了當前行業(yè)的最佳實踐,并提出了相關的方法,以促進軟件可信性的實現(xiàn)。

      該標準解決了軟件可信性問題,給出了受管理準則、設計過程和應用環(huán)境影響的軟件可信性的指導;建立了關于軟件可信性需求的通用框架,提供了用于系統(tǒng)生命周期的軟件可信性過程,提出了軟件可信性設計和實施的保證準則和方法,并提供了軟件系統(tǒng)性能評估和可信性度量的實施方法。該國際標準適用于切實關心軟件產(chǎn)品和系統(tǒng)可信性的開發(fā)人員、供應商、系統(tǒng)集成商、操作人員、維護人員和軟件系統(tǒng)的用戶,但并不適用于產(chǎn)品的合格評審或認證。

      1.2 GJB/Z 102A-2012標準

      根據(jù)可信性的定義,可靠性是可信性的一種重要特性,在某些情況下,安全性也是可信性的一種重要特性。在軍用軟件可靠性和安全性方面,1997年我國制定并發(fā)布了GJB/Z 102-1997《軟件可靠性和安全性設計準則》,自其發(fā)布以來,軟件可靠性和安全性工作越來越受到重視,目前,該標準已被廣泛地應用于武器裝備軟件的設計過程中,并取得了良好的效果,為保證工程項目和型號的可靠性和安全性發(fā)揮了重要的作用[4]。但為了使GJB/Z 102-1997更加符合我國軍用軟件開發(fā)的實際,2012年完成了對該標準的修訂,刪除或修改了與當前實際情況不符的有關要求和準則,增加了國內(nèi)外的最佳實踐和經(jīng)驗教訓,以便更好地指導軍用軟件的開發(fā),提高武器裝備的可靠性和安全性。

      GJB/Z 102A-2012是關于軍用軟件安全性設計的實施指南[5],是GJB/Z 102-1997的修訂標準,修訂時將標準名稱改為 《軍用軟件安全性設計指南》。修訂后的標準規(guī)定了軍用軟件安全性設計的實施指南,其適用范圍涉及軍用軟件需求分析、設計和實現(xiàn)時的軟件安全性設計要求。需要特別說明的是,軟件可靠性設計也可參考GJB/Z 102A-2012標準??煽啃院桶踩苑謱儆趦砷T不同的工程學科,存在著較大的區(qū)別,即:一般在安全性研究中用 “事故”來描述事件,關心的是人員和設備財產(chǎn)的損失程度;而在可靠性研究中用 “故障”來描述事件,關心的是任務未執(zhí)行的程度。但可靠性和安全性又密切相關,可靠性和安全性的聯(lián)系是,當系統(tǒng)的可靠性下降時,發(fā)生故障的概率提高,當故障出現(xiàn)后,不僅會造成系統(tǒng)的性能下降,而且發(fā)生事故的概率會提高,即系統(tǒng)的安全性會下降;反之,當有事故發(fā)生時,系統(tǒng)可能會停止運轉(zhuǎn),此時的事故從可靠性角度來講就是故障。因此,軟件安全性和軟件可靠性既有區(qū)別又緊密相關,在設計層面上有著廣泛的交集,GJB/Z 102A-2012中的許多設計要求既是軟件安全性設計準則,也是軟件可靠性設計準則,實際工程中有時將其統(tǒng)稱為軟件可靠性安全性設計準則。GJB/Z 102A-2012標準修訂時名稱中去掉了 “可靠性”一詞,主要是緣于軟件安全性支撐標準體系建設的需求,并非是因刪除了GJB/Z 102-1997中的可靠性內(nèi)容所致[6]。

      1.3 GJB/Z 142-2004標準

      GJB 900A-2012《裝備安全性工作通用要求》的600系列提出了針對軟件的安全性頂層工作要求,包括 “工作項目601:外購與重用軟件的分析與測試”“工作項目602:軟件安全性需求與分析”“工作項目603:軟件設計安全性分析”“工作項目604:軟件代碼安全性分析”“工作項目605:軟件安全性測試分析”和 “工作項目606:運行階段的軟件安全性工作”[7]。支持GJB 900A-2012具體工作項目實施的軟件安全性下層次支撐標準,除了有指導軟件安全性設計工作的GJB/Z 102A-2012標準外,還有用于指導軟件安全性的分析工作的GJB/Z 142-2004《軍用軟件安全性分析指南》標準。GJB/Z 142-2004標準給出了在軟件生存周期中實施軟件安全性分析的指南[8],適用于安全相關軟件的獲取、供應、開發(fā)、運行和維護,可被安全相關軟件的需方、供方、開發(fā)者、維護者和獨立的評價者使用。

      1.4 GJB/Z 157-2011標準

      根據(jù)可信性的定義,在某些情況下,安保也是可信性的一種重要特性。在軍用軟件安全保證方面,2011年我國制定并發(fā)布了GJB/Z 157-2011《軍用軟件安全保證指南》[9]。該標準規(guī)定了獲取軟件安全保證的一般過程和對安全保證過程的技術要求,適用于具有安保要求的軍用軟件的開發(fā)、運行和評估。該指導性技術文件適用于軍用軟件的管理部門、用戶、開發(fā)方和獨立的評估機構。

      1.5 GJB/Z 161-2012標準

      GJB/Z 161-2012《軍用軟件可靠性評估指南》是軍用軟件可靠性評估的指導性技術文件[10-11]。該指南規(guī)定了軍用軟件可靠性評估的基本要求和規(guī)程,并給出了軟件可靠性評估模型。對于有可靠性定量要求的軟件,該指南可用于指導在軟件可靠性增長測試過程中對軟件可靠性進行評估和預測,從而為測試管理提供依據(jù),也可以在使用中對軟件的可靠性進行評估。本標準的適用范圍是 “軟件開發(fā)過程中計算機軟件配置項測試、系統(tǒng)測試,以及軟件運行和維護階段進行軟件可靠性增長預計和評估”。因此,該指南可用于在軟件開發(fā)測試階段的后期進行可靠性的增長預計和評估,以評價是否達到預期的軟件可靠性指標要求,預測為達到預期的指標要求還需要開展的測試工作量;也可以在運行維護階段對軟件的可靠性進行評估。

      2 軟件可信性指南標準技術比較

      2.1 標準關注的軟件性能特性不同

      可信性是用于產(chǎn)品與時間相關性能特性的集合性術語,國際標準IEC 62628:2012考慮的是軟件可信性,即考慮了軟件包括可用性、可靠性、恢復性、維修性、維修保障性、耐久性、安全性和安保等各方面特性在內(nèi)的可信性。國家軍用標準針對的則是軟件可信性的某一方面,其中:GJB/Z 102A-2012考慮的是軟件的安全性和可靠性,GJB/Z 142-2004則僅考慮了軟件的安全性,GJB/Z 157-2011考慮的是軟件的安保特性,GJB/Z 161-2012考慮的是軟件的可靠性。因此,IEC 62628:2012更具有一般性和通用性;而國家軍用標準考慮的是軟件可信性的某一方面,更具有針對性。

      2.2 標準所適用的軟件生命周期階段不同

      在GB/T 11457-2006《信息技術 軟件工程術語》中,“軟件生存周期”的定義為:“當軟件產(chǎn)品從構思開始至軟件不再可用結束的時間周期。軟件典型的生存周期包括需求階段、設計階段、實現(xiàn)階段、測試階段、安裝和驗收階段、操作和維護階段,有時還包括退役階段[12]”。

      本文考慮的幾個標準,適用的軟件生存周期階段也有所不同。其中:IEC 62628:2012提供了軟件全生存周期實現(xiàn)軟件可信性的指南,GJB/Z 142-2004給出了在軟件全生存周期中實施軟件安全性分析的指南,GJB/Z 157-2011主要用于具有安保要求的軍用軟件全生存周期獲取軟件安全保證的指南,這3個標準都可用于軟件的全生存周期。其他兩個標準則適用于軟件的部分生存周期階段,如:GJB/Z 102A-2012主要用于軟件需求階段、設計階段和實現(xiàn)階段,規(guī)定了軍用軟件需求分析、設計和實現(xiàn)時的軟件安全性設計要求;GJB/Z 161-2012主要用于測試階段和操作維護階段,在這兩個階段對軟件的可靠性進行評估。

      2.3 標準內(nèi)容比較

      2.3.1 IEC 62628:2012標準的主要內(nèi)容

      IEC 62628:2012標準建立了關于軟件可信性需求的通用框架,提供了用于系統(tǒng)生命周期的軟件可信性過程,提出了軟件可信性設計和實施的保證準則和方法,并提供了軟件系統(tǒng)性能評估和可信性度量的實施方法。具體的內(nèi)容如下所述。

      a)軟件可信性概述,對軟件和軟件系統(tǒng)、軟件可信性和軟件組織、軟件和硬件可信性的關系、軟件和硬件的交互幾個方面進行了說明。

      b)軟件可信性工程和應用,明確了軟件可信性工程和應用的幾個方面,包括:系統(tǒng)生命周期框架、軟件可信性項目實施、軟件生命周期活動、軟件可信性屬性、軟件設計環(huán)境、建立軟件需求、軟件可信性目標、軟件故障的分類和軟件可信性實施策略,具體包括以下幾個方面的內(nèi)容。

      1)系統(tǒng)生命周期框架,應建立一個系統(tǒng)生命周期框架來指導產(chǎn)品開發(fā)和系統(tǒng)實施,框架用于定義系統(tǒng)壽命周期并管理系統(tǒng)壽命周期過程,IEC 60300-3-15標準描述了系統(tǒng)可信性工程和生命周期實施[13]。

      2)軟件可信性項目實施,在設計周期和系統(tǒng)生命周期的使用生命周期中,軟件工程活動應該與它們的硬件設備一起進行規(guī)劃、協(xié)調(diào)和管理,標準推薦了軟件項目實施時實現(xiàn)軟件可信性的程序。

      3)軟件生命周期活動,規(guī)定了軟件生命周期應包括以下活動,即:需求定義、需求分析、架構設計、詳細設計、實現(xiàn)、集成、驗收、操作和維護、軟件升級/提高、退役。

      4)軟件可信性屬性,軟件可信性屬性是軟件設計中固有的特性,主要的軟件可靠性屬性或內(nèi)在的軟件可信性特性有助于系統(tǒng)的可信性目標的實現(xiàn),應包括可用性、可靠性、維修性、恢復性和完整性、特定的應用程序相關性能屬性有助于系統(tǒng)可信性目標的實現(xiàn),應包括但不局限于安保、安全性、可操作性、可重用性、保障性和可移植性。

      5)軟件設計環(huán)境,依賴于一個有組織的過程,可促進良好的設計實踐,實現(xiàn)無錯誤的代碼生成,最小化需求定義中的錯誤,并確保軟件發(fā)布的測試驗證。軟件設計環(huán)境和實踐原則應包括在組織策略中,以建立和實現(xiàn)可信性的使命和目標。

      6)軟件需求和可信性目標,應該是整個軟件產(chǎn)品規(guī)格的一部分,與軟件需求相關的可信性活動具有特定的應用。在整個軟件生命周期中實現(xiàn)相關可信性活動的系統(tǒng)方法將確??煽啃阅繕说膶崿F(xiàn)。標準說明了軟件開發(fā)中應考慮的影響可信性實現(xiàn)的因素。

      7)軟件故障分類,提供了一種捕捉和分組相關軟件故障信息的手段,分類過程幫助軟件設計者發(fā)現(xiàn)不尋常的故障模式并進行整改。軟件故障可以被分為規(guī)范故障、設計故障、編程故障、編譯器插入錯誤或軟件維護期間引入的故障。同時,標準對軟件工程中軟件故障 (缺陷)數(shù)據(jù)分析常用的正交缺陷分類 (ODC)進行了說明。

      8)軟件可信性實施策略,一般包括軟件故障避免和軟件故障控制,標準推薦了軟件故障規(guī)避策略,包括故障預防和故障消除;推薦了軟件故障控制策略,包括容錯和故障/失效預測。

      c)軟件可信性應用方法,包括實現(xiàn)可信性的軟件開發(fā)實踐、軟件可信性度量和數(shù)據(jù)收集、軟件可信性評價和軟件可信性提高,具體包括以下幾個方面的內(nèi)容。

      1)實現(xiàn)可信性的軟件開發(fā)實踐,建議了在軟件開發(fā)過程中采用的故障避免和故障控制技術。

      2)軟件可信性度量和數(shù)據(jù)收集,其中:軟件可信性度量是軟件系統(tǒng)可信性特性的測量,以下軟件度量標準實際上是應用程序的行業(yè)標準,可用于軟件系統(tǒng)可信性評估,包括可用度、失效頻率、失效前時間、恢復時間、故障密度、功能點、代碼覆蓋率、故障消除率、殘余的軟件故障和軟件發(fā)布時間,以及軟件復雜性等;在軟件生命周期因各種原因應使用多種度量,為方便數(shù)據(jù)收集,將軟件度量分為3類,即:故障數(shù)據(jù)度量、產(chǎn)品數(shù)據(jù)度量和過程數(shù)據(jù)度量。

      3)軟件可信性評價,軟件可信性過程實現(xiàn)的目標是確保軟件系統(tǒng)開發(fā)的成熟度和可信性的實現(xiàn)。評估過程是一種使能機制,確保軟件需求驗證和系統(tǒng)性能結果中軟件可信性的確認。根據(jù)行業(yè)實踐,可信性評估過程應結合重要的軟件工程活動,并推薦了軟件可信性評估過程,包括:確定用戶需求和系統(tǒng)性能目標,形成可信性規(guī)范;建立軟件操作剖面;分配適用的可靠性屬性;進行可信性分析和評估,以確定可能的解決方案;進行軟件測試和測量;進行軟件驗證和軟件系統(tǒng)確認;執(zhí)行軟件可靠性增長和預測改善趨勢;評估評價結果并進行回饋。標準描述了上述軟件可信性評價過程中的具體活動。

      4)軟件可信性的提高,可以通過在軟件設計方面的改進、可靠性增長測試,或者通過包括軟件提高在內(nèi)的、為客戶提供的支持服務來實現(xiàn)。其中,軟件設計目標主要集中在以下方面:可測試性,有利于軟件功能的驗證;模塊化,有利于故障隔離和控制;維修性,有利于軟件生命周期的修改。為了軟件的提高和實施,標準提供了與軟件可信性設計和推薦技術相關的實用方法,包括以下幾個方面:軟件復雜性簡化,復雜性又可分為結構復雜性和功能復雜性;軟件故障容錯,包括故障隔離、故障檢測、故障恢復、設計多樣性;軟件互操作性;軟件復用;軟件維護和提高,軟件維護又可分為修正性維護、適應性維護、改善性維護和預防性維護;軟件文檔,包括結構和設計文檔、技術文檔、用戶文檔和營銷文檔;自動化工具;技術支持和用戶培訓等。

      d)軟件保證,是指計劃性和系統(tǒng)性的活動,確保軟件生命周期過程和產(chǎn)品符合需求、標準和規(guī)程。軟件保證一般包括質(zhì)量、可靠性、安全性和安保,連同軟件產(chǎn)品開發(fā)和系統(tǒng)運行相關的技術準則。軟件保證利用風險評估、驗證、確認測試、文檔化和維護審計記錄作為客觀證據(jù),并利用相關的基于項目的度量數(shù)據(jù)來監(jiān)控軟件產(chǎn)品和相關過程,以實現(xiàn)可能的改進。同時,標準提供了軟件保證相關的剪裁過程、技術影響和最佳實踐。

      IEC 62628:2012標準的顯著特點應為標準的“全面性”,這里的全面性主要體現(xiàn)在以下5個方面:可信性特性的全面性,標準考慮了包括可用性、可靠性、恢復性、維修性、維修保障性、耐久性、安全性和安保等各方面特性在內(nèi)的所有可信性特性;軟件生存周期階段的全面性,標準考慮了軟件的全壽命周期階段,包括需求階段、設計階段等全部生存周期階段;軟件可信性相關概念的全面性,標準對軟件、軟件系統(tǒng)、軟件可信性、軟件組織、軟件生命周期活動、軟件可信性屬性、軟件故障分類和軟件可信性度量,以及軟件度量等都進行了定義或描述;實現(xiàn)軟件可信性方法的全面性,標準提供了包括軟件可信性工程和應用、軟件可信性應用方法和軟件保證在內(nèi)的比較全面的實現(xiàn)軟件可信性的方法。綜上,IEC 62628:2012標準是一個完整的軟件可信性指南標準,其應作為軟件可信性的基礎性標準。

      2.3.2 GJB/Z 102A-2012標準的主要內(nèi)容

      GJB/Z 102A-2012主要用于軍用軟件安全性設計,規(guī)定了軟件安全性設計的一般要求和詳細要求。具體的內(nèi)容如下所述。

      a)一般要求包括了軟件安全性工作的通用要求 (包括軟件安全性工作貫穿于軟件生存周期全過程等)、外購 (協(xié))或重用軟件的要求 (外購或外協(xié)軟件應按標準要求進行管理并進行安全性分析和評價,重用軟件應分析其適用性并分析其安全性影響)、工具的驗證要求 (安全的關鍵軟件開發(fā)過程中使用的影響可執(zhí)行代碼的軟件工具應經(jīng)過安全性驗證)。

      b)詳細要求則提供了軟件需求分析、軟件設計和軟件實現(xiàn)時的軟件安全性設計指南,具體包括以下內(nèi)容。

      1)軟件需求分析階段,明確了軟件安全性需求的來源 (專用的安全性需求、通用的安全性需求),規(guī)定了需求規(guī)格說明中應明確標識軟件安全關鍵功能 (簡單的軟件可采取簡單的分析方法,對于比較復雜的軟件可利用FTA、FMECA等方法找出軟件安全的關鍵功能),針對安全的關鍵功能應重點分析 (包括:安全運行模式、運行狀態(tài)與安全條件、容錯和容失效、危險命令處理、接口、數(shù)據(jù)、定時、吞吐量和規(guī)模等),并提出了安全保證措施要求 (包括采用冗余、降級處理、故障處理與恢復和降級運行等)。

      2)軟件設計階段,通過設計消除已標識的危險或降低相關的風險,明確了安全性設計的基本考慮 (包括:功能分配、程序接口、故障檢測、恢復和安全保護、繼承的或重用的軟件和現(xiàn)貨軟件、性能和余量、可追蹤性、可測試性等),以及配合硬件或系統(tǒng)設計、容錯和容失效的設計、接口設計(與硬件相關的接口軟件設計、軟件模塊間接口設計和人機界面設計)、通訊設計、數(shù)據(jù)安全性設計、中斷設計、模塊設計、定時吞吐量和規(guī)模的余量設計、防錯設計、自檢查設計、異常保護設計應考慮的事項。

      3)軟件實現(xiàn)階段,為了保證軟件實現(xiàn)的安全性,要求軟件編制時應遵循相應的編制規(guī)范,并規(guī)定了軟件編程的通用要求,包括:編程語言通用要求、軟件復雜性控制、注釋要求與方法、指針使用、多作物的處理和其他要求等;編制完成后應進行代碼驗證工作,驗證軟件正確地實現(xiàn)了經(jīng)過驗證的設計且不違反安全性需求,代碼驗證的方法包括代碼邏輯分析,代碼數(shù)據(jù)分析,代碼接口分析,未使用代碼分析,中斷使用分析,定時、吞吐量和規(guī)模分析,以及代碼審查等方法。

      GJB/Z 102A-2012標準的側(cè)重點是軟件的 “安全性設計”,標準中的許多設計要求,都是以慘痛的教訓甚至是血的教訓換來的,被要點釋義為具體的設計準則,并結合以往出現(xiàn)的典型案例,在實際工程中廣泛地應用并發(fā)揮著重要的作用,標準的執(zhí)行是否到位將直接影響著軟件安全性水平的高低。

      2.3.3 GJB/Z 142-2004標準的主要內(nèi)容

      GJB/Z 142-2012給出了在軟件生存周期中實施軟件安全性分析的指南。軟件安全性分析的目的是通過獲取和評估軟件安全性的相關信息,保證系統(tǒng)安全性質(zhì)量。標準規(guī)定了軟件安全性分析的應用原則和剪裁準則、軟件安全性分析的組織、軟件安全性分析的支持、軟件安全性分析準備、軟件安全性分析任務和軟件安全性分析報告6個方面,具體包括以下內(nèi)容。

      a)軟件安全性分析的應用原則,明確了軟件安全性分析是系統(tǒng)安全性分析的組成部分,應與系統(tǒng)安全性分析密切結合、協(xié)調(diào)一致等;關于剪裁準則,則說明了安全完整性級別應作為剪裁的主要依據(jù)等。

      b)軟件安全性分析的組織,規(guī)定了軟件安全性分析在管理、基礎設施、改進和培訓4個方面的要求。

      c)軟件安全性分析的支持,提出了軟件安全性分析在文檔編制 (文檔的內(nèi)容、文檔的形式)、配置管理、質(zhì)量過程 (質(zhì)量過程的配置、質(zhì)量過程的獨立性)和問題解決4個方面的要求。

      d)軟件安全性分析準備,是進行軟件安全性分析前對軟件所在的系統(tǒng)進行初步的分析,明確了作為軟件安全性分析的準備,應包含如下任務:概念分析和系統(tǒng)范圍確定、初步危險和風險分析、系統(tǒng)需求安全性分析、系統(tǒng)安全性需求分配、軟件的安全性需求分配。

      e)軟件安全性分析任務,明確了軟件安全性分析任務應包括以下7個方面:軟件需求安全性分析、軟件結構設計安全性分析、軟件支持工具和編程語言安全性分析、軟件詳細設計安全性分析、軟件編碼安全性分析、軟件測試安全性分析和軟件變更安全性分析,并規(guī)定了各個任務的具體的工作項目。

      f)軟件安全性分析報告,規(guī)定了軟件安全性分析報告應包括安全性環(huán)境、軟件安全性保證、軟件安全性證據(jù)、軟件殘留風險及控制4個方面,并對各個方面應包括的內(nèi)容提出了具體的要求。

      GJB/Z 142-2004認為軟件安全性分析是對和軟件安全性相關的特定信息進行的系統(tǒng)而有序的獲取和評價過程,給出了在軟件全生存周期中實施軟件安全性分析的指南。

      2.3.4 GJB/Z 157-2011標準的主要內(nèi)容

      GJB/Z 157-2011規(guī)定了獲取軟件安全保證的一般過程和對安全保證過程的技術要求,包括5個方面,具體的內(nèi)容如下所述。

      a)安全保證框架 (SAF),包括框架模型、框架的描述結構和框架的應用。組織良好的軟件過程更容易產(chǎn)生可重復的安全保證,在軟件生存周期中應持續(xù)積累保證證據(jù)和建立保證舉證,這些安全保證活動應以一個有序的活動框架組織起來。標準提出的軟件SAF包含了為獲取軟件安全保證需要完成的安全保證活動,描述了提供安全保證的過程應具有的特征,SAF由獲取安全保證需要考慮的4個過程類及其所包含的11個過程組成。

      b)風險評估過程類 (CRA),由于風險是由威脅、脆弱性和影響3個必要部分組成,因此CRA包括評估威脅、評估脆弱性、評估影響和評估安全風險4個過程。

      c)開發(fā)過程類 (CDV),包括確定安全需求和設計實現(xiàn)安全控制兩個過程。使用CRA所描述的風險過程的信息和關于軟件系統(tǒng)需求、相關法律、政策的其他信息,安全組人員就可以與用戶一起來確定安全需求。一旦該需求被確定,就可以確定和跟蹤特定的安全需求。為了滿足特定的安全需求,設計實現(xiàn)安全控制一般包括確定可能選擇的方案,然后評估決定哪一種方案更能被接受。一旦確定特定的安全解決方案,就可以開始進行相應安全控制的軟件實施。

      d)實施過程類 (CCO),包括實施安全控制和監(jiān)視安全狀況兩個過程。軟件開發(fā)后,首先,應保證將其完整地、不被修改地交付給用戶;其次,在軟件交付后,應根據(jù)識別出來的風險來適當?shù)嘏渲密浖?,以確保開發(fā)的安全控制有效地實施,并且不會引入新的風險導致軟件運行處于不安全狀況。在實施安全控制的同時,還應不斷地監(jiān)視安全狀況,分析安全變化和突發(fā)事件,并進行響應。如有必要,可再次啟動風險分析和開發(fā)過程,從而對安全控制進行更新。

      e)保證獲取過程類 (CAA),主要涉及到與安全相關證據(jù)的產(chǎn)生,包括驗證和確認安全、協(xié)調(diào)和支持保證、建立保證舉證3個過程。安全驗證和確認在建立軟件的保證證據(jù)中起著主要的作用。SAF中其他所有的過程提供的工作產(chǎn)品可作為證據(jù)或證據(jù)的一部分。協(xié)調(diào)和支持保證一方面對其他過程起到協(xié)調(diào)和支持的作用,同時也提供間接的安全保證證據(jù)。建立保證舉證過程的主要作用是積累保證證據(jù)以建立軟件安全保證舉證。

      在軟件系統(tǒng)中,安全功能和安全保證是安全性的 “一體兩面”。對于在安全方面有特殊要求的軟件,在實現(xiàn)安全功能時,不應忽視安全保證。為了提升軟件的安全性,應將一系列的保證活動有機地集成到軟件開發(fā)者通常使用的軟件過程中。GJB/Z 157-2011是為了讓用戶確信軟件已滿足了其安保特性要求,這正是軟件安全保證需要解決的問題。

      2.3.5 GJB/Z 161-2012標準的主要內(nèi)容

      GJB/Z 161-2012主要用于軍用軟件可靠性評估,規(guī)定了軟件可靠性評估的一般要求、軟件可靠性評估規(guī)程,給出了3類軟件可靠性模型,推薦了7個典型的模型。具體的內(nèi)容如下所述。

      a)軟件可靠性評估的一般要求,包括以下6項:評估目的、評估時機 (測試階段、使用階段)、評估規(guī)程建立、評估數(shù)據(jù)要求 (數(shù)據(jù)包括失效時間數(shù)據(jù)和失效計數(shù)數(shù)據(jù))、評估結果 (失效率、MTTF等)、評估結果的有效性確認 (失效數(shù)據(jù)的有效性、模型預計的有效性)。

      b)軟件可靠性評估規(guī)程,包括以下9個步驟(可根據(jù)項目的具體情況合并或剪裁):失效定義、運行環(huán)境特性描述、測試、數(shù)據(jù)收集、失效數(shù)據(jù)趨勢分析、軟件可靠性模型選擇、模型參數(shù)估計、模型確認、可靠性估計和預計。

      c)軟件可靠性模型,給出了3類軟件可靠性模型,推薦了7個典型的模型,包括:指數(shù)型NHPP模型類,推薦模型為Schneidewind模型、廣義指數(shù)模型和Jelinski/Moranda模型 (為廣義指數(shù)模型的代表);非指數(shù)型NHPP模型類,推薦模型為Musa/Okumoto對數(shù)泊松執(zhí)行時間模型、Duane模型和Yamada的S形模型;貝葉斯模型類,推薦模型為Littlewood/Verrall模型。

      IEC 62628:2012標準的第6.3節(jié)給出了關于軟件可信性評估的一般性的方法,同時,在標準的附錄H中給出了幾種常用的軟件可靠性模型的選擇和應用方法。GJB/Z 161-2012標準僅適用于軟件可靠性評估,給出了專用針對軟件可靠性評估的基本要求和具體規(guī)程,以及軟件可靠性評估模型等,為軍用軟件在軟件配置項測試、系統(tǒng)測試及運行和維護中收集失效數(shù)據(jù)、開展軟件可靠性評估提供了指南。需要特別指出的是,在研制階段對軟件進行有效的可靠性評估,通常需要開展軟件可靠性測試,即基于操作剖面的軟件測試,根據(jù)軟件可靠性測試得到的軟件失效數(shù)據(jù)應用合適的軟件可靠性模型進行軟件可靠性評估。

      3 結束語

      本文對常用的軟件可信性領域的指南標準進行了分析比較,主要從標準所關注的軟件性能特性、標準所考慮的軟件生命周期階段和標準的技術內(nèi)容等幾個方面進行了比較,其中:IEC 62628:2012考慮的是軟件的可信性,即考慮了軟件可信性各個方面的特性,建立了關于軟件可信性需求的通用框架,提供了用于系統(tǒng)生命周期的軟件可信性過程,提出了軟件可信性設計和實施的保證準則和方法,并提供了軟件系統(tǒng)性能評估和可信性度量的實施方法,但該國際標準目前國內(nèi)尚未采標,為了使該標準給國內(nèi)軟件可信性工程提供參考,建議應盡快開展標準的國內(nèi)采標工作。關于軟件安全性、安保和可靠性某方面的特性已有一些專門的標準,但尚缺少關于軟件的可用性、恢復性、維修性和維修保障性等方面的指南標準;另外,從標準所關注的軟件生命周期階段來看,部分標準考慮了需求階段、設計階段、實現(xiàn)階段、測試階段和操作維護階段的軟件可信性,但關于軟件退役階段的可信性則少有考慮,建議可開展該類標準的研究工作。

      猜你喜歡
      軟件可靠性可信性安全性
      可變情報板發(fā)布內(nèi)容可信性檢測系統(tǒng)探究
      基于可信性的鍋爐安全質(zhì)量綜合評價研究
      新染料可提高電動汽車安全性
      某既有隔震建筑檢測與安全性鑒定
      在區(qū)間上取值的模糊變量的可信性分布
      軟件可靠性工程綜合應用建模技術研究
      Five golden rules for meeting management
      ApplePay橫空出世 安全性遭受質(zhì)疑 拿什么保護你,我的蘋果支付?
      數(shù)控系統(tǒng)軟件可靠性設計與故障分析技術
      Imagination發(fā)布可實現(xiàn)下一代SoC安全性的OmniShield技術
      杭锦后旗| 哈密市| 孝感市| 永平县| 兴安盟| 威海市| 固原市| 莲花县| 庆城县| 余庆县| 安庆市| 武汉市| 大理市| 栖霞市| 囊谦县| 尉犁县| 浮山县| 宣汉县| 海丰县| 长阳| 和龙市| 绥江县| 永清县| 营口市| 三门峡市| 连平县| 卓尼县| 那曲县| 务川| 琼海市| 丹凤县| 南丹县| 共和县| 黑山县| 普安县| 南康市| 滕州市| 民权县| 屯留县| 隆林| 崇明县|