




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、系統(tǒng)軟件安全開發(fā)概況知識域:軟件安全開發(fā)概述知識子域:軟件安全開發(fā)必要性了解軟件安全問題及其原因了解傳統(tǒng)軟件開發(fā)的局限性和軟件安全開發(fā)必要性2軟件安全重要性 軟件危機(jī)第一次“軟件危機(jī)”- 20世紀(jì)60年代根源:匯編語言不能處理日益龐大和復(fù)雜的程序解決:高級語言的誕生- FORTRAN和C第二次“軟件危機(jī)”- 20世紀(jì)80年代根源:大型程序:數(shù)百萬行,數(shù)百人同時開發(fā)解決面向?qū)ο笳Z言-C+/java/c#軟件工程第三次“軟件危機(jī)”- 21世紀(jì)頭十年根源:軟件安全?3軟件安全問題廣泛存在軟件應(yīng)用廣泛電腦游戲、火車票售票系統(tǒng)、多媒體教學(xué)手機(jī)、航天飛機(jī)、人造衛(wèi)星軟件安全問題廣泛存在運(yùn)行錯誤售票系統(tǒng)反應(yīng)慢
2、、連不上、崩潰多媒體教學(xué)系統(tǒng)死機(jī)黑客盜取泄漏的銀行密碼安全問題日益增加4軟件安全問題產(chǎn)生后果軟件安全問題的后果造成產(chǎn)品運(yùn)行不穩(wěn)定,得不到正確結(jié)果甚至崩潰可靠性、可用性被惡意攻擊,導(dǎo)致信息泄漏/數(shù)據(jù)破壞等后果保密性、完整性一些因軟件安全問題導(dǎo)致的嚴(yán)重后果售票系統(tǒng)癱瘓美國放射治療儀超劑量輻射事件阿麗亞納5號火箭首發(fā)失敗事件Stuxnet病毒攻擊伊朗布什爾核電站5漏洞情況統(tǒng)計中國國家漏洞庫最近七年漏洞數(shù)量情況統(tǒng)計6軟件安全問題原因存在諸多安全問題的原因軟件開發(fā)周期短,工作量大,無暇顧及安全軟件設(shè)計時缺乏安全設(shè)計軟件開發(fā)人員缺乏安全編程經(jīng)驗功能越來越多,軟件越來越復(fù)雜軟件模塊復(fù)用,可擴(kuò)展性/靈活性要求
3、高互聯(lián)網(wǎng)環(huán)境下的安全挑戰(zhàn)根本原因存在漏洞存在威脅7軟件漏洞逐漸增加8軟件越來越復(fù)雜9Windows 系列軟件源代碼行數(shù)漏洞與軟件安全漏洞已經(jīng)成為危害軟件安全的主要因素危及用戶對軟件的信任、業(yè)務(wù)運(yùn)營,還會危及一系列關(guān)鍵基礎(chǔ)設(shè)施和應(yīng)用漏洞普遍存在普通軟件工程師,每千行代碼(KLOC)存在20個缺陷由于采用嚴(yán)格的軟件開發(fā)質(zhì)量管理機(jī)制和多重測試環(huán)節(jié),軟件公司的缺陷率(每千行代碼)普通軟件開發(fā)公司的缺陷密度為440個缺陷高水平的軟件公司的缺陷密度為24個缺陷美國NASA的軟件缺陷密度可達(dá)到0.1個缺陷10美國重視安全開發(fā)和源代碼安全2007年美國空軍成立了“Application Software As
4、surance Center of Excellence”開始對所用應(yīng)用軟件進(jìn)行源代碼缺陷檢測2008年加州大選軟件因為沒有通過源代碼安全審查而被取消2008年美國 FDA 器械和輻射健康中心開始使用源代碼缺陷檢測工具對發(fā)生問題和事故的醫(yī)療設(shè)備進(jìn)行檢測2008年美國電力聯(lián)盟也啟動系統(tǒng)安全檢測評估11需要安全的軟件安全的軟件不存在安全漏洞能抵御各種攻擊威脅按照預(yù)期的方式執(zhí)行:do what is intended保證程序可以正常執(zhí)行任務(wù)通過在軟件開發(fā)生命周期各階段采取必要的、相適應(yīng)的安全措施來避免絕大多數(shù)的安全漏洞。采取措施只能有效減少,但并不能完全杜絕所有的安全漏洞。12軟件安全保障軟件安全保
5、障的概念軟件安全保障是對“軟件可以規(guī)避安全漏洞而按照預(yù)期的方式執(zhí)行其功能”的信心 。這些安全漏洞或者故意設(shè)計在軟件之中,或者在其生命周期被偶然插入到軟件中。13軟件安全保障目標(biāo)軟件安全保障目標(biāo)是在軟件開發(fā)生命周期中提升軟件的安全性,主要目的是可信賴性:無論是惡意而為還是無意疏忽,軟件都沒有可利用的漏洞存在可預(yù)見性:對軟件執(zhí)行時其功能符合開發(fā)者的意圖的信心。遵循性:將(軟件開發(fā))跨學(xué)科的活動計劃并系統(tǒng)化,以確保軟件過程和軟件產(chǎn)品滿足需求、遵循相關(guān)標(biāo)準(zhǔn)。 - DHS,200614軟件安全保障與風(fēng)險管理在軟件安全保障中,需要貫徹風(fēng)險管理的思想“安全就是風(fēng)險管理”軟件安全是以風(fēng)險管理為基礎(chǔ)安全不必是完
6、美無缺的,但風(fēng)險必須是能夠管理的最適宜的軟件安全策略就是最優(yōu)的風(fēng)險管理對策這是一個在有限資源前提下的最優(yōu)選擇問題防范不足會造成直接的損失;防范過多又會造成間接的損失15傳統(tǒng)的軟件開發(fā)局限性傳統(tǒng)軟件開發(fā)教育局限性軟件教育包括軟件工程、數(shù)據(jù)結(jié)構(gòu)、編譯原理、系統(tǒng)結(jié)構(gòu)、程序語言等缺乏安全開發(fā)教育傳統(tǒng)開發(fā)人員局限性對安全問題沒有的足夠理解不了解安全設(shè)計的基本原理不知道安全漏洞的常見類型不知道如何設(shè)計針對安全的測試數(shù)據(jù)傳統(tǒng)軟件生命周期局限性軟件生命周期包括需求分析、架構(gòu)設(shè)計、代碼編寫、測試和運(yùn)行維護(hù)五個階段缺乏安全介入的階段16需要安全的軟件開發(fā)!知識域:軟件安全開發(fā)概述知識子域:軟件安全開發(fā)簡介理解安全
7、開發(fā)有關(guān)概念,包括軟件安全、安全軟件開發(fā)生命周期等了解安全軟件開發(fā)生命周期有關(guān)模型研究及應(yīng)用情況,包括微軟SDL、BSI系列模型、CLASP和SAMM等17軟件安全開發(fā)基本概念軟件安全開發(fā)采取措施防止由于設(shè)計、開發(fā)、提交、升級或維護(hù)中的缺陷而導(dǎo)致的系統(tǒng)脆弱性20世紀(jì)末/21世紀(jì)初開始展開研究安全軟件開發(fā)生命周期安全軟件開發(fā)涵蓋了軟件開發(fā)整個生命周期Secure Software Development Lifecycle通過軟件開發(fā)的各個步驟來確保軟件的安全性,其目標(biāo)是確保安全的軟件得以成功18安全軟件開發(fā)生命周期將安全融入在設(shè)計/開發(fā)/測試等過程中融入安全在傳統(tǒng)的過程中增加安全過程安全提前介
8、入NIST:在軟件發(fā)布以后進(jìn)行修復(fù)的代價是在軟件設(shè)計和編碼階段即進(jìn)行修復(fù)所花代價的30倍軟件系統(tǒng)發(fā)布以后才進(jìn)行漏洞修復(fù)代價是最高的,且常常伴隨著軟件系統(tǒng)使用者的極大損失實施軟件安全開發(fā)規(guī)范指南最佳實踐19不同階段修復(fù)漏洞的代價20Barry Boehm相關(guān)模型和研究安全軟件開發(fā)生命周期安全設(shè)計原則安全開發(fā)方法最佳實踐安全專家經(jīng)驗多種模型被提出和研究可信計算安全開發(fā)生命周期(微軟)BSI系列模型(Gary McGraw等)SAMM(OWASP)CLASP(OWASP)21可信計算安全開發(fā)生命周期微軟,2002.1,蓋茨安全開發(fā)生命周期SDL(The Trustworthy Computing S
9、ecurity Development Lifecycle)強(qiáng)調(diào)開發(fā)安全的軟件對于微軟未來的重要性,并為此計劃花費了3億美元和2000多個工作日自 2004 起,SDL 作為全公司的計劃和強(qiáng)制政策,在將安全和隱私植入軟件和企業(yè)文化方面發(fā)揮了重要作用。通過將整體和實踐方法相結(jié)合,SDL 致力于減少軟件中漏洞的數(shù)量和嚴(yán)重性。SDL 在開發(fā)過程的所有階段中均引入了安全和隱私。22SDL使用SDL 是一個安全保證過程,其在開發(fā)過程的所有階段中引入了安全和隱私原則。Microsoft 將 SDL 與軟件行業(yè)和客戶開發(fā)組織自由共享,供他們用來開發(fā)更為安全的軟件。如何使用SDL?為了實現(xiàn)所需安全和隱私目標(biāo),
10、項目團(tuán)隊或安全顧問可以自行決定添加可選的安全活動開發(fā)團(tuán)隊?wèi)?yīng)以SDL指南為指導(dǎo),實施SDL的時候結(jié)合考慮組織的時間、資源和業(yè)務(wù)運(yùn)營方式Cisco、EMC、Symantec等安全公司均借鑒微軟SDL中的做法CSDL23SDL發(fā)展歷史2002.1今20 世紀(jì) 90 年代中期到后期 (Melissa) 和 21 世紀(jì)初期(Code Red、Nimda、UPnP 等)出現(xiàn)了一系列影響重大的惡意軟件事件,促使微軟重新考慮開發(fā)人員安全過程和策略24SDL的階段和安全活動軟件安全開發(fā)生命階段5+2個階段16項必需的安全活動25SDL每個階段用到的工具26序號工具需求設(shè)計實現(xiàn)驗證發(fā)布1SDL過程模板和MSF-A
11、glie+SDL過程模板2SDL威脅建模工具3Banned.h、SiteLock ATL模板、FxCop、C/C+源代碼分析工具、Anti-XSS庫、32位的CAT.NET、64位的CAT.NET4BinScope、MiniFuzz、SDL Regex Fuzzer、AppVerifierIE采用SDL后的效果27Source: Browser Vulnerability Analysis, Microsoft Security Blog 27-NOV-2007采用SDL之前采用SDL之后漏洞總數(shù)降低了35%高危漏洞數(shù)降低了63%正式發(fā)布后12個月內(nèi)修復(fù)的漏洞總數(shù)BSI系列模型BSI使安全成為
12、軟件開發(fā)必須的部分Building Security IN,BSIGray McGraw,Cigital公司在整個軟件開發(fā)生命周期中要確保將安全作為軟件的一個有機(jī)組成部分。無須改變你的軟件開發(fā)方法適用各種軟件開發(fā)生命周期合作NIST美國國土安全部大學(xué)(加州大學(xué)戴維斯分校、普林斯頓、萊斯)28軟件安全的三根支柱三根支柱應(yīng)用風(fēng)險管理軟件安全的接觸點知識29接觸點模型接觸點,即在軟件開發(fā)生命周期中保障軟件安全一套最優(yōu)方法、一種戰(zhàn)術(shù)性方法在每一個開發(fā)階段上盡可能地避免和消除漏洞“黑帽子”和“白帽子”30SSFSSF(Software Security Framework)軟件安全框架31監(jiān)管信息/情報
13、SSDL接觸點部署策略和度量攻擊模式架構(gòu)分析滲透測試履約和策略安全特征和設(shè)計代碼審計軟件環(huán)境培訓(xùn)標(biāo)準(zhǔn)和需求安全測試配置管理和漏洞管理BSIMMBSI成熟度模型Building Security In Maturity ModeGary McGraw、Brian Chess和Sammy Migues使用SSF對所有項目進(jìn)行描述了解別人的安全項目過程,指導(dǎo)自己的安全項目目標(biāo)是對真實的軟件安全項目所開展的活動進(jìn)行量化構(gòu)建和不斷發(fā)展軟件安全行動的指南BSIMM 3.02011年42個公司(Microsoft、Intel、Google、)32BSIMM結(jié)果圖33SAMMOWASP SAMMSoftwar
14、e Assurance Maturity Mode軟件保證成熟度模型OWASP(開放Web應(yīng)用安全項目)一個開放的框架,用以幫助制定并實施針對軟件安全特定風(fēng)險的策略評估一個組織已有的軟件安全實踐; 建立一個迭代的權(quán)衡的軟件安全保證計劃; 證明安全保證計劃帶來的實質(zhì)性改善; 定義并衡量組織中與安全相關(guān)的措施。 34SAMM規(guī)定了四個軟件開發(fā)過程中的核心業(yè)務(wù)功能治理:組織管理其軟件開發(fā)的過程和活動構(gòu)造:組織在開發(fā)項目中確定目標(biāo)并開發(fā)軟件的過程與活動驗證:組織測試和驗證軟件的過程與活動部署:組織軟件發(fā)布的相關(guān)管理過程與活動4個成熟度級別0-3級35OWASP SAMM36CLASP綜合的輕量應(yīng)用安全
15、過程(Comprehensive, Lightweight Application Security Process (CLASP) )選取了30個特定的基于角色的活動(activities),用于提升整個開發(fā)團(tuán)隊的安全意識,并針對這些活動給出了相應(yīng)的指南、導(dǎo)則和檢查列表37CLASP介紹基于角色項目經(jīng)理 、需求分析師 、軟件架構(gòu)師 、設(shè)計者 、實施人員 、集成和編譯人員 、測試者和測試分析師 、安全審計員對于每個活動,CLASP描述了以下內(nèi)容安全活動應(yīng)該在什么時間、應(yīng)該如何實施如果不進(jìn)行這項安全活動,將會帶來的多大的風(fēng)險如果實施這項安全活動,估計需要多少成本38TSP-SecureTSP-Secure:安全軟件開發(fā)之團(tuán)隊軟件過程目標(biāo)在軟件設(shè)計和實施過程中減少或者消除軟件漏洞,提供評估和預(yù)測其它軟件開發(fā)商所交付的軟件中可能存在漏洞情況的能力為此,TSP-S
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 產(chǎn)科急救培訓(xùn)課件
- 木材加工企業(yè)的信息化建設(shè)與管理考核試卷
- 化工產(chǎn)品批發(fā)商銷售團(tuán)隊激勵與培訓(xùn)實踐考核試卷
- 冷凍飲品行業(yè)企業(yè)發(fā)展戰(zhàn)略與實施路徑考核試卷
- 半導(dǎo)體照明器件的振動測試考核試卷
- 家具品牌形象塑造考核試卷
- 機(jī)床附件的行業(yè)競爭格局與市場定位考核試卷
- 國際貿(mào)易中的社會責(zé)任與合規(guī)性考核試卷
- 成人高考物理電磁學(xué)綜合應(yīng)用考核試卷
- 小學(xué)生師生互動課件
- 魚骨圖培訓(xùn)課件
- 護(hù)理禮儀與人文關(guān)懷
- 運(yùn)維服務(wù)體系建立實施方案(5篇)
- 路面基層(級配碎石)施工方案
- 2025年日歷(日程安排-可直接打印)
- 四川政采評審專家入庫考試基礎(chǔ)題復(fù)習(xí)試題及答案(一)
- 患者手術(shù)風(fēng)險評估與術(shù)前準(zhǔn)備制度
- 口腔執(zhí)業(yè)醫(yī)師定期考核試題(資料)帶答案
- 2024年三八婦女節(jié)婦女權(quán)益保障法律知識競賽題庫及答案(共260題)
- 2023年7月浙江省普通高中學(xué)業(yè)水平考試(學(xué)考)語文試題答案
- 2024年計算機(jī)軟件水平考試-初級信息處理技術(shù)員考試近5年真題集錦(頻考類試題)帶答案
評論
0/150
提交評論