軟件安全培訓(xùn)課件_第1頁(yè)
軟件安全培訓(xùn)課件_第2頁(yè)
軟件安全培訓(xùn)課件_第3頁(yè)
軟件安全培訓(xùn)課件_第4頁(yè)
軟件安全培訓(xùn)課件_第5頁(yè)
已閱讀5頁(yè),還剩151頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

軟件開(kāi)發(fā)安全性設(shè)計(jì)信息工程事業(yè)部袁洋2013.05軟件開(kāi)發(fā)安全性設(shè)計(jì)信息工程事業(yè)部主講內(nèi)容軟件安全的概念安全漏洞風(fēng)險(xiǎn)管理框架安全開(kāi)發(fā)生命周期軟件安全的七個(gè)接觸點(diǎn)主講內(nèi)容軟件安全的概念軟件安全的概念第一部分軟件安全的概念第一部分許多關(guān)鍵基礎(chǔ)設(shè)施取決于計(jì)算機(jī)安全許多關(guān)鍵基礎(chǔ)設(shè)施取決于計(jì)算機(jī)安全關(guān)于軟件安全的相關(guān)報(bào)道關(guān)于軟件安全的相關(guān)報(bào)道軟件安全的概念出現(xiàn)軟件故障現(xiàn)象的原因是軟件存在漏洞?!叭魏诬浖徽撍雌饋?lái)是多么安全,其中都隱藏漏洞”。軟件安全的目的是盡可能消除軟件漏洞,確保軟件在惡意攻擊下仍然正常運(yùn)行。軟件安全的概念出現(xiàn)軟件故障現(xiàn)象的原因是軟件存在漏洞。報(bào)告給CERT/CC的與安全相關(guān)的軟件弱點(diǎn)報(bào)告給CERT/CC的與安全相關(guān)的軟件弱點(diǎn)軟件安全問(wèn)題加劇的三個(gè)趨勢(shì)互聯(lián)性多數(shù)計(jì)算機(jī)與Internet相連多數(shù)軟件系統(tǒng)互聯(lián)于Internet可擴(kuò)展性通過(guò)接受更新或者擴(kuò)展件使系統(tǒng)升級(jí)復(fù)雜性代碼行數(shù)增加、網(wǎng)絡(luò)式、分布式軟件安全問(wèn)題加劇的三個(gè)趨勢(shì)互聯(lián)性Windows操作系統(tǒng)復(fù)雜性Windows操作系統(tǒng)復(fù)雜性安全漏洞第二部分安全漏洞第二部分安全漏洞安全漏洞安全漏洞安全漏洞安全漏洞所有的軟件都存在潛伏的漏洞安全必須經(jīng)過(guò)長(zhǎng)時(shí)間實(shí)際運(yùn)行證明軟件安全漏洞可分為兩大類(lèi):設(shè)計(jì)漏洞實(shí)現(xiàn)漏洞安全漏洞所有的軟件都存在潛伏的漏洞設(shè)計(jì)漏洞示例MicrosoftBob是作為WindowsME和Windows98的輔助程序而設(shè)計(jì)的,其中包含一個(gè)設(shè)置系統(tǒng)密碼的工具。當(dāng)用戶(hù)試著輸了三次(不正確)密碼時(shí),Bob將彈出如下的信息:“我想你忘記了你的密碼,請(qǐng)輸入一個(gè)新的密碼。”然后,就允許用戶(hù)修改密碼,即使不知道老密碼。設(shè)計(jì)漏洞示例MicrosoftBob是作為Windows常見(jiàn)的安全設(shè)計(jì)問(wèn)題密碼技術(shù)使用的敗筆創(chuàng)建自己的密碼技術(shù)選用了不當(dāng)?shù)拿艽a技術(shù)依賴(lài)隱蔽式安全編寫(xiě)到程序中的密鑰錯(cuò)誤的處理私密信息對(duì)用戶(hù)及其許可權(quán)限進(jìn)行跟蹤會(huì)話(huà)管理薄弱或缺失身份鑒別薄弱或缺失授權(quán)薄弱或缺失常見(jiàn)的安全設(shè)計(jì)問(wèn)題密碼技術(shù)使用的敗筆常見(jiàn)的安全設(shè)計(jì)問(wèn)題有缺陷的輸入驗(yàn)證未在安全上下文環(huán)境中執(zhí)行驗(yàn)證驗(yàn)證例程不集中不安全的組件邊界薄弱的結(jié)構(gòu)性安全大的攻擊面在過(guò)高權(quán)限級(jí)別上運(yùn)行進(jìn)程沒(méi)有縱深防御失效時(shí)處理不安全常見(jiàn)的安全設(shè)計(jì)問(wèn)題有缺陷的輸入驗(yàn)證常見(jiàn)的安全設(shè)計(jì)問(wèn)題其他代碼和數(shù)據(jù)混在一起錯(cuò)將信任寄予外部環(huán)境不安全的默認(rèn)值未作審計(jì)日志常見(jiàn)的安全設(shè)計(jì)問(wèn)題其他實(shí)現(xiàn)漏洞示例2001年的紅色代碼(CodeRed)蠕蟲(chóng)利用Microsoft的IISWeb服務(wù)器的軟件缺陷。字符串變量是Unicode字符類(lèi)型的(每個(gè)字符占用兩個(gè)字節(jié)),在計(jì)算緩沖區(qū)的時(shí)候應(yīng)該是偏移量為2,但I(xiàn)IS在計(jì)算緩沖區(qū)大小的時(shí)候卻按照偏移量為1錯(cuò)誤的計(jì)算緩沖區(qū)。導(dǎo)致在14個(gè)小時(shí)內(nèi),就有359000臺(tái)機(jī)器感染了紅色代碼蠕蟲(chóng)。實(shí)現(xiàn)漏洞示例2001年的紅色代碼(CodeRed)蠕蟲(chóng)利用幾個(gè)常見(jiàn)致命安全漏洞緩沖區(qū)溢出SQL注入跨站腳本幾個(gè)常見(jiàn)致命安全漏洞緩沖區(qū)溢出緩沖區(qū)溢出當(dāng)一個(gè)程序允許輸入的數(shù)據(jù)大于已分配的緩沖區(qū)大小時(shí),緩沖區(qū)溢出就會(huì)發(fā)生。有些語(yǔ)言具有直接訪(fǎng)問(wèn)應(yīng)用程序內(nèi)存的能力,如果未能處理好用戶(hù)的數(shù)據(jù)就會(huì)造成緩沖區(qū)溢出。C和C++是受緩沖區(qū)溢出影響的兩種最常見(jiàn)的編程語(yǔ)言。緩沖區(qū)溢出造成的后果小到系統(tǒng)崩潰,大到攻擊者獲取應(yīng)用程序的完全控制權(quán)。1988年,第一個(gè)Internet蠕蟲(chóng)—Morris蠕蟲(chóng)就是對(duì)finger服務(wù)器攻擊,造成緩沖區(qū)溢出,幾乎導(dǎo)致Internet癱瘓。緩沖區(qū)溢出當(dāng)一個(gè)程序允許輸入的數(shù)據(jù)大于已分配的緩沖區(qū)大小時(shí),SQL注入通過(guò)把SQL命令插入到Web表單遞交或輸入域名或頁(yè)面請(qǐng)求的查詢(xún)字符串,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的SQL命令。任何可以與數(shù)據(jù)庫(kù)交互的編程語(yǔ)言都可能出現(xiàn)SQL注入漏洞。SQL注入的最大的威脅是攻擊者可以獲得隱私的個(gè)人信息或者敏感數(shù)據(jù);也可能導(dǎo)致服務(wù)器甚至網(wǎng)絡(luò)的入侵。SQL注入通過(guò)把SQL命令插入到Web表單遞交或輸入域名或頁(yè)SQL注入publicstaticbooleandoQuery(StringId){……try{……Statementst=….;ResultSetrs=st.executeQuery(“SELECTconumFROMcustWHEREid=”+Id);while(rs.next()){…..}catch……}

如果傳遞來(lái)的參數(shù)是“1or2>1--”,則執(zhí)行SQL語(yǔ)句:

SELECTconumFROMcustWHEREid=1or2>1--SQL注入publicstaticbooleandoQ跨站腳本跨站腳本(XSS,Cross-siteScripting)漏洞是一類(lèi)專(zhuān)門(mén)針對(duì)Web應(yīng)用程序的漏洞,它會(huì)使得產(chǎn)生漏洞的Web服務(wù)器綁定的用戶(hù)數(shù)據(jù)(通常保存在cookie中)被泄露給惡意的第三方。所謂“跨站”是指;當(dāng)一個(gè)客戶(hù)端訪(fǎng)問(wèn)了可正常提供服務(wù)但是有漏洞的Web服務(wù)器后,cookie從此客戶(hù)端傳遞給了攻擊者控制的站點(diǎn)。任何用于構(gòu)建網(wǎng)站的編程語(yǔ)言或者技術(shù)都可能受到影響??缯灸_本跨站腳本(XSS,Cross-siteScript跨站腳本跨站腳本跨站腳本<%Stringeid=request.getParameter("eid");%>...EmployeeID:<%=eid%>XSS測(cè)試語(yǔ)句之一:

><script>alert(document.cookie)</script>跨站腳本<%Stringeid=request.ge其他致命安全漏洞格式化字符串整數(shù)溢出命令注入未能處理錯(cuò)誤信息未能保護(hù)好網(wǎng)絡(luò)流量使用MagicUPL及隱藏表單字段未能正確使用SSL和TLS使用基于弱口令的系統(tǒng)未能安全的存儲(chǔ)和保存數(shù)據(jù)信息泄露不恰當(dāng)?shù)奈募L(fǎng)問(wèn)清新網(wǎng)絡(luò)域名解析競(jìng)爭(zhēng)條件未認(rèn)證的密鑰交換密碼學(xué)強(qiáng)度隨機(jī)數(shù)不良可用性其他致命安全漏洞格式化字符串解決軟件安全的方法GaryMcGraw博士應(yīng)用風(fēng)險(xiǎn)管理軟件安全的接觸點(diǎn)(最優(yōu)化方法)知識(shí)微軟:可重復(fù)的流程工程師教育度量標(biāo)準(zhǔn)和可測(cè)量性

解決軟件安全的方法GaryMcGraw博士風(fēng)險(xiǎn)管理框架“安全就是風(fēng)險(xiǎn)管理”。風(fēng)險(xiǎn)就是在項(xiàng)目過(guò)程中有可能發(fā)生的某些意外事情。例如:缺少對(duì)開(kāi)發(fā)工具的培訓(xùn)。風(fēng)險(xiǎn)管理的關(guān)鍵:隨著軟件項(xiàng)目的展開(kāi),不斷的確定和追蹤風(fēng)險(xiǎn)。RMF的基本思想:隨時(shí)間變化,對(duì)軟件安全進(jìn)行確定、評(píng)級(jí)、追蹤和理解。風(fēng)險(xiǎn)管理框架“安全就是風(fēng)險(xiǎn)管理”。Cigital的風(fēng)險(xiǎn)管理框架(RMF)

測(cè)量和報(bào)告理解商業(yè)環(huán)境1

確定商業(yè)和技術(shù)風(fēng)險(xiǎn)工件分析2綜合考慮并對(duì)風(fēng)險(xiǎn)分析3實(shí)施修復(fù)并進(jìn)行驗(yàn)證5定義降低風(fēng)險(xiǎn)的策略4Cigital的風(fēng)險(xiǎn)管理框架(RMF)測(cè)量和報(bào)告理解1某軟件項(xiàng)目的風(fēng)險(xiǎn)管理計(jì)劃項(xiàng)目風(fēng)險(xiǎn)管理計(jì)劃風(fēng)險(xiǎn)識(shí)別風(fēng)險(xiǎn)評(píng)估風(fēng)險(xiǎn)應(yīng)對(duì)措施潛在風(fēng)險(xiǎn)后果可能性嚴(yán)重性應(yīng)急措施預(yù)防措施客戶(hù)的需求不明確客戶(hù)不接受產(chǎn)品或拒絕付款59按照客戶(hù)的要求修改事先進(jìn)行需求評(píng)審項(xiàng)目范圍定義不清楚項(xiàng)目沒(méi)完沒(méi)了89按照客戶(hù)要求變更事先定義清楚并由客戶(hù)確認(rèn)項(xiàng)目目標(biāo)不明確項(xiàng)目進(jìn)度拖延或成本超支68修改項(xiàng)目目標(biāo)實(shí)現(xiàn)明確項(xiàng)目目標(biāo)與客戶(hù)溝通不夠軟件不能滿(mǎn)足客戶(hù)需求59立即與客戶(hù)進(jìn)行溝通制定溝通管理計(jì)劃…………………………某軟件項(xiàng)目的風(fēng)險(xiǎn)管理計(jì)劃項(xiàng)目風(fēng)險(xiǎn)管理計(jì)劃風(fēng)險(xiǎn)識(shí)別風(fēng)險(xiǎn)評(píng)估風(fēng)險(xiǎn)微軟:可信賴(lài)計(jì)算安全開(kāi)發(fā)生命周期SDLC

微軟安全培訓(xùn)啟動(dòng)安全并注冊(cè)SWI安全設(shè)計(jì)最優(yōu)方法安全體系結(jié)構(gòu)和攻擊面審核威脅建模使用安全開(kāi)發(fā)工具和最優(yōu)開(kāi)發(fā)和測(cè)試方法為產(chǎn)品創(chuàng)建安全文檔和工具預(yù)備安全反應(yīng)計(jì)劃安全推動(dòng)滲透測(cè)試最終安全審核安全服務(wù)和反應(yīng)執(zhí)行需求設(shè)計(jì)實(shí)現(xiàn)驗(yàn)證發(fā)行支持和服務(wù)微軟:可信賴(lài)計(jì)算安全開(kāi)發(fā)生命周期SDLC微軟安全培訓(xùn)啟動(dòng)安GaryMcGraw:軟件安全接觸點(diǎn)(最優(yōu)化方法)需求和使用案例體系結(jié)構(gòu)和設(shè)計(jì)測(cè)試計(jì)劃代碼測(cè)試和測(cè)試結(jié)果從應(yīng)用領(lǐng)域的反饋濫用案例安全需求風(fēng)險(xiǎn)分析基于風(fēng)險(xiǎn)的安全測(cè)試代碼審核(工具)風(fēng)險(xiǎn)分析滲透測(cè)試安全操作GaryMcGraw:軟件安全接觸點(diǎn)(最優(yōu)化方法)需求和體利用工具進(jìn)行代碼審核

需求和使用案例體系結(jié)構(gòu)和設(shè)計(jì)測(cè)試計(jì)劃代碼測(cè)試和測(cè)試結(jié)果從應(yīng)用領(lǐng)域的反饋濫用案例安全需求風(fēng)險(xiǎn)分析基于風(fēng)險(xiǎn)的安全測(cè)試代碼審核(工具)風(fēng)險(xiǎn)分析滲透測(cè)試安全操作①②②③④⑤⑥⑦利用工具進(jìn)行代碼審核需求和體系結(jié)構(gòu)測(cè)試計(jì)劃代碼測(cè)試和從應(yīng)用代碼審核所有的軟件項(xiàng)目有一個(gè)共同的工件—源代碼。大量的安全問(wèn)題都是由可以在代碼中發(fā)現(xiàn)的簡(jiǎn)單缺陷引起的,例如緩沖區(qū)溢出漏洞與SQL注入漏洞。代碼審核就是為了查找和修復(fù)存在于源代碼中的缺陷。代碼審核可以手工審核或者使用靜態(tài)分析工具進(jìn)行審核。靜態(tài)分析工具審核速度快,并不需要操作人員具有豐富的安全專(zhuān)業(yè)知識(shí)。代碼審核所有的軟件項(xiàng)目有一個(gè)共同的工件—源代碼。25個(gè)最危險(xiǎn)的編程錯(cuò)誤組件間不安全的交互:這些缺陷與數(shù)據(jù)在單獨(dú)的組件、模塊、程序、進(jìn)程、線(xiàn)程或系統(tǒng)之間不安全發(fā)送和接受方法有關(guān)。

CWE-20:不適當(dāng)?shù)妮斎腧?yàn)證;

