軟件安全性論文_第1頁
軟件安全性論文_第2頁
軟件安全性論文_第3頁
軟件安全性論文_第4頁
軟件安全性論文_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、軟件安全性淺析前言現(xiàn)今,軟件安全性已成為一個越來越不容忽視的問題,提起它,人們往往 會想起一連串專業(yè)性名詞:“系統(tǒng)安全性參數(shù)”、“軟件事故率”、“軟件安全可靠 度”、“軟件安全性指標”等等,它們可能出現(xiàn)在強制的規(guī)范性文檔中的頻率比較 多,但卻不一定能在開發(fā)過程中吸引開發(fā)者的眼球。幾乎每一個程序員都或多或 少的在項目維護時遭遇過自己軟件的安全性bug,這種經(jīng)歷使我們有幸在一個設 計嚴謹而又性能良好的系統(tǒng)平臺上工作時,我們都會對其大為感嘆:那真是一 段很棒的代碼!”這是因為,專業(yè)的軟件設計開發(fā)人員會重視軟件的安全性,不 僅僅把它當做是書面字眼。在這里本文將通過對軟件安全性概念的引入,以及對 軟件安

2、全性各階段的任務的介紹和如何通過軟件測試來驗證是否完成了軟件安 全性目標,較全面的闡述軟件安全性對軟件質(zhì)量起的重要作用。首先,我們從加 固對軟件安全性的認識開始。一、 軟件安全性分析的重要性安全性分析(safety analysis)是一種系統(tǒng)性的分析,應在研發(fā)過程的早 期開始進行,用于確定產(chǎn)品在每一個使用模式中執(zhí)行其功能的方式,識別潛在的 危險,預計這些危險對人員及(或)設備可能造成的損害,并確定消除危險的方 法。其中一項重要內(nèi)容是“軟件安全性分析”,這是對軟件程序進行的一種分析, 以保證程序在其設計的運行環(huán)境中,不會引起(或可以容忍的小概率引起)或誘 發(fā)對人員或設備的危害。例如多級火箭一級

3、點火、二級點火指令如果錯了,火箭 就會失敗。但只要對火箭指令及傳遞機構采取足夠的防錯設計,錯發(fā)指令的概率 就可以小到能容忍的程度。在軟件和信息系統(tǒng)的開發(fā)過程中,由于技術難度高,項目復雜,開發(fā)周期 短而帶來的一系列困難,潛伏安全性隱患的幾率其實是很大的。現(xiàn)代化的軟件本 身變得越來越復雜,開發(fā)一個軟件產(chǎn)品或一個大型系統(tǒng)所需要依靠的技術也越來 越多樣化,需要考慮的問題也越來越多,例如,我們需要在研發(fā)開始前就確定好 軟件系統(tǒng)能夠承受的出事概率。很多軟件開發(fā)的組織由于沒有掌握和利用必要的 控制軟件安全性的技術,無法妥善解決相應的問題,把時間耗費在事后補救上, 使得開發(fā)的效率大為降低產(chǎn)品的質(zhì)量大打折扣,甚

4、至因為某個關鍵錯誤的發(fā)生, 導致產(chǎn)品的信譽度降低,更嚴重的結果則會導致生命財產(chǎn)安全的損失。如果你發(fā) 現(xiàn)有關安全性的要求已經(jīng)出現(xiàn)在安全相關軟件的合同書或任務書中,并提出軟件 安全性分析的范圍和要求,那么說明你們已經(jīng)開始了進行軟件安全性分析的準 備。二軟件安全性分析的指導原則我們將軟件安全性分析作為一項目標明確的項目去做,從管理的角度分為 五個階段,每個階段有不同的任務需要完成。如下圖:啟動和范圍確定:在安全相關軟件的合同或任務書中應提出軟件安全性分 析的范圍和要求。實施方明確責任,管理者檢查必備的資源(包括人員、技術、 基礎設施和時間安排),確保軟件安全性分析的開展;策劃:軟件安全性分析管理者應

5、制定安全性分析計劃,該計劃可作為所屬 軟件過程或活動的計劃的一部分。執(zhí)行和控制:管理者應監(jiān)控由軟件安全性分析計劃規(guī)定的任務的執(zhí)行。管 理者應控制安全性分析進展并對發(fā)現(xiàn)的問題進行調(diào)查、分析和解決(解決方案有 可能導致計劃變更)。評審和評價:管理者應對安全性分析及其輸出的軟件產(chǎn)品進行評價,以便 使軟件安全性分析達到目標,完成計劃。結束(收尾階段):管理者應根據(jù)合同或任務書中的準則,確定軟件安全性 分析的是否完成,并應核查軟件安全性分析中產(chǎn)生的軟件產(chǎn)品和記錄是否完整。啟動和范圍確定策劃執(zhí)行和控制評審和評價結束(收尾階段)終上所述,我們將軟件安全分析在一個典型的項目中各個階段所要做的工 作做了一個總結

