軟件設計中的安全設計_第1頁
軟件設計中的安全設計_第2頁
軟件設計中的安全設計_第3頁
軟件設計中的安全設計_第4頁
全文預覽已結(jié)束

下載本文檔

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

文檔簡介

1、軟件設計中的安全設計摘要:如今,形形色色的安全問題已經(jīng)被全球矚目,如何保障資料的安全是大家關心的問題。軟件作為計算機用戶常用工具,必需具備一定的安全性。提起安全,人們往往會想起一連串專業(yè)性名詞:”系統(tǒng)安全性參數(shù)”、“軟件事故率”、“軟件安全可靠度”、“軟件安全性指標”等等,它們可能出現(xiàn)在強制的規(guī)范性文檔的頻率比較多,但卻不一定能在設計過程中吸引開發(fā)者的眼球。當我們在一個嚴謹而平穩(wěn)的軟件平臺上操作時,我們不禁會稱贊這個平臺。一個專業(yè)、有素質(zhì)的軟件設計開發(fā)者必定會將軟件安全性作為軟件設計時一個重要指標。在這里本文將通過對軟件安全性概念的引入,以及如何通過軟件測試來驗證是否完成了軟件安全性的設計目標

2、,較全面的闡述軟件設計中安全方面考慮的重要性和方法。關鍵詞:軟件設計安全分析一、軟件安全性概念以及作用軟件設計階段通常包括軟件概要設計階段和軟件詳細設計階段,概要設計階段中也包含需求階段。當軟件規(guī)模較小時也可以將而這合并為一個階段,該階段的主要安全性工作是進行軟件安全性設計。止匕外,隨著軟件細節(jié)的展開,還要進一步展開安全性分析以發(fā)現(xiàn)新的危險,補充軟件安全性需求。軟件設計中的安全設計應該包括需求階段和詳細設計階段的分析。需求階段要求對分配給軟件的系統(tǒng)級安全性需求進行分析,設計人員要對系統(tǒng)初步結(jié)構(gòu)設計文檔和軟件安全性分析準備,其中包括接口、軟件等需求的分析,完成系統(tǒng)安全性需求的映射,有了這些,設計

3、人員才有把握對系統(tǒng)做出綜合的分析,從而更好地設計軟件安全方面的配置;詳細設計階段要求分析設計實現(xiàn)是否符合安全性要求,詳細設計階段是進一步細化代碼的階段,這部分的詳細設計安全性分析是整個相關整個軟件安全的關鍵,經(jīng)過長期的驗證,已經(jīng)有了一些參考參數(shù):設計邏輯分析、設計約束分析和復雜性多度量,它們分別是要評價軟甲設計的方程式、算法等,要用給出的約束評價軟件在這些約束下運行的能力,還要利用McCabe或Halstead等這樣一些復雜性評估技術來標示出需要進一步改進的區(qū)域。對于計算機系統(tǒng)來說,軟件的安全性設計可以保證程序在其設計的運行環(huán)境中,不會引起(或可以容忍的小概率引起)或誘發(fā)對人員或設備的危害。例

4、如多級火箭一級點火、二級點火指令如果錯了,火箭就會失敗。但只要對火箭指令及傳遞機構(gòu)采取足夠的防錯設計,錯發(fā)指令的概率就可以小到能容忍的程度。如果各關鍵項目的開發(fā)單位能從軟件安全性這方面重視“安全”這個題目,那么項目的安全性鏈條就不會輕易地由于諸如小數(shù)點錯位的原因而斷開。二、設計中安全性的目標SimsonGarfinkel和GeneSpafford給出定義:“假如你能夠依靠一臺計算機和它上面的軟件做出你期待的行為,就說它是安全的”。安全性設計的目標是實現(xiàn)最小風險設計,其中風險包括軟件軟件缺陷產(chǎn)生的風險、用戶操作產(chǎn)生的風險、費用風險和進度風險。降低這些風險的軟件安全設計原則如下:(1)降低軟件和接

5、口的復雜性;(2)對安全性關鍵等級高的模塊,應使用更有針對性的設計方法,以降低其失效的發(fā)生;(3)對高風險的部分,提供更多的資源(時間、技術考慮等);(4)重視人因安全性,強調(diào)用戶使用安全設計而非用戶使用友好設計;(5)設計時應考慮測試性。為落實以上原則,還要從分析、設計、驗證三方面開展安全性工作。同時要在設計階段或更早階段,選擇好編程語言、編碼規(guī)范、開發(fā)工具和操作系統(tǒng)以更好地保證軟件安全性。安全性的目標也是保證用戶能夠安全操作不發(fā)生錯誤,并且保證用戶資料不外泄。在設計軟件的過程中,應該注意保證操作界面的友好,保證軟件的保密性。研究者曾經(jīng)提出安全交互設計的原則:(1)用戶能夠清楚理解授權過程,