CWE-116:不正確的編碼或輸出轉(zhuǎn)義;

CWE-89:SQL查詢(xún)結(jié)構(gòu)保護(hù)失敗(又名“SQL注入”);

CWE-79:網(wǎng)頁(yè)結(jié)構(gòu)保護(hù)失敗(又名“跨站腳本攻擊”);

CWE-78:操作系統(tǒng)命令結(jié)構(gòu)保護(hù)失??;

CWE-319:明文傳輸?shù)拿舾行畔ⅲ?/p>

CWE-352:偽造跨站請(qǐng)求(CSRF);

CWE-362:競(jìng)爭(zhēng)條件;

CWE-209:錯(cuò)誤消息的信息泄漏;

25個(gè)最危險(xiǎn)的編程錯(cuò)誤組件間不安全的交互:這些缺陷與數(shù)據(jù)在25個(gè)最危險(xiǎn)的編程錯(cuò)誤危險(xiǎn)的資源管理:此類(lèi)缺陷與軟件沒(méi)有妥善管理創(chuàng)造、使用、轉(zhuǎn)讓或取消重要的系統(tǒng)資源有關(guān)。

CWE-119:對(duì)內(nèi)存緩沖區(qū)邊界操作限制失敗;

CWE-642:外部控制的臨界狀態(tài)數(shù)據(jù);

CWE-73:外部控制的文件名或路徑;

CWE-426:不可信的搜索路徑;

CWE-94:代碼生成控制失敗(又名“代碼注入”);

CWE-494:下載的代碼未進(jìn)行完整性檢查;

CWE-404:資源關(guān)閉或釋放不正確;

CWE-665:不正確的初始化;

CWE-682:不正確的運(yùn)算(如出現(xiàn)整數(shù)溢出等錯(cuò)誤)。

25個(gè)最危險(xiǎn)的編程錯(cuò)誤危險(xiǎn)的資源管理:此類(lèi)缺陷與軟件沒(méi)有妥善25個(gè)最危險(xiǎn)的編程錯(cuò)誤可穿透的防范措施:這一類(lèi)缺點(diǎn)與防御技術(shù)的經(jīng)常誤用、濫用,或徹底忽略有關(guān)。

CWE-285:不正確的訪(fǎng)問(wèn)控制(授權(quán));

CWE-327:使用一個(gè)被攻破的或危險(xiǎn)的加密算法;

CWE-259:硬編碼的密碼;

CWE-732:對(duì)關(guān)鍵資源的使用權(quán)限不安全的分配;

CWE-330:使用不夠有效的隨機(jī)值;

CWE-250:給予沒(méi)有必要的權(quán)限;

CWE-602:服務(wù)器端的安全由客戶(hù)端實(shí)施。

25個(gè)最危險(xiǎn)的編程錯(cuò)誤可穿透的防范措施:這一類(lèi)缺點(diǎn)與防御技術(shù)FortifyFortifySCA是發(fā)現(xiàn)軟件安全漏洞隱患最全面和分析最完整的產(chǎn)品。它使用特有的成熟的五大軟件安全分析引擎、最全面最廣泛的軟件安全代碼規(guī)則集和fortify公司特有的X-TierDataflow?analysis技術(shù)去檢測(cè)軟件安全問(wèn)題。Fortify專(zhuān)門(mén)的分析器

數(shù)據(jù)流分析器語(yǔ)義分析器控制流分析器配置流分析器結(jié)構(gòu)分析器FortifyFortifySCA是發(fā)現(xiàn)軟件安全漏洞隱患最靜態(tài)分析工具FindBugs有了靜態(tài)分析工具,就可以在不實(shí)際運(yùn)行程序的情況對(duì)軟件進(jìn)行分析。FindBugs是一個(gè)靜態(tài)分析工具,它檢查類(lèi)或者JAR文件,將字節(jié)碼與一組缺陷模式進(jìn)行對(duì)比以發(fā)現(xiàn)可能的問(wèn)題。FindBugs的缺陷清單及說(shuō)明。Findbugseclipse插件使用指南

靜態(tài)分析工具FindBugs有了靜態(tài)分析工具,就可以在不實(shí)其他源代碼分析工具CoverityOunceLabsSecuresoftware其他源代碼分析工具Coverity體系結(jié)構(gòu)風(fēng)險(xiǎn)分析

