軟件安全設(shè)計(jì)
7.2.2 軟件安全設(shè)計(jì)
在軟件設(shè)計(jì)階段,需要根據(jù)安全需求方案確定的安全目標(biāo),對(duì)初步風(fēng)險(xiǎn)評(píng)估確定的控制措施的具體技術(shù)實(shí)現(xiàn)而進(jìn)行安全設(shè)計(jì),包括概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)階段。
1.安全設(shè)計(jì)的工作內(nèi)容
概要設(shè)計(jì)階段確定應(yīng)用系統(tǒng)的安全整體架構(gòu),安全概要設(shè)計(jì)階段,包括但不限于:安全體系結(jié)構(gòu)設(shè)計(jì)、各功能塊間的處理流程、與其它功能的關(guān)系、安全協(xié)議設(shè)計(jì)、安全接口設(shè)計(jì)等;詳細(xì)設(shè)計(jì)階段作為安全功能的程序設(shè)計(jì)階段,應(yīng)當(dāng)直接指導(dǎo)安全功能的編碼工作。包括但不限于:模塊設(shè)計(jì)、內(nèi)部處理流程、數(shù)據(jù)結(jié)構(gòu)、輸入/輸出項(xiàng)、算法、邏輯流程圖等。
2.安全設(shè)計(jì)的主要活動(dòng)
1)詳細(xì)風(fēng)險(xiǎn)評(píng)估:從確定需要保護(hù)的信息資產(chǎn)出發(fā),分析系統(tǒng)面臨的安全威脅、系統(tǒng)自身存在的脆弱點(diǎn),威脅利用弱點(diǎn)的影響,從而確定系統(tǒng)風(fēng)險(xiǎn)。
2)控制措施選擇:根據(jù)安全目標(biāo)及詳細(xì)風(fēng)險(xiǎn)評(píng)估的結(jié)果,從應(yīng)用設(shè)計(jì)的角度選擇必要的安全控制措施,并從成本、安全性、用戶體驗(yàn)等方面綜合選擇最佳的控制措施。
3)安全技術(shù)實(shí)現(xiàn):完成安全控制措施技術(shù)實(shí)現(xiàn)的設(shè)計(jì)工作,技術(shù)實(shí)現(xiàn)分為三步:結(jié)構(gòu)設(shè)計(jì)、模塊設(shè)計(jì)及詳細(xì)設(shè)計(jì)。
4)設(shè)計(jì)審查:檢查安全設(shè)計(jì)是否符合安全需求。 3.安全設(shè)計(jì)原則
軟件的安全設(shè)計(jì)應(yīng)該盡量遵循一些安全設(shè)計(jì)原則,這些原則是軟件開發(fā)和軟件測(cè)試中有關(guān)安全經(jīng)驗(yàn)的高度總結(jié),用于指導(dǎo)安全開發(fā)人員(特別是軟件架構(gòu)師和設(shè)計(jì)師)開發(fā)更為安全的軟件。
- 上一篇:安全需求分析的過程一
- 下一篇:軟件安全設(shè)計(jì)基本原則一