6、明確過程中的操作;(2)影響安全決定的用戶交互界面應該便于檢查;(3)在任何時候都應該答應撤銷做出的安全授權;(4)用戶界面不應該讓用戶誤以為擁有實際上沒擁有的權限;(5)用戶與授權實體之間的通訊渠道必須是不能被欺騙和不輕易癱瘓的;(6)確認實體與確認操作在界面上應該與其他實體和操作不同;(7)交互界面應該提供足夠的表達能力讓用戶輕易按照自己的目標表達安全決定;(8)在動作生效前應該讓用戶清楚授權操作的結(jié)果?,F(xiàn)在計算機的構(gòu)件都被標注成可信的,可信不是一個yes或者no的問題,不明確下述問題,“可信”這個詞是沒有任何意義的。這些問題是:(1)“誰被信任?"(2)“被信任做什么?&quo

7、t;(3)“什么條件下不可信?"(4)“應對的安全風險是什么?”。三、軟件設計階段安全性分析設計階段的安全性分析主要為發(fā)現(xiàn)新的潛在危險,以及識別關鍵軟件部分和單元。隨著軟件設計工作的開展,可以對需求分析階段的安全性工作進行更新,從而發(fā)現(xiàn)新的危險;通過部件/單元關鍵性分析可以識別安全性關鍵部件和單元,從而加強該部件/單元的安全性設計。合適的開展時間是,在軟件概要設計階段開始,在軟件概要設計、詳細設計工作開展的同時開展,至軟件詳細設計完成時結(jié)束。安全性分析階段的主要工作內(nèi)容分為以下兩點:(1)更新需求階段的軟件安全性分析。早期在軟件安全性獲取過程中進行的分析因為缺少細節(jié)只是一個開始,在此

8、階段可以繼續(xù)進行,以發(fā)現(xiàn)新的軟件危險,如繼續(xù)開展初步危險分析,定時、規(guī)模和吞吐量分析,軟件故障樹分析、軟件失效模式和影像模式、控制流分析、信息流分析、需求關鍵分析等。(2)進行部件/模塊安全性關鍵性分析。在需求關鍵性分析的基礎上,將軟件安全性需求分配到不同的軟件層次,如操作系統(tǒng)、設備驅(qū)動程序、應用程序、應用程序接口等,然后再映射到相應的設計部件/模塊中并標識安全性關鍵部件/模塊,以更有重點地開展后續(xù)的安全性工作。四、安全性設計軟件工程需建立以后,常規(guī)有效的設計方法包括結(jié)構(gòu)化設計法、模塊化設計法、自頂向下設計法、程序邏輯構(gòu)造法、偽碼等設計方法;為解決軟件可靠性問題,又可以從避錯設計、差錯設計、改

9、錯設計和容錯設計等方面進行軟件可靠性設計。常規(guī)方法和可靠性方法的應用都可以提高軟件的安全性。軟件安全性設計工作主要在軟件設計階段開展,至軟件設計完成時結(jié)束、它應和常規(guī)設計緊密結(jié)合,貫穿在軟件設計過程始終。軟件安全設計的的主要內(nèi)容和要求如下:(1)所有的軟件安全性功能需求應落實在軟件設計中;(2)應采用適當?shù)陌踩栽O計準則開展相應的安全性設計活動;(3)采用的軟件設計應具有可測試性,即能對軟件安全性特征和安全性需求進行徹底的測試;(4)應將實現(xiàn)安全性需求或者可能通過失效或其他機制影響安全性要素的設計要素指定為安全性關鍵的;(5)設計文檔應明確標識出所有安全性關鍵的設計要素;(6)軟件設計應將安全

10、性關鍵的設計進行模塊化,以滿足實際應用的需要。五、軟件設計階段安全性驗證設計階段軟件安全性驗證的目的是確保軟件安全性需求正確和全面的子部件/模塊中落實實。開展軟件安全性驗證的時機是在軟件安全性設計完成之后啟動,在編碼工作開始之前完成。軟件安全性驗證的內(nèi)容分為以下幾點:(1)軟件安全性人員應對軟件設計通過分析進行安全性驗證。(2)分析驗證方法應記錄在軟件安全性計劃中。(3)分析驗證方法應至少包括如下內(nèi)容:應驗證軟件設計滿足上述的安全設計的原則;應驗證軟件設計不違反任何安全性控制措施或過程,且所有的附加的危險、危險原因和危險的貢獻都被記錄下來,以及在任何運行模式中,安全性設計都能將系統(tǒng)維持在某個狀態(tài)中。該分析驗證至少要考慮到一些常見的驗證示例,比如時間約束、硬件失效、容錯、并發(fā)性等。應使用安全性分析(如初步危險分析、失效模式和影響分析、故障樹分析等)確定用于防止、減輕或控制失效和故障的設計特征,以及所包含的失效/故障

溫馨提示

  • 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

提交評論