版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第4章軟件需求與安全需求程序只實現(xiàn)所需的功能;軟件需求應包含安全需求最好的安全防御,是在一開始就盡可能地消除安全隱患張仁斌2025.02本章主要內(nèi)容4.1軟件需求與需求工程4.2需求引出4.4需求定義與需求驗證4.3需求分析建模4.5安全質(zhì)量需求工程簡介4.6需求變更及其風險控制4.7作業(yè)與實踐任務(wù)(并入期末課程報告)引言開發(fā)軟件之前,須了解用戶的期望和要求需求分析的重要性軟件開發(fā)的基礎(chǔ)和前提需求分析是軟件開發(fā)的第一階段,直接影響后面各階段的實施最終目標軟件系統(tǒng)驗收的標準避免或者盡早剔除早期的錯誤軟件設(shè)計軟件需求軟件編碼軟件測試運行維護做什么?怎么做?動手做檢驗維護軟件開發(fā)過程需求分析的復雜性和面臨的困難片面,不完全模糊,不準確不一致,歧義需求復雜和龐大相關(guān)研究顯示,在軟件開發(fā)過程中,如果沒有采取任何措施,信息衰減十分嚴重100%用戶代表分析人員40%16%設(shè)計人員8.4%編碼人員因此,必須使用系統(tǒng)的方法、借助于一系列行之有效的技術(shù)和工具進行軟件需求分析溝通失真客戶如此描述需求項目經(jīng)理如此理解分析員如此設(shè)計程序員如此編碼商業(yè)顧問如此詮釋項目文檔如此編寫安裝程序如此“簡潔”客戶投資如此巨大技術(shù)支持如此膚淺實際需求原來如此并不是大家有意歪曲,而是各自都按照自己認為的“最可能”去理解,逐級衰減導致信息的扭曲4.1.1軟件需求的定義與分類軟件需求包括功能性需求和非功能性需求需求具有業(yè)務(wù)需求、用戶需求和功能需求三個不同層次業(yè)務(wù)需求用戶需求功能需求系統(tǒng)需求愿景與范圍文檔業(yè)務(wù)規(guī)則質(zhì)量屬性外部接口約束用例文檔軟件需求規(guī)格說明功能性非功能性高層用戶最終用戶開發(fā)人員用戶視圖開發(fā)視圖軟件需求的層次、類型與相應文檔某銷售系統(tǒng)業(yè)務(wù)需求示例需求編號需求描述BR1使用系統(tǒng)6個月后,商品積壓、缺貨和報廢的現(xiàn)象要減少90%BR2使用系統(tǒng)3個月后,銷售人員工作效率要提高50%BR3使用系統(tǒng)9個月后,店鋪運營成本要降低10%范圍:人力成本和庫存成本度量:檢查平均每店鋪員工數(shù)量和平均每萬元銷售額的庫存成本BR4使用系統(tǒng)6個月后,銷售額度要提高25%最好情況:40%最有可能情況:25%最壞情況:10%某銷售系統(tǒng)用戶需求示例需求編號需求描述UR1收銀員可以使用系統(tǒng)逐一記錄銷售的商品UR2收銀員可以使用系統(tǒng)計算商品賬單并處理付款事務(wù),賬單計算需使用促銷策略UR3收銀員可以使用系統(tǒng)為顧客打印購物憑據(jù)UR4收銀員可以使用系統(tǒng)退回顧客已購買的商品某銷售系統(tǒng)功能需求示例需求編號需求描述FR1當收銀員輸入商品目錄中已存在的商品標識時,系統(tǒng)顯示該標識對應商品的信息,包括ID、名稱、描述、價格、特價、數(shù)量、總價。其中ID的規(guī)則參見DR-1FR1.1當收銀員要求輸入商品數(shù)量時,系統(tǒng)應該允許收銀員輸入數(shù)量FR1.1.1當收銀員輸入大于等于1的整數(shù)時,系統(tǒng)修改商品的數(shù)量為輸入值,并更新顯示FR1.1.2當收銀員輸入非數(shù)值型其它內(nèi)容時,系統(tǒng)提示輸入數(shù)量無效FR1.2系統(tǒng)應該計算并顯示輸入商品的總價FR1.2.1如果存在適用{商品標識,今天}的商品特價策略(參見Rule-1),系統(tǒng)將該商品的特價設(shè)為特價策略的特價,并計算分項總價為“特價×數(shù)量”,并將其計入特價商品總價FR1.2.2當商品是非促銷的普通商品時,系統(tǒng)計算該商品分項總價為“商品價格×數(shù)量”,并將其計入普通商品總價FR1.3在顯示商品信息0.5秒之后,系統(tǒng)顯示購物清單列表,并將新輸入商品添加到購物清單列表中FR2當收銀員輸入商品目錄中不存在的商品標識時,系統(tǒng)提示不存在該商品DR-1ID是規(guī)則為xxx的商品條形碼Rule-1適用{商品標識,參照日期}的商品特價促銷策略:(促銷商品標識=商品標識)并且((開始日期早于等于參照日期)并且(結(jié)束日期晚于等于參照日期))4.1.2需求工程概述全面、準確地獲取用戶需求,是開發(fā)出真正滿足用戶需求的軟件產(chǎn)品的必要條件需求分析作為軟件生命周期的初始階段,并貫穿整個軟件生命周期,其重要性越來越突出,逐步形成為軟件工程的子領(lǐng)域——需求工程需求工程需求開發(fā)需求管理需求引出分析建模需求定義需求驗證需求變更控制需求版本控制需求跟蹤需求狀態(tài)評審需求工程結(jié)構(gòu)在通過正式的需求評審和批準之后確定需求基線,并進行配置管理分析建模編寫文檔評審、商議需求變更過程基準需求說明市場客戶管理層需求變更項目環(huán)境項目變更當前基線修正后基線需求開發(fā)需求管理市場客戶管理層需
求需求開發(fā)與需求管理之間的界線4.1.3安全需求工程傳統(tǒng)的軟件需求工程包括需求開發(fā)和需求管理安全需求工程是包含安全的需求工程,不是僅針對安全的需求工程,也不是傳統(tǒng)需求工程的安全拓展,只是對本已涵蓋的安全予以重視和強化,并輔以一定的安全策略和方法本章主要內(nèi)容4.1軟件需求與需求工程4.2需求引出4.4需求定義與需求驗證4.3需求分析建模4.5安全質(zhì)量需求工程簡介4.6需求變更及其風險控制4.7作業(yè)與實踐任務(wù)(并入期末課程報告)4.2.1需求引出過程制定需求開發(fā)計劃確定項目的目標和范圍確定調(diào)查對象主要解決“從哪里得到需求”和“從哪里得到什么類型的需求”等問題收集用戶需求信息解決“如何捕獲各種需求的具體信息”確定非功能性需求4.2.2安全需求引出源需求引出過程的“確定調(diào)查對象”環(huán)節(jié)結(jié)合調(diào)查對象概述了需求引出源,此處單獨補充安全需求引出源用戶往往不會主動提出軟件的安全需求,絕大多數(shù)安全需求是從與安全相關(guān)的非功能性需求引出的安全需求類型及其相應引出源將軟件的功能分為業(yè)務(wù)功能和保障業(yè)務(wù)功能安全的安全功能(功能的模塊化)安全需求分為具有明確獨立代碼予以實現(xiàn)的功能安全需求、安全功能需求及沒有明確獨立的對應代碼、依賴于系統(tǒng)總體測評分析予以度量的安全性能需求三類業(yè)務(wù)目標與資產(chǎn)安全目標與安全策略經(jīng)初審的功能性需求功能安全需求經(jīng)初審的非功能性需求安全性能需求安全功能需求風險識別評估引出威脅分析引出引出引出引出原始安全需求分析提取引出例如:文件上傳功能需防范相對路徑攻擊例如:遵循法律法規(guī)應保護用戶隱私數(shù)據(jù)從軟件系統(tǒng)的業(yè)務(wù)目標和識別的風險資產(chǎn),逐步確定軟件系統(tǒng)的安全目標、安全策略及功能性需求與非功能性需求,進而捕獲安全需求對識別的威脅等進行風險分析,確定比較嚴重的安全隱患和可以暫時不需要考慮的安全問題,進而確定安全目標(需要解決的安全問題)開始①識別風險資產(chǎn)②識別威脅,評估威脅對資產(chǎn)的影響③確立安全目標④提取安全需求⑤審核安全需求⑥迭代求精軟件安全風險評估與控制(第3章)安全需求引出源及提取方法可以從以下幾個方面捕獲軟件的安全需求:①結(jié)合客戶的整體業(yè)務(wù)戰(zhàn)略目標及相關(guān)資產(chǎn)風險識別評估,識別關(guān)鍵資產(chǎn)和關(guān)鍵過程,根據(jù)關(guān)鍵資產(chǎn)面臨的威脅,確定目標軟件系統(tǒng)與業(yè)務(wù)目標一致的安全目標,并將安全目標細化為具體的安全需求②要求安全地實現(xiàn)軟件功能而引入的功能自身的安全需求,即功能安全需求(例如:安全地實現(xiàn)文件傳輸需確認雙方身份防假冒、防中間人)器械設(shè)備控制軟件的功能安全需求側(cè)重于避免功能故障或失效信息數(shù)據(jù)處理軟件的功能安全需求側(cè)重于避免或減少功能或服務(wù)的安全漏洞③軟件質(zhì)量需求所確定的質(zhì)量相關(guān)安全需求,常作為通用安全需求④從攻擊模式或相關(guān)安全事件引出的安全需求,或由威脅建模確定的安全需求⑤行業(yè)組織建議的安全需求⑥軟件開發(fā)組織安全能力成熟度引出的相關(guān)安全需求⑦法律法規(guī)遵從性引出的安全需求例如:處理銀行信用卡支付交易的軟件,其合規(guī)性轉(zhuǎn)化為功能需求(完成支付)和安全需求(安全地完成支付,且抗抵賴)例如,“在儲戶購買銀行理財產(chǎn)品之前,須評估儲戶是否適合交易”這一規(guī)定,需有評估儲戶風險損失承受能力、理財產(chǎn)品風險分級分類的功能與之對應,保障儲戶只接受可承受的風險⑧與軟件開發(fā)合作方協(xié)商確定的與合作方所承擔任務(wù)相關(guān)的安全需求包括權(quán)限管理、交互參數(shù)安全、互操作日志與安全審計等⑨軟件安全測評需求引出的安全需求4.2.3提取安全需求的基本方法從方法論角度補充收集、提取安全需求的基本方法問卷調(diào)查和訪談頭腦風暴和推演討論策略分解將需要遵守的開發(fā)組織內(nèi)部和外部政策(包括法律法規(guī)、隱私條款和遵從性命令)以及安全測評預期目標,分解成詳細的安全需求功能和接口分類劃分結(jié)合攻擊面大小的判斷依據(jù)(例如本地授權(quán)訪問時攻擊面較小、遠程匿名訪問時攻擊面較大),根據(jù)訪問途徑與方法劃分功能和接口類型,并確定不同訪問途徑與方法下的功能與接口安全需求數(shù)據(jù)分類、分級根據(jù)數(shù)據(jù)的生命周期管理對數(shù)據(jù)分類、分級、分階段劃分來確定安全需求主客體關(guān)系矩陣(訪問控制矩陣)利用主客體關(guān)系矩陣描述主、客體之間的訪問控制關(guān)系,在此基礎(chǔ)之上確定安全需求,尤其是與軟件用戶角色劃分相關(guān)的安全需求安全需求調(diào)查問卷示例序號詢問問題回答與判斷1軟件系統(tǒng)數(shù)據(jù)的敏感程度或重要程度在此回答軟件系統(tǒng)數(shù)據(jù)的保密性要求。該要求與客戶的業(yè)務(wù)相關(guān),是指整體敏感程度,可以分為機密、保密、一般、公開等幾種類型2客戶組織中的信息保密制度在此回答客戶組織中的信息保密制度,例如,工資數(shù)據(jù)、財務(wù)數(shù)據(jù)保密級別很高,只有組織中的部分人員可以訪問;其它一般數(shù)據(jù)、人員資料等可向內(nèi)部人員公開3軟件系統(tǒng)運行于何種環(huán)境在此回答軟件系統(tǒng)的運行環(huán)境,諸如:運行于互聯(lián)網(wǎng)還是企業(yè)局域網(wǎng)?是共用服務(wù)器還是私有服務(wù)器?是集中式應用還是分布式應用?是單機版還是服務(wù)器版?4軟件系統(tǒng)使用人員情況在此回答使用人員的成分。例如:是否都是內(nèi)部人員?是否分為正式員工和合同工?是否有外部人員訪問?獲取安全需求示例(討論)基于校園卡的支付系統(tǒng)安全需求(超市、食堂等校內(nèi)現(xiàn)場支付場景)風險資產(chǎn):資金(卡中存款)威脅:卡丟失,盜刷卡安全目標:校園卡資金安全安全需求:①校園卡辦理與校驗;②密碼支付;③記錄支付日志安全需求:①校園卡辦理與校驗;②密碼支付;③小額免密支付;④記錄支付日志優(yōu)化(迭代完善)校園卡辦理:開卡、掛失/補卡、充值等校園卡校驗:假卡(非校園卡),失效卡(掛失后舊卡失效)支付方式:密碼支付(安全性),免密支付(便捷性)支付日志:對賬/查賬,抗抵賴①識別風險資產(chǎn)②識別威脅,評估威脅對資產(chǎn)的影響③確立安全目標④提取安全需求⑤審核安全需求⑥迭代求精忽略數(shù)據(jù)安全在線考試系統(tǒng)安全需求確??荚嚁?shù)據(jù)安全保護考生的個人信息和考試數(shù)據(jù)不被未經(jīng)授權(quán)的訪問和泄露加密和防篡改(授權(quán)合法更分,并記錄)防作弊,確??荚嚨墓焦O(shè)置隨機抽題功能,減少抄襲的可能性?使用人臉識別、雙機位視頻監(jiān)考、錄屏監(jiān)考、AI監(jiān)控等技術(shù)手段,防止作弊行為限制考生考試過程中的操作功能,如禁止復制粘貼、禁用瀏覽器功能等身份驗證和訪問控制?引入多因素身份驗證,確保用戶身份的真實性和安全性基于RBAC的訪問控制:出題者,考生,閱卷者,登分,統(tǒng)分/查分,更分日志記錄和審計?監(jiān)控系統(tǒng)操作和數(shù)據(jù)訪問情況,記錄日志并進行審計,及時發(fā)現(xiàn)異常行為并采取措施?在線花店(書店,藥店,…)安全需求隱私保護與數(shù)據(jù)安全確保用戶的個人信息和交易信息不被泄露,確保所有操作符合當?shù)氐姆煞ㄒ?guī)敏感數(shù)據(jù)包括用戶的姓名、地址、支付信息等,應采用加密技術(shù)保護這些信息身份驗證和訪問控制,確保只有授權(quán)人員可以訪問敏感數(shù)據(jù),同時監(jiān)控和記錄所有訪問嘗試,及時發(fā)現(xiàn)潛在威脅定期自動或提醒備份數(shù)據(jù),以防數(shù)據(jù)丟失或損壞,確保系統(tǒng)故障或被攻擊時能快速恢復服務(wù)支付安全?在線……店需確保支付過程的安全,防止支付信息被截取或篡改常采用SSL/TLS加密技術(shù)來保護支付信息在傳輸過程中的安全,調(diào)用第三方支付接口也常采用此技術(shù)記錄支付日志,防抵賴、交易糾紛盤點或及時結(jié)算,監(jiān)測惡意交易,及時止損本章主要內(nèi)容4.1軟件需求與需求工程4.2需求引出4.4需求定義與需求驗證4.3需求分析建模4.5安全質(zhì)量需求工程簡介4.6需求變更及其風險控制4.7作業(yè)與實踐任務(wù)(并入期末課程報告)4.3.1分析建模的任務(wù)對用戶的原始需求信息進行分析,準確回答“系統(tǒng)必須做什么”,包括:明確系統(tǒng)邊界,對提取的原始需求信息進行分析、檢查、協(xié)商和提煉,查遺補漏、消除分歧、修正錯誤,去除需求中不合理和非本質(zhì)的部分,確定并排序軟件系統(tǒng)的真正需求利用需求分析方法及工具對確定的系統(tǒng)需求進行清晰、準確地描述,建立無二義性的、完整的系統(tǒng)邏輯模型4.3.2需求分析的基本方法數(shù)據(jù)流圖(DataFlowDiagram,DFD)DFD是結(jié)構(gòu)化分析(StructuredAnalysis,SA)方法中用圖形表達用戶需求、表示系統(tǒng)邏輯模型的一種方法,從數(shù)據(jù)傳遞和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的變換過程病員護士病員日志病癥信號要求報告病癥報告報警病員監(jiān)護系統(tǒng)護士頂層數(shù)據(jù)流圖生成病癥報告監(jiān)視病情更新病歷以“醫(yī)院ICU病房監(jiān)護系統(tǒng)需求分析”為例要求報告格式化病員數(shù)據(jù)病員數(shù)據(jù)病員護士病員日志病癥信號病癥報告報警病員生理信號極限局部監(jiān)視1中央監(jiān)視3生成報告2更新日志4緊急報告護士第0層數(shù)據(jù)流圖:“病員監(jiān)護系統(tǒng)”分解病員護士病員日志病癥信號要求報告病癥報告報警病員監(jiān)護系統(tǒng)護士頂層數(shù)據(jù)流圖緊急報告體溫超過極限值日期時間格式化病員數(shù)據(jù)病員生理信號極限病員數(shù)據(jù)報警血壓/體溫脈搏脈搏血壓時鐘格式化病員數(shù)據(jù)3.43.2判斷計算超過極限3.3產(chǎn)生報警信息3.1分解信號第1層數(shù)據(jù)流圖:加工“中央監(jiān)視”分解第0層數(shù)據(jù)流圖:“病員監(jiān)護系統(tǒng)”分解基于用例(UseCase)的需求分析<<包含>>會員訂購商品付款<<擴展>>使用信用卡支付使用第三方支付使用儲蓄卡支付查看商品目錄查詢訂單撤銷訂單<<包含>>管理訂單確認訂單<<包含>><<擴展>><<包含>><<包含>><<包含>><<包含>>會員訂單管理用例圖會員訂單管理用例規(guī)約用例名稱管理訂單用例編號UC02-01參與者會員用例簡述本用例由注冊為會員的顧客啟動。在系統(tǒng)輔助下,登錄會員對選購的商品在線完善訂單并下單,確認并成功支付則完成訂單相關(guān)用例UC01-02(核驗身份)前置條件用戶以注冊會員身份登錄系統(tǒng)基本事件流(1)參與者將訂單信息提交至系統(tǒng);(2)系統(tǒng)驗證會員信息及訂單信息合法后作出響應;(3)針對訂單中的每種商品,系統(tǒng)根據(jù)訂單中的數(shù)量檢查商品庫存數(shù)量;(4)系統(tǒng)統(tǒng)計訂單中商品的總價格;(5)系統(tǒng)生成、保存訂單信息并發(fā)送給會員或供會員查看;(6)會員確定訂單,系統(tǒng)從會員指定的支付賬戶中收取相應錢款,訂單發(fā)送至銷售中心,系統(tǒng)生成并保存交易記錄備選事件流A-1如果訂單信息非法,系統(tǒng)通知會員并提示重新提交訂單;A-2如果訂單中某商品數(shù)量超過該商品庫存量,則提示會員庫存不足,暫無法購買,暫存訂單并禁用支付;A-3如果會員指定的支付賬戶繳款失敗,系統(tǒng)給出相應提示,并終止支付后置條件如果訂單中的商品庫存足夠,則發(fā)貨;否則提示會員當前缺貨數(shù)據(jù)需求D-1訂單信息包括訂單號、參與者的會員賬戶名、收貨人及收貨地址、商品種類數(shù)量、商品種類名稱以及每種商品的價格業(yè)務(wù)規(guī)則B-1只有當訂單中商品信息確認無誤后才能允許會員進行支付審核狀態(tài)[未審核]審核時間
4.3.3安全需求分析的策略與方法安全需求分析基本流程安全風險評估調(diào)整或改進需求分析建模并提取安全需求形成安全需求規(guī)約確定安全目標與威脅經(jīng)初審的功能性和非功能性需求及原始安全需求需求審核通過?是否安全需求分析方法序號方法名稱需求設(shè)計測試引出分析優(yōu)化文檔化1濫用者故事√
2濫用例√
√3誤用例√
√4安全用例√√
√√5反模型√√
√
6安全模式√√
√
7安全問題框架√√
8UML安全擴展
√
√√
9安全Tropos√√√√√
10故障樹
√
√11攻擊樹√√
√√12威脅建?!獭獭獭獭?/p>
14安全質(zhì)量需求工程√√√√√√網(wǎng)店部分功能用例、安全用例、誤用例示意<<包含>><<包含>><<擴展>><<包含>><<擴展>>顧客瀏覽目錄注冊客戶訂購商品變更密碼強制復雜密碼員工阻止重復注冊登錄系統(tǒng)加密洪水攻擊竊取卡信息竊聽獲取密碼<<阻止>><<擴展>><<包含>><<包含>>監(jiān)視系統(tǒng)<<包含>>騙子<<檢測>><<檢測>><<包含>><<包含>><<包含>><<阻止>><<阻止>>參與者和用例安全用例誤用者和誤用例安全用例模板及示例SecurityUseCase:ID:{安全用例標識符}名稱:{安全用例名稱}簡述:{安全用例簡短描述}原由:{[預防/檢測]<<濫用例/誤用例涉及的威脅>>}或{[實施]<<必要的安全措施>>}……成功標準:{以動賓格式描述成功標準}End_SecurityUseCaseSecurityUseCase:ID:SUC01名稱:阻止重復注冊簡述:阻止同一人多次注冊原由:防止<<誤用例之洪水攻擊>>……成功標準:拒絕用相同郵箱的注冊或拒絕來自同一IP地址的多次輸入End_SecurityUseCase基于UMLsec的安全需求建?;具^程原始安全需求原始功能需求構(gòu)建基于UML的功能需求模型基于UMLsec構(gòu)造型表述安全需求基于UMLsec的安全需求模型集成構(gòu)建模型驗證通過?調(diào)整或改進功能需求模型或安全需求構(gòu)造型輸出模型否是初審通過?否是基于安全Tropos的安全需求分析基本過程識別參與者識別目標、軟目標、任務(wù)和資源識別依賴關(guān)系迭代精化迭代精化識別攻擊者識別惡意企圖識別攻擊手段制定緩解措施依賴關(guān)系威脅分析迭代精化精化故障樹故障樹(FaultTree)是一種利用事件符號、邏輯門符號以及轉(zhuǎn)移符號表示事故或者故障事件發(fā)生的原因及其邏輯關(guān)系的樹狀邏輯因果關(guān)系圖確定分析的范圍熟悉系統(tǒng)確定頂事件調(diào)查故障事件建立故障樹故障樹規(guī)范化故障樹的簡化和模塊分解定性分析定量分析故障樹分析報告故障樹分析基本流程賬號密碼泄露故障樹分析模型示意+賬號密碼泄露用戶個人泄露軟件系統(tǒng)泄露管理人員泄露賬號密碼處理不當保管不當釣魚攻擊社會工程拖庫攻擊暴力破解信道監(jiān)聽鍵盤記錄訪問控制欠缺脫敏處理欠缺++++加密處理欠缺攻擊樹(AttackTree)是一種采用層次化樹型結(jié)構(gòu)描述系統(tǒng)或子系統(tǒng)面臨的安全威脅和可能受到的各種攻擊的建模方法,起源于故障樹分析,原本用于網(wǎng)絡(luò)攻擊研究根節(jié)點是實現(xiàn)最終攻擊目標對應的最終事件,即頂事件;葉節(jié)點是實施具體的攻擊方法對應的基本事件;內(nèi)部節(jié)點是中間事件,是攻擊者在攻擊過程中需經(jīng)過的一系列步驟或?qū)崿F(xiàn)最終攻擊目標需實現(xiàn)的一系列子目標在線偷窺工資數(shù)據(jù)未保護網(wǎng)絡(luò)流攻擊者窺視網(wǎng)絡(luò)流利用協(xié)議分析器嗅探網(wǎng)絡(luò)流監(jiān)聽路由器網(wǎng)絡(luò)流路由器未打補丁攻陷路由器猜測路由器密碼攻擊樹中的與或節(jié)點示例獲取root權(quán)限不通過用戶認證破解認證機制獲取服務(wù)器用戶權(quán)限SSH緩沖區(qū)溢出RSA緩沖區(qū)溢出服務(wù)器本地緩沖區(qū)溢出FTP漏洞攻擊RSH欺騙攻擊含有“順序與”的攻擊樹示例RL1M1M2L2M3M4L3M5L4L5L6L7L8L9L10L11M6L12節(jié)點含義節(jié)點含義R竊取數(shù)據(jù)庫中數(shù)據(jù)L5查找數(shù)據(jù)庫數(shù)據(jù)備份L1竊取數(shù)據(jù)庫主機硬盤L6誘騙數(shù)據(jù)庫系統(tǒng)維護管理人員M1數(shù)據(jù)庫主機本地攻擊L7數(shù)據(jù)庫主機操作系統(tǒng)提權(quán)攻擊M2網(wǎng)絡(luò)攻擊L8數(shù)據(jù)庫系統(tǒng)暴力破解L2數(shù)據(jù)庫主機電磁泄漏L9數(shù)據(jù)庫系統(tǒng)漏洞利用M3社會工程學攻擊L10網(wǎng)絡(luò)嗅探M4數(shù)據(jù)庫系統(tǒng)攻擊L11Web應用釣魚攻擊L3SQL注入攻擊M6Web應用漏洞提權(quán)M5獲取目標訪問權(quán)限L12身份偽造L4查找數(shù)據(jù)庫系統(tǒng)密碼備份
竊取數(shù)據(jù)庫中數(shù)據(jù)的攻擊樹模型示意4.3.4基于誤用例和濫用例的安全需求分析傳統(tǒng)的用例分析方法基于正確使用的假設(shè)來描述目標系統(tǒng)的規(guī)范行為,描述用戶和系統(tǒng)的交互過程或系統(tǒng)需實現(xiàn)的功能,并不關(guān)注該交互的結(jié)果對系統(tǒng)和用戶的影響
誤用例是用例的一種擴展,關(guān)注用戶與系統(tǒng)不應該發(fā)生的行為,在用例圖中用填充顏色的用例符號表示;誤用者(Misuser)是一類特殊的參與者,是有意或無意中引發(fā)誤用例的參與者,在用例圖中用填充顏色的參與者符號表示MisuserMisuseCaseAssociationActorUseCaseAssociation用例圖形符號誤用例圖形符號濫用例也是用例的一種擴展,關(guān)注交互結(jié)果對系統(tǒng)或用戶的不利影響或危害;濫用者(Abuser)是一類特殊的參與者,是惡意引發(fā)濫用例的攻擊者。濫用例及濫用者使用與傳統(tǒng)用例、傳統(tǒng)參與者相同的圖形符號表示誤用例和濫用例采用與攻擊者相同的方式來思考軟件系統(tǒng)突破規(guī)范的特性和功能,考慮負面或意外事件,即根據(jù)軟件系統(tǒng)資產(chǎn)與價值,從攻擊者角度思考可能的攻擊動機,或思考“這里會出什么問題”、“攻擊者可能會導致這里出什么問題”之類的問題,建立誤用例和濫用例進行威脅和危害分析,進而從阻止惡意交互操作、預防或消減相關(guān)威脅的角度獲取安全需求文檔需求用例攻擊模式可交付文檔攻擊模型威脅攻擊模式已評級的誤用/濫用例輸入活動輸出識別威脅文檔化威脅復核威脅創(chuàng)建反需求創(chuàng)建攻擊模型復核反需求復核攻擊模型創(chuàng)建誤用/濫用例分析和評級誤用/濫用例復核已評級的誤用/濫用例RA業(yè)務(wù)分析安全分析師(SA)需求分析師(RA)核準?修訂威脅核準?核準?修訂反需求修訂攻擊模型復核誤用/濫用例核準?修訂誤用/濫用例RA技術(shù)分析知識管理系統(tǒng)SA&RASASASA&RA核準?修訂已評級的誤用/濫用例YNNNYNNYYSASASASASA建立濫用例、誤用例的過程輸入活動輸出創(chuàng)建用例需求分析師(RA)根據(jù)用例繪制DFDCAPEC或其它源基于威脅建模和攻擊模式創(chuàng)建誤用/濫用例用例DFD利用威脅建模工具分析DFD威脅列表根據(jù)威脅確定誤用/濫用例名誤用/濫用例名單使用關(guān)鍵字檢索與誤用/濫用例相關(guān)的攻擊模式攻擊模式清單創(chuàng)建誤用/濫用例誤用/濫用例清單安全分析師(SA)誤用是針對已有功能的錯誤使用,誤用例與用例具有一一對應關(guān)系,因此,誤用例和用例一般繪制在同一幅用例圖中,便于集中描述系統(tǒng)應支持的行為及應阻止的與之相關(guān)的惡意行為誤用例和用例之間的關(guān)聯(lián)可以是“威脅”關(guān)系,也可以是“緩解”關(guān)系,或其它與安全相關(guān)的關(guān)系顧客注冊顧客訂購商品評價商品店員申請退貨保護信息洪水攻擊竊取卡信息獲取特權(quán)<<威脅>>屏幕輸入騙子<<包含>><<緩解>>系統(tǒng)管理員泄露顧客信息傳播惡意代碼<<威脅>><<威脅>><<威脅>><<威脅>><<威脅>><<緩解>>參與者和用例誤用者和誤用例網(wǎng)店部分功能用例、誤用例示意網(wǎng)店顧客注冊用例與誤用例規(guī)約示例用例名稱注冊顧客用例編號UC01-01參與者顧客用例簡述(略)相關(guān)用例(略)相關(guān)誤用例洪水攻擊,獲取特權(quán),泄露顧客信息前置條件(略)基本事件流(略)備選事件流(略)后置條件(略)數(shù)據(jù)需求(略)業(yè)務(wù)規(guī)則(略)相關(guān)威脅威脅T1:洪水攻擊。攻擊者對系統(tǒng)發(fā)動洪水攻擊,導致顧客不能正常注冊。威脅T2:獲取特權(quán)。用虛假信息或冒用他人信息注冊,可能導致的結(jié)果:T1-1:實際不存在的人被注冊為顧客,從而非法享有注冊顧客的權(quán)利;T1-2:真實存在的人員在不知情的情況下注冊為客戶(被假冒注冊),而自己不能正常注冊,相關(guān)權(quán)利被假冒者竊取。威脅T3:泄露顧客信息。攻擊者竊取并泄露顧客注冊信息。審核狀態(tài)[未審核]審核時間
在用例規(guī)約的基礎(chǔ)上增加與安全相關(guān)的描述濫用強調(diào)惡意使用已有功能或惡意擴展已有功能,因此,濫用例與用例不具有一一對應關(guān)系。濫用例和用例使用相同的圖形符號,與用例彼此獨立繪制于不同的用例圖中以避免混淆用例圖中描述不同參與者與系統(tǒng)的各種規(guī)范交互,而濫用例圖描述各類濫用者可能會對系統(tǒng)實施的攻擊教師管理試卷管理閱卷考生管理成績<<擴展>>管理員參加考試查詢成績上線試卷管理試題庫管理組卷發(fā)布考試通知管理考試計劃備份考試數(shù)據(jù)維護考試平臺統(tǒng)計分析成績打印成績單<<包含>><<包含>><<包含>><<包含>><<包含>>在線考試系統(tǒng)用例圖惡意考生偷窺者篡改分數(shù)在線考試系統(tǒng)濫用例圖勒索者竊取試卷拷貝他人答案抄襲參考資料癱瘓考試平臺泄露試卷泄露答案泄漏考生隱私交流答案竊取答案篡改試題本章主要內(nèi)容4.1軟件需求與需求工程4.2需求引出4.4需求定義與需求驗證4.3需求分析建模4.5安全質(zhì)量需求工程簡介4.6需求變更及其風險控制4.7作業(yè)與實踐任務(wù)(并入期末課程報告)4.4.1需求定義軟件需求定義也稱作軟件需求規(guī)約,是軟件需求的完整描述安全需求不僅與安全級別相關(guān),更與功能性需求密切相關(guān),需求定義時應盡可能綜合描述示例:與更正學生考試成績相關(guān)的安全需求需求編號安全需求描述SUR1除了指定的教務(wù)員小組內(nèi)的特許用戶,系統(tǒng)將屏蔽(隱藏)更正學生考試成績的功能;本安全能力需求將在不低于中等安全保證的級別上提供SUR2特許用戶在請求更正學生的考試成績之前,須及時正確完成必要的鑒權(quán)授權(quán),否則系統(tǒng)將阻止其使用學生成績更正功能;本安全能力需求將在不低于超高安全保證級別上提供SUR3保存完整日志記錄學生考試成績更正過程,且任何人無權(quán)刪除、修改日志;本安全能力需求將在不低于超高安全保證級別上提供包含安全需求的軟件需求規(guī)格說明的內(nèi)容條目示意內(nèi)容條目解釋說明1引言
1.1文檔概述概述本文檔的內(nèi)容及用途,包括適用范圍與保密性要求1.2項目背景業(yè)務(wù)概況、軟件用途等1.3術(shù)語與縮寫解釋軟件需求規(guī)格涉及的關(guān)鍵術(shù)語的定義及縮寫詞的含義1.4參考文獻與依據(jù)撰寫軟件需求規(guī)格參考的標準、需求來源文獻資料等2需求概述
2.1系統(tǒng)目標本系統(tǒng)的開發(fā)意圖、應用目標及作用范圍(現(xiàn)有系統(tǒng)存在的問題和目標系統(tǒng)所要解決的問題);本系統(tǒng)的主要功能、處理流程、數(shù)據(jù)流程及簡要說明;表示外部接口和數(shù)據(jù)流的系統(tǒng)高層次圖,體現(xiàn)本系統(tǒng)與其他相關(guān)系統(tǒng)的關(guān)系;與業(yè)務(wù)目標一致的安全目標2.2系統(tǒng)安全等級本系統(tǒng)需滿足的安全標準/規(guī)范及擬達到的安全等級,即本系統(tǒng)上線投入使用須滿足的安全合規(guī)性條件及對應的安全策略、安全措施分級2.3運行環(huán)境本系統(tǒng)的運行環(huán)境(硬件環(huán)境和支持環(huán)境)的規(guī)定,包括本系統(tǒng)對可信運行環(huán)境的要求2.4用戶角色與用戶特點本系統(tǒng)用戶類型,及從使用系統(tǒng)角度,所具有的特點2.5關(guān)鍵點本軟件需求規(guī)格說明書中的關(guān)鍵點(例如,關(guān)鍵功能、關(guān)鍵算法、安全關(guān)鍵對象和所涉及的關(guān)鍵技術(shù)等)及其安全指標2.6安全狀態(tài)安全狀態(tài)轉(zhuǎn)移圖(含異常的發(fā)生與狀態(tài)恢復)等2.7條件限制進行本系統(tǒng)開發(fā)工作的限制條件,例如:經(jīng)費限制、開發(fā)期限和所采用的方法與技術(shù),以及政治、社會、文化、法律等3數(shù)據(jù)描述
3.1數(shù)據(jù)分類分級安全需求數(shù)據(jù)采集、傳輸、存儲、使用、銷毀全生命周期安全需求3.2靜態(tài)/動態(tài)數(shù)據(jù)描述含會話數(shù)據(jù)的安全處理要求3.3數(shù)據(jù)庫描述含數(shù)據(jù)庫性能與安全需求3.4數(shù)據(jù)字典
4功能與功能安全需求
4.1功能劃分功能需求一覽表等4.2功能與功能安全描述描述功能及其安全實現(xiàn)要求,包括用例圖、誤用例/濫用例/安全用例圖、數(shù)據(jù)流圖、對象圖或時序圖4.3安全功能描述保障本系統(tǒng)安全的功能,包括系統(tǒng)需實現(xiàn)的訪問控制、加密解密、安全通訊、日志與審計等功能5性能需求
5.1數(shù)據(jù)精確度含誤差累積的影響5.2時間特性含時間特性的影響5.3并發(fā)性多線程與事務(wù)并發(fā)能力及競爭條件等6運行需求
6.1用戶界面含系統(tǒng)標識與防偽或防釣魚62軟硬件接口數(shù)據(jù)交換軟硬件接口與安全6.3通訊接口含通訊協(xié)議與協(xié)議安全6.4故障或異常處理安全地、最小代價地處理故障或異常及系統(tǒng)恢復7其它需求檢測或驗收標準、使用性能、軟件質(zhì)量特性等4.4.2需求驗證需求驗證是指為了保證軟件質(zhì)量,在完成需求規(guī)格說明之后,對需求規(guī)格說明書進行的驗證活動,包括檢查是否以正確的形式建立了需求、技術(shù)上是否可解決,確認得到語義正確的需求、符合用戶原意需求驗證的目的是確保軟件需求規(guī)格說明完整、準確、一致地反映用戶需求,確保需求具有合理性、可行性、可驗證性,盡可能發(fā)現(xiàn)需求規(guī)格說明存在的錯誤,以減少因錯誤而增加的工作量需求驗證的內(nèi)容主要包括需求的完整性、一致性、可行性、必要性,證明需求是正確有效的,確實能解決用戶面對的問題,為后續(xù)系統(tǒng)設(shè)計、實現(xiàn)和測試提供足夠的基礎(chǔ)需求驗證的主要方法是復核(Review,也譯為評審)根據(jù)復核的正式程度由高到低將其分為審查(Inspection)、小組評審(TeamReview)、走查(Walkthrough)、結(jié)對編程、同級桌查/輪查、臨時評審六個等級相對正式的是審查、小組評審、走查三種復核需求審查過程規(guī)劃總體會議準備審查會議返工跟蹤初始工作產(chǎn)品明確基線的產(chǎn)品本章主要內(nèi)容4.1軟件需求與需求工程4.2需求引出4.4需求定義與需求驗證4.3需求分析建模4.5安全質(zhì)量需求工程簡介4.6需求變更及其風險控制4.7作業(yè)與實踐任務(wù)(并入期末課程報告)概述安全質(zhì)量需求工程(SecurityQUAlityRequirementsEngineering,SQUARE)是卡內(nèi)基梅隆大學軟件工程研究所開發(fā)的一個專門針對安全需求工程的過程模型,為IT系統(tǒng)和應用軟件的安全需求引出、分類和確定優(yōu)先級提供一套系統(tǒng)的方法模型包含九個步驟SQURE過程序號步驟輸入技術(shù)參與者輸出1統(tǒng)一定義從IEEE或其他標準中選取定義結(jié)構(gòu)化交談、專注小組干系人、需求工程師統(tǒng)一后的定義2確認安全目標定義、候選目標、商業(yè)驅(qū)動力、政策和程序、例子工作會議、調(diào)查、交談干系人、需求工程師安全目標3開發(fā)工件以支持安全需求定義可能的工件(方案、誤用案例、模板、框架)工作會議需求工程師所需的工件(方案、誤用案例、原型、模板、框架)4進行安全風險評估誤用案例、方案、安全目標風險評估與分析、威脅分析干系人、需求工程師、風險專家風險評估結(jié)果SQUARE過程共9步,第1步到第4步實際上優(yōu)于安全需求工程的活動,應確保這些過程要成功參閱:SecurityQualityRequirementsEngineering(SQUARE)Methodology序號步驟輸入技術(shù)參與者輸出5選擇啟發(fā)式方法目標、定義、候選技術(shù)、干系人的專長、組織的類型、文化、需要的安全等級、成本效益工作會議需求工程師啟發(fā)性式方法6得出安全需求工件、風險評估結(jié)果、開發(fā)技術(shù)面談、調(diào)查、基于模型的分析、可復用的需求列表等干系人(需求工程師給予幫助)安全需求的初步模型7需求分類安全需求的初步模型、架構(gòu)工作會議需求工程師、其他專家分好類的需求8需求排序分好類的需求、風險評估結(jié)果排序方法干系人(需求工程師給予幫助)排好序的需求9需求復查排好序的需求、形式化檢查檢查方法檢查團隊初始需求、相關(guān)文檔本章主要內(nèi)容4.1軟件需求與需求工程4.2需求引出4.4需求定義與需求驗證4.3需求分析建模4.5安全質(zhì)量需求工程簡介4.6需求變更及其風險控制4.7作業(yè)與實踐任務(wù)(并入期末課程報告)4.6.1需求變更需求變更是需求工程中研究在軟件開發(fā)中如何對需求變化進行控制的過程,包括變更建議的提出、分析變更影響并據(jù)此做出變更決策、監(jiān)督變更的實施過程等支持需求變更的工具可以分為三大類:需求管理工具、變更管理工具、配置管理工具軟件后續(xù)開發(fā)工作版本控制變更控制軟件需求規(guī)格說明書需求追蹤需求狀態(tài)追蹤需求管理工具變更管理工具配置管理工具4.6.2需求變更的負面影響需求是軟件設(shè)計、實現(xiàn)、測試的基礎(chǔ),需求變更將導致以需求為基礎(chǔ)的一系列活動的連鎖反應:需求與需求之間、需求到體系結(jié)構(gòu)及設(shè)計之間、再到代碼之間,需求變更的影響逐級傳播、蔓延并被逐級放大業(yè)務(wù)需求變更軟件需求規(guī)格說明書數(shù)據(jù)庫用戶需求變更功能性/非功能性需求變更技術(shù)方案變更代碼其它文檔測試軟件模型需求變更影響的傳播4.6.3需求變更風險控制在需求開發(fā)階段做好需求變更預防工作明確項目的目標和范圍、建立需求文檔并進行版本控制、細化需求驗證、設(shè)定需求基線當需求變更發(fā)生時,將新需求按重要和緊迫程度分級,并分級管理變更,定時批量規(guī)范處理變更,盡可能地降低頻繁需求變更的負面影響在決策是否實施變更的需求時,不能獨立地評價、判斷變更的技術(shù)可行性、估計實現(xiàn)變更的代價和可能產(chǎn)生的影響應基于軟件系統(tǒng)的完整需求驗證變更的需求,全面分析需求間以及需求到體系結(jié)構(gòu)的需求變更影響,結(jié)合風險評估綜合決策是否實施需求變更需求變更時,與驗證確定軟件需求時一樣,開發(fā)組織應酌情考慮對軟件系統(tǒng)整體進行安全風險評估選擇適應性軟件體系結(jié)構(gòu),有利于化解必然會發(fā)生的需求變更的影響本章主要內(nèi)容4.1軟件需求與需求工程4.2需求引出4.4需求定義與需求驗證4.3需求分析建模4.5安全質(zhì)量需求工程簡介4.6需求變更及其風險控制4.7作業(yè)與實踐任務(wù)(并入期末課程報告)任務(wù)1:結(jié)構(gòu)化需求分析任務(wù)內(nèi)容調(diào)研了解“基于Web的大學生選課系統(tǒng)”的軟件開發(fā)需求,撰寫需求分析規(guī)格說明書,須使用數(shù)據(jù)流圖對選課功能進行結(jié)構(gòu)化需求分析任務(wù)目的培養(yǎng)全面、仔細分析問題的能力;掌握基于數(shù)據(jù)流圖的結(jié)構(gòu)化需求分析方法,為后續(xù)章節(jié)基于數(shù)據(jù)流圖的威脅建模奠定基礎(chǔ);熟悉需求規(guī)格說明書的內(nèi)容及撰寫方法參考方法結(jié)合本章介紹的需求分析建模方法,查閱軟件工程與需求相關(guān)的內(nèi)容或查閱需求工程相關(guān)的書籍與資料,全面了解需求分析的理論與方法及需求規(guī)格說明的規(guī)定內(nèi)容與參考模板,熟練應用數(shù)據(jù)流圖建模方法思考數(shù)據(jù)流圖分層細化時,何時不再對加工處理進一步分解?任務(wù)2:基于誤用例/濫用例的安全需求分析任務(wù)內(nèi)容對任務(wù)1的選課功能進行基于誤用例/濫用例的安全需求分析任務(wù)目的熟悉常見威脅與攻擊模式,培養(yǎng)從攻擊者角度思考問題、創(chuàng)建反需求的能力;掌握基于用例的需求分析方法;掌握基于誤用例/濫用例的安全需求分析方法參考方法結(jié)合系統(tǒng)應用場景與功能需求,構(gòu)建用例模型;利用STRIDE模型,從六種常見威脅的角度創(chuàng)建反需求,或從熟悉CAPEC列舉的攻擊模式或從其它途徑了解常見攻擊并創(chuàng)建反需求,進而構(gòu)建誤用例/濫用例模型思考如何緩解誤用例/濫用例描述的威脅?第5章安全設(shè)計設(shè)計高質(zhì)量的軟件本來就已很困難,確保軟件安全性更是難上加難,但無法回避!張仁斌2025.02引例:如何設(shè)計房子原始需求一家六口人,有一塊宅基地,現(xiàn)要蓋一棟住宅樓需求分析功能需求8個臥室(其中兩間客人住房),3個臥室須帶衛(wèi)生間,1個客廳,1間棋牌室,1間書房,1間廚房,不要電梯,…非功能需求朝南的臥室盡量多,兩位老人住一樓,衛(wèi)生間不臨馬路安全需求抗7級地震,防盜搶(無院墻),消防安全(水電氣安全等)針對上述需求,如何開始設(shè)計這棟房子?僅考慮大概流程盡管我們不是學建筑的,但分析問題解決問題的思路、方法是通的,是可以相互借鑒的第一步:架構(gòu)風格選擇或設(shè)計根據(jù)周邊環(huán)境特點選擇架構(gòu),或設(shè)計新的架構(gòu),一般是選擇周邊山水、地理環(huán)境特點周邊建筑特點注意:設(shè)計過程中必須與客戶保持溝通,可能要修改需求歐式風格伊斯蘭風格徽派建筑基本原則:要蓋的房子,須與環(huán)境協(xié)調(diào)“架構(gòu)風格”必然會影響相關(guān)模塊的設(shè)計,并借助相關(guān)元素來體現(xiàn)該風格關(guān)于架構(gòu)與需求,及對設(shè)計的影響架構(gòu)介于需求與設(shè)計之間,是設(shè)計的起點若在需求分析階段涉及架構(gòu),則有兩種可能基于快速原型法獲取需求(給用戶看樣板房)用戶了解有哪些架構(gòu)及每種架構(gòu)的特點,即用戶懂行,跟懂行的用戶溝通,可以快速選擇架構(gòu)后跳到概要設(shè)計和詳細設(shè)計階段決定采用哪種架構(gòu),對后續(xù)概要設(shè)計、詳細設(shè)計,具有很大影響歐式客廳和中式客廳有一定的“中西結(jié)合”,但特征元素仍顯著不同第二步:概要設(shè)計(草圖)功能設(shè)計樓層規(guī)劃,房間位置布局安全設(shè)計抗地震房型結(jié)構(gòu)規(guī)劃外墻防攀爬規(guī)劃(下水管道布局規(guī)劃,隱藏/室內(nèi)?飄窗?)消防通道布局第三步:詳細設(shè)計(設(shè)計圖)功能設(shè)計落地鋼化玻璃門窗,陽臺雕花羅馬柱(歐式),……安全設(shè)計墻體厚度設(shè)計,鋼筋水泥強度,電線容量,門窗防盜…安全設(shè)計和功能設(shè)計是密切相關(guān)的,不存在先后問題繪畫構(gòu)思也類似,先粗布局(線框式布局),再細布局(示意大致輪廓)程序設(shè)計稱“自頂向下,逐步細化”概要設(shè)計詳細設(shè)計設(shè)計實現(xiàn)軟件設(shè)計也要經(jīng)歷:軟件架構(gòu)選擇/設(shè)計
概要設(shè)計
詳細設(shè)計,然后開始施工(編碼)軟件安全是融入每個過程、每個環(huán)節(jié)的,不是事后彌補軟件架構(gòu)有哪些?如何選擇/設(shè)計?本章主要內(nèi)容5.1軟件設(shè)計概述5.2安全設(shè)計及其原則5.4威脅建模5.3安全策略與安全模型5.5基于復用的軟件安全設(shè)計5.6基于容錯技術(shù)的功能安全設(shè)計5.7軟件體系結(jié)構(gòu)與安全設(shè)計分析5.8作業(yè)與實踐任務(wù)5.1.1軟件設(shè)計基本概念軟件設(shè)計是根據(jù)軟件需求規(guī)格說明書形成軟件的具體設(shè)計方案的過程,包括設(shè)計軟件系統(tǒng)的整體結(jié)構(gòu)、劃分軟件系統(tǒng)的功能模塊、確定每個模塊的實現(xiàn)算法或?qū)崿F(xiàn)流程等軟件設(shè)計在需求分析明確軟件“做什么”的基礎(chǔ)上,解決軟件“怎么做”的問題技術(shù)視角數(shù)據(jù)設(shè)計體系結(jié)構(gòu)設(shè)計過程設(shè)計管理視角概要設(shè)計詳細設(shè)計
接口設(shè)計
不同視角下的軟件設(shè)計5.1.2軟件概要設(shè)計概要設(shè)計也稱為總體設(shè)計,其主要任務(wù)是基于軟件需求規(guī)格說明設(shè)計軟件系統(tǒng)的整體結(jié)構(gòu),劃分軟件的各個子模塊,確定子模塊之間的關(guān)系概要設(shè)計完成軟件體系結(jié)構(gòu)設(shè)計、數(shù)據(jù)設(shè)計和接口設(shè)計體系結(jié)構(gòu)設(shè)計定義軟件系統(tǒng)各子系統(tǒng)模塊間的數(shù)據(jù)傳遞與調(diào)用關(guān)系數(shù)據(jù)設(shè)計包括數(shù)據(jù)庫、數(shù)據(jù)文件和全局數(shù)據(jù)結(jié)構(gòu)的定義接口設(shè)計包括與軟件系統(tǒng)交互的人機界面設(shè)計以及模塊間、軟件系統(tǒng)與外部系統(tǒng)的接口關(guān)系軟件設(shè)計過程中應遵循的基本原則包括:模塊化原則抽象原則信息隱蔽原則信息局部化原則模塊獨立性原則軟件結(jié)構(gòu)的圖形化表示層次圖(H圖)用層次圖(H圖)描述軟件的層次結(jié)構(gòu)層次圖中的一個矩形框代表一個模塊,矩形框之間的連線表示調(diào)用關(guān)系而非組成關(guān)系;最頂層的方框代表軟件系統(tǒng)的主控模塊,其調(diào)用第二層的模塊完成軟件系統(tǒng)的全部功能;第二層的每個模塊控制完成軟件系統(tǒng)的一個主要功能;根據(jù)軟件功能的復雜程度,第二層的模塊可能進一步調(diào)用細分為下一層的模塊,如此逐層調(diào)用訂貨處理1.0銷售管理系統(tǒng)進貨處理2.0銷售統(tǒng)計3.0讀取庫存記錄1.2錄入并檢驗訂單1.1缺貨處理4.0確定能否供貨1.3銷售管理系統(tǒng)層次圖示意軟件結(jié)構(gòu)的圖形化表示層次圖(H圖)HIPO圖層次圖(H圖)除主控模塊外的每個模塊附一張IPO(輸入、處理、輸出)圖描述模塊的處理過程,則形成HIPO圖
IPO表系統(tǒng):______
作者:______模塊:______
日期:______編號:1.3
被調(diào)用:調(diào)用:輸入:輸出:處理:局部數(shù)據(jù)元素:文件名:全局變量:備注:銷售管理系統(tǒng)確定能否供貨訂貨處理可供貨模塊缺貨訂單留底訂單訂貨量X貨物庫存量Y供貨標志庫存文件IFY>XTHEN可供貨處理
ELSE缺貨訂單留底ENDIFIPO圖示意(已改進為IPO表)軟件結(jié)構(gòu)的圖形化表示層次圖(H圖)HIPO圖結(jié)構(gòu)圖結(jié)構(gòu)圖(也稱作控制結(jié)構(gòu)圖)是進行軟件結(jié)構(gòu)設(shè)計的一種工具,與層次圖類似,也是描述軟件結(jié)構(gòu)的圖形化工具結(jié)構(gòu)圖也是用矩形框代表模塊,矩形框內(nèi)注明模塊的名字或主要功能,矩形框之間的連線表示模塊的調(diào)用關(guān)系可以用帶注釋的箭頭表示模塊調(diào)用過程中來回傳遞的信息產(chǎn)生最佳解得到好輸入計算最佳解輸出結(jié)果讀輸入編輯輸入結(jié)果格式化顯示輸出原始輸入原始輸入好輸入好輸入解解編輯結(jié)果格式化解解格式化解結(jié)構(gòu)圖示例:產(chǎn)生最佳解的一般結(jié)構(gòu)結(jié)構(gòu)圖具有四種形態(tài)特征:①結(jié)構(gòu)圖的深度,②結(jié)構(gòu)圖的寬度,③模塊的扇入,④模塊的扇出結(jié)構(gòu)圖的形態(tài)特征及相關(guān)概念圖解TDEMABCIJKLNHFGSROPQ扇入為4扇出為3深度為5寬度為8主宰從屬0層1層2層3層4層軟件的結(jié)構(gòu)化設(shè)計與面向數(shù)據(jù)流的設(shè)計方法結(jié)構(gòu)化設(shè)計包括軟件體系結(jié)構(gòu)設(shè)計、接口設(shè)計、數(shù)據(jù)設(shè)計和過程設(shè)計等任務(wù)結(jié)構(gòu)化設(shè)計數(shù)據(jù)字典數(shù)據(jù)對象規(guī)約控制規(guī)約加工規(guī)約數(shù)據(jù)流圖E-R圖狀態(tài)變遷圖過程設(shè)計接口設(shè)計數(shù)據(jù)設(shè)計體系結(jié)構(gòu)設(shè)計結(jié)構(gòu)化分析結(jié)構(gòu)化設(shè)計將結(jié)構(gòu)化需求分析產(chǎn)生的數(shù)據(jù)流圖按一定的步驟映射成軟件結(jié)構(gòu)數(shù)據(jù)流圖分為變換型數(shù)據(jù)流圖和事務(wù)型數(shù)據(jù)流圖,對應的映射方法分別稱為變換分析和事務(wù)分析精化數(shù)據(jù)流圖DFD類型區(qū)分事務(wù)中心和數(shù)據(jù)接收通路區(qū)分輸入和輸出分支映射成事務(wù)結(jié)構(gòu)映射成變換結(jié)構(gòu)運用模塊設(shè)計規(guī)則,精化軟件結(jié)構(gòu)描述模塊功能、接口和全局數(shù)據(jù)結(jié)構(gòu)復核詳細設(shè)計映射頂層和第一層事務(wù)型變換型設(shè)計中下層模塊結(jié)構(gòu)未通過事務(wù)分析變換分析結(jié)構(gòu)化設(shè)計過程變換分析編輯檢查計算格式化3格式化1格式化2邏輯輸入邏輯輸出有效
數(shù)據(jù)已編輯
數(shù)據(jù)初始數(shù)據(jù)計算值1計算值3格式數(shù)據(jù)1格式數(shù)據(jù)3格式數(shù)據(jù)2變換中心計算值2主控取得有效數(shù)據(jù)格式化輸出計算格式化1格式化2格式化3檢查編輯變換型數(shù)據(jù)流圖示例變換型數(shù)據(jù)流圖映射為結(jié)構(gòu)圖示例事務(wù)分析事務(wù)型數(shù)據(jù)流圖示例原配置
數(shù)據(jù)命令
類型讀用戶
命令判斷
命令讀系統(tǒng)
數(shù)據(jù)計算
統(tǒng)計輸出結(jié)果讀密碼更新配置比較
密碼校驗
結(jié)果事務(wù)中心參數(shù)計算密碼計算
結(jié)果四位
密碼驗證
結(jié)果路徑1路徑3路徑2系統(tǒng)配置文件密碼文件處理事務(wù)獲取事務(wù)類型事務(wù)分析事務(wù)型數(shù)據(jù)流圖映射結(jié)構(gòu)圖示例讀密碼事務(wù)控制讀用戶命令判斷命令密碼驗證校驗結(jié)果比較密碼配置更新計算統(tǒng)計輸出結(jié)果更新配置文件讀系統(tǒng)數(shù)據(jù)5.1.3軟件詳細設(shè)計詳細設(shè)計任務(wù)確定系統(tǒng)每個模塊所采用的算法,并選擇合適的工具給出詳細的過程性描述確定系統(tǒng)每個模塊使用的數(shù)據(jù)結(jié)構(gòu)確定系統(tǒng)模塊的接口細節(jié),包括系統(tǒng)的外部接口和用戶界面、與系統(tǒng)內(nèi)部其它模塊的接口以及各種輸入、輸出和局部數(shù)據(jù)的全部細節(jié)為系統(tǒng)每個模塊設(shè)計一組測試用例,因為詳細設(shè)計人員對模塊的功能、邏輯、接口等最了解編寫詳細設(shè)計說明書復核評審,進行設(shè)計邏輯分析、設(shè)計約束分析,判斷設(shè)計方案是否滿足需求、是否符合安全需求合規(guī)、是否具有可行性、經(jīng)濟性、最優(yōu)性過程設(shè)計的工具詳細設(shè)計完成過程設(shè)計,將系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程性描述描述軟件處理過程的工具稱為過程設(shè)計工具,分為圖形工具、表格工具和語言工具三類不論是哪類工具,對它們的基本要求都是能提供對設(shè)計的無歧義的描述,也就是即應該能指明控制流程、處理功能、數(shù)據(jù)組織以及其他方面的實現(xiàn)細節(jié),從而在編程實現(xiàn)階段能把對設(shè)計的描述直接翻譯成程序代碼圖形工具包括流程圖、結(jié)構(gòu)化流程圖(N-S圖)、問題分析圖(ProblemAnalysisDiagram,PAD圖)表格工具包括判定表和判定樹語言工具包括過程設(shè)計語言(ProcessDesignLanguage,PDL語言),也稱作偽代碼本章主要內(nèi)容5.1軟件設(shè)計概述5.2安全設(shè)計及其原則5.4威脅建模5.3安全策略與安全模型5.5基于復用的軟件安全設(shè)計5.6基于容錯技術(shù)的功能安全設(shè)計5.7軟件體系結(jié)構(gòu)與安全設(shè)計分析5.8作業(yè)與實踐任務(wù)5.2.1安全設(shè)計目標與設(shè)計內(nèi)容安全設(shè)計的目標確保設(shè)計成果滿足安全需求,形成系統(tǒng)、嚴謹、合理、最小風險的安全設(shè)計方案和安全測試計劃以確保安全需求的實現(xiàn)安全設(shè)計的設(shè)計內(nèi)容分為安全功能設(shè)計和功能安全設(shè)計安全功能設(shè)計確定訪問控制機制,定義主體角色和權(quán)限;選擇加密方法和算法,確定加密機制;解決敏感數(shù)據(jù)的安全處理方法;確定安全通信機制;確定完整性機制;等等針對器械設(shè)備控制軟件,還應從設(shè)計方案中消除可能導致關(guān)鍵功能失效的原因,并設(shè)計防范軟件失效的安全機制、防范故障傳播的安全機制及從失效中恢復的機制功能安全設(shè)計確定系統(tǒng)及模塊入口安全檢驗策略和方法;確定系統(tǒng)內(nèi)各模塊出錯的安全處理方法及軟件運行中可能出現(xiàn)的各種異常情況的安全處理方法針對關(guān)鍵功能的防范典型攻擊的方法;系統(tǒng)及模塊防跟蹤調(diào)試、防破解設(shè)計針對器械設(shè)備控制軟件,還應設(shè)計容錯機制、失效安全機制(包括優(yōu)雅降級),甚至對關(guān)鍵功能進行自檢查、自診斷設(shè)計安全功能設(shè)計和功能安全設(shè)計(訪問控制)RBAC+JWT數(shù)據(jù)庫管理軟件及共享數(shù)據(jù)的其它系統(tǒng),可以“繞過”你設(shè)計的訪問控制而訪問數(shù)據(jù)庫中數(shù)據(jù)數(shù)據(jù)庫及其中的數(shù)據(jù)RBAC+JWT5.2.2安全設(shè)計原則經(jīng)濟性原則系統(tǒng)的設(shè)計和實現(xiàn)應盡量簡單、易懂、便于測試,以減少復雜性帶來的安全問題。復雜的安全機制也將增加實現(xiàn)的成本。最小特權(quán)原則在完成某操作時,賦予系統(tǒng)主體(用戶或進程、組件)最少的必要權(quán)限,并保證賦予權(quán)限的必要時間最短權(quán)限分離原則清晰分離不同的責任,從而在需要的情況下,將各種責任的權(quán)限分配給不同的用戶,并劃分系統(tǒng)不同部分的職責,以實現(xiàn)獨立控制最少共享機制原則最少共享機制原則規(guī)定應該把由兩個以上主體共用和被所有主體依賴的機制的數(shù)量減小到最少,因為這些機制隱含著潛在的安全風險零信任原則主體對資源的每次請求,尤其是請求與安全相關(guān)的資源時,系統(tǒng)都應進行認證鑒權(quán),以避免錯誤地賦予主體過高的權(quán)限或在第一次授予權(quán)限之后,主體被攻擊之后而允許攻擊者濫用相關(guān)權(quán)限默認故障處理保護原則或優(yōu)雅降級原則當系統(tǒng)失效或產(chǎn)生故障時,必須用安全的方式處理系統(tǒng)信息默認安全原則在用戶熟悉軟件系統(tǒng)安全配置選項之前,默認安全配置不僅有利于更好地幫助客戶掌握安全配置,同時也可以確保軟件系統(tǒng)初始狀態(tài)為較安全狀態(tài)默認安全縱深防御原則在每個不同層面實施安全措施,不同安全措施之間相互配合,協(xié)同形成多層次的整體安全例如,將安全編碼技術(shù)與安全運行環(huán)境相結(jié)合,減少部署時的代碼中殘留漏洞余風險在運行環(huán)境中被利用的可能性在解決關(guān)鍵問題的每個地方(可能是同一層面的不同地方)均實施針對性的安全措施例如,為了防范跨站腳本攻擊(XSS),除了在程序中對所有輸入進行驗證過濾、對所有輸出進行適當編碼,同時設(shè)置cookie的http-only與secure屬性為true,確保即使發(fā)生XSS攻擊,也可以阻止通過腳本訪問cookie保障最脆弱環(huán)節(jié)原則軟件系統(tǒng)的安全程度取決于其最脆弱的部分攻擊者一般從系統(tǒng)最脆弱的環(huán)節(jié)發(fā)起攻擊軟件系統(tǒng)安全風險最高的地方(最危險的地方)被保護的資源開放設(shè)計原則應假定攻擊者有能力獲取系統(tǒng)足夠的信息來發(fā)起攻擊,而不是依賴于假設(shè)攻擊者不可能知道相關(guān)信息來保護系統(tǒng)的安全保護隱私原則即使軟件需求規(guī)格中沒有隱私保護的相關(guān)需求,目標軟件也應對收集的用戶隱私數(shù)據(jù)進行安全傳輸與安全存儲等妥善處理只收集軟件必須用到的隱私數(shù)據(jù),并明確告知用戶且征得用戶同意心理可接受度原則如果安全機制妨礙了資源的可用性或使得資源難以獲取,超出用戶可接受的心理預期,那么用戶很可能會選擇關(guān)閉這些安全機制。安全的軟件系統(tǒng)必須易于使用,且輸出的信息易于理解攻擊面最小化原則攻擊面(AttackSurface)也稱受攻擊面,是軟件系統(tǒng)的相關(guān)資源中可被攻擊者用于實施攻擊的資源的集合。軟件系統(tǒng)的攻擊面越大,其面臨的安全風險則越大。軟件系統(tǒng)相關(guān)資源,可以是系統(tǒng)的組成部分,例如接口、方法、數(shù)據(jù)、服務(wù)、提供服務(wù)的協(xié)議等,也可以是系統(tǒng)日志、配置或策略等信息減小攻擊面的步驟可以分為三步分析目標軟件資源是否是必須需的分析資源的訪問途徑方法采取合理措施風險訪問類別非常高匿名的高權(quán)限遠程用戶高經(jīng)身份鑒別的高權(quán)限遠程用戶中經(jīng)身份鑒別的低權(quán)限遠程用戶低經(jīng)身份鑒別的高權(quán)限本地用戶非常低經(jīng)身份鑒別的低權(quán)限本地用戶資源訪問途徑方法及其風險等級減小攻擊面的措施較高攻擊面較低攻擊面默認執(zhí)行默認關(guān)閉打開網(wǎng)絡(luò)連接關(guān)閉網(wǎng)絡(luò)連接基于UDP進行通訊基于TCP進行通訊匿名訪問鑒別用戶身份的訪問持續(xù)開啟因需開啟弱訪問控制強訪問控制高權(quán)限訪問低權(quán)限訪問因特網(wǎng)遠程訪問本地子網(wǎng)訪問軟件以管理員或root權(quán)限運行軟件以網(wǎng)絡(luò)服務(wù)、本地服務(wù)或自定義的低權(quán)限賬戶運行統(tǒng)一默認配置用戶可選的配置安全性與便捷性的平衡小額免密支付登錄密碼錯誤并再次登錄時,要求輸入驗證碼限定登錄出錯次數(shù),防止暴力破解安全性與便捷性的平衡快捷支付的便捷與安全性省略了銀行的安全驗證,一個密碼“通吃”全部綁定的銀行卡,直至耗光卡內(nèi)存款或消費達到設(shè)定的上限短信支付的便捷與安全性手機丟失則安全問題嚴重5.2.3制定安全計劃基于安全需求、安全標準和安全管理原則建立和維護安全計劃,作為整個項目生命周期安全管理的基礎(chǔ)制定安全管理計劃定義項目組成員和小組的角色與職責定義安全管理機制建立安全跟蹤機制編寫安全管理計劃開發(fā)團隊安全顧問測試團隊項目高管項目成員角色之間的關(guān)系制定安全培訓計劃在軟件開發(fā)的每個階段,都需要對開發(fā)人員進行安全培訓、安全監(jiān)督對環(huán)境、網(wǎng)絡(luò)、代碼、文檔等方面的管理培訓對配置管理的培訓對安全編程的培訓對安全測試的培訓對知識產(chǎn)權(quán)意識的培訓制定安全測試計劃根據(jù)對安全需求文檔和設(shè)計規(guī)格文檔的分析,明確安全測試范圍與目標,結(jié)合軟件測試計劃制定軟件安全測試方案,包括安全測試方法和測試用例,將威脅建模發(fā)現(xiàn)的威脅及給出的緩解措施作為安全檢查點以保障安全控制措施的質(zhì)量本章主要內(nèi)容5.1軟件設(shè)計概述5.2安全設(shè)計及其原則5.4威脅建模5.3安全策略與安全模型5.5基于復用的軟件安全設(shè)計5.6基于容錯技術(shù)的功能安全設(shè)計5.7軟件體系結(jié)構(gòu)與安全設(shè)計分析5.8作業(yè)與實踐任務(wù)5.3.1多級安全策略多級安全策略最初用于支持軍用系統(tǒng)和數(shù)據(jù)庫的信息保密,也稱作軍事安全策略,側(cè)重于保護信息保密性該策略根據(jù)信息的重要性和敏感程度將信息劃分為不同的密級,通常密級由低到高分為開放級、秘密級、機密級和絕密級多級安全策略利用密級確保信息僅能被具有高于或等于該密級權(quán)限的使用者使用多級安全策略由強制訪問控制機制實現(xiàn)例如,財務(wù)報表的安全級可以定義為:(機密,{財務(wù)處,財經(jīng)小組,總裁辦公室,黨辦});財務(wù)人員的安全級可以定義為:(機密,{財務(wù)處,財經(jīng)小組})定義主體、客體安全級之后,則可以通過比較主、客體的安全級決定主體是否可以對客體進行訪問以及可進行何種訪問:一個主體只能讀安全級比自己安全級低或相等的客體,只能寫安全級比自己安全級高或相等的客體,即“向下讀,向上寫”5.3.2商業(yè)安全策略商業(yè)主管擔心的主要是職員篡改軟件數(shù)據(jù)而謀取私利,這一應用背景使得商業(yè)安全策略主要關(guān)心的是數(shù)據(jù)的完整性和審計,防止數(shù)據(jù)非授權(quán)的修改、防止數(shù)據(jù)的偽造和錯誤側(cè)重于保護數(shù)據(jù)完整性的良性事務(wù)和職責分散策略,稱為商業(yè)安全策略良性事務(wù)(Well-formedTransaction)是指職員在保證數(shù)據(jù)完整性的受控方式下對數(shù)據(jù)進行操作,即數(shù)據(jù)按規(guī)定的流程、按定義好的約束進行處理職責分散是指把一個操作分成多個子操作(一組良性事務(wù)),不同的子操作由不同的職員執(zhí)行,使得任何一個職員都不具有完成該操作任務(wù)的所有權(quán)限,盡量減少出現(xiàn)欺詐和錯誤的可能性5.3.3安全模型安全模型是安全策略的形式化描述,以避免安全策略由于自然語言表達的模糊性而導致對策略理解的多義性和不準確性。安全模型構(gòu)建在特定的安全策略之上,因此也稱為安全策略模型開發(fā)高安全等級的軟件系統(tǒng),首先須建立系統(tǒng)的安全模型BLP模型D.E.Bell和L.J.LaPadula于1973年為美國國防部的多級安全策略提出了一個安全模型,即Bell-LaPadula模型(簡稱BLP模型)。BLP模型是一個形式化的計算機多級安全策略的狀態(tài)轉(zhuǎn)換模型,也是第一個可以用數(shù)學方法證明的安全系統(tǒng)模型Biba模型K.J.Biba等人于1977年提出的Biba模型,是一種針對信息完整性保護的安全模型Clark-Wilson模型Clark-Wilson模型是Clark和Wilson根據(jù)商業(yè)數(shù)據(jù)處理的實踐經(jīng)驗,于1987年提出一種保護數(shù)據(jù)完整性的商業(yè)安全策略模型RBAC模型基于角色的訪問控制(Role-BasedAccessControl,RBAC)模型通過引入角色將用戶和權(quán)限進行分離,利用角色對系統(tǒng)進行訪問控制Sandhu等人于1996年提出了RBAC96概念模型,其中包括基本模型RBAC0、等級模型RBAC1、約束模型RBAC2和組合模型RBAC3RBAC0模型包括用戶集、角色集、權(quán)限集和會話集四個實體集RBAC0作為基本模型,是RBAC系統(tǒng)的最低要求。RBAC1在RBAC0的基礎(chǔ)上引入角色等級層次(反映用戶組織的結(jié)構(gòu)和人員責權(quán)的分配,角色可以從其他角色繼承權(quán)限),RBAC2則在RBAC0的基礎(chǔ)上引入了約束(對RBAC的不同組件的可接受配置施加限制),因為RBAC1和RBAC2互不兼容,所以引入了其組合模型RBAC3模型。RBAC模型遵循最小特權(quán)、權(quán)限分離以及數(shù)據(jù)抽象等安全原則5.3.4面向云計算的訪問控制云計算環(huán)境有三類實體:云用戶、云服務(wù)提供商和數(shù)據(jù)擁有者傳統(tǒng)的訪問控制模型很難完全適用于云計算環(huán)境基于屬性的加密(Attribute-BasedEncryption,ABE)是一種一對多加密方案在該方案中,密文與用戶是用屬性進行描述的,其加解密原理是利用屬性集或訪問結(jié)構(gòu)進行加密,并用相應的訪問結(jié)構(gòu)或?qū)傩约M行解密。屬性集和訪問結(jié)構(gòu)的引入,使得ABE算法將加密、解密和訪問控制融為一體,這種針對群體用戶進行加解密的算法適應于擁有大量用戶的云計算存儲環(huán)境密文策略屬性基加密方案CP-ABE(Cipher-PolicyAttribute-BasedEncryption,CP-ABE)在加密過程中,密文計算方式與訪問控制策略相關(guān)聯(lián),解密過程中用戶的屬性集與解密所用密鑰相關(guān)聯(lián)。當解密方擁有的屬性滿足訪問控制策略時,即可解密密文,獲得資源的訪問權(quán)限本章主要內(nèi)容5.1軟件設(shè)計概述5.2安全設(shè)計及其原則5.4威脅建模5.3安全策略與安全模型5.5基于復用的軟件安全設(shè)計5.6基于容錯技術(shù)的功能安全設(shè)計5.7軟件體系結(jié)構(gòu)與安全設(shè)計分析5.8作業(yè)與實踐任務(wù)5.4.1威脅建模的作用更好地理解目標軟件威脅建模分析是一種結(jié)構(gòu)化的分析方法,在深入理解目標軟件體系結(jié)構(gòu)和設(shè)計方案的基礎(chǔ)上識別和緩解威脅發(fā)現(xiàn)常見缺陷并給出緩解措施識別復雜的設(shè)計缺陷威脅建模分析主要是基于數(shù)據(jù)流圖進行安全分析,基于流程的分析可以揭示復雜的多步驟安全缺陷(容易被測試所忽略)整合團隊新成員威脅建模是讓新成員熟悉軟件產(chǎn)品架構(gòu)的有用工具驅(qū)動安全測試計劃的設(shè)計測試人員應基于威脅模型進行安全測試,這將幫助他們其開發(fā)新的測試工具和規(guī)程。
5.4.2威脅建模方法風險分析、風險評估方法(例如CVSS、OCTAVE)都可以用于威脅建模STRIDE及其派生方法、LINDDUN主要面向安全屬性面臨的威脅攻擊樹更有利于使用CAPEC、CWE、CVE等提供的威脅知識發(fā)現(xiàn)軟件系統(tǒng)的威脅資源驅(qū)動的威脅建模、業(yè)務(wù)目標驅(qū)動的威脅建模等建模方法威脅建模方法:STRIDE及其派生方法基于STRIDE的威脅建模方法是目前最成熟的威脅建模方法之一,微軟公司已將其集成在威脅建模工具中用于安全開發(fā)生命周期STRIDE模型的名字“STRIDE”代表六種已知威脅該建模方法基于數(shù)據(jù)流程圖構(gòu)建系統(tǒng)模型并確定可信邊界,基于STRIDE識別數(shù)據(jù)流圖中外部實體、加工、數(shù)據(jù)存儲、數(shù)據(jù)流四類元素可能面臨的安全威脅元素假冒(S)篡改(T)抵賴(R)信息泄漏(I)拒絕服務(wù)(D)提升權(quán)限(E)外部實體
加工
數(shù)據(jù)存儲
?
數(shù)據(jù)流
STRIDE-per-Element方法(問號“?”表示僅當存儲的數(shù)據(jù)是審計類日志時才會有抵賴的風險,存儲其它數(shù)據(jù)時無抵賴的風險)STRIDE的另一個變體是STRIDE-per-Interaction該派生方法是一種枚舉威脅的方法,通過分析數(shù)據(jù)流圖中不同元素之間的交互行為并枚舉適用于每個交互行為的威脅Server.exe瀏覽器指令Toolkit.dll數(shù)據(jù)庫應答寫入結(jié)果創(chuàng)建小工具小工具簡單應用系統(tǒng)的數(shù)據(jù)流圖#元素交互行為STRIDE1加工(Server)輸出數(shù)據(jù)流至數(shù)據(jù)庫
2將輸出發(fā)送給Toolkit
3向瀏覽器(軟件)發(fā)送數(shù)據(jù)
4向瀏覽器(用戶)發(fā)送數(shù)據(jù)
5接收數(shù)據(jù)庫的返回數(shù)據(jù)流
6接收Toolkit的輸入數(shù)據(jù)流
7接收瀏覽器的輸入數(shù)據(jù)流
8數(shù)據(jù)流(指令/應答)跨越信任邊界
9數(shù)據(jù)存儲(數(shù)據(jù)庫)接收Server的輸出數(shù)據(jù)流
10輸出數(shù)據(jù)流至Server
11外部實體(瀏覽器)輸出至Server
12接收Server的輸出
交互行為面臨的威脅威脅建模方法:LINDDUNLINDDUN是面向隱私保護的威脅建模方法,由六個步驟組成“LINDDUN”中每個字母均表示通過破壞隱私屬性獲得的隱私威脅類型Linkability(可鏈接性)、Identifiability(可識別性)、Non-Repudiation(不可抵賴性)、Detectability(可探測性)、DisclosureofInformation(信息泄露)、Unawareness(未察覺)、Non-Compliance(不合規(guī))映射隱私威脅到DFD定義DFD識別誤用例場景基于風險的優(yōu)先級引出隱私需求選擇隱私增強方案映射隱私目標到隱私增強技術(shù)知識方法系統(tǒng)高層描述假設(shè)及使用場景映射LINDDUN組件到DFD隱私威脅樹模式風險評估技術(shù)映射隱私威脅到需求特定系統(tǒng)威脅建模方法:PASTA攻擊模擬與威脅分析流程(ProcessforAttackSimulationandThreatAnalysis,PASTA)是面向風險的威脅建模框架,包含七個階段,每個階段均有多個活動序號階段活動1定義目標?識別業(yè)務(wù)目標;?識別安全與合規(guī)性需求;?業(yè)務(wù)影響分析2定義技術(shù)范圍?確定技術(shù)環(huán)境的邊界;?確定基礎(chǔ)設(shè)施及軟件的依賴關(guān)系3應用程序分解?確定用例、定義應用程序入口點和信任級別;?識別參與者、資產(chǎn)、服務(wù)、角色、數(shù)據(jù)源;?繪制數(shù)據(jù)流圖和信任邊界4威脅分析?概率攻擊場景分析;?安全事件回歸分析;?威脅情報關(guān)聯(lián)分析5漏洞識別?查詢已有的漏洞報告和問題跟蹤;?利用威脅樹將威脅映射到已有漏洞;?利用用例和濫用例進行設(shè)計缺陷分析;?基于CWE/CVE枚舉脆弱性和弱點,基于CVSS/CWSS對脆弱性和弱點進行評分6攻擊建模?攻擊面分析;?攻擊樹開發(fā),攻擊庫管理;?利用攻擊樹模擬漏洞攻擊和利用分析7風險與影響分析?業(yè)務(wù)影響的定性與定量分析;?對策確認與殘余風
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030新生兒篩查技術(shù)迭代與公共衛(wèi)生政策銜接研究報告
- 2026廣西南寧市良慶區(qū)殘疾人聯(lián)合會殘疾人專職委員招聘1人考試備考題庫及答案解析
- 2026四川宜賓衛(wèi)校附屬托幼托育中心(宜賓市敘州區(qū)云朵幼兒園)第一次考核招聘1人考試參考試題及答案解析
- 2026河北信陽市潢川縣信訪局招聘全日制公益性崗位2人考試備考試題及答案解析
- 2026福建龍巖龍洲集團招聘2人考試備考題庫及答案解析
- 教材優(yōu)化作業(yè)設(shè)計研討活動方案
- 易制毒化學品倉庫管理與安全制度
- 2026重慶忠縣發(fā)展研究中心招聘駕駛員1人考試參考題庫及答案解析
- 2025江西九江市尋陽實業(yè)集團有限公司招聘延期考試參考題庫及答案解析
- 2025云南昆華醫(yī)院投資管理有限公司(云南新昆華醫(yī)院)招聘3人考試參考試題及答案解析
- 學校食堂改造工程施工組織設(shè)計方案
- 資產(chǎn)評估期末試題及答案
- 鄭州大學《大學英語》2023-2024學年第一學期期末試卷
- 腦出血診療指南2025
- 2025年開放大學化工原理試題庫及答案
- 人工智能安全風險測評白皮書(2025年)
- 公共基礎(chǔ)知識真題1000題含答案
- 北京工業(yè)大學《土力學與地基基礎(chǔ)》2024 - 2025 學年第一學期期末試卷
- 2025版藥典凡例培訓
- 2024-2025學年陜西省漢中市十校聯(lián)盟高一上學期期末考試歷史試題
- 初中語文字音字形專項訓練題
評論
0/150
提交評論