試析軟件開發生命週期各階段的應用軟件安全性測試

學識都 人氣:3.18W

論文關鍵詞:網絡應用軟件 軟件開發生命週期OSD動 安全性測試 項目設計 單元測試 集成測試 驗收側試

試析軟件開發生命週期各階段的應用軟件安全性測試

論文摘要:文章論述了軟件開發生命週期中每個階段添加的一系列關泣安全性的活動,提出將安奮瀏試整合到軟件開發生命週期中,分析了軟件安全性瀏試片祠試人員的要求,並以一個SQL注入實例來具體說明安全性瀏試在軟。

信息網絡安全事件發生比例的不斷攀升、病毒利用軟件漏洞猖狂地傳播使得人們越發認識到信息安全的重要性。一般認爲,傳統的信息安全技術可以藉助防火牆(包括軟件和硬件防火牆)審覈通過網絡的報文、限定用戶的訪問權限等來防止非授權用戶對重要數據的訪問,但是這一觀點是建立在軟件安全基礎上的。網絡應用軟件需要暴露在網絡環境下,並且授權外部用戶可以透過網絡來訪問此軟件。通過網絡,攻擊者有機會接觸到軟件,如果軟件本身存在漏洞,那麼所有的防火牆就形同虛設。暴露於網絡的應用軟件往往成爲被攻擊的目標,是網絡應用軟件安全的重災區。美國國家標準與技術研究院(NIST)2002年的一項研究表明,美國花費在軟件缺陷方面的費用達到595億美元。公安部2008年全國信息網絡安全狀況與計算機病毒疫情調查分析報b說明,在發生的安全事件中,未修補或防範軟件漏洞仍然是導致安全事件發生的最主要原因。

1安全測試的定義

安全測試是鑑別信息系統數據保護和功能維護的過程。安全測試需要涵蓋的6個基本安全概念是:保密性、完整性、權限(身份驗證)、授權(權限分配)、可提供性、不可抵賴性陰。軟件開發商都存在解決安全威脅方古的問題。對軟件開發商來說,安全性是其核心要求,這是由市場力量所驅動,也是由保護關鍵基礎結構及建立和保持計算的廣泛信任的需要所決定的。所有軟件開發商面對的.一個主要挑戰就是創建更加安全的軟件,使其不需要頻繁地通過修補程序進行更新。軟件安全已經成爲評判軟件質量的一個重要標準,軟件安全測試則成爲保證軟件產品能夠符合這一標準的重要手段。軟件的安全性測試主要是測試在正常和非正常情況下,軟件能否對數據進行安全有效的操作。

2軟件開發生命週期流程(參見圖1)

對於軟件行業來說,要滿足當今提升安全性的需要,軟件供應商必須轉爲採用一種更嚴格的、更加關注安全性的軟件開發流程。這種流程旨在儘量減少設計、編碼和文檔編寫過程中存在的漏洞,並在軟件開發生命週期中儘可能早地檢測到並消除這些漏洞。用於處理來自Internet的輸人、控制可能被攻擊的關鍵系統或處理個人身份信息的企業和消費者軟件最需要實施這種流程。在很多實際的軟件開發項目中,安全測試已經成爲SDL一個不可或缺的組成部分,併成爲整個項目過程中的長期任務。黑盒一白盒測試方法往往執行在產品遞交客戶之前,但有的甚至在投人使用之後都未進行安全檢測和風險評估;在一些安全性要求較高的項目中,雖然將安全風險評估納人預算,但在實際操作中卻對其並未作過多考慮。這樣,所導致的直接後果是在開發工作幾近完成的情況下進行問題分析處理所造成的成本將遠遠大於在軟件開發階段進行缺陷修改的成本。即便是從充分利用現有的有限資金和資源的角度來考慮,也有必要將安全測試囊括到SDL中。這樣做雖然不能取代軟件開發後期的滲透測試和脆弱性測試,卻可以有效減少後者在施過程中的投人。

[1][2][3][4]下一頁