軟件安全測試基礎(chǔ)-講義_第1頁
軟件安全測試基礎(chǔ)-講義_第2頁
軟件安全測試基礎(chǔ)-講義_第3頁
軟件安全測試基礎(chǔ)-講義_第4頁
軟件安全測試基礎(chǔ)-講義_第5頁
已閱讀5頁,還剩47頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

軟件安全測試基礎(chǔ)_講義什么是安全I(xiàn)SO:為數(shù)據(jù)處理系統(tǒng)建立和采用的技術(shù)和管理的安全保護,保護計算機硬件、軟件不因偶然或惡意的原因遭到破壞、更改和泄漏物理安全邏輯安全信息的機密性信息的完整性信息的可用性安全的產(chǎn)品基本概念漏洞(vulnerability)RFC2828:系統(tǒng)設(shè)計、實現(xiàn)或操作和管理中存在的缺陷或弱點,能被利用而違背系統(tǒng)的安全策略漏洞挖掘漏洞分析漏洞利用0day漏洞ShellCode基本概念軟件自身安全軟件自身完整性軟件自身可信性軟件存儲安全軟件通信安全軟件運行安全軟件安全需求可信計算(TrustworthyComputing)的需要墨菲定律(Murphy'sLaw)所有的程序都有缺陷安全的產(chǎn)品是高質(zhì)量的產(chǎn)品≠完美的軟件媒體(或競爭對手)將在安全問題上大做文章人們將避開那些實際工作狀況與其廣告不符的產(chǎn)品不要成為犧牲品修補安全漏洞的代價是高昂的關(guān)注軟件安全的原因安全的軟件可靠的軟件軟件的應(yīng)用范圍越來越廣,所起的作用越來越重要黑客攻擊越來越容易關(guān)注軟件安全的原因漏洞利用速度越來越快關(guān)注軟件安全的原因病毒的種類和感染的機會越來越多關(guān)注軟件安全的原因?qū)?yīng)用層的攻擊遠(yuǎn)高于非網(wǎng)絡(luò)層或系統(tǒng)層關(guān)注軟件安全的原因2009年,卡巴斯基全功能安全軟件的入侵檢測系統(tǒng)(IDS)攔截了超過2億1989萬9678次的網(wǎng)絡(luò)攻擊關(guān)注軟件安全的原因2009年卡巴斯基統(tǒng)計的20種常見漏洞軟件安全包含的內(nèi)容內(nèi)存安全線程/進程安全異常處理安全輸入安全數(shù)據(jù)庫安全國際化安全遠(yuǎn)程調(diào)用和組件安全WEB安全避免拒絕服務(wù)攻擊軟件安全的內(nèi)容頭號公敵——緩沖區(qū)溢出大部分緩沖區(qū)溢出漏洞允許攻擊者控制計算機內(nèi)存空間,并植入、運行任意代碼strcpy()MultiByteToWideChar()后果:程序運行失敗,程序出現(xiàn)異常操作系統(tǒng)異常成為黑客攻擊的目標(biāo)堆棧溢出offbyone溢出堆溢出并不是所有緩沖區(qū)溢出都是可利用的進程內(nèi)存區(qū)域內(nèi)存安全靜態(tài)存儲區(qū)程度代碼區(qū)動態(tài)存儲區(qū)(堆棧)內(nèi)存安全緩沖區(qū)溢出——堆棧溢出dcbahgfeEBPEIP……dcbahgfelkjiponm……正常溢出堆棧區(qū)2堆棧區(qū)1父EBP父EIP參數(shù)指令RET堆棧框架堆棧指針EBP指令指針EIP整數(shù)溢出數(shù)組下標(biāo)越界字符串格式化內(nèi)存安全線程同步安全線程協(xié)作安全線程死鎖安全互斥條件請求與保持條件不剝奪條件循環(huán)等待條件線程控制安全進程安全線程/進程安全“出現(xiàn)錯誤就應(yīng)該崩潰”目的:保證系統(tǒng)的正常和安全運行異常捕獲的安全異常處理的安全本地處理向客戶端拋出其它異常處理OnerrorresumeOnerrorgoto異常/錯誤處理中的安全“一切輸入都是有害的”用戶輸入安全數(shù)字輸入安全字符串輸入安全環(huán)境變量輸入安全文件名安全數(shù)據(jù)庫輸入安全輸入安全在數(shù)據(jù)沒有得到驗證之前不要相信它們!數(shù)據(jù)通過不可信任環(huán)境和可信任環(huán)境的邊界時,必須要經(jīng)過驗證。國際化(I18N)本地化(L10N)全球化(G11N)字符集轉(zhuǎn)換MultiByteToWideChar()WideCharToMultiByte()國際化安全對象內(nèi)存分配與釋放對象線程安全對象序列化安全靜態(tài)成員安全面向?qū)ο笾械陌踩玌RL操作攻擊頁面狀態(tài)值安全URL傳值表單傳值Cookie方法Session方法Web跨站腳本(XSS)攻擊SQL注入Web安全AccessControlList應(yīng)用程序抵御攻擊的最后屏障Administrators(完全控制)+Everyone(讀取)特權(quán)提升不適當(dāng)?shù)脑L問控制(ACL)設(shè)置遠(yuǎn)程調(diào)用(RPC)安全惡意調(diào)用RPC服務(wù)器中的過程客戶端和服務(wù)器之間傳遞的信息被竊聽,數(shù)據(jù)被篡改DCOM安全ActiveX組件安全遠(yuǎn)程調(diào)用安全拒絕服務(wù)DoS應(yīng)用程序失敗攻擊資源不足攻擊CPU不足攻擊內(nèi)存不足攻擊資源不足攻擊網(wǎng)絡(luò)帶寬攻擊攻擊原理基于漏洞的攻擊(邏輯攻擊)基于流量的攻擊(洪水攻擊)分布式拒絕服務(wù)攻擊(DDoS)拒絕服務(wù)攻擊加密=安全?糟糕的密碼保存處理加密算法中使用不良的隨機數(shù)數(shù)據(jù)的加密保護數(shù)據(jù)的加密保護SQL注入代碼注入eInternetRequestResponseDLL注入Windows消息鉤子遠(yuǎn)程線程注入注冊表修改代碼注入軟件安全方面的觀念和知識不足經(jīng)濟上的回報少甚至沒有軟件設(shè)計沒有考慮安全特性編碼錯誤測試不到位軟件安全問題產(chǎn)生原因我不能想象導(dǎo)致這船沉沒的任何情況,現(xiàn)代造船技術(shù)已經(jīng)消除了這種可能性?!┨鼓峥颂柎L,E.I.Smith軟件安全問題解決之道灌輸軟件安全觀念了解軟件安全的重要性“搞破壞”與行業(yè)安全問題保持同步持續(xù)的安全教育讓每個人都參與進來主動的安全開發(fā)過程設(shè)計階段開發(fā)階段測試階段發(fā)布/維護階段概念:1、安全教育2、專職安全人員威脅建模設(shè)計完畢:安全小組審查編碼完畢:1、審查舊的缺陷2、安全編碼準(zhǔn)則安全運動響應(yīng)過程當(dāng)我們面對添加新特性和解決安全問題的選擇時,我們需要選擇安全?!葼?蓋茨《TrustworthyComputing》備忘錄安全特性不等于安全的特性安全專業(yè)技術(shù)+領(lǐng)域?qū)I(yè)技術(shù)更多的眼睛不代表更安全設(shè)計階段定義產(chǎn)品的安全目標(biāo)安全是產(chǎn)品的一種特性要有足夠的時間考慮安全問題安全的設(shè)計源于威脅模型終結(jié)不安全的特性設(shè)置BUG門檻安全小組審查主動的安全開發(fā)過程開發(fā)階段只有核心成員能夠查看或更新新代碼新代碼的安全審查定義安全的編碼準(zhǔn)則審查舊的缺陷外部安全審查測試階段發(fā)行和維護階段如何知道已完成響應(yīng)過程主動的安全開發(fā)過程構(gòu)建威脅模型首先修復(fù)舊代碼淘汰可能構(gòu)成長期安全問題的舊功能在某種程度上,工具很關(guān)鍵自動化軟件安全的解決之道對最可能影響系統(tǒng)的威脅進行系統(tǒng)地識別和評估在軟件設(shè)計階段建立,并貫穿于整個應(yīng)用程序生命周期的一個迭代過程威脅建模流程威脅建模的輸出威脅建模識別資產(chǎn)創(chuàng)建體系結(jié)構(gòu)概述分解應(yīng)用程序識別威脅記錄威脅評估威脅威脅建模的作用設(shè)計人員開發(fā)人員測試人員威脅模型只能降低或減少攻擊的風(fēng)險模型應(yīng)是一個動態(tài)的項目威脅建模安全模型評測標(biāo)準(zhǔn)美國國防部的橘皮書(可信計算機系統(tǒng)評測標(biāo)準(zhǔn)TCSEC)安全模型D1C1C2B2B1B3A1不具備最低安全限度具備最低安全限度具備中等安全保護能力具備最高安全保護能力一些成功的做法微軟提出的安全開發(fā)生命周期(SDL,SecurityDevelopmentLifecycle)美國NIST(NationalInstituteofStandardsandTechnology)成立了軟件保證度量和工具測量項目SAMATE,源碼安全性分析是重要組成部分軟件安全的解決之道軟件安全測試系統(tǒng)必須經(jīng)受住正面的攻擊,但也必須經(jīng)受住側(cè)面和背后的攻擊軟件安全測試過程正向測試過程反向測試過程軟件安全測試標(biāo)示測試空間精確定義設(shè)計空間找出設(shè)計空間的轉(zhuǎn)換規(guī)則標(biāo)示安全隱患建立入侵矩陣驗證入侵矩陣建立缺陷威脅模型尋找入侵點已知漏洞的掃描測試入侵點矩陣驗證測試基于威脅模型的安全測試過程根據(jù)威脅模型,建立測試計劃和測試方案確定安全測試的最小組件,并確定其輸入確定測試優(yōu)先級設(shè)計測試用例執(zhí)行測試總結(jié)測試結(jié)果軟件安全測試軟件安全性測試方法安全功能測試安全漏洞測試代碼審查或靜態(tài)代碼分析基于故障注入的安全性測試模糊測試威脅模型和攻擊樹理論基于風(fēng)險的安全性測試基于滲透的安全性測試軟件安全測試軟件安全測試原理及早測試、頻繁測試掌握安全測試知

溫馨提示

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

評論

0/150

提交評論