需求和使用案例體系結(jié)構(gòu)和設(shè)計(jì)測(cè)試計(jì)劃代碼測(cè)試和測(cè)試結(jié)果從應(yīng)用領(lǐng)域的反饋濫用案例安全需求風(fēng)險(xiǎn)分析基于風(fēng)險(xiǎn)的安全測(cè)試代碼審核(工具)風(fēng)險(xiǎn)分析滲透測(cè)試安全操作①②②③④⑤⑥⑦體系結(jié)構(gòu)風(fēng)險(xiǎn)分析需求和體系結(jié)構(gòu)測(cè)試計(jì)劃代碼測(cè)試和從應(yīng)用領(lǐng)濫體系結(jié)構(gòu)風(fēng)險(xiǎn)分析50%的軟件安全問(wèn)題是有設(shè)計(jì)瑕疵引起的。因此需要對(duì)設(shè)計(jì)和說(shuō)明書(shū)進(jìn)行審核分析。設(shè)計(jì)人員、架構(gòu)人員和分析人員應(yīng)該用文檔清晰的記錄各種前提假設(shè),并確定可能的攻擊。安全分析人員揭示體系結(jié)構(gòu)瑕疵,對(duì)它們?cè)u(píng)級(jí),并開(kāi)始進(jìn)行降低風(fēng)險(xiǎn)的活動(dòng)。體系結(jié)構(gòu)風(fēng)險(xiǎn)分析50%的軟件安全問(wèn)題是有設(shè)計(jì)瑕疵引起的。Cigital采用的體系結(jié)構(gòu)風(fēng)險(xiǎn)分析的簡(jiǎn)單過(guò)程圖文檔攻擊圖攻擊模式安全的設(shè)計(jì)文獻(xiàn)進(jìn)行攻擊抵抗力分析進(jìn)行不確定性分析進(jìn)行底層框架弱點(diǎn)分析文檔需求體系結(jié)構(gòu)文檔規(guī)則性需求/工業(yè)標(biāo)準(zhǔn)文檔外部資源郵件清單產(chǎn)品文檔攻擊模式確定一般瑕疵非編譯顯示何處沒(méi)有遵循方針映射可實(shí)施的攻擊模式顯示體系結(jié)構(gòu)中的風(fēng)險(xiǎn)和驅(qū)動(dòng)程序顯示對(duì)類(lèi)似技術(shù)的已知攻擊的生存能力考慮設(shè)計(jì)含義產(chǎn)生單獨(dú)的體系結(jié)構(gòu)圖文檔統(tǒng)一的理解揭示不確定性確定下游的困難度解開(kāi)纏繞揭示糟糕的可追逐性在下列位置查找和分析瑕疵COTS框架網(wǎng)絡(luò)拓?fù)淦脚_(tái)確定應(yīng)用程序使用的服務(wù)將弱點(diǎn)映射到應(yīng)用程序所做的假設(shè)上文檔軟件瑕疵體系結(jié)構(gòu)風(fēng)險(xiǎn)評(píng)估報(bào)告編寫(xiě)長(zhǎng)度為一頁(yè)的體系結(jié)構(gòu)概述

輸入活動(dòng)輸出Cigital采用的體系結(jié)構(gòu)風(fēng)險(xiǎn)分析的簡(jiǎn)單過(guò)程圖文檔攻擊攻擊微軟:STRIDE攻擊模型Spoofingidentity(欺騙)Tamperingwithdata(篡改)Repudiation(抵賴(lài))Informationdisclosure(信息泄露)Denialofservice(拒絕服務(wù))Elevationofprivilege(特權(quán)提升)微軟:STRIDE攻擊模型Spoofingidentity49種攻擊模式使客戶(hù)端不可見(jiàn)把寫(xiě)入專(zhuān)用OS資源的程序作為目標(biāo)利用用戶(hù)提供的配置文件運(yùn)行提高權(quán)限的命令利用配置文件的搜索路徑直接訪(fǎng)問(wèn)可執(zhí)行文件在腳本內(nèi)嵌入腳本充分利用不可執(zhí)行文件中的可執(zhí)行代碼參數(shù)注入命令分隔符多個(gè)解析器和雙重?fù)Q碼把用戶(hù)提供的變量傳遞給文件系統(tǒng)調(diào)用后綴NULL終止符49種攻擊模式使客戶(hù)端不可見(jiàn)49種攻擊模式后綴、NULL終止符和反斜線(xiàn)在相對(duì)路徑間來(lái)回移動(dòng)客戶(hù)端控制的環(huán)境變量用戶(hù)提供的全局變量會(huì)話(huà)ID、資源ID和保密委托模擬波段內(nèi)的切換信號(hào)攻擊模式片段:操作終端設(shè)備簡(jiǎn)單的腳本注入在非腳本元素種嵌入腳本HTTP頭中的XSSHTTP查詢(xún)字符串用戶(hù)控制的文件名49種攻擊模式后綴、NULL終止符和反斜線(xiàn)49種攻擊模式將本地文件名傳入到參數(shù)為URL的函數(shù)中電子郵件頭中的元字符文件系統(tǒng)函數(shù)注入,基于內(nèi)容客戶(hù)端注入,緩沖區(qū)溢出導(dǎo)致Web服務(wù)器錯(cuò)誤分類(lèi)前導(dǎo)幽靈字符的交替編碼在交替編碼中使用斜線(xiàn)在交替編碼種使用轉(zhuǎn)義斜線(xiàn)Unicode編碼UTF-8編碼URL編碼可替換的IP地址49種攻擊模式將本地文件名傳入到參數(shù)為URL的函數(shù)中49種攻擊模式斜線(xiàn)和URL編碼組合在一起Web日志記錄使二進(jìn)制資源文件溢出使變量和標(biāo)記溢出使符號(hào)連接溢出MIME轉(zhuǎn)換HTTPCookie通過(guò)緩沖區(qū)溢出來(lái)過(guò)濾錯(cuò)誤用環(huán)境變量來(lái)使緩沖區(qū)溢出在A(yíng)PI調(diào)用中的緩沖區(qū)溢出本地命令行工具中的緩沖區(qū)溢出參數(shù)擴(kuò)展Syslog()中的字符串格式溢出49種攻擊模式斜線(xiàn)和URL編碼組合在一起Microsoft的威脅建模軟件安全最大的原因就在于軟件使用輸入外部數(shù)據(jù)流網(wǎng)絡(luò)I/O遠(yuǎn)程過(guò)程調(diào)用(RFC)外部系統(tǒng)查詢(xún)文件I/O注冊(cè)表命名管道,互斥、共享內(nèi)存,每一個(gè)操作系統(tǒng)對(duì)象Windows消息其他的操作系統(tǒng)調(diào)用Microsoft的威脅建模軟件安全最大的原因就在于軟件使用Microsoft的威脅建模威脅建模識(shí)別威脅路徑識(shí)別威脅識(shí)別漏洞將漏洞分級(jí)/排定優(yōu)先級(jí)Microsoft的威脅建模威脅建模Microsoft的威脅建模識(shí)別威脅路徑識(shí)別最高風(fēng)險(xiǎn)領(lǐng)域,并確定相應(yīng)的保護(hù)措施確定用戶(hù)訪(fǎng)問(wèn)類(lèi)別基于數(shù)據(jù)流圖進(jìn)行威脅分析構(gòu)造威脅路徑表風(fēng)險(xiǎn)訪(fǎng)問(wèn)類(lèi)別非常高匿名的遠(yuǎn)程用戶(hù)高經(jīng)身份鑒別的遠(yuǎn)程用戶(hù),且具有文件操縱能力中經(jīng)身份鑒別的遠(yuǎn)程用戶(hù)低本地用戶(hù),且具有執(zhí)行權(quán)限非常低本地管理用戶(hù)用戶(hù)訪(fǎng)問(wèn)分類(lèi)示例Microsoft的威脅建模識(shí)別威脅路徑風(fēng)險(xiǎn)訪(fǎng)問(wèn)類(lèi)別非常高匿即時(shí)消息(IM)程序服務(wù)器數(shù)據(jù)流圖IM用戶(hù)1IM用戶(hù)2驗(yàn)證身份信息/身份鑒別帳號(hào)管理IM聊天引擎身份證明信息身份證明信息確認(rèn)確認(rèn)注冊(cè)注冊(cè)客戶(hù)帳號(hào)信息客戶(hù)帳號(hào)信息啟動(dòng)信任信息聊天請(qǐng)求用戶(hù)信息聊天日志即時(shí)消息(IM)程序服務(wù)器數(shù)據(jù)流圖IM用戶(hù)1IM用戶(hù)2驗(yàn)證帳具有信任邊界的IM數(shù)據(jù)流圖IM用戶(hù)1IM用戶(hù)2驗(yàn)證身份信息/身份鑒別帳號(hào)管理IM聊天引擎身份證明信息身份證明信息確認(rèn)確認(rèn)注冊(cè)注冊(cè)客戶(hù)帳號(hào)信息客戶(hù)帳號(hào)信息啟動(dòng)信任信息聊天請(qǐng)求用戶(hù)信息聊天日志1432具有信任邊界的IM數(shù)據(jù)流圖IM用戶(hù)1IM用戶(hù)2驗(yàn)證帳號(hào)管理IMicrosoft的威脅建模識(shí)別威脅對(duì)于每一條威脅路徑,需要逐一理清與處理相關(guān)的每一種威脅。高風(fēng)險(xiǎn)活動(dòng)數(shù)據(jù)解析、文件訪(fǎng)問(wèn)、數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)生成子進(jìn)程、身份鑒別、授權(quán)同步或會(huì)話(huà)管理、處理私密數(shù)據(jù)網(wǎng)絡(luò)訪(fǎng)問(wèn)Microsoft的威脅建模識(shí)別威脅Microsoft的威脅建模識(shí)別漏洞清楚了高風(fēng)險(xiǎn)組件所面臨的威脅之后,下一步就是找出可能存在于這些組件中的實(shí)際漏洞。如果設(shè)計(jì)人員未能構(gòu)建一些安全特性來(lái)緩解威脅,威脅就會(huì)變成一種漏洞。漏洞搜尋:詳細(xì)的安全設(shè)計(jì)審查、安全代碼審查、安全測(cè)試Microsoft的威脅建模識(shí)別漏洞Microsoft的威脅建模將漏洞分級(jí)/排定優(yōu)先級(jí)使用DREAD模型適用于分出威脅的嚴(yán)重程度級(jí)別的一種有效技術(shù)。DREAD代表:潛在的破壞(Damagepotential)再現(xiàn)性(Reproducibility)可利用性(Exploitability)受影響的用戶(hù)(Affectedusers)可發(fā)現(xiàn)性(Discoverability)Microsoft的威脅建模將漏洞分級(jí)/排定優(yōu)先級(jí)軟件滲透測(cè)試

