




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
軟件安全測試本講要點1.軟件測試與軟件安全測試2.軟件安全功能測試3.代碼分析4.模糊測試5.滲透測試6.應用案例1.軟件測試與軟件安全測試(1)軟件測試主要工作:軟件測試的目標在軟件投入生產性運行之前,盡可能多地發現軟件中的錯誤。軟件測試是保證軟件質量的關鍵步驟,它是對軟件規格說明、設計和編碼的最后復審。代碼檢測軟件測試的方法常用的兩種軟件測試方法是白盒測試和黑盒測試。1.軟件測試與軟件安全測試(1)軟件測試主要工作:軟件測試的步驟1)模塊測試2)子系統測試3)系統測試4)驗收測試5)平行運行1.軟件測試與軟件安全測試(2)軟件安全測試主要工作:軟件安全測試的概念軟件安全測試的目標驗證軟件系統的安全功能是否滿足安全需求。發現系統的安全漏洞,并最終把這些漏洞的數量降到最低。評估軟件的其他質量屬性,包括可靠性、可存活性等。軟件安全測試的內容軟件安全功能測試。軟件安全漏洞測試。1.軟件測試與軟件安全測試(2)軟件安全測試主要工作:軟件安全測試的概念軟件安全測試的原則應盡早進行軟件安全測試,越晚發現漏洞,修復的成本越高。在有限的時間和資源下進行測試,找出軟件所有的錯誤和缺陷是不可能的,軟件測試不能無限進行下去,應適時終止。在軟件安全測試中同樣如此,應該通過威脅建模等方法,優先測試高風險模塊。軟件安全沒有銀彈。程序員應避免檢查自己的程序。同樣,軟件安全測試也應該如此。盡量避免測試的隨意性。1.軟件測試與軟件安全測試(2)軟件安全測試主要工作:軟件測試與軟件安全測試的區別軟件測試主要是從最終用戶的角度出發發現缺陷并修復,保證軟件滿足最終用戶的要求。軟件安全測試則是從攻擊者的角度出發發現漏洞并修復,保證軟件不被惡意攻擊者破壞。1.軟件測試與軟件安全測試(2)軟件安全測試主要工作:軟件安全測試的方法1.軟件測試與軟件安全測試(2)軟件安全測試主要工作:軟件安全測試的基本框架1)制定安全測試策略。2)設計基于風險的安全測試計劃。3)規范化的軟件安全需求。4)軟件結構風險分析5)執行軟件安全測試。6)測試環境管理。7)測試數據管理。2.軟件安全功能測試(1)保密性測試:1)標準遵從2)數據驗證3)加密算法的驗證檢測加密算法的強度。檢測偽隨機數產生方法。加密密鑰不能被明文硬編碼到程序源代碼中,密鑰的生成、交換、存儲、恢復、歸檔和丟棄過程也必須被驗證。2.軟件安全功能測試(1)保密性測試:4)與保密性機制相關的其他安全問題未對加密數據進行簽名,導致攻擊者可以篡改數據。重要數據(如網上支付信息)傳輸過程中未進行有效的加密處理。身份驗證算法存在缺陷,身份標識(如會話密鑰)的唯一性、隨機性和強度可以采用相空間分析、資源與時間允許條件限制等方法進行驗證,這些測試都需要進行。客戶機和服務器時鐘未同步,從而給攻擊者留下足夠的時間來破解密碼或修改數據。提交的表單中對敏感字符的限制和轉換存在問題。網頁出錯反饋導致信息泄露問題等。2.軟件安全功能測試(2)完整性測試:數據完整性測試文件完整性檢測。數據庫完整性測試。系統完整性測試主要檢測主機系統是否未經授權進行了更改或破壞,包括日志完整性、文件完整性、注冊表完整性、進程完整性、服務完整性。完整性保護主要通過哈希函數和數據簽名機制來實現。2.軟件安全功能測試(3)可用性測試:測試軟件能夠達到預期使用目的的程度(有效性)。測試軟件達到目的所花費的資源(效率)。測試用戶發現該軟件產品使用可接受的程度(用戶滿意度)。2.軟件安全功能測試(4)可認證性測試:身份認證測試用戶賬戶命名規范認證密鑰的管理認證憑證管理數據源發認證測試信息接收者驗證信息發送者的身份、確認信息在離開信息發送者之后的完整性以及消息的新鮮性。2.軟件安全功能測試(5)授權測試:授權是認證成功之后用戶訪問權限分配的過程。授權測試意味著需要理解授權是如何實現訪問控制目標的,以及如何利用這些信息來繞過授權機制。授權測試的內容包括檢查用戶權限是否進行了適當的等級劃分。授權測試的具體實例如:用戶登錄和權限分配狀況,以驗證用戶權限的正確性;是否明確區分系統中不同用戶權限;系統會不會因為用戶權限的改變而造成混亂等。2.軟件安全功能測試(6)可記賬性/審計測試:1)系統及性能監控2)日志分析3)事件監控4)監控方法與工具3.代碼分析(1)代碼靜態分析與動態分析的概念:靜態代碼分析代碼靜態分析的內容代碼靜態分析采用的技術代碼靜態分析的方法代碼靜態分析的優缺點分析動態代碼分析代碼動態分析是指對正在運行的代碼(或程序)進行檢查。代碼動態分析可用于確保代碼正常可靠地運行。3.代碼分析(2)源代碼靜態分析的一般過程:1)確定目標這個階段的工作主要包括確定本次審查的安全目標、審查的內容以及審查前的準備工作。2)運行工具在規則庫的作用下識別漏洞。除了工具自帶的規則庫外,常常還需要根據測試代碼的特點來增加自定義規則庫。如果現有靜態工具不能滿足使用需求,也可以選擇自行搭建自動化的靜態代碼分析平臺。3.代碼分析(2)源代碼靜態分析的一般過程:3)報告結果工具運行完畢后會形成詳細的結果報告,還需要分析人員對審查結果進行確認,去除其中的誤報。不要局限于結果報告,要發現潛在的問題,分析工具經常會在敏感操作代碼的位置報告一個問題,其附近代碼也可能存在問題,分析人員也應重點關注。如果發現了一個分析工具沒有報告的問題,還需要分析如何設定規則才能發現這個問題,將該規則補充到規則庫中,并不斷完善優化。3.代碼分析(2)源代碼靜態分析的一般過程:4)修復漏洞開發人員需要修復審查人員提交的漏洞。漏洞修復完成后,應進行漏洞可利用性判定,避免出現可利用的漏洞沒有被修復的情況。開發人員修復后,審查人員還需要驗證修復是否正確。3.代碼分析(3)源代碼靜態分析工具:商業軟件FortifyStaticCodeAnalyzerCoverity免費(開源)軟件LAPSEFindSecurityBugsFlawfinderRIPSCodeXploiterSeay源代碼審計系統4.模糊測試(1)模糊測試的概念:模糊測試技術的核心思想通過監視非預期輸入可能產生的異常結果來發現軟件問題。就是使用大量半有效的數據作為應用程序的輸入,以程序是否出現異常作為標志,來發現應用程序中可能存在的安全漏洞。所謂半有效的數據是指,對應用程序來說,測試用例的必要標識部分和大部分數據是有效的,這樣待測程序就會認為這是一個有效的數據,但同時該數據的其他部分是無效的。這樣,應用程序就有可能發生錯誤,這種錯誤可能導致應用程序的崩潰或者觸發相應的安全漏洞。4.模糊測試(1)模糊測試的概念:模糊測試的方法1)預生成測試用例2)隨機生成輸入3)手工協議變異測試4)變異或強制性測試5)自動協議生成測試4.模糊測試(1)模糊測試的概念:模糊測試的優點模糊測試的測試目標是二進制可執行代碼,比基于源代碼的白盒測試適用范圍更廣。模糊測試是動態實際執行的,不存在靜態分析技術中存在的大量誤報問題。模糊測試的原理簡單,沒有大量的理論推導和公式計算,不存在符號執行技術中的路徑狀態爆炸問題。模糊測試自動化程度高,不需要逆向工程中大量的人工參與。4.模糊測試(1)模糊測試的概念:模糊測試的局限性訪問控制漏洞的發現能力有限。設計邏輯缺陷的發現能力有限。多階段安全漏洞的發現能力有限。多點觸發漏洞的發現能力有限。模糊測試技術不能保證畸形輸入數據能夠覆蓋到所有的分支代碼。4.模糊測試(2)模糊測試的過程:4.模糊測試(3)模糊測試工具:文字處理軟件的模糊測試工具FileFuzzSPIKEfilenotSPIKEfilePaiMei網絡協議的模糊測試工具SulleySPIKEPeachFuzzer4.模糊測試(3)模糊測試工具:Web應用程序的模糊測試工具PowerfuzzerSPIKEProxyWebScarabWebInspect4.模糊測試(3)模糊測試工具:Web瀏覽器的模糊測試COMRaiderManglemeHamachiCSSDIE其他模糊測試工具AmericanFuzzyLop5.滲透測試(1)滲透測試的概念:滲透測試技術的核心思想模仿黑客的特定攻擊行為,也就是盡可能完整地模擬黑客使用的漏洞發現技術和攻擊手段,對目標的安全性作深入的探測,發現系統最脆弱環節的過程。5.滲透測試(1)滲透測試的概念:滲透測試的方法1)根據測試執行人員對目標系統環境相關信息掌握程度的不同,可以分為兩種類型。黑盒滲透測試白盒滲透測試2)根據執行滲透測試范圍的不同,可以分為3種類型:內網測試外網測試不同網段/VLAN之間的滲透測試5.滲透測試(2)滲透測試的過程:《滲透測試執行標準》將滲透測試過程分為以下7個階段。1)前期交互(Pre-engagementInteractions)2)情報收集(IntelligenceGathering)3)威脅建模(ThreatModeling)4)漏洞分析(VulnerabilityAnalysis)5)滲透攻擊(Exploitation)6)后滲透攻擊(PostExploitation)7)報告(Reporting)5.滲透測試(3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論