偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

SSDLC實(shí)踐:安全設(shè)計(jì)評(píng)審

安全 應(yīng)用安全
軟件設(shè)計(jì)處于軟件工程中的核心地位,開發(fā)不管采用何種開發(fā)模式,都離不開軟件設(shè)計(jì)。當(dāng)需求分析完成后進(jìn)入設(shè)計(jì)階段,設(shè)計(jì)的好壞直接影響著軟件的質(zhì)量。

前言

軟件設(shè)計(jì)處于軟件工程中的核心地位,開發(fā)不管采用何種開發(fā)模式,都離不開軟件設(shè)計(jì)。當(dāng)需求分析完成后進(jìn)入設(shè)計(jì)階段,設(shè)計(jì)的好壞直接影響著軟件的質(zhì)量。好的設(shè)計(jì)方案能夠讓團(tuán)隊(duì)有一個(gè)清晰的愿景和路線圖,作為技術(shù)領(lǐng)導(dǎo)力讓整個(gè)團(tuán)隊(duì)更容易協(xié)作。設(shè)計(jì)方案的制定需要多方參與,需要網(wǎng)絡(luò)工程師、架構(gòu)師、數(shù)據(jù)庫管理員、安全等角色多方評(píng)審,確保功能需求、非功能需求和約束能夠被滿足,好的設(shè)計(jì)是開發(fā)出高質(zhì)量軟件的基礎(chǔ)。

設(shè)計(jì)、架構(gòu)與安全

從軟件開發(fā)生命周期的角度,軟件設(shè)計(jì)可以看作是從軟件需求規(guī)格說明書出發(fā),根據(jù)需求分析階段確定的功能,設(shè)計(jì)軟件系統(tǒng)的整體結(jié)構(gòu)、劃分功能模塊、確定每個(gè)模塊的實(shí)現(xiàn)算法等內(nèi)容,形成軟件的具體方案,從整體到局部,從概念設(shè)計(jì)到詳細(xì)設(shè)計(jì)。軟件設(shè)計(jì)的工作包括:應(yīng)用架構(gòu)設(shè)計(jì)、網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)、接口設(shè)計(jì)、角色權(quán)限設(shè)計(jì)、流程設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)、界面設(shè)計(jì)等。

所有的架構(gòu)都是設(shè)計(jì),但并非所有設(shè)計(jì)都是架構(gòu)。設(shè)計(jì)方案需要考慮到成本、許可協(xié)議、技術(shù)戰(zhàn)略、兼容性、用戶習(xí)慣。產(chǎn)品經(jīng)理糾結(jié)于用戶需要什么功能,卻比較少關(guān)注非功能需求和約束,往往會(huì)模糊地給出“快、穩(wěn)定、安全”的主觀要求。安全作為方案評(píng)審中的重要角色,需要評(píng)估復(fù)雜又抽象的方案,要求比較高的綜合能力,確保安全風(fēng)險(xiǎn)可防可控的情況下滿足實(shí)際業(yè)務(wù)需求。

應(yīng)用架構(gòu)設(shè)計(jì)

應(yīng)用架構(gòu)關(guān)注的是宏觀結(jié)構(gòu),其含義是把軟件從結(jié)構(gòu)上分解為多個(gè)通過一定關(guān)系聯(lián)系的構(gòu)件,常見的應(yīng)用架構(gòu)是兩層架構(gòu)和三層架構(gòu)。

兩層架構(gòu)分為應(yīng)用層和數(shù)據(jù)層,應(yīng)用層承擔(dān)信息展示及邏輯處理,數(shù)據(jù)層負(fù)責(zé)數(shù)據(jù)存儲(chǔ)和管理。圖示如下:

三層架構(gòu)分為表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)層,表示層承擔(dān)信息的輸入輸出和展示,業(yè)務(wù)邏輯層承擔(dān)業(yè)務(wù)處理,數(shù)據(jù)層承擔(dān)數(shù)據(jù)的存儲(chǔ)和管理。圖示如下:

