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