需求和使用案例體系結(jié)構(gòu)和設(shè)計(jì)測(cè)試計(jì)劃代碼測(cè)試和測(cè)試結(jié)果從應(yīng)用領(lǐng)域的反饋濫用案例安全需求風(fēng)險(xiǎn)分析基于風(fēng)險(xiǎn)的安全測(cè)試代碼審核(工具)風(fēng)險(xiǎn)分析滲透測(cè)試安全操作①②②③④⑤⑥⑦軟件滲透測(cè)試需求和體系結(jié)構(gòu)測(cè)試計(jì)劃代碼測(cè)試和從應(yīng)用領(lǐng)濫用案滲透測(cè)試(PenetrationTesting)為保證軟件應(yīng)用程序?qū)崿F(xiàn)其商業(yè)功能需求,通常在軟件生命周期運(yùn)行一系列的動(dòng)態(tài)功能測(cè)。傳統(tǒng)的測(cè)試著重強(qiáng)調(diào)特性和功能,但安全并不是一種或一組特性,所以動(dòng)態(tài)功能測(cè)試不適合直接用于安全測(cè)試。安全測(cè)試的核心就是使用白帽和黑帽的概念和方法:保證軟件的安全特性像宣傳的那樣有效,并且保證有意的攻擊也不能輕易的危及系統(tǒng)的安全。滲透測(cè)試(PenetrationTesting)為保證軟件滲透測(cè)試(PenetrationTesting)滲透測(cè)試是一種“反向測(cè)試”,即安全測(cè)試人員直接和深入的探測(cè)安全風(fēng)險(xiǎn)以確定系統(tǒng)在遭受攻擊時(shí)的表現(xiàn)。滲透測(cè)試需要以攻擊者的角度來(lái)思考問(wèn)題,屬于典型的黑盒測(cè)試。滲透測(cè)試就是利用所有的手段進(jìn)行測(cè)試,發(fā)現(xiàn)和挖掘系統(tǒng)中存在的漏洞,然后撰寫(xiě)滲透測(cè)試報(bào)告,將其提供給客戶(hù);客戶(hù)根據(jù)滲透人員提供的滲透測(cè)試報(bào)告對(duì)系統(tǒng)存在漏洞和問(wèn)題的地方進(jìn)行修復(fù)和修補(bǔ)。滲透測(cè)試最適合于發(fā)掘配置問(wèn)題和其他對(duì)軟件安全影響較大的環(huán)境因素。滲透測(cè)試(PenetrationTesting)滲透測(cè)試是滲透測(cè)試工具基于網(wǎng)站的滲透功能:網(wǎng)站漏洞掃描、cookie注入等工具:IBMRationalAppScan、PhpBugScanner

基于系統(tǒng)的滲透功能:系統(tǒng)端口或漏洞掃描等工具:nmap、X-Scan、溯雪

基于數(shù)據(jù)庫(kù)的滲透功能:SQL注入、數(shù)據(jù)庫(kù)弱口令掃描工具:DSQLTools、mysqlweak

緩沖區(qū)溢出漏洞利用工具功能:導(dǎo)致系統(tǒng)緩沖區(qū)溢出工具:sql2、aspcode

滲透測(cè)試工具基于網(wǎng)站的滲透基于風(fēng)險(xiǎn)的安全測(cè)試

需求和使用案例體系結(jié)構(gòu)和設(shè)計(jì)測(cè)試計(jì)劃代碼測(cè)試和測(cè)試結(jié)果從應(yīng)用領(lǐng)域的反饋濫用案例安全需求風(fēng)險(xiǎn)分析基于風(fēng)險(xiǎn)的安全測(cè)試代碼審核(工具)風(fēng)險(xiǎn)分析滲透測(cè)試安全操作①②②③④⑤⑥⑦基于風(fēng)險(xiǎn)的安全測(cè)試需求和體系結(jié)構(gòu)測(cè)試計(jì)劃代碼測(cè)試和從應(yīng)用領(lǐng)基于風(fēng)險(xiǎn)的安全測(cè)試風(fēng)險(xiǎn)分析,特別是在設(shè)計(jì)級(jí)中,可以幫助我們確定潛在的設(shè)計(jì)級(jí)安全問(wèn)題和它們的影響。一旦風(fēng)險(xiǎn)被確定并進(jìn)行了評(píng)級(jí),就有助于指導(dǎo)軟件安全測(cè)試?;陲L(fēng)險(xiǎn)的安全測(cè)試風(fēng)險(xiǎn)分析,特別是在設(shè)計(jì)級(jí)中,可以幫助我們確濫用案例

需求和使用案例體系結(jié)構(gòu)和設(shè)計(jì)測(cè)試計(jì)劃代碼測(cè)試和測(cè)試結(jié)果從應(yīng)用領(lǐng)域的反饋濫用案例安全需求風(fēng)險(xiǎn)分析基于風(fēng)險(xiǎn)的安全測(cè)試代碼審核(工具)風(fēng)險(xiǎn)分析滲透測(cè)試安全操作①②②③④⑤⑥⑦濫用案例需求和體系結(jié)構(gòu)測(cè)試計(jì)劃代碼測(cè)試和從應(yīng)用領(lǐng)濫用案例安濫用案例軟件開(kāi)發(fā)人員傾向于根據(jù)系統(tǒng)在一切條件滿(mǎn)足的情況下的表現(xiàn)來(lái)描述軟件需求,這將導(dǎo)致以正確的使用為前提而描述系統(tǒng)的規(guī)范行為。如果系統(tǒng)會(huì)被有意濫用,為了開(kāi)發(fā)出安全、可靠的軟件,就必須設(shè)法預(yù)測(cè)異常行為。濫用案例軟件開(kāi)發(fā)人員傾向于根據(jù)系統(tǒng)在一切條件滿(mǎn)足的情況下的表濫用案例例如:對(duì)于一個(gè)工資支付系統(tǒng),可能有這樣的用例“系統(tǒng)允許HR管理部門(mén)的用戶(hù)查看和修改所有員工的工資”、“系統(tǒng)只允許基本用戶(hù)查看自己的工資”。但是對(duì)于潛在攻擊者,可能會(huì)試圖獲取工資支付系統(tǒng)中的特別權(quán)限,以刪除所有欺詐交易的證據(jù);或者攻擊者設(shè)法將工資支付推遲幾天以挪用由推遲產(chǎn)生的利息。因此,為開(kāi)發(fā)安全的軟件,需要像壞攻擊者一樣思考問(wèn)題。濫用案例例如:對(duì)于一個(gè)工資支付系統(tǒng),可能有這樣的用例“系統(tǒng)允濫用案例如何創(chuàng)建提出一些假設(shè),說(shuō)明可能出現(xiàn)的問(wèn)題。仔細(xì)考慮負(fù)面和意外的事件。向攻擊者一樣地考慮問(wèn)題。攻擊者:企圖使軟件以某種不可預(yù)料的方式運(yùn)行,以從中獲益。攻擊時(shí)經(jīng)常探測(cè)的地方:邊界條件、邊緣、系統(tǒng)之間的通信,以及系統(tǒng)前提假設(shè)。聰明的攻擊者經(jīng)常設(shè)法破壞建造系統(tǒng)的前提假設(shè)。濫用案例的目標(biāo)之一:軟件應(yīng)該如何對(duì)非法使用做出反應(yīng)。濫用案例如何創(chuàng)建提出一些假設(shè),說(shuō)明可能出現(xiàn)的問(wèn)題。建造濫用案例的簡(jiǎn)單過(guò)程圖文檔需求使用案例攻擊模式可交付文檔攻擊模型威脅攻擊模式已評(píng)級(jí)的誤用和濫用案例

輸入活動(dòng)輸出安全分析人員需求分析人員確定威脅文檔威脅審核威脅創(chuàng)建反需求創(chuàng)建攻擊模型審核反需求審核攻擊模型創(chuàng)建誤用案例分析和評(píng)級(jí)誤用和濫用案例審核已評(píng)級(jí)的誤用和濫用案例建造濫用案例的簡(jiǎn)單過(guò)程圖文檔需求使用攻擊可交付攻擊模型已評(píng)級(jí)安全需求

需求和使用案例體系結(jié)構(gòu)和設(shè)計(jì)測(cè)試計(jì)劃代碼測(cè)試和測(cè)試結(jié)果從應(yīng)用領(lǐng)域的反饋濫用案例安全需求風(fēng)險(xiǎn)分析基于風(fēng)險(xiǎn)的安全測(cè)試代碼審核(工具)風(fēng)險(xiǎn)分析滲透測(cè)試安全操作①②②③④⑤⑥⑦安全需求需求和體系結(jié)構(gòu)測(cè)試計(jì)劃代碼測(cè)試和從應(yīng)用領(lǐng)濫用案例安軟件安全與安全操作相結(jié)合