通常來說,三層架構(gòu)比兩層架構(gòu)安全,不同分層直接的訪問需要進(jìn)行身份驗(yàn)證,如業(yè)務(wù)邏輯層驗(yàn)證表示層的用戶賬號(hào)密碼,數(shù)據(jù)層驗(yàn)證業(yè)務(wù)邏輯層的數(shù)據(jù)庫賬號(hào)密碼。三層架構(gòu)的業(yè)務(wù)邏輯層承擔(dān)對(duì)用戶數(shù)據(jù)和權(quán)限的校驗(yàn),合理的接口設(shè)計(jì)可以將大部分非法請求拒絕。接口設(shè)計(jì)需要考慮防重放攻擊、防數(shù)據(jù)篡改、防信息泄露、防未授權(quán)訪問、防程序化攻擊(爬蟲、條件競爭)等風(fēng)險(xiǎn),可以通過時(shí)間戳timestap+簽名sign+token+ssl的常見技術(shù)來對(duì)接口進(jìn)行安全設(shè)計(jì)。

網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)

網(wǎng)絡(luò)上按照區(qū)域通常分為內(nèi)網(wǎng)、外網(wǎng)和DMZ區(qū)域,內(nèi)網(wǎng)主要是辦公區(qū)、管理區(qū)、數(shù)據(jù)存儲(chǔ)區(qū)和專用區(qū),比如銀行的現(xiàn)金業(yè)務(wù)和非現(xiàn)金業(yè)務(wù)需要隔離,需要設(shè)置專用區(qū),外網(wǎng)主要是客戶和合作伙伴、DMZ是內(nèi)外網(wǎng)之間的緩沖區(qū)。如下是常見的web應(yīng)用網(wǎng)絡(luò)架構(gòu)設(shè)計(jì):

在進(jìn)行安全設(shè)計(jì)時(shí)需要考慮到不同網(wǎng)絡(luò)區(qū)域的安全級(jí)別不同,比如DMZ區(qū)是不安全的區(qū)域,不能保存敏感業(yè)務(wù)數(shù)據(jù),外網(wǎng)文件傳入內(nèi)網(wǎng)需要進(jìn)行病毒掃描,內(nèi)網(wǎng)文件上傳到外網(wǎng)需要進(jìn)行敏感信息檢測,另外一些特殊應(yīng)用需要?jiǎng)澐諺LAN,達(dá)到邏輯隔離的目的。

角色權(quán)限設(shè)計(jì)

應(yīng)用的角色權(quán)限設(shè)計(jì)需要滿足兩個(gè)原則:最小權(quán)限和職責(zé)分離。每個(gè)角色應(yīng)該有明確的職責(zé),只能分配必要的權(quán)限,權(quán)限需細(xì)化到讀、寫、刪除、執(zhí)行等具體操作,這樣可以避免過分授權(quán)。重要的操作需要分解為兩人以上執(zhí)行,降低不當(dāng)操作帶來的風(fēng)險(xiǎn)。比如數(shù)據(jù)錄入角色只能寫數(shù)據(jù),數(shù)據(jù)復(fù)核角色只能讀復(fù)核的數(shù)據(jù),不能修改。另外系統(tǒng)默認(rèn)賬戶角色需禁用,特權(quán)賬戶角色需開啟雙因素認(rèn)證,避免密碼丟失或默認(rèn)密碼帶來的安全風(fēng)險(xiǎn)。

通過限制不同用戶的權(quán)限可以有效降低攻擊面。

流程設(shè)計(jì)

業(yè)務(wù)流程設(shè)計(jì)上需要避免常見的業(yè)務(wù)安全風(fēng)險(xiǎn),如賬號(hào)注冊流程如果不對(duì)用戶的信息進(jìn)行嚴(yán)格驗(yàn)證可能出現(xiàn)羊毛黨批量注冊養(yǎng)號(hào)風(fēng)險(xiǎn),登錄流程可能出現(xiàn)撞庫、暴力破解風(fēng)險(xiǎn),支付流程可能出現(xiàn)虛假交易、洗錢套現(xiàn)風(fēng)險(xiǎn),營銷活動(dòng)流程可能出現(xiàn)黃牛屯號(hào)、薅羊毛風(fēng)險(xiǎn)。業(yè)務(wù)流程設(shè)計(jì)需要考慮到各種可能出現(xiàn)的場景,結(jié)合目前黑灰產(chǎn)的特點(diǎn)對(duì)薄弱環(huán)節(jié)進(jìn)行加強(qiáng),提高攻擊者成本。

