當(dāng)今社會(huì),許多組織機(jī)構(gòu)面臨前所未有的網(wǎng)絡(luò)威脅及內(nèi)部威脅,其數(shù)據(jù)存儲(chǔ)、處理與傳輸均存在高危風(fēng)險(xiǎn)。由于存在這些威脅,企業(yè)日益關(guān)注網(wǎng)絡(luò)安全,使其成為信息系統(tǒng)安全認(rèn)證專業(yè)人員(CISSP或CISP)必需掌握的概念。
即使非常重視保護(hù)業(yè)務(wù)流程安全的企業(yè)也可能成為網(wǎng)絡(luò)犯罪的受害者。遵守狹隘的安全標(biāo)準(zhǔn)也許不足以阻止或檢測(cè)復(fù)雜的網(wǎng)絡(luò)攻擊。威脅建模讓企業(yè)對(duì)最可能影響系統(tǒng)的各種網(wǎng)絡(luò)威脅進(jìn)行系統(tǒng)性識(shí)別和評(píng)價(jià)。有了這些信息,您就可以按照一定的邏輯順序,利用適當(dāng)?shù)膶?duì)策來(lái)處理現(xiàn)存的威脅,并從具有最大風(fēng)險(xiǎn)的威脅開始。
開始之前
開始威脅建模過(guò)程之前,我們要了解以下基本概念?
風(fēng)險(xiǎn)是基于對(duì)組織機(jī)構(gòu)構(gòu)成的威脅。
威脅關(guān)注的是有價(jià)值的資源。
什么是威脅建模
威脅建模是一種結(jié)構(gòu)化方法,用來(lái)識(shí)別、量化并應(yīng)對(duì)威脅。威脅建模允許系統(tǒng)安全人員傳達(dá)安全漏洞的破壞力,并按輕重緩急實(shí)施補(bǔ)救措施。
威脅建模主要包括三大主要元素:
1. 資產(chǎn):應(yīng)保護(hù)哪些有價(jià)值的數(shù)據(jù)和設(shè)備?
2. 威脅:攻擊者可能對(duì)系統(tǒng)實(shí)施的行為?
3. 漏洞:有哪些漏洞讓攻擊者對(duì)系統(tǒng)構(gòu)成威脅?
組織機(jī)構(gòu)內(nèi)部,不同層次組織結(jié)構(gòu)和環(huán)境要應(yīng)對(duì)的威脅大不相同。威脅目標(biāo)有三個(gè)主要層次:
網(wǎng)絡(luò):此威脅包括假冒、惡意數(shù)據(jù)包等。
主機(jī):此威脅包括緩沖區(qū)溢出、惡意文件等。
應(yīng)用程序:此威脅包括SQL注入、XSS、輸入篡改等。
誰(shuí)負(fù)責(zé)威脅模型,何時(shí)執(zhí)行?
理想情況下,在系統(tǒng)設(shè)計(jì)過(guò)程中(部署之前)創(chuàng)建威脅模型。在實(shí)踐中,通常是為現(xiàn)有系統(tǒng)創(chuàng)建威脅模型,使其成為維護(hù)的一部分。安全經(jīng)驗(yàn)豐富的系統(tǒng)設(shè)計(jì)人員最有資格識(shí)別威脅。
威脅建模步驟
1. 識(shí)別資產(chǎn)
2. 描述架構(gòu)
3. 分解應(yīng)用程序
4. 識(shí)別威脅
5. 歸檔并分類威脅
6. 評(píng)價(jià)威脅
1、識(shí)別資產(chǎn):
識(shí)別對(duì)組織機(jī)構(gòu)具有價(jià)值的潛在資產(chǎn):
入口和出口點(diǎn)
系統(tǒng)資產(chǎn)和資源
信任級(jí)別(訪問(wèn)類別)
2、描述架構(gòu):
在這個(gè)過(guò)程中,描述處理價(jià)值資產(chǎn)的架構(gòu),可能包括軟件架構(gòu)、版本和其它架構(gòu)詳情。
3、分解應(yīng)用程序:
分解與過(guò)程有關(guān)的應(yīng)用程序,所有運(yùn)行應(yīng)用程序的子過(guò)程。
4、識(shí)別威脅:
以描述方式羅列威脅,以便審核,作進(jìn)一步處理。
5、將威脅分類:
按照預(yù)定義分類對(duì)威脅進(jìn)行分類,預(yù)定義分類如下:
假冒身份
篡改數(shù)據(jù)
否認(rèn)
信息泄露
拒絕服務(wù)
特權(quán)提升
評(píng)價(jià)威脅通過(guò)Microsoft的DREAD模型對(duì)威脅的嚴(yán)重性進(jìn)行評(píng)價(jià):
破壞潛力:如果漏洞被利用,損失有多大?
再現(xiàn)性: 重復(fù)被利用的難度有多大?
可利用性:漏洞被利用的難度有多大?
受影響的用戶:多少用戶可能受到影響?
可發(fā)現(xiàn)性:漏洞容易被發(fā)現(xiàn)嗎?
例子:
某公司具有數(shù)據(jù)收集Web應(yīng)用程序,允許用戶登錄,訪問(wèn)或修改個(gè)人數(shù)據(jù)。
此應(yīng)用程序收集的信息如下:
架構(gòu):
Web應(yīng)用程序——ASP.Net
數(shù)據(jù)庫(kù)——SQL服務(wù)器2000
資產(chǎn):
用戶登錄憑證
用戶個(gè)人信息
行政資源
系統(tǒng)硬件
微軟威脅報(bào)告模板:
ID – 威脅的唯一ID #
名稱 – 資產(chǎn)威脅的簡(jiǎn)短名稱
描述 – 威脅及其重要性的詳細(xì)描述
STRIDE – 如何對(duì)威脅進(jìn)行分類?
緩解– 應(yīng)用程序是否有威脅?
已知緩解 –如何免遭威脅?
調(diào)查說(shuō)明– 目前對(duì)威脅的了解有多少?
入口點(diǎn)– 對(duì)手可能采取的手段有哪些?
資產(chǎn)– 哪些資產(chǎn)可能會(huì)被損壞?
威脅樹– 如何將威脅形象化?(可選)
威脅描述:
ID: 1
名稱: Login Subversion
描述:對(duì)手試圖通過(guò)請(qǐng)求進(jìn)入應(yīng)用程序注入SQL命令,從而繞過(guò)登錄過(guò)程。
STRIDE分類:篡改數(shù)據(jù),提升特權(quán)
緩解:無(wú)
已知緩解:存儲(chǔ)過(guò)程,參數(shù)化查詢
調(diào)查說(shuō)明:審查了應(yīng)用程序的數(shù)據(jù)庫(kù)調(diào)用,并在登錄查詢使用字符串連接。
入口點(diǎn):登錄頁(yè)面
資產(chǎn):訪問(wèn)支持的數(shù)據(jù)庫(kù)
威脅樹:無(wú)
通過(guò)STRIDE對(duì)威脅分類
通過(guò)Microsoft標(biāo)準(zhǔn)化簡(jiǎn)易表格將威脅分類。
假冒身份
篡改數(shù)據(jù)
否認(rèn)
信息泄露
拒絕服務(wù)
提升特權(quán)
使用DREAD評(píng)價(jià)威脅
使用Microsoft DREAD模型評(píng)價(jià)威脅等級(jí)。根據(jù)每個(gè)項(xiàng)目的等級(jí)范圍進(jìn)行評(píng)價(jià),對(duì)大多數(shù)項(xiàng)目來(lái)說(shuō),等級(jí)范圍為1-3。
破壞潛力—如果漏洞被利用,損失有多大?
再現(xiàn)性:重復(fù)被利用的難度有多大?
可利用性:漏洞被利用的難度有多大?
受影響的用戶:多少用戶可能受到影響?
可發(fā)現(xiàn)性:容易被發(fā)現(xiàn)嗎?
破壞潛力
1. 攻擊者可以獲取極其敏感的數(shù)據(jù),并損壞或破壞數(shù)據(jù)。
2. 攻擊者可以獲取敏感數(shù)據(jù),但破壞性小。
3. 攻擊者只能獲取危害小或不具破壞潛力的數(shù)據(jù)。
再現(xiàn)性
1. 每次都再現(xiàn);而且不需要時(shí)間間隔或特定的極端情形
2. 有時(shí)間間隔;僅在時(shí)間間隔內(nèi)運(yùn)行
3. 很少再現(xiàn)
可利用性
1. 任何人都能利用
2. 攻擊者必須具備一定的知識(shí)和技能
3. 攻擊者必須具備非常專業(yè)的知識(shí)和技能
受影響的用戶
1. 大多數(shù)或所有用戶
2. 一些用戶
3. 極少用戶
可發(fā)現(xiàn)性
1. 攻擊者可以輕易發(fā)現(xiàn)漏洞
2. 攻擊者也許能發(fā)現(xiàn)漏洞
3. 攻擊者必須深挖才能發(fā)現(xiàn)漏洞
威脅建模之后該做何工作?
威脅建模過(guò)程的輸出包括應(yīng)用程序體系結(jié)構(gòu)安全方面的記錄和評(píng)價(jià)過(guò)的威脅列表。威脅模型有助于您協(xié)調(diào)開發(fā)小組成員,并將精力集中在最有影響的威脅上。
要點(diǎn) 威脅建模是一個(gè)不斷重復(fù)的過(guò)程。威脅模型是一種發(fā)展的文檔,并且各種不同的小組成員都可以參與。
下列小組的人員都可以使用威脅模型:
設(shè)計(jì)者可以利用它來(lái)進(jìn)行技術(shù)與功能方面的安全設(shè)計(jì)選擇決策。
編寫代碼的開發(fā)人員可以利用它來(lái)降低風(fēng)險(xiǎn)。
測(cè)試人員可以編寫測(cè)試案例來(lái)測(cè)試應(yīng)用程序是否容易受分析所找出的威脅的攻擊。
生成工作項(xiàng)目報(bào)告
從最初的威脅模型,您可以創(chuàng)建一個(gè)更正式的工作項(xiàng)目報(bào)告,它可以包括其他的屬性,例如 Bug ID,可用它把您喜好的錯(cuò)誤跟蹤系統(tǒng)和威脅連接起來(lái)。實(shí)際上,您可以選擇在錯(cuò)誤跟蹤系統(tǒng)中輸入找出的威脅,利用它的報(bào)告工具來(lái)生成報(bào)告。也可以用一個(gè)狀態(tài)欄來(lái)表明錯(cuò)誤是否已經(jīng)被修復(fù)。您應(yīng)當(dāng)確保報(bào)告包括用來(lái)連接威脅模型文檔的原始威脅編號(hào)。
在報(bào)告中,根據(jù)網(wǎng)絡(luò)、主機(jī)和應(yīng)用程序種類來(lái)組織威脅。這可以使不同角色的不同小組成員更方便地使用該報(bào)告。每一類中,按優(yōu)先順序排列威脅,最先的是評(píng)價(jià)具有最大危險(xiǎn)的威脅,緊跟的是危險(xiǎn)較小的威脅。
總結(jié)
雖然您可以降低攻擊帶來(lái)的危險(xiǎn),但是卻不能減少或者消除實(shí)際的威脅。不管您采取何種安全措施以及采用何種對(duì)策,威脅仍舊存在。安全界的現(xiàn)實(shí)就是,承認(rèn)威脅的存在并控制危險(xiǎn)。威脅建模可以幫助您控制安全風(fēng)險(xiǎn)并在團(tuán)隊(duì)中間溝通這些安全風(fēng)險(xiǎn),并做出有效響應(yīng)。威脅建模在過(guò)程的整個(gè)周期(從初始化到部署,還包括維護(hù)過(guò)程)進(jìn)行。至于CISSP及CISP培訓(xùn)學(xué)員必須了解威脅建模的所有過(guò)程,并應(yīng)掌握如何通過(guò)威脅建模技術(shù)以最有效的方式緩解威脅。
要將威脅建模看成一個(gè)不斷循環(huán)的過(guò)程。您的威脅模型應(yīng)當(dāng)是動(dòng)態(tài)模型,應(yīng)隨著時(shí)間的推移不斷更改,以適應(yīng)發(fā)現(xiàn)的新型威脅與攻擊。它還要能夠適應(yīng)應(yīng)用程序?yàn)檫m應(yīng)業(yè)務(wù)變更的需求而不斷完善與更改的自然發(fā)展過(guò)程。