版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第5章安全設(shè)計設(shè)計高質(zhì)量的軟件本來就已很困難,確保軟件安全性更是難上加難,但無法回避!張仁斌2025.02引例:如何設(shè)計房子原始需求一家六口人,有一塊宅基地,現(xiàn)要蓋一棟住宅樓需求分析功能需求8個臥室(其中兩間客人住房),3個臥室須帶衛(wèi)生間,1個客廳,1間棋牌室,1間書房,1間廚房,不要電梯,…非功能需求朝南的臥室盡量多,兩位老人住一樓,衛(wèi)生間不臨馬路安全需求抗7級地震,防盜搶(無院墻),消防安全(水電氣安全等)針對上述需求,如何開始設(shè)計這棟房子?僅考慮大概流程盡管我們不是學(xué)建筑的,但分析問題解決問題的思路、方法是通的,是可以相互借鑒的第一步:架構(gòu)風(fēng)格選擇或設(shè)計根據(jù)周邊環(huán)境特點選擇架構(gòu),或設(shè)計新的架構(gòu),一般是選擇周邊山水、地理環(huán)境特點周邊建筑特點注意:設(shè)計過程中必須與客戶保持溝通,可能要修改需求歐式風(fēng)格伊斯蘭風(fēng)格徽派建筑基本原則:要蓋的房子,須與環(huán)境協(xié)調(diào)“架構(gòu)風(fēng)格”必然會影響相關(guān)模塊的設(shè)計,并借助相關(guān)元素來體現(xiàn)該風(fēng)格關(guān)于架構(gòu)與需求,及對設(shè)計的影響架構(gòu)介于需求與設(shè)計之間,是設(shè)計的起點若在需求分析階段涉及架構(gòu),則有兩種可能基于快速原型法獲取需求(給用戶看樣板房)用戶了解有哪些架構(gòu)及每種架構(gòu)的特點,即用戶懂行,跟懂行的用戶溝通,可以快速選擇架構(gòu)后跳到概要設(shè)計和詳細(xì)設(shè)計階段決定采用哪種架構(gòu),對后續(xù)概要設(shè)計、詳細(xì)設(shè)計,具有很大影響歐式客廳和中式客廳有一定的“中西結(jié)合”,但特征元素仍顯著不同第二步:概要設(shè)計(草圖)功能設(shè)計樓層規(guī)劃,房間位置布局安全設(shè)計抗地震房型結(jié)構(gòu)規(guī)劃外墻防攀爬規(guī)劃(下水管道布局規(guī)劃,隱藏/室內(nèi)?飄窗?)消防通道布局第三步:詳細(xì)設(shè)計(設(shè)計圖)功能設(shè)計落地鋼化玻璃門窗,陽臺雕花羅馬柱(歐式),……安全設(shè)計墻體厚度設(shè)計,鋼筋水泥強度,電線容量,門窗防盜…安全設(shè)計和功能設(shè)計是密切相關(guān)的,不存在先后問題繪畫構(gòu)思也類似,先粗布局(線框式布局),再細(xì)布局(示意大致輪廓)程序設(shè)計稱“自頂向下,逐步細(xì)化”概要設(shè)計詳細(xì)設(shè)計設(shè)計實現(xiàn)軟件設(shè)計也要經(jīng)歷:軟件架構(gòu)選擇/設(shè)計
概要設(shè)計
詳細(xì)設(shè)計,然后開始施工(編碼)軟件安全是融入每個過程、每個環(huán)節(jié)的,不是事后彌補軟件架構(gòu)有哪些?如何選擇/設(shè)計?本章主要內(nèi)容5.1軟件設(shè)計概述5.2安全設(shè)計及其原則5.4威脅建模5.3安全策略與安全模型5.5基于復(fù)用的軟件安全設(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è)計詳細(xì)設(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ù)文件和全局?jǐn)?shù)據(jù)結(jié)構(gòu)的定義接口設(shè)計包括與軟件系統(tǒng)交互的人機界面設(shè)計以及模塊間、軟件系統(tǒng)與外部系統(tǒng)的接口關(guān)系軟件設(shè)計過程中應(yīng)遵循的基本原則包括:模塊化原則抽象原則信息隱蔽原則信息局部化原則模塊獨立性原則軟件結(jié)構(gòu)的圖形化表示層次圖(H圖)用層次圖(H圖)描述軟件的層次結(jié)構(gòu)層次圖中的一個矩形框代表一個模塊,矩形框之間的連線表示調(diào)用關(guān)系而非組成關(guān)系;最頂層的方框代表軟件系統(tǒng)的主控模塊,其調(diào)用第二層的模塊完成軟件系統(tǒng)的全部功能;第二層的每個模塊控制完成軟件系統(tǒng)的一個主要功能;根據(jù)軟件功能的復(fù)雜程度,第二層的模塊可能進(jìn)一步調(diào)用細(xì)分為下一層的模塊,如此逐層調(diào)用訂貨處理1.0銷售管理系統(tǒng)進(jìn)貨處理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供貨標(biāo)志庫存文件IFY>XTHEN可供貨處理
ELSE缺貨訂單留底ENDIFIPO圖示意(已改進(jìn)為IPO表)軟件結(jié)構(gòu)的圖形化表示層次圖(H圖)HIPO圖結(jié)構(gòu)圖結(jié)構(gòu)圖(也稱作控制結(jié)構(gòu)圖)是進(jìn)行軟件結(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ù)流圖,對應(yīng)的映射方法分別稱為變換分析和事務(wù)分析精化數(shù)據(jù)流圖DFD類型區(qū)分事務(wù)中心和數(shù)據(jù)接收通路區(qū)分輸入和輸出分支映射成事務(wù)結(jié)構(gòu)映射成變換結(jié)構(gòu)運用模塊設(shè)計規(guī)則,精化軟件結(jié)構(gòu)描述模塊功能、接口和全局?jǐn)?shù)據(jù)結(jié)構(gòu)復(fù)核詳細(xì)設(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軟件詳細(xì)設(shè)計詳細(xì)設(shè)計任務(wù)確定系統(tǒng)每個模塊所采用的算法,并選擇合適的工具給出詳細(xì)的過程性描述確定系統(tǒng)每個模塊使用的數(shù)據(jù)結(jié)構(gòu)確定系統(tǒng)模塊的接口細(xì)節(jié),包括系統(tǒng)的外部接口和用戶界面、與系統(tǒng)內(nèi)部其它模塊的接口以及各種輸入、輸出和局部數(shù)據(jù)的全部細(xì)節(jié)為系統(tǒng)每個模塊設(shè)計一組測試用例,因為詳細(xì)設(shè)計人員對模塊的功能、邏輯、接口等最了解編寫詳細(xì)設(shè)計說明書復(fù)核評審,進(jìn)行設(shè)計邏輯分析、設(shè)計約束分析,判斷設(shè)計方案是否滿足需求、是否符合安全需求合規(guī)、是否具有可行性、經(jīng)濟性、最優(yōu)性過程設(shè)計的工具詳細(xì)設(shè)計完成過程設(shè)計,將系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程性描述描述軟件處理過程的工具稱為過程設(shè)計工具,分為圖形工具、表格工具和語言工具三類不論是哪類工具,對它們的基本要求都是能提供對設(shè)計的無歧義的描述,也就是即應(yīng)該能指明控制流程、處理功能、數(shù)據(jù)組織以及其他方面的實現(xiàn)細(xì)節(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基于復(fù)用的軟件安全設(shè)計5.6基于容錯技術(shù)的功能安全設(shè)計5.7軟件體系結(jié)構(gòu)與安全設(shè)計分析5.8作業(yè)與實踐任務(wù)5.2.1安全設(shè)計目標(biāo)與設(shè)計內(nèi)容安全設(shè)計的目標(biāo)確保設(shè)計成果滿足安全需求,形成系統(tǒng)、嚴(yán)謹(jǐn)、合理、最小風(fēng)險的安全設(shè)計方案和安全測試計劃以確保安全需求的實現(xiàn)安全設(shè)計的設(shè)計內(nèi)容分為安全功能設(shè)計和功能安全設(shè)計安全功能設(shè)計確定訪問控制機制,定義主體角色和權(quán)限;選擇加密方法和算法,確定加密機制;解決敏感數(shù)據(jù)的安全處理方法;確定安全通信機制;確定完整性機制;等等針對器械設(shè)備控制軟件,還應(yīng)從設(shè)計方案中消除可能導(dǎo)致關(guān)鍵功能失效的原因,并設(shè)計防范軟件失效的安全機制、防范故障傳播的安全機制及從失效中恢復(fù)的機制功能安全設(shè)計確定系統(tǒng)及模塊入口安全檢驗策略和方法;確定系統(tǒng)內(nèi)各模塊出錯的安全處理方法及軟件運行中可能出現(xiàn)的各種異常情況的安全處理方法針對關(guān)鍵功能的防范典型攻擊的方法;系統(tǒng)及模塊防跟蹤調(diào)試、防破解設(shè)計針對器械設(shè)備控制軟件,還應(yīng)設(shè)計容錯機制、失效安全機制(包括優(yōu)雅降級),甚至對關(guān)鍵功能進(jì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)應(yīng)盡量簡單、易懂、便于測試,以減少復(fù)雜性帶來的安全問題。復(fù)雜的安全機制也將增加實現(xiàn)的成本。最小特權(quán)原則在完成某操作時,賦予系統(tǒng)主體(用戶或進(jìn)程、組件)最少的必要權(quán)限,并保證賦予權(quán)限的必要時間最短權(quán)限分離原則清晰分離不同的責(zé)任,從而在需要的情況下,將各種責(zé)任的權(quán)限分配給不同的用戶,并劃分系統(tǒng)不同部分的職責(zé),以實現(xiàn)獨立控制最少共享機制原則最少共享機制原則規(guī)定應(yīng)該把由兩個以上主體共用和被所有主體依賴的機制的數(shù)量減小到最少,因為這些機制隱含著潛在的安全風(fēng)險零信任原則主體對資源的每次請求,尤其是請求與安全相關(guān)的資源時,系統(tǒng)都應(yīng)進(jìn)行認(rèn)證鑒權(quán),以避免錯誤地賦予主體過高的權(quán)限或在第一次授予權(quán)限之后,主體被攻擊之后而允許攻擊者濫用相關(guān)權(quán)限默認(rèn)故障處理保護原則或優(yōu)雅降級原則當(dāng)系統(tǒng)失效或產(chǎn)生故障時,必須用安全的方式處理系統(tǒng)信息默認(rèn)安全原則在用戶熟悉軟件系統(tǒng)安全配置選項之前,默認(rèn)安全配置不僅有利于更好地幫助客戶掌握安全配置,同時也可以確保軟件系統(tǒng)初始狀態(tài)為較安全狀態(tài)默認(rèn)安全縱深防御原則在每個不同層面實施安全措施,不同安全措施之間相互配合,協(xié)同形成多層次的整體安全例如,將安全編碼技術(shù)與安全運行環(huán)境相結(jié)合,減少部署時的代碼中殘留漏洞余風(fēng)險在運行環(huán)境中被利用的可能性在解決關(guān)鍵問題的每個地方(可能是同一層面的不同地方)均實施針對性的安全措施例如,為了防范跨站腳本攻擊(XSS),除了在程序中對所有輸入進(jìn)行驗證過濾、對所有輸出進(jìn)行適當(dāng)編碼,同時設(shè)置cookie的http-only與secure屬性為true,確保即使發(fā)生XSS攻擊,也可以阻止通過腳本訪問cookie保障最脆弱環(huán)節(jié)原則軟件系統(tǒng)的安全程度取決于其最脆弱的部分攻擊者一般從系統(tǒng)最脆弱的環(huán)節(jié)發(fā)起攻擊軟件系統(tǒng)安全風(fēng)險最高的地方(最危險的地方)被保護的資源開放設(shè)計原則應(yīng)假定攻擊者有能力獲取系統(tǒng)足夠的信息來發(fā)起攻擊,而不是依賴于假設(shè)攻擊者不可能知道相關(guān)信息來保護系統(tǒng)的安全保護隱私原則即使軟件需求規(guī)格中沒有隱私保護的相關(guān)需求,目標(biāo)軟件也應(yīng)對收集的用戶隱私數(shù)據(jù)進(jìn)行安全傳輸與安全存儲等妥善處理只收集軟件必須用到的隱私數(shù)據(jù),并明確告知用戶且征得用戶同意心理可接受度原則如果安全機制妨礙了資源的可用性或使得資源難以獲取,超出用戶可接受的心理預(yù)期,那么用戶很可能會選擇關(guān)閉這些安全機制。安全的軟件系統(tǒng)必須易于使用,且輸出的信息易于理解攻擊面最小化原則攻擊面(AttackSurface)也稱受攻擊面,是軟件系統(tǒng)的相關(guān)資源中可被攻擊者用于實施攻擊的資源的集合。軟件系統(tǒng)的攻擊面越大,其面臨的安全風(fēng)險則越大。軟件系統(tǒng)相關(guān)資源,可以是系統(tǒng)的組成部分,例如接口、方法、數(shù)據(jù)、服務(wù)、提供服務(wù)的協(xié)議等,也可以是系統(tǒng)日志、配置或策略等信息減小攻擊面的步驟可以分為三步分析目標(biāo)軟件資源是否是必須需的分析資源的訪問途徑方法采取合理措施風(fēng)險訪問類別非常高匿名的高權(quán)限遠(yuǎn)程用戶高經(jīng)身份鑒別的高權(quán)限遠(yuǎn)程用戶中經(jīng)身份鑒別的低權(quán)限遠(yuǎn)程用戶低經(jīng)身份鑒別的高權(quán)限本地用戶非常低經(jīng)身份鑒別的低權(quán)限本地用戶資源訪問途徑方法及其風(fēng)險等級減小攻擊面的措施較高攻擊面較低攻擊面默認(rèn)執(zhí)行默認(rèn)關(guān)閉打開網(wǎng)絡(luò)連接關(guān)閉網(wǎng)絡(luò)連接基于UDP進(jìn)行通訊基于TCP進(jìn)行通訊匿名訪問鑒別用戶身份的訪問持續(xù)開啟因需開啟弱訪問控制強訪問控制高權(quán)限訪問低權(quán)限訪問因特網(wǎng)遠(yuǎn)程訪問本地子網(wǎng)訪問軟件以管理員或root權(quán)限運行軟件以網(wǎng)絡(luò)服務(wù)、本地服務(wù)或自定義的低權(quán)限賬戶運行統(tǒng)一默認(rèn)配置用戶可選的配置安全性與便捷性的平衡小額免密支付登錄密碼錯誤并再次登錄時,要求輸入驗證碼限定登錄出錯次數(shù),防止暴力破解安全性與便捷性的平衡快捷支付的便捷與安全性省略了銀行的安全驗證,一個密碼“通吃”全部綁定的銀行卡,直至耗光卡內(nèi)存款或消費達(dá)到設(shè)定的上限短信支付的便捷與安全性手機丟失則安全問題嚴(yán)重5.2.3制定安全計劃基于安全需求、安全標(biāo)準(zhǔn)和安全管理原則建立和維護安全計劃,作為整個項目生命周期安全管理的基礎(chǔ)制定安全管理計劃定義項目組成員和小組的角色與職責(zé)定義安全管理機制建立安全跟蹤機制編寫安全管理計劃開發(fā)團隊安全顧問測試團隊項目高管項目成員角色之間的關(guān)系制定安全培訓(xùn)計劃在軟件開發(fā)的每個階段,都需要對開發(fā)人員進(jìn)行安全培訓(xùn)、安全監(jiān)督對環(huán)境、網(wǎng)絡(luò)、代碼、文檔等方面的管理培訓(xùn)對配置管理的培訓(xùn)對安全編程的培訓(xùn)對安全測試的培訓(xùn)對知識產(chǎn)權(quán)意識的培訓(xùn)制定安全測試計劃根據(jù)對安全需求文檔和設(shè)計規(guī)格文檔的分析,明確安全測試范圍與目標(biāo),結(jié)合軟件測試計劃制定軟件安全測試方案,包括安全測試方法和測試用例,將威脅建模發(fā)現(xiàn)的威脅及給出的緩解措施作為安全檢查點以保障安全控制措施的質(zhì)量本章主要內(nèi)容5.1軟件設(shè)計概述5.2安全設(shè)計及其原則5.4威脅建模5.3安全策略與安全模型5.5基于復(fù)用的軟件安全設(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)小組})定義主體、客體安全級之后,則可以通過比較主、客體的安全級決定主體是否可以對客體進(jìn)行訪問以及可進(jìn)行何種訪問:一個主體只能讀安全級比自己安全級低或相等的客體,只能寫安全級比自己安全級高或相等的客體,即“向下讀,向上寫”5.3.2商業(yè)安全策略商業(yè)主管擔(dān)心的主要是職員篡改軟件數(shù)據(jù)而謀取私利,這一應(yīng)用背景使得商業(yè)安全策略主要關(guān)心的是數(shù)據(jù)的完整性和審計,防止數(shù)據(jù)非授權(quán)的修改、防止數(shù)據(jù)的偽造和錯誤側(cè)重于保護數(shù)據(jù)完整性的良性事務(wù)和職責(zé)分散策略,稱為商業(yè)安全策略良性事務(wù)(Well-formedTransaction)是指職員在保證數(shù)據(jù)完整性的受控方式下對數(shù)據(jù)進(jìn)行操作,即數(shù)據(jù)按規(guī)定的流程、按定義好的約束進(jìn)行處理職責(zé)分散是指把一個操作分成多個子操作(一組良性事務(wù)),不同的子操作由不同的職員執(zhí)行,使得任何一個職員都不具有完成該操作任務(wù)的所有權(quán)限,盡量減少出現(xiàn)欺詐和錯誤的可能性5.3.3安全模型安全模型是安全策略的形式化描述,以避免安全策略由于自然語言表達(dá)的模糊性而導(dǎo)致對策略理解的多義性和不準(zhǔn)確性。安全模型構(gòu)建在特定的安全策略之上,因此也稱為安全策略模型開發(fā)高安全等級的軟件系統(tǒng),首先須建立系統(tǒng)的安全模型BLP模型D.E.Bell和L.J.LaPadula于1973年為美國國防部的多級安全策略提出了一個安全模型,即Bell-LaPadula模型(簡稱BLP模型)。BLP模型是一個形式化的計算機多級安全策略的狀態(tài)轉(zhuǎn)換模型,也是第一個可以用數(shù)學(xué)方法證明的安全系統(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)限進(jìn)行分離,利用角色對系統(tǒng)進(jìn)行訪問控制Sandhu等人于1996年提出了RBAC96概念模型,其中包括基本模型RBAC0、等級模型RBAC1、約束模型RBAC2和組合模型RBAC3RBAC0模型包括用戶集、角色集、權(quán)限集和會話集四個實體集RBAC0作為基本模型,是RBAC系統(tǒng)的最低要求。RBAC1在RBAC0的基礎(chǔ)上引入角色等級層次(反映用戶組織的結(jié)構(gòu)和人員責(zé)權(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)是一種一對多加密方案在該方案中,密文與用戶是用屬性進(jìn)行描述的,其加解密原理是利用屬性集或訪問結(jié)構(gòu)進(jìn)行加密,并用相應(yīng)的訪問結(jié)構(gòu)或?qū)傩约M(jìn)行解密。屬性集和訪問結(jié)構(gòu)的引入,使得ABE算法將加密、解密和訪問控制融為一體,這種針對群體用戶進(jìn)行加解密的算法適應(yīng)于擁有大量用戶的云計算存儲環(huán)境密文策略屬性基加密方案CP-ABE(Cipher-PolicyAttribute-BasedEncryption,CP-ABE)在加密過程中,密文計算方式與訪問控制策略相關(guān)聯(lián),解密過程中用戶的屬性集與解密所用密鑰相關(guān)聯(lián)。當(dāng)解密方擁有的屬性滿足訪問控制策略時,即可解密密文,獲得資源的訪問權(quán)限本章主要內(nèi)容5.1軟件設(shè)計概述5.2安全設(shè)計及其原則5.4威脅建模5.3安全策略與安全模型5.5基于復(fù)用的軟件安全設(shè)計5.6基于容錯技術(shù)的功能安全設(shè)計5.7軟件體系結(jié)構(gòu)與安全設(shè)計分析5.8作業(yè)與實踐任務(wù)5.4.1威脅建模的作用更好地理解目標(biāo)軟件威脅建模分析是一種結(jié)構(gòu)化的分析方法,在深入理解目標(biāo)軟件體系結(jié)構(gòu)和設(shè)計方案的基礎(chǔ)上識別和緩解威脅發(fā)現(xiàn)常見缺陷并給出緩解措施識別復(fù)雜的設(shè)計缺陷威脅建模分析主要是基于數(shù)據(jù)流圖進(jìn)行安全分析,基于流程的分析可以揭示復(fù)雜的多步驟安全缺陷(容易被測試所忽略)整合團隊新成員威脅建模是讓新成員熟悉軟件產(chǎn)品架構(gòu)的有用工具驅(qū)動安全測試計劃的設(shè)計測試人員應(yīng)基于威脅模型進(jìn)行安全測試,這將幫助他們其開發(fā)新的測試工具和規(guī)程。
5.4.2威脅建模方法風(fēng)險分析、風(fēng)險評估方法(例如CVSS、OCTAVE)都可以用于威脅建模STRIDE及其派生方法、LINDDUN主要面向安全屬性面臨的威脅攻擊樹更有利于使用CAPEC、CWE、CVE等提供的威脅知識發(fā)現(xiàn)軟件系統(tǒng)的威脅資源驅(qū)動的威脅建模、業(yè)務(wù)目標(biāo)驅(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方法(問號“?”表示僅當(dāng)存儲的數(shù)據(jù)是審計類日志時才會有抵賴的風(fēng)險,存儲其它數(shù)據(jù)時無抵賴的風(fēng)險)STRIDE的另一個變體是STRIDE-per-Interaction該派生方法是一種枚舉威脅的方法,通過分析數(shù)據(jù)流圖中不同元素之間的交互行為并枚舉適用于每個交互行為的威脅Server.exe瀏覽器指令Toolkit.dll數(shù)據(jù)庫應(yīng)答寫入結(jié)果創(chuàng)建小工具小工具簡單應(yī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ù)流(指令/應(yīng)答)跨越信任邊界
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識別誤用例場景基于風(fēng)險的優(yōu)先級引出隱私需求選擇隱私增強方案映射隱私目標(biāo)到隱私增強技術(shù)知識方法系統(tǒng)高層描述假設(shè)及使用場景映射LINDDUN組件到DFD隱私威脅樹模式風(fēng)險評估技術(shù)映射隱私威脅到需求特定系統(tǒng)威脅建模方法:PASTA攻擊模擬與威脅分析流程(ProcessforAttackSimulationandThreatAnalysis,PASTA)是面向風(fēng)險的威脅建??蚣?,包含七個階段,每個階段均有多個活動序號階段活動1定義目標(biāo)?識別業(yè)務(wù)目標(biāo);?識別安全與合規(guī)性需求;?業(yè)務(wù)影響分析2定義技術(shù)范圍?確定技術(shù)環(huán)境的邊界;?確定基礎(chǔ)設(shè)施及軟件的依賴關(guān)系3應(yīng)用程序分解?確定用例、定義應(yīng)用程序入口點和信任級別;?識別參與者、資產(chǎn)、服務(wù)、角色、數(shù)據(jù)源;?繪制數(shù)據(jù)流圖和信任邊界4威脅分析?概率攻擊場景分析;?安全事件回歸分析;?威脅情報關(guān)聯(lián)分析5漏洞識別?查詢已有的漏洞報告和問題跟蹤;?利用威脅樹將威脅映射到已有漏洞;?利用用例和濫用例進(jìn)行設(shè)計缺陷分析;?基于CWE/CVE枚舉脆弱性和弱點,基于CVSS/CWSS對脆弱性和弱點進(jìn)行評分6攻擊建模?攻擊面分析;?攻擊樹開發(fā),攻擊庫管理;?利用攻擊樹模擬漏洞攻擊和利用分析7風(fēng)險與影響分析?業(yè)務(wù)影響的定性與定量分析;?對策確認(rèn)與殘余風(fēng)險分析;?建議風(fēng)險緩解策略PASTA為整合已有的信息安全、安全工程和風(fēng)險管理學(xué)科提供了框架在模型的不同階段使用各種工具強化技術(shù)和業(yè)務(wù)風(fēng)險分析能力例如,在第二階段使用高級架構(gòu)圖確定技術(shù)范圍,在第三階段使用數(shù)據(jù)流圖建立系統(tǒng)模型,在第六階段構(gòu)建攻擊樹、用例、濫用例進(jìn)行分析和攻擊建模模型從攻擊者視角枚舉威脅,經(jīng)風(fēng)險評估后形成以資產(chǎn)為中心的風(fēng)險緩解策略,通過在軟件生命周期中解決安全問題,并提供可操作的解決方案和改進(jìn)與應(yīng)用程序目標(biāo)和業(yè)務(wù)目標(biāo)相關(guān)的風(fēng)險管理框架5.4.3威脅建模過程威脅建模不是一個一次性的過程,而是一個多輪迭代、持續(xù)改進(jìn)的過程確定威脅建模對象創(chuàng)建軟件體系結(jié)構(gòu)概覽圖形建模與分解軟件系統(tǒng)確認(rèn)信任邊界確認(rèn)數(shù)據(jù)流確認(rèn)入口點確認(rèn)需給予特權(quán)的功能確定威脅建模對象驗證緩解威脅識別評估威脅圖形建模確認(rèn)威脅并文檔化威脅威脅編號威脅#1威脅描述SQL注入威脅目標(biāo)數(shù)據(jù)訪問組件安全影響信息泄露,破壞數(shù)據(jù),提權(quán)風(fēng)險等級
(待定)攻擊技術(shù)攻擊者在用于形成SQL查詢的用戶名后面附加SQL命令緩解措施使用正則表達(dá)式驗證用戶名,并使用帶參數(shù)的存儲過程訪問數(shù)據(jù)庫用于文檔記錄威脅的模板風(fēng)險評估確定威脅緩解措施或策略威脅類型緩解措施技術(shù)方案假冒身份認(rèn)證①針對外部實體:分配標(biāo)識并進(jìn)行身份驗證,驗證方法包括身份管理、認(rèn)證(密碼認(rèn)證、單點登錄、雙因素、生物特征、數(shù)字證書、基于SM9/Kerberos/PKI)、會話管理;②針對加工:數(shù)字證書認(rèn)證、基于SM9/Kerberos/PKI篡改完整性保護利用MD5、SHA等哈希函數(shù)或消息認(rèn)證碼進(jìn)行完整性校驗;數(shù)字簽名;完整性控制;基于TLSRSA/PSK或IPSec保障傳輸過程中的完整性抵賴日志審計強身份認(rèn)證、安全日志、審計、數(shù)字簽名、時間戳等;區(qū)塊鏈技術(shù)信息泄露保密性保護數(shù)據(jù)加密、訪問控制;信息隱藏;基于動態(tài)路由的網(wǎng)絡(luò)防竊聽;基于TLS/SSL或IPSec的安全傳輸拒絕服務(wù)可用性保護訪問控制;實時備份與恢復(fù);基于集群和虛擬化提升權(quán)限授權(quán)認(rèn)證訪問控制、權(quán)限最小化;零信任STRIDE六類威脅的緩解方法驗證威脅驗證的內(nèi)容包括威脅模型、列舉的緩解措施等。驗證數(shù)據(jù)流圖是否符合設(shè)計,確認(rèn)緩解措施是否能夠真正緩解潛在威脅,所有的威脅是否都有相應(yīng)的緩解措施。在后期的測試階段還需驗證緩解措施的實現(xiàn)是否符合預(yù)期設(shè)計、是否在實現(xiàn)層面消除了威脅。根據(jù)驗證的結(jié)果,決定是否需要重新進(jìn)行威脅建?;虻晟平M{建檔對通過驗證的威脅模型生成威脅建模報告并存檔,作為整個軟件生命周期中對已發(fā)現(xiàn)威脅進(jìn)行處理的依據(jù),作為后續(xù)迭代開發(fā)時威脅建模的基礎(chǔ)或參考依據(jù)5.4.4威脅建模示例客戶提出的功能需求假設(shè)需要開發(fā)一個銷售統(tǒng)計系統(tǒng),其主要功能是收集銷售團隊每個成員記錄的銷售清單,在數(shù)據(jù)庫服務(wù)器中匯總計算銷售數(shù)據(jù),并生成每周報告需求分析(略)(1)確定威脅建模對象銷售清單中的銷售記錄是系統(tǒng)的關(guān)鍵資產(chǎn),涉及隱私數(shù)據(jù),受法律規(guī)范的約束收集信息意味著將信息從一個地方傳輸?shù)搅硪粋€地方。數(shù)據(jù)必須受到保護,避免在傳輸和存儲過程中被泄露操作銷售清單的特定人群——銷售人員需要經(jīng)過認(rèn)證和授權(quán)服務(wù)器中的銷售記錄應(yīng)避免被覆蓋,銷售記錄不能被篡改或歸為他人的業(yè)績服務(wù)器需要至少每周執(zhí)行一次計算,應(yīng)安全觸發(fā)計算且應(yīng)避免頻繁計算銷售統(tǒng)計系統(tǒng)應(yīng)能對抗SQL注入和緩沖區(qū)溢出等常見攻擊(2)創(chuàng)建軟件體系結(jié)構(gòu)概覽(撰寫作業(yè),可省略)假設(shè)銷售統(tǒng)計系統(tǒng)的數(shù)據(jù)庫服務(wù)器和數(shù)據(jù)接收程序運行在同一臺服務(wù)器中,該系統(tǒng)的體系結(jié)構(gòu)、涉及的技術(shù)如圖所示,其中虛線矩形框為信任邊界??梢愿鶕?jù)后續(xù)步驟發(fā)現(xiàn)的威脅及給出的緩解措施調(diào)整、完善SQLServer銷售記錄與發(fā)送數(shù)據(jù)接收與分析ODBC驅(qū)動程序用戶定義的角色(授權(quán))Windows操作系統(tǒng)授權(quán)加密通訊(隱私/完整性)用戶定義的角色(授權(quán))用戶定義的角色(認(rèn)證)線程間安全通訊(隱私/完整性)信任邊界加密存儲(隱私/完整性)銷售統(tǒng)計系統(tǒng)的體系結(jié)構(gòu)示意(3)圖形建模與分解軟件系統(tǒng)該銷售統(tǒng)計系統(tǒng)的需求較簡單,省略從頂層數(shù)據(jù)流圖開始的分解過程。根據(jù)前述需求描述,銷售統(tǒng)計系統(tǒng)的數(shù)據(jù)流圖如圖所示在數(shù)據(jù)流圖的基礎(chǔ)上加“信任邊界”銷售人員登記銷售記錄銷售清單發(fā)送數(shù)據(jù)收集數(shù)據(jù)分析數(shù)據(jù)銷售團隊成員列表分析數(shù)據(jù)庫客戶端信任邊界服務(wù)器銷售記錄這是正確的DFD嗎?從未讀取,盡管客戶未明確要求銷售人員收集和分析數(shù)據(jù)生成報告銷售團隊成員列表分析數(shù)據(jù)庫管理者將客戶端表示為僅僅是外部交互者實體,反映了攻擊者可以自由地做任何想做的事,信任邊界也更清晰地說明了客戶端不可信的主因?qū)蝹€信任邊界內(nèi)的類似元素收縮(折疊)為單個元素,以便威脅建模(4)確認(rèn)威脅并文檔化威脅針對數(shù)據(jù)流圖識別可能影響系統(tǒng)和損害資產(chǎn)的威脅利用簡單的、具有引導(dǎo)性的STRIDE-per-Element確認(rèn)數(shù)據(jù)流圖每種元素需重點關(guān)注的威脅元素S假冒T篡改R抵賴I信息泄漏D拒絕服務(wù)E提升權(quán)限實體
過程
數(shù)據(jù)存儲
?
數(shù)據(jù)流
識別威脅之?dāng)?shù)據(jù)流分析銷售人員收集和分析數(shù)據(jù)生成報告銷售團隊成員列表分析數(shù)據(jù)庫客戶端信任邊界服務(wù)器管理者元素S假冒T篡改R抵賴I信息泄漏D拒絕服務(wù)E提升權(quán)限實體
過程
數(shù)據(jù)存儲
?
數(shù)據(jù)流
數(shù)據(jù)流1:銷售到收集銷售數(shù)據(jù)傳送到收集進(jìn)程,在此期間內(nèi)可能發(fā)生篡改攻擊另一種風(fēng)險是信息泄漏。數(shù)據(jù)在傳輸過程中可能被不應(yīng)具有訪問權(quán)限的人讀取收集進(jìn)程還可能成為拒絕服務(wù)攻擊的犧牲品;攻擊者可能會阻止銷售人員訪問收集服務(wù)器?②③識別威脅之?dāng)?shù)據(jù)流分析銷售人員收集和分析數(shù)據(jù)生成報告銷售團隊成員列表分析數(shù)據(jù)庫客戶端信任邊界服務(wù)器管理者數(shù)據(jù)流2:銷售系統(tǒng)列表到收集某人通過將新的系統(tǒng)插入銷售人員的列表中,從而能夠篡改數(shù)據(jù)。刪除系統(tǒng)可能會使銷售人員無法登記銷售數(shù)據(jù)(DoS)如果身份驗證系統(tǒng)不完備,則銷售人員可能會遭受假冒威脅競爭對手可能會對銷售人員名單感興趣。當(dāng)發(fā)生解雇時,內(nèi)部人員也可能會對該列表感興趣,因此,信息面臨的威脅也很嚴(yán)重③?①元素S假冒T篡改R抵賴I信息泄漏D拒絕服務(wù)E提升權(quán)限實體
過程
數(shù)據(jù)存儲
?
數(shù)據(jù)流
識別威脅之?dāng)?shù)據(jù)流分析銷售人員收集和分析數(shù)據(jù)生成報告銷售團隊成員列表分析數(shù)據(jù)庫客戶端信任邊界服務(wù)器管理者數(shù)據(jù)流3:分析進(jìn)程到分析存儲與數(shù)據(jù)流3相比,數(shù)據(jù)流1遭到攻擊的程度明顯要高,因此應(yīng)該花更多的努力檢查數(shù)據(jù)流1,以反映其更易受攻擊的本質(zhì)如果分析數(shù)據(jù)庫存儲在另一臺計算機上,則數(shù)據(jù)流3與數(shù)據(jù)流1具有相似的威脅情況此時信任邊界已發(fā)生了變化。深層防御可能是一項很值得的投資①②?元素S假冒T篡改R抵賴I信息泄漏D拒絕服務(wù)E提升權(quán)限實體
過程
數(shù)據(jù)存儲
?
數(shù)據(jù)流
識別威脅之?dāng)?shù)據(jù)存儲分析銷售人員收集和分析數(shù)據(jù)生成報告銷售團隊成員列表分析數(shù)據(jù)庫客戶端信任邊界服務(wù)器管理者數(shù)據(jù)存儲1:分析數(shù)據(jù)庫數(shù)據(jù)庫包含訂單履行和銷售人員獎金?生成銷售預(yù)測?不同的數(shù)據(jù)類型吸引不同的攻擊者攻擊者可能來自內(nèi)部合法用戶以信用方式從用戶處獲得銷售訂單,數(shù)據(jù)庫中可能存在社會保障號碼或信用卡號。數(shù)據(jù)庫中可能還具有競爭對手想查看的專有信息。如果銷售保健產(chǎn)品或醫(yī)藥產(chǎn)品,則可能受HIPAA隱私條款限制②?③元素S假冒T篡改R抵賴I信息泄漏D拒絕服務(wù)E提升權(quán)限實體
過程
數(shù)據(jù)存儲
?
數(shù)據(jù)流
識別威脅之?dāng)?shù)據(jù)存儲分析銷售人員收集和分析數(shù)據(jù)生成報告銷售團隊成員列表分析數(shù)據(jù)庫客戶端信任邊界服務(wù)器管理者數(shù)據(jù)存儲2:銷售團隊成員列表攻擊者可能會添加造成危害的銷售人員,或者刪除銷售人員并阻止銷售人員完成自己的工作競爭對手可能對銷售人員名單感興趣③①?元素S假冒T篡改R抵賴I信息泄漏D拒絕服務(wù)E提升權(quán)限實體
過程
數(shù)據(jù)存儲
?
數(shù)據(jù)流
識別威脅之?dāng)?shù)據(jù)存儲分析銷售人員收集和分析數(shù)據(jù)生成報告銷售團隊成員列表分析數(shù)據(jù)庫客戶端信任邊界服務(wù)器管理者數(shù)據(jù)存儲3:筆記本電腦對筆記本電腦進(jìn)行篡改攻擊可能使攻擊者能夠竊取數(shù)據(jù)或訪問控制信息,如密碼、密鑰或證書攻擊者可能會安裝間諜軟件,以使自己能夠持續(xù)訪問系統(tǒng)可能會使威脅模型與其他項目產(chǎn)生交叉影響①②?元素S假冒T篡改R抵賴I信息泄漏D拒絕服務(wù)E提升權(quán)限實體
過程
數(shù)據(jù)存儲
?
數(shù)據(jù)流
識別威脅之過程分析銷售人員收集和分析數(shù)據(jù)生成報告銷售團隊成員列表分析數(shù)據(jù)庫客戶端信任邊界服務(wù)器管理者過程1:收集和分析過程偽裝成收集過程的進(jìn)程(假冒)可能會收集銷售部門試圖提交的所有數(shù)據(jù)。這會導(dǎo)致信息泄漏和拒絕服務(wù)如果攻擊者在此篡改數(shù)據(jù)并損壞數(shù)據(jù),或者讀取內(nèi)存,可能導(dǎo)致拒絕服務(wù)或提升權(quán)限威脅提交修訂的銷售數(shù)據(jù)來覆蓋現(xiàn)有數(shù)據(jù),但聲稱自己并沒有這樣做攻擊者從內(nèi)存中讀取數(shù)據(jù),則無需侵入數(shù)據(jù)庫②?元素S假冒T篡改R抵賴I信息泄漏D拒絕服務(wù)E提升權(quán)限實體
過程
數(shù)據(jù)存儲
?
數(shù)據(jù)流
識別威脅之過程分析銷售人員收集和分析數(shù)據(jù)生成報告銷售團隊成員列表分析數(shù)據(jù)庫客戶端信任邊界服務(wù)器管理者過程2:報告生成過程攻擊者偽造身份,讓系統(tǒng)生成報告并獲取報告,導(dǎo)致信息泄露報告內(nèi)容與績效考核掛鉤,則可能存在篡改本過程可能被用于發(fā)動DoS攻擊(如頻繁更新數(shù)據(jù)、頻繁更新報告)?①元素S假冒T篡改R抵賴I信息泄漏D拒絕服務(wù)E提升權(quán)限實體
過程
數(shù)據(jù)存儲
?
數(shù)據(jù)流
識別威脅之實體分析銷售人員收集和分析數(shù)據(jù)生成報告銷售團隊成員列表分析數(shù)據(jù)庫客戶端信任邊界服務(wù)器管理者實體1:銷售人員提交修訂的銷售數(shù)據(jù)來覆蓋現(xiàn)有數(shù)據(jù),但聲稱自己并沒有這樣做銷售人員假冒他人或被假冒②?合并發(fā)現(xiàn)的威脅:DFD中相鄰元素存在的同類型威脅,可以考慮合并。如實體1的抵賴,與過程1的抵賴,可以認(rèn)為是同一威脅元素S假冒T篡改R抵賴I信息泄漏D拒絕服務(wù)E提升權(quán)限實體
過程
數(shù)據(jù)存儲
?
數(shù)據(jù)流
識別威脅之實體分析銷售人員收集和分析數(shù)據(jù)生成報告銷售團隊成員列表分析數(shù)據(jù)庫客戶端信任邊界服務(wù)器管理者實體2:管理器管理器抵賴接收過報告管理器被假冒合并發(fā)現(xiàn)的威脅:DFD中相鄰元素存在的同類型威脅,可以考慮合并。如實體1的抵賴,與過程1的抵賴,可以認(rèn)為是同一威脅?①元素S假冒T篡改R抵賴I信息泄漏D拒絕服務(wù)E提升權(quán)限實體
過程
數(shù)據(jù)存儲
?
數(shù)據(jù)流
可以針對數(shù)據(jù)流圖中的每個元素進(jìn)行每種威脅的類似分析對數(shù)據(jù)流圖的不同元素進(jìn)行同一種威脅分析時,往往需要利用攻擊樹進(jìn)行更進(jìn)一步的分析,才能體現(xiàn)不同元素所面臨的同一種威脅的差異,以便給出更具針對性的緩解措施例如數(shù)據(jù)存儲和數(shù)據(jù)流都面臨篡改威脅,但其篡改威脅的不同篡改數(shù)據(jù)存儲無保護繞過保護規(guī)則允許可疑修改允許任何修改繞過保護系統(tǒng)繞過監(jiān)視繞過完整性檢查利用其它軟件寫物理訪問符號鏈接攻擊存儲空間故障指向未記錄數(shù)據(jù)指向已刪除數(shù)據(jù)篡改數(shù)據(jù)流基于信道基于消息E5:無消息完整性E6:弱消息完整性基于時間或順序E8:重放攻擊E9:反射攻擊E10:序列號預(yù)測攻擊E11:上行數(shù)據(jù)流插入E1:無信道完整性E2:弱信道完整性中間人攻擊E3:假冒終端E4:攻擊PKIE7:弱密鑰管理數(shù)據(jù)存儲的篡改威脅樹數(shù)據(jù)流的篡改威脅樹(5)風(fēng)險評估(撰寫作業(yè),可省略)基于攻擊樹的風(fēng)險評估,各葉子節(jié)點按CVSS進(jìn)行指標(biāo)量化及計算事件概率葉子節(jié)點可利用度指標(biāo)影響度指標(biāo)事件概率攻擊向量攻擊復(fù)雜度權(quán)限要求用戶交互保密性影響完整性影響可用性影響E10.850.770.850.8500.5600.748E20.850.770.850.8500.2200.530E30.850.770.850.850.560.5600.906E40.850.440.850.850.56000.582E50.850.770.850.8500.5600.748E60.850.770.850.8500.2200.530E70.850.770.620.850.22000.425E80.850.770.850.85000.560.748E90.850.770.850.85000.560.748E100.850.440.850.850.560.560.560.809E110.850.770.850.6200.5600.643假冒終端是篡改數(shù)據(jù)流攻擊者最有可能使用的攻擊方法葉子結(jié)點指標(biāo)量化與事件概率(6)確定威脅緩解措施或策略利用微軟公司的威脅建模工具(支持STRIDE)本章主要內(nèi)容5.1軟件設(shè)計概述5.2安全設(shè)計及其原則5.4威脅建模5.3安全策略與安全模型5.5基于復(fù)用的軟件安全設(shè)計5.6基于容錯技術(shù)的功能安全設(shè)計5.7軟件體系結(jié)構(gòu)與安全設(shè)計分析5.8作業(yè)與實踐任務(wù)5.5.1攻擊樹及其緩解措施的復(fù)用數(shù)據(jù)流圖的每種元素都有可能面臨STRIDE六種威脅,攻擊樹可以細(xì)化每種元素面臨的每種威脅的各種攻擊序列,進(jìn)而給出更具針對性的風(fēng)險緩解措施針對數(shù)據(jù)流圖不同類型元素的不同威脅類型的攻擊樹及相應(yīng)的緩解措施,可以復(fù)用于不同軟件系統(tǒng)的安全設(shè)計。在復(fù)用時,結(jié)合具體軟件系統(tǒng)的數(shù)據(jù)流圖中的元素實例所采用的具體技術(shù)或協(xié)議,再增補針對該技術(shù)或協(xié)議的威脅分析例如某數(shù)據(jù)流基于TCP協(xié)議,則復(fù)用數(shù)據(jù)流相關(guān)攻擊樹時增加對TCP的相應(yīng)威脅分析5.5.2基于安全模式的軟件設(shè)計設(shè)計模式是對某類問題的通用解決方案,該方案源于軟件開發(fā)者的經(jīng)驗總結(jié),并經(jīng)過反復(fù)使用、驗證,代表此類問題的最佳實踐設(shè)計模式強調(diào)單個設(shè)計問題的解決方法,并提供封裝和復(fù)用知識的方式,其目的是提高軟件的維護性、通用性和擴展性,并降低軟件的復(fù)雜度安全模式是面向軟件安全的設(shè)計模式,描述在特定的安全場景下重復(fù)發(fā)生的安全問題,并提供經(jīng)過實踐檢驗證明良好的通用的解決方案,例如身份管理模式、身份認(rèn)證模式、訪問控制模式、安全執(zhí)行模式和文件管理模式等基于安全模式的軟件設(shè)計方法如圖所示,其中虛線表示相關(guān)文檔或描述的輸入輸出安全模式庫檢索選擇安全模式威脅建模報告確定安全威脅評估安全模式選定的安全模式系統(tǒng)概要設(shè)計系統(tǒng)需求實例化安全模式系統(tǒng)整合并適當(dāng)重構(gòu)系統(tǒng)詳細(xì)設(shè)計方案5.5.3常用安全功能設(shè)計身份認(rèn)證身份認(rèn)證標(biāo)識用戶鑒別用戶鑒別失敗定義用戶屬性鑒別的時機不可偽造的鑒別一次性鑒別機制重鑒別任何動作前的用戶標(biāo)識標(biāo)識的時機鑒別失敗處理受保護的鑒別反饋多重鑒別機制約束秘密的規(guī)范綁定用戶—主體任何動作前的用戶鑒別驗證輸入的秘密合規(guī)生成秘密安全審計安全審計安全審計自動響應(yīng)安全審計事件選擇安全審計事件存儲安全審計數(shù)據(jù)產(chǎn)生潛在侵害分析審計查閱受限制的審計查閱選擇性審計安全告警審計數(shù)據(jù)可能丟失時的動作受保護的審計跡存儲可選擇的審計查閱安全審計分析安全審計查閱越權(quán)異常檢測審計數(shù)據(jù)產(chǎn)生用戶身份的關(guān)聯(lián)簡單攻擊探測復(fù)雜攻擊探測審計數(shù)據(jù)可用性保障審計數(shù)據(jù)丟失的防范通信抗抵賴基于數(shù)字簽名的原發(fā)抗抵賴原發(fā)者和接收者雙方抗抵賴通信抗抵賴原發(fā)抗抵賴交付抗抵賴強制性原發(fā)抗抵賴選擇性原發(fā)抗抵賴強制性交付抗抵賴選擇性交付抗抵賴Verify(para,pk,s,M)=1或0(s=Sign(para,sk,M'),M,pk,ts)原發(fā)者接收者a)b)c)原發(fā)者A接收者B本章主要內(nèi)容5.1軟件設(shè)計概述5.2安全設(shè)計及其原則5.4威脅建模5.3安全策略與安全模型5.5基于復(fù)用的軟件安全設(shè)計5.6基于容錯技術(shù)的功能安全設(shè)計5.7軟件體系結(jié)構(gòu)與安全設(shè)計分析5.8作業(yè)與實踐任務(wù)5.6.1軟件容錯軟件容錯包括故障檢測和故障處理兩個基本環(huán)節(jié)故障檢測軟件系統(tǒng)故障分為內(nèi)在故障和外在故障兩類內(nèi)在故障是指在軟件需求分析、設(shè)計、編程實現(xiàn)等過程中由于考慮不周等人為錯誤而導(dǎo)致軟件失效的故障,此類故障具有永久性、重復(fù)性、不可恢復(fù)的特征外在故障是指由于外界因素(包括硬件錯誤等環(huán)境因素和誤用、濫用等人為因素)導(dǎo)致系統(tǒng)存在的故障,具有瞬態(tài)、偶發(fā)性、可恢復(fù)的特征故障檢測方法包括功能檢測法、合理性檢測法、基于監(jiān)視定時器或守護線程的檢測法、軟件自測法故障處理故障處理指當(dāng)確定軟件發(fā)生故障時,采用適當(dāng)方法將其解決,使軟件繼續(xù)正常運行對于每個可識別的故障,可以采用以下方式處理:①報告,②改正,③重試,④優(yōu)雅降級,⑤立即停止運行容錯的一個重要策略是冗余。根據(jù)所采用的冗余技術(shù)的不同,軟件容錯技術(shù)分為三類信息容錯時間容錯時間容錯基于“失敗后重做(RetryonFailure)”的思想,重復(fù)執(zhí)行相同的計算任務(wù)或指令以實現(xiàn)檢錯與容錯結(jié)構(gòu)容錯結(jié)構(gòu)容錯是基于軟件相異性設(shè)計原理,利用結(jié)構(gòu)冗余技術(shù)實現(xiàn)的,解決軟件本身的設(shè)計錯誤引起的內(nèi)在故障5.6.2基于容錯的抗攻擊措施面向攻擊的信息容錯在傳遞、存儲的重要信息中附加信息的哈希值以檢查信息的完整性在傳遞的重要信息中附加數(shù)字簽名以驗證發(fā)送者身份面向攻擊的時間容錯面向攻擊的時間容錯,最經(jīng)典的應(yīng)用是發(fā)送短信驗證碼后倒計時60秒結(jié)束后才能再次發(fā)送短信驗證碼,既能解決短信誤發(fā)或丟失等問題,也能緩解對短信網(wǎng)關(guān)的攻擊或其它攻擊行為計算機網(wǎng)絡(luò)流量控制的停止-等待(stop-and-wait)協(xié)議,有利于緩解網(wǎng)絡(luò)擁塞,盡管其設(shè)計的初衷不是為了對抗DoS攻擊基于微服務(wù)架構(gòu)的服務(wù)容錯(抗DoS攻擊)如果一個服務(wù)出現(xiàn)問題,調(diào)用該服務(wù)就會出現(xiàn)線程阻塞,此時若有大量的請求涌入,就會出現(xiàn)大量線程阻塞等待,進(jìn)而導(dǎo)致服務(wù)癱瘓。由于服務(wù)與服務(wù)之間的依賴性,故障會傳播,最終導(dǎo)致調(diào)用鏈路上的所有服務(wù)都會變得不可用,這種擴散效應(yīng)即為服務(wù)雪崩效應(yīng)服務(wù)依賴失敗是設(shè)計微服務(wù)架構(gòu)時需要重點考慮的服務(wù)可靠性因素。無法完全杜絕雪崩效應(yīng)源頭的發(fā)生,只有做好足夠的容錯,才能保證一個服務(wù)發(fā)生問題時不影響其它服務(wù)的正常運行,即避免服務(wù)依賴失敗服務(wù)容錯的常見模式包括集群容錯服務(wù)隔離服務(wù)降級服務(wù)熔斷本章主要內(nèi)容5.1軟件設(shè)計概述5.2安全設(shè)計及其原則5.4威脅建模5.3安全策略與安全模型5.5基于復(fù)用的軟件安全設(shè)計5.6基于容錯技術(shù)的功能安全設(shè)計5.7軟件體系結(jié)構(gòu)與安全設(shè)計分析5.8作業(yè)與實踐任務(wù)5.7.1軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)(SoftwareArchitecture,也稱作軟件架構(gòu))從高層抽象的角度規(guī)劃組成目標(biāo)軟件系統(tǒng)的設(shè)計元素(包括子系統(tǒng)、組件和類)及設(shè)計元素之間的邏輯關(guān)聯(lián)需求分析設(shè)計體系結(jié)構(gòu)詳細(xì)設(shè)計編碼實現(xiàn)概要設(shè)計類+類間算法組件+連接件設(shè)計模式可重用類型模塊算法設(shè)計,模塊內(nèi)數(shù)據(jù)結(jié)構(gòu)設(shè)計,界面設(shè)計等包含體系結(jié)構(gòu)設(shè)計的軟件構(gòu)造過程軟件體系結(jié)構(gòu)經(jīng)典的“4+1”視圖模型,從五個不同視角的邏輯視圖、過程視圖、物理視圖、開發(fā)視圖和場景視圖(即模型名稱中的“+1”視圖)描述軟件體系結(jié)構(gòu),每個視圖針對不同的目標(biāo)和用途而只關(guān)注系統(tǒng)的一個側(cè)面,五個視圖結(jié)合在一起反映軟件系統(tǒng)的體系結(jié)構(gòu)全部內(nèi)容邏輯視圖運行視圖開發(fā)視圖物理視圖場景視圖最終用戶視角功能需求編程人員視角軟件管理系統(tǒng)集成者視角性能,可擴充性系統(tǒng)工程師視角系統(tǒng)拓?fù)?,通信為什么要用多個視圖?世界人口分布圖世界年降水量分布圖圖片來源:軟件體系結(jié)構(gòu)設(shè)計過程的輸出是一個體系結(jié)構(gòu)模型體系結(jié)構(gòu)的設(shè)計過程主要包括概念設(shè)計、體系結(jié)構(gòu)精化和體系結(jié)構(gòu)驗證三個階段體系結(jié)構(gòu)驗證的主要關(guān)注點包括體系結(jié)構(gòu)是否能夠滿足軟件需求,以及怎樣滿足軟件需求體系結(jié)構(gòu)是否以充分優(yōu)化的方式實現(xiàn)所有的軟件需求,尤其是關(guān)鍵需求當(dāng)異?;蛘吲R界條件出現(xiàn)時,體系結(jié)構(gòu)是否能夠以令人滿意的方式運作體系結(jié)構(gòu)的詳略程度是否恰當(dāng)體系結(jié)構(gòu)是否存在可行性方面的風(fēng)險,若存在,如何化解5.7.2軟件體系結(jié)構(gòu)復(fù)用體系結(jié)構(gòu)復(fù)用屬于設(shè)計復(fù)用軟件體系結(jié)構(gòu)的復(fù)用包括體系結(jié)構(gòu)風(fēng)格(ArchitecturalStyle)復(fù)用面向領(lǐng)域的體系結(jié)構(gòu)復(fù)用結(jié)合組件復(fù)用的體系結(jié)構(gòu)復(fù)用,即軟件框架(SoftwareFramework)復(fù)用典型的體系結(jié)構(gòu)風(fēng)格系統(tǒng)軟件數(shù)據(jù)流風(fēng)格批處理序列;管道和過濾器(PipesandFilters)調(diào)用/返回風(fēng)格主程序/子程序;面向?qū)ο箫L(fēng)格;分層(Layer)獨立構(gòu)件風(fēng)格進(jìn)程通訊;事件系統(tǒng)虛擬機風(fēng)格解釋器;基于規(guī)則的系統(tǒng)倉庫風(fēng)格(數(shù)據(jù)中心系統(tǒng))數(shù)據(jù)庫系統(tǒng);超文本系統(tǒng);黑板系統(tǒng)(Blackboard)采用分層,更容易劃分信任邊界,更容易實施訪問控制。在各層中,可以采用不同的結(jié)構(gòu)表示層業(yè)務(wù)邏輯層數(shù)據(jù)訪問層MySQLOracleWeb界面Windows圖形界面其它平臺圖形界面業(yè)務(wù)處理模塊1業(yè)務(wù)處理模塊2…···MySQL訪問類Oracle訪問類…接口典型的體系結(jié)構(gòu)風(fēng)格(續(xù))分布式軟件經(jīng)紀(jì)人(Broker)客戶/服務(wù)器(Client/Server)(B/S是C/S的特例)點對點(PeertoPeer)交互軟件模型-視圖-控制器(Model-View-Controller)顯示-抽象-控制(Presentation-Abstraction-Control)其它面向?qū)ο箫L(fēng)格(ADT)基于消息廣播且面向圖形用戶界面的Chiron2風(fēng)格基于事件的隱式調(diào)用風(fēng)格(Event-based,ImplicitInvocation)軟件框架軟件框架是指提取特定領(lǐng)域軟件的共性部分形成的一種可復(fù)用的設(shè)計,規(guī)定了應(yīng)用系統(tǒng)的總體結(jié)構(gòu),定義了一組相互協(xié)作的類以及控制流程框架是能完成一定功能的半成品軟件,需開發(fā)人員實現(xiàn)目標(biāo)軟件的個性化的更為復(fù)雜的業(yè)務(wù)邏輯框架復(fù)用是架構(gòu)和組件的復(fù)用基于框架預(yù)定義的結(jié)構(gòu)和類,開發(fā)者可以把精力集中在目標(biāo)軟件的個性化具體細(xì)節(jié)上,提高軟件的質(zhì)量,降低成本,縮短開發(fā)時間經(jīng)典的安全框架包括用于操作系統(tǒng)領(lǐng)域的通用訪問控制框架(GeneralizedFrameworkforAccessControl,GFAC)基于FLASK的Linux安全模塊(LinuxSecurityModule,LSM)框架用于應(yīng)用軟件的Java安全框架SpringSecurity和ApacheShiroShiro架構(gòu)圖RDBMSC/C++C#.NET主體LDAP活動目錄私有庫內(nèi)存RDBMSBigTable等JDBC數(shù)據(jù)域緩存LDAP數(shù)據(jù)域緩存活動目錄數(shù)據(jù)域緩存自定義數(shù)據(jù)域緩存可插拔的數(shù)據(jù)域(一個或多個)…會話DAO緩存會話管理器授權(quán)器認(rèn)證器認(rèn)證策略緩存管理器安全管理器加密解密本地或進(jìn)程中虛擬機或網(wǎng)絡(luò)邊界PHPRubyPython主體FlexSilverlightSwing主體WebMVC主體獨立應(yīng)用程序主體Shiro應(yīng)用流程應(yīng)用軟件代碼主體(當(dāng)前用戶)Shiro安全管理器數(shù)據(jù)域(管理所有主體)(訪問安全數(shù)據(jù))5.7.3安全體系結(jié)構(gòu)安全體系結(jié)構(gòu)描述一個系統(tǒng)如何組織成一個整體以滿足既定的安全需求較好地支持動態(tài)安全模型FLASK安全體系結(jié)構(gòu)(示例安全運行架構(gòu)建模)主體訪問請求客體管理器安全服務(wù)器安全策略實施安全策略庫客體拒絕或允許訪問實施策略決策查詢FLASK安全體系結(jié)構(gòu)是一種支持動態(tài)多安全策略的操作系統(tǒng)安全架構(gòu)主要:將安全策略的實施與安全策略的決策劃分為兩個獨立的組件負(fù)責(zé)實施訪問控制的客體管理器(ObjectManager)完成訪問控制決策的安全服務(wù)器(SecurityServer)。安全服務(wù)器中安全模型的變更不影響客體管理器的實現(xiàn),能夠較好地支持動態(tài)安全模型FLASK中的客體標(biāo)識決策主體(SIDC)創(chuàng)建客體請求(傳遞SIDC)客體管理器策略邏輯新SID(SID,SID,客體類型)標(biāo)簽規(guī)則實施策略請求新SID新SID客體集客體SID客體SID新客體SID安全服務(wù)器SID/安全上下文映射FLASK中請求和緩存安全決策主體(SIDC)修改客體請求(傳遞SIDC)客體管理器策略邏輯訪問核驗(SID,SID,許可)訪問規(guī)則實施策略訪問查詢訪問許可客體集客體SID客體SID安全服務(wù)器SID/安全上下文映射…AVCOSI安全體系結(jié)構(gòu)(示例安全物理架構(gòu)建模)OSI安全體系結(jié)構(gòu)包括五類安全服務(wù)和八類安全機制安全機制加密機制數(shù)字簽名機制訪問控制機制數(shù)據(jù)完整性機制認(rèn)證機制業(yè)務(wù)流填充機制路由控制機制公證機制安全服務(wù)功能層7應(yīng)用層6表示層5會話層4傳輸層3網(wǎng)絡(luò)層2鏈路層1物理層認(rèn)證(鑒別)服務(wù)訪問控制服務(wù)數(shù)據(jù)保密性服務(wù)數(shù)據(jù)完整性服務(wù)抗抵賴服務(wù)OSI安全體系結(jié)構(gòu)給出了安全服務(wù)和安全機制的位置(OSI參考模型各層提供的安全服務(wù))安全服務(wù)功能層(序號)1234567認(rèn)證(鑒別)服務(wù)對等實體鑒別
數(shù)據(jù)原發(fā)鑒別
訪問控制服務(wù)訪問控制
數(shù)據(jù)保密性服務(wù)連接機密性
無連接機密性
選擇字段機密性
業(yè)務(wù)流機密性
數(shù)據(jù)完整性服務(wù)可恢復(fù)的連接完整性
不可恢復(fù)的連接完整性
選擇字段的連接完整性
無連接完整性
選擇字段無連接完整性
抗抵賴服務(wù)數(shù)據(jù)原發(fā)抗抵賴
數(shù)據(jù)交付抗抵賴
安全服務(wù)與安全機制的關(guān)系安全服務(wù)安全機制加密數(shù)字簽名訪問控制數(shù)據(jù)完整性認(rèn)證業(yè)務(wù)流填充路由控制公證認(rèn)證(鑒別)服務(wù)對等實體鑒別
數(shù)據(jù)原發(fā)鑒別
訪問控制服務(wù)訪問控制
數(shù)據(jù)保密性服務(wù)連接機密性
無連接機密性
選擇字段機密性
業(yè)務(wù)流機密性
數(shù)據(jù)完整性服務(wù)可恢復(fù)的連接完整性
不可恢復(fù)的連接完整性
選擇字段的連接完整性
無連接完整性
選擇字段無連接完整性
抗抵賴服務(wù)數(shù)據(jù)原發(fā)抗抵賴
數(shù)據(jù)交付抗抵賴
5.7.4體系結(jié)構(gòu)分析與安全設(shè)計分析體系結(jié)構(gòu)分析方法可以分為兩類基于形式化方法、數(shù)學(xué)模型和模擬技術(shù),得出量化的分析結(jié)果包括基于有窮狀態(tài)機等分析體系結(jié)構(gòu)模型中是否包含死鎖、基于排隊論模型分析體系結(jié)構(gòu)模型的性能、基于馬爾科夫模型分析系統(tǒng)的有效性等基于調(diào)查問卷、場景分析、檢查表等手段,側(cè)重分析關(guān)于體系結(jié)構(gòu)可維護性、可演化性、可復(fù)用性等難以量化的質(zhì)量特性強調(diào)軟件系統(tǒng)干系人的參與,一般是手工完成的,典型方法是基于場景分析方法的軟件架構(gòu)分析模型(SoftwareArchitectureAnalysisMethod,SAAM)及其演化派生方法體系結(jié)構(gòu)風(fēng)險分析的基本過程分為抗攻擊性分析、歧義分析(AmbiguityAnalysis)和弱點分析三個關(guān)鍵步驟其中歧義分析是指讓多位分析人員根據(jù)自己對需求和體系結(jié)構(gòu)的理解,彼此獨立地給出對體系結(jié)構(gòu)設(shè)計的分析結(jié)果,最后再發(fā)現(xiàn)分析人員之間的分歧、消除歧義、達(dá)成一致文
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年陜西學(xué)前師范學(xué)院單招職業(yè)技能考試題庫及答案詳解1套
- 2026年長沙幼兒師范高等??茖W(xué)校單招職業(yè)技能考試題庫及完整答案詳解1套
- 2026年駐馬店職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性考試題庫及參考答案詳解1套
- 2026年寧波工程學(xué)院單招職業(yè)技能測試題庫及參考答案詳解
- 2026年西南交通大學(xué)希望學(xué)院單招職業(yè)傾向性考試題庫及答案詳解一套
- 2026年陜西工業(yè)職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性考試題庫及答案詳解一套
- 2026年安慶醫(yī)藥高等專科學(xué)校單招職業(yè)技能測試題庫及參考答案詳解
- 2026年安徽黃梅戲藝術(shù)職業(yè)學(xué)院單招職業(yè)適應(yīng)性考試題庫及參考答案詳解一套
- 2026年北京北大方正軟件職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性考試題庫及參考答案詳解1套
- 2026年浙江省麗水市單招職業(yè)適應(yīng)性考試題庫及完整答案詳解1套
- 地產(chǎn)設(shè)計總結(jié)(優(yōu)選14篇)
- 課程設(shè)計立體停車庫的控制plc設(shè)計
- YY/T 1468-2016用于醫(yī)用氣體管道系統(tǒng)的氧氣濃縮器供氣系統(tǒng)
- 感染后咳嗽的中醫(yī)辨治課件
- 索道游樂設(shè)施
- -新產(chǎn)程圖與促進(jìn)自然分娩資料
- hao果蔬加工工藝學(xué)復(fù)習(xí)習(xí)題
- 安徽開放大學(xué)合同法形考任務(wù)1(第1-4章權(quán)重30%)答卷
- 部編版小學(xué)六年級上冊《道德與法治》全冊復(fù)習(xí)課件
- 電工基礎(chǔ)(第六版)電子教案(全)完整版課件整套教學(xué)課件
- Q∕SY 1568-2013 多管式段塞流捕集器技術(shù)規(guī)范
評論
0/150
提交評論