其他設(shè)計(jì)如數(shù)據(jù)庫設(shè)計(jì)需要做好數(shù)據(jù)庫的分離,數(shù)據(jù)庫用戶權(quán)限需做好設(shè)置,避免應(yīng)用系統(tǒng)使用root用戶訪問數(shù)據(jù)庫。界面設(shè)計(jì)需要避免一些不安全的功能界面,如執(zhí)行自定義sql語句、shell命令的調(diào)試功能等。

安全設(shè)計(jì)檢查表

安全設(shè)計(jì)評(píng)審需要投入大量人力,而且周期很長,需要不斷的訪談,收集信息,項(xiàng)目的需求文檔,架構(gòu)設(shè)計(jì)圖,流程圖等,而常見的安全設(shè)計(jì)問題是可以通過匯總形成checklist然后逐項(xiàng)檢查的,checklist包括身份認(rèn)證、權(quán)限控制、日志處理、數(shù)據(jù)驗(yàn)證、數(shù)據(jù)加密、數(shù)據(jù)簽名等檢查項(xiàng),以下是部分示例:

安全設(shè)計(jì)檢查表可以幫助評(píng)審人員快速對(duì)設(shè)計(jì)方案進(jìn)行檢查,但缺失針對(duì)性,無法做到個(gè)性化定制,因此只能作為過渡,還需要進(jìn)一步探索更貼近業(yè)務(wù)的評(píng)審方式。

威脅建模

目前免費(fèi)的威脅建模工具多數(shù)是客戶端軟件,如微軟和owasp都推出了威脅建模工具,缺點(diǎn)是只能單機(jī)安裝,不利于團(tuán)隊(duì)協(xié)作,另外英文的威脅描述和安全控制方案很不友好,無法直接推送給產(chǎn)品經(jīng)理和架構(gòu)師做方案設(shè)計(jì)參考。

最終基于web前端技術(shù)實(shí)現(xiàn)了在線威脅建模,可以針對(duì)不同的業(yè)務(wù)線定制安全威脅庫和消減威脅建議庫,實(shí)現(xiàn)針對(duì)性的安全設(shè)計(jì)評(píng)審。這里沒有嚴(yán)格按照微軟的威脅建模方法,而是基于團(tuán)隊(duì)的習(xí)慣進(jìn)行應(yīng)用架構(gòu)、業(yè)務(wù)流程和角色權(quán)限的威脅分析,如下示例:

黃色標(biāo)識(shí)資產(chǎn),紅色標(biāo)識(shí)威脅,綠色標(biāo)識(shí)安全控制措施

應(yīng)用架構(gòu)威脅分析:

業(yè)務(wù)流程威脅分析:

角色權(quán)限威脅分析:

最終匯總的威脅分析結(jié)論如下:

總結(jié)

安全設(shè)計(jì)評(píng)審是SSDLC的重要環(huán)節(jié),雖然有威脅建模工具可以輔助分析,但這些工具多是國外的,威脅庫的設(shè)計(jì)和描述對(duì)國內(nèi)用戶很不友好,而且作為單獨(dú)的軟件無法與其他版本管理工具集成。將威脅建模過程進(jìn)行適當(dāng)改動(dòng)可有效地落地安全設(shè)計(jì)評(píng)審活動(dòng),將威脅建模分析可視化、規(guī)范化,后續(xù)的安全測試環(huán)節(jié)也可以參考?xì)v史的評(píng)審結(jié)論進(jìn)行針對(duì)性測試。

責(zé)任編輯:趙寧寧 來源: FreeBuf
相關(guān)推薦

2025-02-19 07:59:06

2022-06-01 11:14:22

云原生安全架構(gòu)設(shè)計(jì)

2024-08-21 08:02:47

2022-07-13 08:00:29

安全風(fēng)險(xiǎn)管理IT

2022-01-13 08:37:54

SSH安全網(wǎng)絡(luò)安全

2018-02-28 17:27:28

2018-10-08 13:52:28

Android數(shù)據(jù)安全存儲(chǔ)安全

2015-06-15 11:00:41

2024-06-27 10:20:25

2021-02-16 08:45:10

React前端代碼

2018-02-27 11:04:48

2024-09-03 16:28:20

2009-12-31 10:16:49

2023-08-28 16:22:06

2011-09-14 10:38:39

2014-06-17 09:31:34

2023-06-29 00:19:51

2015-03-20 10:00:53

2017-06-09 09:21:44

2023-08-04 07:09:26

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)