需求和使用案例體系結(jié)構(gòu)和設(shè)計(jì)測(cè)試計(jì)劃代碼測(cè)試和測(cè)試結(jié)果從應(yīng)用領(lǐng)域的反饋濫用案例安全需求風(fēng)險(xiǎn)分析基于風(fēng)險(xiǎn)的安全測(cè)試代碼審核(工具)風(fēng)險(xiǎn)分析滲透測(cè)試安全操作①②②③④⑤⑥⑦軟件安全與安全操作相結(jié)合需求和體系結(jié)構(gòu)測(cè)試計(jì)劃代碼測(cè)試和從軟件安全與安全操作相結(jié)合需求:濫用案例設(shè)計(jì):商業(yè)風(fēng)險(xiǎn)分析設(shè)計(jì):體系結(jié)構(gòu)風(fēng)險(xiǎn)分析測(cè)試計(jì)劃:安全測(cè)試實(shí)現(xiàn):代碼審核系統(tǒng)測(cè)試:滲透測(cè)試實(shí)際部署系統(tǒng):配置和操作軟件安全與安全操作相結(jié)合需求:濫用案例可信賴(lài)計(jì)算安全開(kāi)發(fā)生命周期微軟安全培訓(xùn)啟動(dòng)安全并注冊(cè)SWI安全設(shè)計(jì)最優(yōu)方法安全體系結(jié)構(gòu)和攻擊面審核威脅建模使用安全開(kāi)發(fā)工具和最優(yōu)開(kāi)發(fā)和測(cè)試方法為產(chǎn)品創(chuàng)建安全文檔和工具預(yù)備安全反應(yīng)計(jì)劃安全推動(dòng)滲透測(cè)試最終安全審核安全服務(wù)和反應(yīng)執(zhí)行需求設(shè)計(jì)實(shí)現(xiàn)驗(yàn)證發(fā)行支持和服務(wù)可信賴(lài)計(jì)算安全開(kāi)發(fā)生命周期微軟安全培訓(xùn)啟動(dòng)安全安全設(shè)安全體Microsoft的SD3+C原則SecurebyDesign,SecurebyDefault,SecureinDeploymentandCommunication