6、,你可以看到軟件安全分析在各階段的重點是什么。我們在實際 工作中,則要調(diào)動所有有關人員,努力完成各階段的任務。三、軟件安全性分析的任務根據(jù)上面所總結的各階段需要做的安全分析重點,我們可以總結出以下七 種需要做的工作。在這里為拋磚引玉,再對相應的一些分析技術作一些介紹:軟件需求安全性分析對分配給軟件的系統(tǒng)級安全性需求進行分析做軟件需求安全性分析的目的是要保證規(guī)定必要的軟件安全功能和軟件安 全完整性。我們需要根據(jù)軟件安全性分析準備的結果和系統(tǒng)的初步結構設計文檔,包 括系統(tǒng)分配的軟件需求、接口需求,產(chǎn)生后續(xù)軟件安全分析的輸入信息,和對后 續(xù)的軟件設計和測試的建議。軟件結構設計安全性分析一一價結構設計

7、的安全性,以保證軟件安全功能的完整性結構設計安全性分析的目的是將全部軟件安全性需求綜合到軟件的體系結 構設計中,確定結構中與安全性相關的部分。軟件結構設計安全性分析可產(chǎn)生后續(xù)軟件安全性分析的輸入信息,可提出 對后續(xù)的軟件設計和測試的建議。應當在軟件結構設計評審中評審軟件結構設計 安全性分析的結果,并將之提供給進行中的系統(tǒng)安全性分析活動。編程軟件安全性分析一一的編程語言所有編程語言無論在其定義還是在其實現(xiàn)中都有其不安全性。計算機語言 的發(fā)展趨勢證明,新的編譯語言總是會修正老一代語言的不足之處。程序員可能 會誤解語言構造的作用,而對這些誤解,一些相對開放的語言又缺乏相應的解釋。 現(xiàn)舉例如下:a)未

8、初始化的變量。除非進行特別的檢查,否則單元測試不會發(fā)現(xiàn)他們。 而這將導致,一個程序在不同的環(huán)境下雖然運行成功,但運行結果卻不是期望值。b)當要求重新分配存儲器的調(diào)用時應予以檢查,以確保不僅釋放指針而且 釋放該結構所用的存儲器。c)運算符優(yōu)先級的規(guī)則。如果某種語言有精確的定義(也有完備的功能性),從邏輯上是清晰的,有 易管理的規(guī)模和復雜度,那么就認為這個語言適用于安全相關性軟件。當選擇編 程語言時,應闡明選擇該語言的理由。如果一種編程經(jīng)驗或編程風格因為能夠提高軟件安全性而被公認為專用性 編碼標準,我們可以選擇這樣一種編碼標準來約束我們對不安全語言的使用。編 程標準應經(jīng)過評審,確定其可以用于所有安

9、全相關軟件的開發(fā)。MISRA協(xié)會在 1994年發(fā)布了它的軟件開發(fā)指南,在其中特別指出了為考慮安全集成度而做出 的語言、編譯器和語言特性的選擇。MISRA要求使用標準化結構化語言的受 限子集,其對語言檢查的嚴格性已經(jīng)使該規(guī)范應用在一些安全要求很高的系統(tǒng) 代碼上。軟件詳細設計安全性分析一一設計實現(xiàn)是否符合安全性要求軟件詳細設計將進一步細化高層的體系結構設計,將軟件結構中的主要部 件劃分為能獨立編碼、編譯和測試的軟件單元,并進行軟件單元的設計。在這一階段中,我們需要依據(jù)軟件需求、結構設計描述、軟件集成測試計 劃和之前所獲得的軟件安全性分析的結果,對軟件的設計和實現(xiàn)階段是否符合軟 件安全性需求進行驗證。相關軟件單元應進一步細化設計以便于編碼。所以,我們應該分析:a)軟件詳細設計是否能追溯到軟件需求;b)軟件詳細設計是否已覆蓋了軟件安全性需求;c)軟件詳細設計是否與軟件結構設計保持了外部一致性;d)軟件詳細設計是否滿足模塊化、可驗性、易安全修改的要求。軟件詳細設計是直接關系到編碼的關鍵一環(huán),軟件詳細設計安全性分析更 相關整個軟件

溫馨提示

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

評論

0/150

提交評論