設(shè)計(jì)安全:在架構(gòu)、設(shè)計(jì)和實(shí)現(xiàn)軟件時(shí),應(yīng)使它在運(yùn)行時(shí)能保護(hù)自身及其處理的信息,并能抵御攻擊。默認(rèn)安全:在現(xiàn)實(shí)世界中,軟件達(dá)不到絕對(duì)安全,所以設(shè)計(jì)者應(yīng)假定其存在安全缺陷。部署安全:軟件應(yīng)該隨附工具和指導(dǎo)以幫助最終用戶(hù)和/或管理員安全地使用它。通信:軟件開(kāi)發(fā)者應(yīng)為產(chǎn)品漏洞的發(fā)現(xiàn)做好準(zhǔn)備并坦誠(chéng)負(fù)責(zé)地與最終用戶(hù)和/或管理員進(jìn)行通信,以幫助他們采取保護(hù)措施。Microsoft的SD3+C原則SecurebyDeWindows實(shí)施SDL之前和之后的嚴(yán)重和重要安全公告數(shù)Windows實(shí)施SDL之前和之后的嚴(yán)重和重要安全公告SQLServer2000實(shí)施SDL之前和之后的安全公告數(shù)SQLServer2000實(shí)施SDL之前和之后的安ExchangeServer2000實(shí)施SDL之前和之后的安全公告數(shù)ExchangeServer2000實(shí)施SDL之前誰(shuí)來(lái)實(shí)施安全?Microsoft是假定公司或軟件開(kāi)發(fā)組織中存在一個(gè)中央安全小組,該小組致力于推動(dòng)最佳安全做法的制訂與改進(jìn)和流程優(yōu)化,為整個(gè)組織提供專(zhuān)家意見(jiàn),并在軟件發(fā)布前對(duì)其進(jìn)行審核(最終安全審核或FSR)。Microsoft的經(jīng)驗(yàn)是在軟件設(shè)計(jì)和開(kāi)發(fā)過(guò)程中必須經(jīng)常與安全小組進(jìn)行互動(dòng),并必須與其共享敏感的技術(shù)和商業(yè)信息。誰(shuí)來(lái)實(shí)施安全?Microsoft是假定公司或軟件開(kāi)發(fā)組織中存軟件安全人人有責(zé)開(kāi)發(fā)人員必須實(shí)施安全工程,保證建造的系統(tǒng)是可防御的而非布滿(mǎn)漏洞。軟件操作人員必須繼續(xù)架構(gòu)合理的網(wǎng)絡(luò),保護(hù)它們并維持它們的運(yùn)行。管理員必須理解現(xiàn)代系統(tǒng)的分布式本質(zhì),并開(kāi)始實(shí)施最低特權(quán)原則。用戶(hù)必須認(rèn)識(shí)到軟件是可以安全的,所以可以與軟件供應(yīng)商合作,共享軟件的價(jià)值。還必須認(rèn)識(shí)到,在任何設(shè)計(jì)中用戶(hù)都是最后的防御陣地。軟件經(jīng)理主管人員必須認(rèn)識(shí)到,在安全設(shè)計(jì)和安全分析上盡早投資會(huì)有助于提高用戶(hù)對(duì)他們的產(chǎn)品的信任程度。軟件安全人人有責(zé)開(kāi)發(fā)人員必須實(shí)施安全工程,保證建造的系統(tǒng)是可謝謝!謝謝!軟件開(kāi)發(fā)安全性設(shè)計(jì)信息工程事業(yè)部袁洋2013.05軟件開(kāi)發(fā)安全性設(shè)計(jì)信息工程事業(yè)部主講內(nèi)容軟件安全的概念安全漏洞風(fēng)險(xiǎn)管理框架安全開(kāi)發(fā)生命周期軟件安全的七個(gè)接觸點(diǎn)主講內(nèi)容軟件安全的概念軟件安全的概念第一部分軟件安全的概念第一部分許多關(guān)鍵基礎(chǔ)設(shè)施取決于計(jì)算機(jī)安全許多關(guān)鍵基礎(chǔ)設(shè)施取決于計(jì)算機(jī)安全關(guān)于軟件安全的相關(guān)報(bào)道關(guān)于軟件安全的相關(guān)報(bào)道軟件安全的概念出現(xiàn)軟件故障現(xiàn)象的原因是軟件存在漏洞。“任何軟件,不論它看起來(lái)是多么安全,其中都隱藏漏洞”。軟件安全的目的是盡可能消除軟件漏洞,確保軟件在惡意攻擊下仍然正常運(yùn)行。軟件安全的概念出現(xiàn)軟件故障現(xiàn)象的原因是軟件存在漏洞。報(bào)告給CERT/CC的與安全相關(guān)的軟件弱點(diǎn)報(bào)告給CERT/CC的與安全相關(guān)的軟件弱點(diǎn)軟件安全問(wèn)題加劇的三個(gè)趨勢(shì)互聯(lián)性多數(shù)計(jì)算機(jī)與Internet相連多數(shù)軟件系統(tǒng)互聯(lián)于Internet可擴(kuò)展性通過(guò)接受更新或者擴(kuò)展件使系統(tǒng)升級(jí)復(fù)雜性代碼行數(shù)增加、網(wǎng)絡(luò)式、分布式軟件安全問(wèn)題加劇的三個(gè)趨勢(shì)互聯(lián)性Windows操作系統(tǒng)復(fù)雜性Windows操作系統(tǒng)復(fù)雜性安全漏洞第二部分安全漏洞第二部分安全漏洞安全漏洞安全漏洞安全漏洞安全漏洞所有的軟件都存在潛伏的漏洞安全必須經(jīng)過(guò)長(zhǎng)時(shí)間實(shí)際運(yùn)行證明軟件安全漏洞可分為兩大類(lèi):設(shè)計(jì)漏洞實(shí)現(xiàn)漏洞安全漏洞所有的軟件都存在潛伏的漏洞設(shè)計(jì)漏洞示例MicrosoftBob是作為WindowsME和Windows98的輔助程序而設(shè)計(jì)的,其中包含一個(gè)設(shè)置系統(tǒng)密碼的工具。當(dāng)用戶(hù)試著輸了三次(不正確)密碼時(shí),Bob將彈出如下的信息:“我想你忘記了你的密碼,請(qǐng)輸入一個(gè)新的密碼?!比缓?,就允許用戶(hù)修改密碼,即使不知道老密碼。設(shè)計(jì)漏洞示例MicrosoftBob是作為Windows常見(jiàn)的安全設(shè)計(jì)問(wèn)題密碼技術(shù)使用的敗筆創(chuàng)建自己的密碼技術(shù)選用了不當(dāng)?shù)拿艽a技術(shù)依賴(lài)隱蔽式安全編寫(xiě)到程序中的密鑰錯(cuò)誤的處理私密信息對(duì)用戶(hù)及其許可權(quán)限進(jìn)行跟蹤會(huì)話(huà)管理薄弱或缺失身份鑒別薄弱或缺失授權(quán)薄弱或缺失常見(jiàn)的安全設(shè)計(jì)問(wèn)題密碼技術(shù)使用的敗筆常見(jiàn)的安全設(shè)計(jì)問(wèn)題有缺陷的輸入驗(yàn)證未在安全上下文環(huán)境中執(zhí)行驗(yàn)證驗(yàn)證例程不集中不安全的組件邊界薄弱的結(jié)構(gòu)性安全大的攻擊面在過(guò)高權(quán)限級(jí)別上運(yùn)行進(jìn)程沒(méi)有縱深防御失效時(shí)處理不安全常見(jiàn)的安全設(shè)計(jì)問(wèn)題有缺陷的輸入驗(yàn)證常見(jiàn)的安全設(shè)計(jì)問(wèn)題其他代碼和數(shù)據(jù)混在一起錯(cuò)將信任寄予外部環(huán)境不安全的默認(rèn)值未作審計(jì)日志常見(jiàn)的安全設(shè)計(jì)問(wèn)題其他實(shí)現(xiàn)漏洞示例2001年的紅色代碼(CodeRed)蠕蟲(chóng)利用Microsoft的IISWeb服務(wù)器的軟件缺陷。字符串變量是Unicode字符類(lèi)型的(每個(gè)字符占用兩個(gè)字節(jié)),在計(jì)算緩沖區(qū)的時(shí)候應(yīng)該是偏移量為2,但I(xiàn)IS在計(jì)算緩沖區(qū)大小的時(shí)候卻按照偏移量為1錯(cuò)誤的計(jì)算緩沖區(qū)。導(dǎo)致在14個(gè)小時(shí)內(nèi),就有359000臺(tái)機(jī)器感染了紅色代碼蠕蟲(chóng)。實(shí)現(xiàn)漏洞示例2001年的紅色代碼(CodeRed)蠕蟲(chóng)利用幾個(gè)常見(jiàn)致命安全漏洞緩沖區(qū)溢出SQL注入跨站腳本幾個(gè)常見(jiàn)致命安全漏洞緩沖區(qū)溢出緩沖區(qū)溢出當(dāng)一個(gè)程序允許輸入的數(shù)據(jù)大于已分配的緩沖區(qū)大小時(shí),緩沖區(qū)溢出就會(huì)發(fā)生。有些語(yǔ)言具有直接訪(fǎng)問(wèn)應(yīng)用程序內(nèi)存的能力,如果未能處理好用戶(hù)的數(shù)據(jù)就會(huì)造成緩沖區(qū)溢出。C和C++是受緩沖區(qū)溢出影響的兩種最常見(jiàn)的編程語(yǔ)言。緩沖區(qū)溢出造成的后果小到系統(tǒng)崩潰,大到攻擊者獲取應(yīng)用程序的完全控制權(quán)。1988年,第一個(gè)Internet蠕蟲(chóng)—Morris蠕蟲(chóng)就是對(duì)finger服務(wù)器攻擊,造成緩沖區(qū)溢出,幾乎導(dǎo)致Internet癱瘓。緩沖區(qū)溢出當(dāng)一個(gè)程序允許輸入的數(shù)據(jù)大于已分配的緩沖區(qū)大小時(shí),SQL注入通過(guò)把SQL命令插入到Web表單遞交或輸入域名或頁(yè)面請(qǐng)求的查詢(xún)字符串,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的SQL命令。任何可以與數(shù)據(jù)庫(kù)交互的編程語(yǔ)言都可能出現(xiàn)SQL注入漏洞。SQL注入的最大的威脅是攻擊者可以獲得隱私的個(gè)人信息或者敏感數(shù)據(jù);也可能導(dǎo)致服務(wù)器甚至網(wǎng)絡(luò)的入侵。SQL注入通過(guò)把SQL命令插入到Web表單遞交或輸入域名或頁(yè)SQL注入publicstaticbooleandoQuery(StringId){……try{……Statementst=….;ResultSetrs=st.executeQuery(“SELECTconumFROMcustWHEREid=”+Id);while(rs.next()){…..}catch……}

如果傳遞來(lái)的參數(shù)是“1or2>1--”,則執(zhí)行SQL語(yǔ)句:

SELECTconumFROMcustWHEREid=1or2>1--SQL注入publicstaticbooleandoQ跨站腳本跨站腳本(XSS,Cross-siteScripting)漏洞是一類(lèi)專(zhuān)門(mén)針對(duì)Web應(yīng)用程序的漏洞,它會(huì)使得產(chǎn)生漏洞的Web服務(wù)器綁定的用戶(hù)數(shù)據(jù)(通常保存在cookie中)被泄露給惡意的第三方。所謂“跨站”是指;當(dāng)一個(gè)客戶(hù)端訪(fǎng)問(wèn)了可正常提供服務(wù)但是有漏洞的Web服務(wù)器后,cookie從此客戶(hù)端傳遞給了攻擊者控制的站點(diǎn)。任何用于構(gòu)建網(wǎng)站的編程語(yǔ)言或者技術(shù)都可能受到影響??缯灸_本跨站腳本(XSS,Cross-siteScript跨站腳本跨站腳本跨站腳本<%Stringeid=request.getParameter("eid");%>...EmployeeID:<%=eid%>XSS測(cè)試語(yǔ)句之一:

><script>alert(document.cookie)</script>跨站腳本<%Stringeid=request.ge其他致命安全漏洞格式化字符串整數(shù)溢出命令注入未能處理錯(cuò)誤信息未能保護(hù)好網(wǎng)絡(luò)流量使用MagicUPL及隱藏表單字段未能正確使用SSL和TLS使用基于弱口令的系統(tǒng)未能安全的存儲(chǔ)和保存數(shù)據(jù)信息泄露不恰當(dāng)?shù)奈募L(fǎng)問(wèn)清新網(wǎng)絡(luò)域名解析競(jìng)爭(zhēng)條件未認(rèn)證的密鑰交換密碼學(xué)強(qiáng)度隨機(jī)數(shù)不良可用性其他致命安全漏洞格式化字符串解決軟件安全的方法GaryMcGraw博士應(yīng)用風(fēng)險(xiǎn)管理軟件安全的接觸點(diǎn)(最優(yōu)化方法)知識(shí)微軟:可重復(fù)的流程工程師教育度量標(biāo)準(zhǔn)和可測(cè)量性

解決軟件安全的方法GaryMcGraw博士風(fēng)險(xiǎn)管理框架“安全就是風(fēng)險(xiǎn)管理”。風(fēng)險(xiǎn)就是在項(xiàng)目過(guò)程中有可能發(fā)生的某些意外事情。例如:缺少對(duì)開(kāi)發(fā)工具的培訓(xùn)。風(fēng)險(xiǎn)管理的關(guān)鍵:隨著軟件項(xiàng)目的展開(kāi),不斷的確定和追蹤風(fēng)險(xiǎn)。RMF的基本思想:隨時(shí)間變化,對(duì)軟件安全進(jìn)行確定、評(píng)級(jí)、追蹤和理解。風(fēng)險(xiǎn)管理框架“安全就是風(fēng)險(xiǎn)管理”。Cigital的風(fēng)險(xiǎn)管理框架(RMF)

測(cè)量和報(bào)告理解商業(yè)環(huán)境1

確定商業(yè)和技術(shù)風(fēng)險(xiǎn)工件分析2綜合考慮并對(duì)風(fēng)險(xiǎn)分析3實(shí)施修復(fù)并進(jìn)行驗(yàn)證5定義降低風(fēng)險(xiǎn)的策略4Cigital的風(fēng)險(xiǎn)管理框架(RMF)測(cè)量和報(bào)告理解1某軟件項(xiàng)目的風(fēng)險(xiǎn)管理計(jì)劃項(xiàng)目風(fēng)險(xiǎn)管理計(jì)劃風(fēng)險(xiǎn)識(shí)別風(fēng)險(xiǎn)評(píng)估風(fēng)險(xiǎn)應(yīng)對(duì)措施潛在風(fēng)險(xiǎn)后果可能性嚴(yán)重性應(yīng)急措施預(yù)防措施客戶(hù)的需求不明確客戶(hù)不接受產(chǎn)品或拒絕付款59按照客戶(hù)的要求修改事先進(jìn)行需求評(píng)審項(xiàng)目范圍定義不清楚項(xiàng)目沒(méi)完沒(méi)了89按照客戶(hù)要求變更事先定義清楚并由客戶(hù)確認(rèn)項(xiàng)目目標(biāo)不明確項(xiàng)目進(jìn)度拖延或成本超支68修改項(xiàng)目目標(biāo)實(shí)現(xiàn)明確項(xiàng)目目標(biāo)與客戶(hù)溝通不夠軟件不能滿(mǎn)足客戶(hù)需求59立即與客戶(hù)進(jìn)行溝通制定溝通管理計(jì)劃…………………………某軟件項(xiàng)目的風(fēng)險(xiǎn)管理計(jì)劃項(xiàng)目風(fēng)險(xiǎn)管理計(jì)劃風(fēng)險(xiǎn)識(shí)別風(fēng)險(xiǎn)評(píng)估風(fēng)險(xiǎn)微軟:可信賴(lài)計(jì)算安全開(kāi)發(fā)生命周期SDLC

微軟安全培訓(xùn)啟動(dòng)安全并注冊(cè)SWI安全設(shè)計(jì)最優(yōu)方法安全體系結(jié)構(gòu)和攻擊面審核威脅建模使用安全開(kāi)發(fā)工具和最優(yōu)開(kāi)發(fā)和測(cè)試方法為產(chǎn)品創(chuàng)建安全文檔和工具預(yù)備安全反應(yīng)計(jì)劃安全推動(dòng)滲透測(cè)試最終安全審核安全服務(wù)和反應(yīng)執(zhí)行需求設(shè)計(jì)實(shí)現(xiàn)驗(yàn)證發(fā)行支持和服務(wù)微軟:可信賴(lài)計(jì)算安全開(kāi)發(fā)生命周期SDLC微軟安全培訓(xùn)啟動(dòng)安GaryMcGraw:軟件安全接觸點(diǎn)(最優(yōu)化方法)需求和使用案例體系結(jié)構(gòu)和設(shè)計(jì)測(cè)試計(jì)劃代碼測(cè)試和測(cè)試結(jié)果從應(yīng)用領(lǐng)域的反饋濫用案例安全需求風(fēng)險(xiǎn)分析基于風(fēng)險(xiǎn)的安全測(cè)試代碼審核(工具)風(fēng)險(xiǎn)分析滲透測(cè)試安全操作GaryMcGraw:軟件安全接觸點(diǎn)(最優(yōu)化方法)需求和體利用工具進(jìn)行代碼審核

需求和使用案例體系結(jié)構(gòu)和設(shè)計(jì)測(cè)試計(jì)劃代碼測(cè)試和測(cè)試結(jié)果從應(yīng)用領(lǐng)域的反饋濫用案例安全需求風(fēng)險(xiǎn)分析基于風(fēng)險(xiǎn)的安全測(cè)試代碼審核(工具)風(fēng)險(xiǎn)分析滲透測(cè)試安全操作①②②③④⑤⑥⑦利用工具進(jìn)行代碼審核需求和體系結(jié)構(gòu)測(cè)試計(jì)劃代碼測(cè)試和從應(yīng)用代碼審核所有的軟件項(xiàng)目有一個(gè)共同的工件—源代碼。大量的安全問(wèn)題都是由可以在代碼中發(fā)現(xiàn)的簡(jiǎn)單缺陷引起的,例如緩沖區(qū)溢出漏洞與SQL注入漏洞。代碼審核就是為了查找和修復(fù)存在于源代碼中的缺陷。代碼審核可以手工審核或者使用靜態(tài)分析工具進(jìn)行審核。靜態(tài)分析工具審核速度快,并不需要操作人員具有豐富的安全專(zhuān)業(yè)知識(shí)。代碼審核所有的軟件項(xiàng)目有一個(gè)共同的工件—源代碼。25個(gè)最危險(xiǎn)的編程錯(cuò)誤組件間不安全的交互:這些缺陷與數(shù)據(jù)在單獨(dú)的組件、模塊、程序、進(jìn)程、線(xiàn)程或系統(tǒng)之間不安全發(fā)送和接受方法有關(guān)。

CWE-20:不適當(dāng)?shù)妮斎腧?yàn)證;

CWE-116:不正確的編碼或輸出轉(zhuǎn)義;

CWE-89:SQL查詢(xún)結(jié)構(gòu)保護(hù)失敗(又名“SQL注入”);

CWE-79:網(wǎng)頁(yè)結(jié)構(gòu)保護(hù)失敗(又名“跨站腳本攻擊”);

CWE-78:操作系統(tǒng)命令結(jié)構(gòu)保護(hù)失?。?/p>

CWE-319:明文傳輸?shù)拿舾行畔ⅲ?/p>

CWE-352:偽造跨站請(qǐng)求(CSRF);

CWE-362:競(jìng)爭(zhēng)條件;

CWE-209:錯(cuò)誤消息的信息泄漏;

25個(gè)最危險(xiǎn)的編程錯(cuò)誤組件間不安全的交互:這些缺陷與數(shù)據(jù)在25個(gè)最危險(xiǎn)的編程錯(cuò)誤危險(xiǎn)的資源管理:此類(lèi)缺陷與軟件沒(méi)有妥善管理創(chuàng)造、使用、轉(zhuǎn)讓或取消重要的系統(tǒng)資源有關(guān)。

CWE-119:對(duì)內(nèi)存緩沖區(qū)邊界操作限制失敗;

CWE-642:外部控制的臨界狀態(tài)數(shù)據(jù);

CWE-73:外部控制的文件名或路徑;

CWE-426:不可信的搜索路徑;

CWE-94:代碼生成控制失敗(又名“代碼注入”);

CWE-494:下載的代碼未進(jìn)行完整性檢查;

CWE-404:資源關(guān)閉或釋放不正確;

CWE-665:不正確的初始化;

CWE-682:不正確的運(yùn)算(如出現(xiàn)整數(shù)溢出等錯(cuò)誤)。

25個(gè)最危險(xiǎn)的編程錯(cuò)誤危險(xiǎn)的資源管理:此類(lèi)缺陷與軟件沒(méi)有妥善25個(gè)最危險(xiǎn)的編程錯(cuò)誤可穿透的防范措施:這一類(lèi)缺點(diǎn)與防御技術(shù)的經(jīng)常誤用、濫用,或徹底忽略有關(guān)。

CWE-285:不正確的訪(fǎng)問(wèn)控制(授權(quán));

CWE-327:使用一個(gè)被攻破的或危險(xiǎn)的加密算法;

CWE-259:硬編碼的密碼;

CWE-732:對(duì)關(guān)鍵資源的使用權(quán)限不安全的分配;

CWE-330:使用不夠有效的隨機(jī)值;

CWE-250:給予沒(méi)有必要的權(quán)限;

CWE-602:服務(wù)器端的安全由客戶(hù)端實(shí)施。

25個(gè)最危險(xiǎn)的編程錯(cuò)誤可穿透的防范措施:這一類(lèi)缺點(diǎn)與防御技術(shù)FortifyFortifySCA是發(fā)現(xiàn)軟件安全漏洞隱患最全面和分析最完整的產(chǎn)品。它使用特有的成熟的五大軟件安全分析引擎、最全面最廣泛的軟件安全代碼規(guī)則集和fortify公司特有的X-TierDataflow?analysis技術(shù)去檢測(cè)軟件安全問(wèn)題。Fortify專(zhuān)門(mén)的分析器

數(shù)據(jù)流分析器語(yǔ)義分析器控制流分析器配置流分析器結(jié)構(gòu)分析器FortifyFortifySCA是發(fā)現(xiàn)軟件安全漏洞隱患最靜態(tài)分析工具FindBugs有了靜態(tài)分析工具,就可以在不實(shí)際運(yùn)行程序的情況對(duì)軟件進(jìn)行分析。FindBugs是一個(gè)靜態(tài)分析工具,它檢查類(lèi)或者JAR文件,將字節(jié)碼與一組缺陷模式進(jìn)行對(duì)比以發(fā)現(xiàn)可能的問(wèn)題。FindBugs的缺陷清單及說(shuō)明。Findbugseclipse插件使用指南

靜態(tài)分析工具FindBugs有了靜態(tài)分析工具,就可以在不實(shí)其他源代碼分析工具CoverityOunceLabsSecuresoftware其他源代碼分析工具Coverity體系結(jié)構(gòu)風(fēng)險(xiǎn)分析

需求和使用案例體系結(jié)構(gòu)和設(shè)計(jì)測(cè)試計(jì)劃代碼測(cè)試和測(cè)試結(jié)果從應(yīng)用領(lǐng)域的反饋濫用案例安全需求風(fēng)險(xiǎn)分析基于風(fēng)險(xiǎn)的安全測(cè)試代碼審核(工具)風(fēng)險(xiǎn)分析滲透測(cè)試安全操作①②②③④⑤⑥⑦體系結(jié)構(gòu)風(fēng)險(xiǎn)分析需求和體系結(jié)構(gòu)測(cè)試計(jì)劃代碼測(cè)試和從應(yīng)用領(lǐng)濫體系結(jié)構(gòu)風(fēng)險(xiǎn)分析50%的軟件安全問(wèn)題是有設(shè)計(jì)瑕疵引起的。因此需要對(duì)設(shè)計(jì)和說(shuō)明書(shū)進(jìn)行審核分析。設(shè)計(jì)人員、架構(gòu)人員和分析人員應(yīng)該用文檔清晰的記錄各種前提假設(shè),并確定可能的攻擊。安全分析人員揭示體系結(jié)構(gòu)瑕疵,對(duì)它們?cè)u(píng)級(jí),并開(kāi)始進(jìn)行降低風(fēng)險(xiǎn)的活動(dòng)。體系結(jié)構(gòu)風(fēng)險(xiǎn)分析50%的軟件安全問(wèn)題是有設(shè)計(jì)瑕疵引起的。Cigital采用的體系結(jié)構(gòu)風(fēng)險(xiǎn)分析的簡(jiǎn)單過(guò)程圖文檔攻擊圖攻擊模式安全的設(shè)計(jì)文獻(xiàn)進(jìn)行攻擊抵抗力分析進(jìn)行不確定性分析進(jìn)行底層框架弱點(diǎn)分析文檔需求體系結(jié)構(gòu)文檔規(guī)則性需求/工業(yè)標(biāo)準(zhǔn)文檔外部資源郵件清單產(chǎn)品文檔攻擊模式確定一般瑕疵非編譯顯示何處沒(méi)有遵循方針映射可實(shí)施的攻擊模式顯示體系結(jié)構(gòu)中的風(fēng)險(xiǎn)和驅(qū)動(dòng)程序顯示對(duì)類(lèi)似技術(shù)的已知攻擊的生存能力考慮設(shè)計(jì)含義產(chǎn)生單獨(dú)的體系結(jié)構(gòu)圖文檔統(tǒng)一的理解揭示不確定性確定下游的困難度解開(kāi)纏繞揭示糟糕的可追逐性在下列位置查找和分析瑕疵COTS框架網(wǎng)絡(luò)拓?fù)淦脚_(tái)確定應(yīng)用程序使用的服務(wù)將弱點(diǎn)映射到應(yīng)用程序所做的假設(shè)上文檔軟件瑕疵體系結(jié)構(gòu)風(fēng)險(xiǎn)評(píng)估報(bào)告編寫(xiě)長(zhǎng)度為一頁(yè)的體系結(jié)構(gòu)概述

輸入活動(dòng)輸出Cigital采用的體系結(jié)構(gòu)風(fēng)險(xiǎn)分析的簡(jiǎn)單過(guò)程圖文檔攻擊攻擊微軟:STRIDE攻擊模型Spoofingidentity(欺騙)Tamperingwithdata(篡改)Repudiation(抵賴(lài))Informationdisclosure(信息泄露)Denialofservice(拒絕服務(wù))Elevationofprivilege(特權(quán)提升)微軟:STRIDE攻擊模型Spoofingidentity49種攻擊模式使客戶(hù)端不可見(jiàn)把寫(xiě)入專(zhuān)用OS資源的程序作為目標(biāo)利用用戶(hù)提供的配置文件運(yùn)行提高權(quán)限的命令利用配置文件的搜索路徑直接訪(fǎng)問(wèn)可執(zhí)行文件在腳本內(nèi)嵌入腳本充分利用不可執(zhí)行文件中的可執(zhí)行代碼參數(shù)注入命令分隔符多個(gè)解析器和雙重?fù)Q碼把用戶(hù)提供的變量傳遞給文件系統(tǒng)調(diào)用后綴NULL終止符49種攻擊模式使客戶(hù)端不可見(jiàn)49種攻擊模式后綴、NULL終止符和反斜線(xiàn)在相對(duì)路徑間來(lái)回移動(dòng)客戶(hù)端控制的環(huán)境變量用戶(hù)提供的全局變量會(huì)話(huà)ID、資源ID和保密委托模擬波段內(nèi)的切換信號(hào)攻擊模式片段:操作終端設(shè)備簡(jiǎn)單的腳本注入在非腳本元素種嵌入腳本HTTP頭中的XSSHTTP查詢(xún)字符串用戶(hù)控制的文件名49種攻擊模式后綴、NULL終止符和反斜線(xiàn)49種攻擊模式將本地文件名傳入到參數(shù)為URL的函數(shù)中電子郵件頭中的元字符文件系統(tǒng)函數(shù)注入,基于內(nèi)容客戶(hù)端注入,緩沖區(qū)溢出導(dǎo)致Web服務(wù)器錯(cuò)誤分類(lèi)前導(dǎo)幽靈字符的交替編碼在交替編碼中使用斜線(xiàn)在交替編碼種使用轉(zhuǎn)義斜線(xiàn)Unicode編碼UTF-8編碼URL編碼可替換的IP地址49種攻擊模式將本地文件名傳入到參數(shù)為URL的函數(shù)中49種攻擊模式斜線(xiàn)和URL編碼組合在一起Web日志記錄使二進(jìn)制資源文件溢出使變量和標(biāo)記溢出使符號(hào)連接溢出MIME轉(zhuǎn)換HTTPCookie通過(guò)緩沖區(qū)溢出來(lái)過(guò)濾錯(cuò)誤用環(huán)境變量來(lái)使緩沖區(qū)溢出在A(yíng)PI調(diào)用中的緩沖區(qū)溢出本地命令行工具中的緩沖區(qū)溢出參數(shù)擴(kuò)展Syslog()中的字符串格式溢出49種攻擊模式斜線(xiàn)和URL編碼組合在一起Microsoft的威脅建模軟件安全最大的原因就在于軟件使用輸入外部數(shù)據(jù)流網(wǎng)絡(luò)I/O遠(yuǎn)程過(guò)程調(diào)用(RFC)外部系統(tǒng)查詢(xún)文件I/O注冊(cè)表命名管道,互斥、共享內(nèi)存,每一個(gè)操作系統(tǒng)對(duì)象Windows消息其他的操作系統(tǒng)調(diào)用Microsoft的威脅建模軟件安全最大的原因就在于軟件使用Microsoft的威脅建模威脅建模識(shí)別威脅路徑識(shí)別威脅識(shí)別漏洞將漏洞分級(jí)/排定優(yōu)先級(jí)Microsoft的威脅建模威脅建模Microsoft的威脅建模識(shí)別威脅路徑識(shí)別最高風(fēng)險(xiǎn)領(lǐng)域,并確定相應(yīng)的保護(hù)措施確定用戶(hù)訪(fǎng)問(wèn)類(lèi)別基于數(shù)據(jù)流圖進(jìn)行威脅分析構(gòu)造威脅路徑表風(fēng)險(xiǎn)訪(fǎng)問(wèn)類(lèi)別非常高匿名的遠(yuǎn)程用戶(hù)高經(jīng)身份鑒別的遠(yuǎn)程用戶(hù),且具有文件操縱能力中經(jīng)身份鑒別的遠(yuǎn)程用戶(hù)低本地用戶(hù),且具有執(zhí)行權(quán)限非常低本地管理用戶(hù)用戶(hù)訪(fǎng)問(wèn)分類(lèi)示例Microsoft的威脅建模識(shí)別威脅路徑風(fēng)險(xiǎn)訪(fǎng)問(wèn)類(lèi)別非常高匿即時(shí)消息(IM)程序服務(wù)器數(shù)據(jù)流圖IM用戶(hù)1IM用戶(hù)2驗(yàn)證身份信息/身份鑒別帳號(hào)管理IM聊天引擎身份證明信息身份證明信息確認(rèn)確認(rèn)注冊(cè)注冊(cè)客戶(hù)帳號(hào)信息客戶(hù)帳號(hào)信息啟動(dòng)信任信息聊天請(qǐng)求用戶(hù)信息聊天日志即時(shí)消息(IM)程序服務(wù)器數(shù)據(jù)流圖IM用戶(hù)1IM用戶(hù)2驗(yàn)證帳具有信任邊界的IM數(shù)據(jù)流圖IM用戶(hù)1IM用戶(hù)2驗(yàn)證身份信息/身份鑒別帳號(hào)管理IM聊天引擎身份證明信息身份證明信息確認(rèn)確認(rèn)注冊(cè)注冊(cè)客戶(hù)帳號(hào)信息客戶(hù)帳號(hào)信息啟動(dòng)信任信息聊天請(qǐng)求用戶(hù)信息聊天日志1432具有信任邊界的IM數(shù)據(jù)流圖IM用戶(hù)1IM用戶(hù)2驗(yàn)證帳號(hào)管理IMicrosoft的威脅建模識(shí)別威脅對(duì)于每一條威脅路徑,需要逐一理清與處理相關(guān)的每一種威脅。高風(fēng)險(xiǎn)活動(dòng)數(shù)據(jù)解析、文件訪(fǎng)問(wèn)、數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)生成子進(jìn)程、身份鑒別、授權(quán)同步或會(huì)話(huà)管理、處理私密數(shù)據(jù)網(wǎng)絡(luò)訪(fǎng)問(wèn)Microsoft的威脅建模識(shí)別威脅Microsoft的威脅建模識(shí)別漏洞清楚了高風(fēng)險(xiǎn)組件所面臨的威脅之后,下一步就是找出可能存在于這些組件中的實(shí)際漏洞。如果設(shè)計(jì)人員未能構(gòu)建一些安全特性來(lái)緩解威脅,威脅就會(huì)變成一種漏洞。漏洞搜尋:詳細(xì)的安全設(shè)計(jì)審查、安全代碼審查、安全測(cè)試Microsoft的威脅建模識(shí)別漏洞Microsoft的威脅建模將漏洞分級(jí)/排定優(yōu)先級(jí)使用DREAD模型適用于分出威脅的嚴(yán)重程度級(jí)別的一種有效技術(shù)。DREAD代表:潛在的破壞(Damagepotential)再現(xiàn)性(Reproducibility)可利用性(Exploitability)受影響的用戶(hù)(Affectedusers)可發(fā)現(xiàn)性(Discoverability)Microsoft的威脅建模將漏洞分級(jí)/排定優(yōu)先級(jí)軟件滲透測(cè)試

需求和使用案例體系結(jié)構(gòu)和設(shè)計(jì)測(cè)試計(jì)劃代碼測(cè)試和測(cè)試結(jié)果從應(yīng)用領(lǐng)域的反饋濫用案例安全需求風(fēng)險(xiǎn)分析基于風(fēng)險(xiǎn)的安全測(cè)試代碼審核(工具)風(fēng)險(xiǎn)分析滲透測(cè)試安全操作①②②③④⑤⑥⑦軟件滲透測(cè)試需求和體系結(jié)構(gòu)測(cè)試計(jì)劃代碼測(cè)試和從應(yīng)用領(lǐng)濫用案滲透測(cè)試(PenetrationTesting)為保證軟件應(yīng)用程序?qū)崿F(xiàn)其商業(yè)功能需求,通常在軟件生命周期運(yùn)行一系列的動(dòng)態(tài)功能測(cè)。傳統(tǒng)的測(cè)試著重強(qiáng)調(diào)特性和功能,但安全并不是一種或一組特性,所以動(dòng)態(tài)功能測(cè)試不適合直接用于安全測(cè)試。安全測(cè)試的核心就是使用白帽和黑帽的概念和方法:保證軟件的安全特性像宣傳的那樣有效,并且保證有意的攻擊也不能輕易的危及系統(tǒng)的安全。滲透測(cè)試(PenetrationTesting)為保證軟件滲透測(cè)試(PenetrationTesting)滲透測(cè)試是一種“反向測(cè)試”,即安全測(cè)試人員直接和深入的探測(cè)安全風(fēng)險(xiǎn)以確定系統(tǒng)在遭受攻擊時(shí)的表現(xiàn)。滲透測(cè)試需要以攻擊者的角度來(lái)思考問(wèn)題,屬于典型的黑盒測(cè)試。滲透測(cè)試就是利用所有的手段進(jìn)行測(cè)試,發(fā)現(xiàn)和挖掘系統(tǒng)中存在的漏洞,然后撰寫(xiě)滲透測(cè)試報(bào)告,將其提供給客戶(hù);客戶(hù)根據(jù)滲透人員提供的滲透測(cè)試報(bào)告對(duì)系統(tǒng)存在漏洞和問(wèn)題的地方進(jìn)行修復(fù)和修補(bǔ)。滲透測(cè)試最適合于發(fā)掘配置問(wèn)題和其他對(duì)軟件安全影響較大的環(huán)境因素。滲透測(cè)試(PenetrationTesting)滲透測(cè)試是滲透測(cè)試工具基于網(wǎng)站的滲透功能:網(wǎng)站漏洞掃描、cookie注入等工具:IBMRationalAppScan、PhpBugScanner

基于系統(tǒng)的滲透功能:系統(tǒng)端口或漏洞掃描等工具:nmap、X-Scan、溯雪

基于數(shù)據(jù)庫(kù)的滲透功能:SQL注入、數(shù)據(jù)庫(kù)弱口令掃描工具:DSQLTools、mysqlweak

緩沖區(qū)溢出漏洞利用工具功能:導(dǎo)致系統(tǒng)緩沖區(qū)溢出工具:sql2、aspcode

滲透測(cè)試工具基于網(wǎng)站的滲透基于風(fēng)險(xiǎn)的安全測(cè)試

需求和使用案例體系結(jié)構(gòu)和設(shè)計(jì)測(cè)試計(jì)劃代碼測(cè)試和測(cè)試結(jié)果從應(yīng)用領(lǐng)域的反饋濫用案例安全需求風(fēng)險(xiǎn)分析基于風(fēng)險(xiǎn)的安全測(cè)試代碼審核(工具)風(fēng)險(xiǎn)分析滲透測(cè)試安全操作①②②③④⑤⑥⑦基于風(fēng)險(xiǎn)的安全測(cè)試需求和體系結(jié)構(gòu)測(cè)試計(jì)劃代碼測(cè)試和從應(yīng)用領(lǐng)基于風(fēng)險(xiǎn)的安全測(cè)試風(fēng)險(xiǎn)分析,特別是在設(shè)計(jì)級(jí)中,可以幫助我們確定潛在的設(shè)計(jì)級(jí)安全問(wèn)題和它們的影響。一旦風(fēng)險(xiǎn)被確定并進(jìn)行了評(píng)級(jí),就有助于指導(dǎo)軟件安全測(cè)試?;陲L(fēng)險(xiǎn)的安全測(cè)試風(fēng)險(xiǎn)分析,特別是在設(shè)計(jì)級(jí)中,可以幫助我們確濫用案例

需求和使用案例體系結(jié)構(gòu)和設(shè)計(jì)測(cè)試計(jì)劃代碼測(cè)試和測(cè)試結(jié)果從應(yīng)用領(lǐng)域的反饋濫用案例安全需求風(fēng)險(xiǎn)分析基于風(fēng)險(xiǎn)的安全測(cè)試代碼審核(工具)風(fēng)險(xiǎn)分析滲透測(cè)試安全操作①②②③④⑤⑥⑦濫用案例需求和體系結(jié)構(gòu)測(cè)試計(jì)劃代碼測(cè)試和從應(yīng)用領(lǐng)濫用

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論