應(yīng)用安全評(píng)估方法_第1頁
應(yīng)用安全評(píng)估方法_第2頁
應(yīng)用安全評(píng)估方法_第3頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1.1.11.1.2襖應(yīng)用安全評(píng)估蒂應(yīng)用評(píng)估概述賺針對(duì)企業(yè)關(guān)鍵應(yīng)用的安全性進(jìn)行的評(píng)估,分析XXX應(yīng)用程序體系結(jié)構(gòu)、設(shè)計(jì)思想和功能模塊,從中發(fā)現(xiàn)可能的安全隱患。全面的了解應(yīng)用系統(tǒng)在網(wǎng)絡(luò)上的表現(xiàn)”將有助于對(duì)應(yīng)用系統(tǒng)的維護(hù)與支持工作。了解XXX應(yīng)用系統(tǒng)的現(xiàn)狀,發(fā)現(xiàn)存在的弱點(diǎn)和風(fēng)險(xiǎn),作為后期改造的需求。本 期項(xiàng)目針對(duì)XXX具有代表性的不超過10個(gè)關(guān)鍵應(yīng)用進(jìn)行安全評(píng)估。膆在進(jìn)行應(yīng)用評(píng)估的時(shí)候,引入了威脅建模的方法,這一方法是一種基于安全的分析,有助于我 們確定應(yīng)用系統(tǒng)造成的安全風(fēng)險(xiǎn),以及攻擊是如何體現(xiàn)出來的。薆輸入:s -. n. _- ' 七亠*.芁對(duì)于威脅建模,下面的輸入非常有用:氣| t

2、"" h" f ' X II- iIi '|'芁用例和使用方案 * I I I" J薇數(shù)據(jù)流肅數(shù)據(jù)架構(gòu)芃部署關(guān)系圖莁雖然這些都非常有用,但它們都不是必需的。但是,一定要了解應(yīng)用程序的主要功能和體系結(jié) 構(gòu)。羇輸出:螅威脅建模活動(dòng)的輸出結(jié)果是一個(gè)威脅模型。威脅模型捕獲的主要項(xiàng)目包括:肂威脅列表蒁漏洞列表莈應(yīng)用評(píng)估步驟膃五個(gè)主要的威脅建模步驟如圖1所示。螁圖1薁我們把應(yīng)用系統(tǒng)的安全評(píng)估劃分為以下五個(gè)步驟:1.2. 蝿識(shí)別應(yīng)用系統(tǒng)的安全目標(biāo):其中包括系統(tǒng)業(yè)務(wù)目標(biāo)和安全目標(biāo)。目標(biāo)清晰有助于將注意力集中在威脅建?;顒?dòng),以及確定后續(xù)步驟要做多少

3、工作。113.3. 羅了解應(yīng)用系統(tǒng)概況:逐條列出應(yīng)用程序的重要特征和參與者有助于在步驟4中確定相關(guān)威脅。5.' 3X4. 襖應(yīng)用系統(tǒng)分解:全面了解應(yīng)用程序的結(jié)構(gòu)可以更輕松地發(fā)現(xiàn)更相關(guān)、更具體的威脅。7.!. I,5. 蝕應(yīng)用系統(tǒng)的威脅識(shí)別:使用步驟 2和3中的詳細(xì)信息來確定與您的應(yīng)用程序方案和 上下文相關(guān)的威脅。9.6. 羆應(yīng)用系統(tǒng)的弱點(diǎn)分析:查應(yīng)用程序的各層以確定與威脅有關(guān)的弱點(diǎn)。蚇步驟1:識(shí)別安全目標(biāo)薃業(yè)務(wù)目標(biāo)是應(yīng)用系統(tǒng)使用的相關(guān)目標(biāo)和約束。安全目標(biāo)是與數(shù)據(jù)及應(yīng)用程序的保密性、完 整性和可用性相關(guān)的目標(biāo)和約束。蝕以約束的觀點(diǎn)來考慮安全目標(biāo)利用安全目標(biāo)來指導(dǎo)威脅建?;顒?dòng)。請(qǐng)考慮這個(gè)問

4、題,您不希望發(fā)生什么? ”例如,確保攻擊者無法竊取用戶憑據(jù)。莇通過確定主要的安全目標(biāo),可以決定將主要精力放在什么地方。確定目標(biāo)也有助于理解潛 在攻擊者的目標(biāo),并將注意力集中于那些需要密切留意的應(yīng)用程序區(qū)域。例如,如果將客戶帳 戶的詳細(xì)信息確定為需要保護(hù)的敏感數(shù)據(jù),那么您可以檢查數(shù)據(jù)存儲(chǔ)的安全性,以及如何控制 和審核對(duì)數(shù)據(jù)的訪問。肅業(yè)務(wù)目標(biāo):一個(gè)應(yīng)用系統(tǒng)的業(yè)務(wù)目標(biāo)應(yīng)該從如下幾個(gè)方面入手進(jìn)行分析:莂信譽(yù):應(yīng)用系統(tǒng)發(fā)生異常情況以及遭到攻擊造成的商業(yè)信譽(yù)的損失;螀經(jīng)濟(jì):對(duì)于應(yīng)用系統(tǒng),如果發(fā)生攻擊或者其它安全時(shí)間造成的直接和潛在的經(jīng)濟(jì)損失。螈隱私:應(yīng)用系統(tǒng)需要保護(hù)的用戶數(shù)據(jù)。螇國家的法律或者政策:例如:

5、等級(jí)化保護(hù)要求、sox法案等。 賺公司的規(guī)章制度。, n. ''. _s.-'I ' I1'十-.Ij1'XI、°、.袀國際標(biāo)準(zhǔn):例如:ISO17799、ISO13335等。 丨丨 "、腿法律協(xié)議。; /' ; -芄公司的信息安全策略。膄安全目標(biāo):一個(gè)應(yīng)用系統(tǒng)的安全目標(biāo)應(yīng)該從如下幾個(gè)方面入手進(jìn)行分析:羀系統(tǒng)的機(jī)密性:明確需要保護(hù)哪些客戶端數(shù)據(jù)。應(yīng)用系統(tǒng)是否能夠保護(hù)用戶的識(shí)別信息不被濫用?例如:用戶的信息被盜取用于其它非法用途;芅系統(tǒng)的完整性:明確應(yīng)用系統(tǒng)是否要求確保數(shù)據(jù)信息的有效性。羆系統(tǒng)的可用性:明確有特殊的服務(wù)質(zhì)量

6、要求。應(yīng)用系統(tǒng)得可用性應(yīng)該達(dá)到什么級(jí)別(例如:中斷的時(shí)間不能超過 10分鐘/年)?根據(jù)系統(tǒng)可靠性的要求,可以 重點(diǎn)保護(hù)重點(diǎn)的應(yīng)用系統(tǒng),從而節(jié)約投資。羂通過訪談的方式確定應(yīng)用系統(tǒng)業(yè)務(wù)目標(biāo)和安全目標(biāo),對(duì)業(yè)務(wù)目標(biāo)和安全目標(biāo)進(jìn)行細(xì)化,得 到應(yīng)用系統(tǒng)安全要求。肀輸入:訪談備忘錄蚆輸出:應(yīng)用系統(tǒng)業(yè)務(wù)目標(biāo)、安全目標(biāo)和安全要求蒄資料來源:蟻分類膀序號(hào)肇目標(biāo)膆安全要求螄備注芀業(yè)務(wù)目標(biāo)蒈1 嚴(yán)-k 1r薄2»巳 ” L°1 1薃311 -.I" 1 *艿安全目標(biāo)"X| 1Vs.I '/衿1i莆2節(jié)3荿4羆步驟2:應(yīng)用系統(tǒng)概述螄在本步驟中,概述應(yīng)用系統(tǒng)的行為。確定應(yīng)用

7、程序的主要功能、特性和客戶端。肁創(chuàng)建應(yīng)用系統(tǒng)概述步驟:葿畫出端對(duì)端的部署方案。莇確定角色。蒆確定主要使用方案。肄確定技術(shù)。蕿確定應(yīng)用程序的安全機(jī)制。袈下面幾部分將對(duì)此逐一進(jìn)行說明:羃畫出端對(duì)端的部署方案:袃畫出一個(gè)描述應(yīng)用程序的組成和結(jié)構(gòu)、它的子系統(tǒng)以及部署特征的粗略圖。隨著對(duì)身份驗(yàn)證、授權(quán)和通信機(jī)制的發(fā)現(xiàn)來添加相關(guān)細(xì)節(jié)。蠆部署關(guān)系圖通常應(yīng)當(dāng)包含以下元素:艿端對(duì)端的部署拓?fù)洌猴@示服務(wù)器的布局,并指示 Intranet、Extra net或 I 、'k1 |'j 'In ternet訪問。從邏輯網(wǎng)絡(luò)拓?fù)淙胧?,然后在掌握詳?xì)信息時(shí)對(duì)其進(jìn)行細(xì)化,以顯示物理拓?fù)?。根?jù)所選的特定

8、物理拓?fù)鋪硖砑踊騽h除威脅。 i I ,' ; * |j|' 5.I1蚅邏輯層:顯示表示層、業(yè)務(wù)層和數(shù)據(jù)訪問層的位置。知道物理服務(wù)器的邊界.I后,對(duì)此進(jìn)行細(xì)化以將它們包括在內(nèi)。蟻主要組件:顯示每個(gè)邏輯層中的重要組件。明確實(shí)際流程和組件邊界后,對(duì)此進(jìn)行細(xì)化以將它們包括在內(nèi)。羇主要服務(wù):確定重要的服務(wù)。袇通信端口和協(xié)議。 顯示哪些服務(wù)器、組件和服務(wù)相互進(jìn)行通信,以及它們?nèi)绾芜M(jìn)行通信。了解入站和出站信息包的細(xì)節(jié)后,顯示它們。莁標(biāo)識(shí):如果您有這些信息,則顯示用于應(yīng)用程序和所有相關(guān)服務(wù)帳戶的主要標(biāo)識(shí)袂外部依賴項(xiàng):顯示應(yīng)用程序在外部系統(tǒng)上的依賴項(xiàng)。在稍后的建模過程 中,這會(huì)幫助您確定由于您所

9、作的有關(guān)外部系統(tǒng)的假設(shè)是錯(cuò)誤的、或者由于外部系統(tǒng) 發(fā)生任何更改而產(chǎn)生的漏洞。肆隨著設(shè)計(jì)的進(jìn)行,您應(yīng)當(dāng)定期復(fù)查威脅模型以添加更多細(xì)節(jié)。例如,最初您可能不了解所 有的組件。應(yīng)根據(jù)需要細(xì)分應(yīng)用程序,以獲得足夠的細(xì)節(jié)來確定威脅。羄確定角色:肅確定應(yīng)用程序的角色:即,確定應(yīng)用程序中由誰來完成哪些工作。用戶能做什么?您有什 么樣的高特權(quán)用戶組?例如,誰可以讀取數(shù)據(jù)、誰可以更新數(shù)據(jù)、誰可以刪除數(shù)據(jù)?利用角色 標(biāo)識(shí)來確定應(yīng)當(dāng)發(fā)生什么以及不應(yīng)當(dāng)發(fā)生什么。r l.kV.-4/ 沖 | .”1蟻確定主要的使用方案:肆確定的應(yīng)用程序的主要功能是什么?它可以做什么?利用應(yīng)用程序的用例來獲得這些信j' S.J.-

10、 ' i-6 '. _-息。確定應(yīng)用程序的主要功能和用法,并捕獲Create Read Update和Delete等方面。. I t "/ '1Ii詁»I , J"、¥'、'蒞經(jīng)常在用例的上下文中解釋主要功能??梢詭椭斫鈶?yīng)用程序應(yīng)當(dāng)如何使用,以及怎樣是 誤用。用例有助于確定數(shù)據(jù)流,并可以在稍后的建模過程中確定威脅時(shí)提供焦點(diǎn)。在這些用例 中,您可以考察誤用業(yè)務(wù)規(guī)則的可能性。例如,考慮某個(gè)用戶試圖更改另一個(gè)用戶的個(gè)人詳細(xì) 資料。您通常需要考慮為進(jìn)行完整的分析而同時(shí)發(fā)生的幾個(gè)用例。螅確定技術(shù):莀只要您能確定,就列出軟件

11、的技術(shù)和主要功能,以及您使用的技術(shù)。確定下列各項(xiàng):膆操作系統(tǒng)。螆服務(wù)器軟件。膃數(shù)據(jù)庫服務(wù)器軟件。腿在表示層、業(yè)務(wù)層和數(shù)據(jù)訪問層中使用的技術(shù)。芆開發(fā)語言。腿確定技術(shù)有助于在稍后的威脅建?;顒?dòng)中將主要精力放在特定于技術(shù)的威脅上,有助于確 定正確的和最適當(dāng)?shù)木徑饧夹g(shù)。羅步驟3:系統(tǒng)分解膂通過分解應(yīng)用程序來確定信任邊界、數(shù)據(jù)流、入口點(diǎn)和出口點(diǎn)。對(duì)應(yīng)用程序結(jié)構(gòu)了解得越 多,就越容易發(fā)現(xiàn)威脅和漏洞。莆分解應(yīng)用程序按如下步驟:芄確定信任邊界。莂確定數(shù)據(jù)流。 I j/ i.3 *羈確定入口點(diǎn)。II j I r -''v i1I I , 蒆確定出口點(diǎn)。 I |Ji'' .;: f

12、;/ F "" -»_j蚄下面幾部分將對(duì)此逐一進(jìn)行說明。肄確定信任邊界:蝿確定應(yīng)用程序的信任邊界有助于將分析集中在所關(guān)注的區(qū)域。信任邊界指示在什么地方更 改信任級(jí)別??梢詮臋C(jī)密性和完整性的角度來考慮信任。例如,在需要特定的角色或特權(quán)級(jí)別 才能訪問資源或操作的應(yīng)用程序中,更改訪問控制級(jí)別就是更改信任級(jí)別。另一個(gè)例子是應(yīng)用 程序的入口點(diǎn),您可能不會(huì)完全信任傳遞到入口點(diǎn)的數(shù)據(jù)。螀如何確定信任邊界:1.2.肅從確定外部系統(tǒng)邊界入手。例如,應(yīng)用程序可以寫服務(wù)器X上的文件,可以調(diào)用服務(wù)器丫上的數(shù)據(jù)庫,并且可以調(diào)用 Web服務(wù)Z。這就定義了系統(tǒng)邊界3.4. 薂確定訪問控制點(diǎn)或需

13、要附加的特權(quán)或角色成員資格才能訪問的關(guān)鍵地方。例如,某 個(gè)特殊頁可能只限于管理人員使用。該頁要求經(jīng)過身份驗(yàn)證的訪問,還要求調(diào)用方是 某個(gè)特定角色的成員。5.5. 螂從數(shù)據(jù)流的角度確定信任邊界。對(duì)于每個(gè)子系統(tǒng),考慮是否信任上游數(shù)據(jù)流或用戶 輸入,如果不信任,則考慮如何對(duì)數(shù)據(jù)流和輸入進(jìn)行身份驗(yàn)證和授權(quán)。了解信任邊界 之間存在哪些入口點(diǎn)可以使您將威脅識(shí)別集中在這些關(guān)鍵入口點(diǎn)上。例如,可能需要 在信任邊界處對(duì)通過入口點(diǎn)的數(shù)據(jù)執(zhí)行更多的驗(yàn)證。袀確定數(shù)據(jù)流:蒆從入口到出口,跟蹤應(yīng)用程序的數(shù)據(jù)輸入通過應(yīng)用程序。這樣做可以了解應(yīng)用程序如何與 外部系統(tǒng)和客戶端進(jìn)行交互,以及內(nèi)部組件之間如何交互。要特別注意跨信任

14、邊界的數(shù)據(jù)流, 以及如何在信任邊界的入口點(diǎn)驗(yàn)證這些數(shù)據(jù)。還要密切注意敏感數(shù)據(jù)項(xiàng),以及這些數(shù)據(jù)如何流 過系統(tǒng)、它們通過網(wǎng)絡(luò)傳遞到何處以及在什么地方保留。一種較好的方法是從最高級(jí)別入手, 然后通過分析各個(gè)子系統(tǒng)之間的數(shù)據(jù)流來解構(gòu)應(yīng)用程序。例如,從分析應(yīng)用程序、中間層服務(wù) 器和數(shù)據(jù)庫服務(wù)器之間的數(shù)據(jù)流開始。然后,考慮組件到組件的數(shù)據(jù)流。 * |芄確定入口點(diǎn):薁?wèi)?yīng)用程序的入口點(diǎn)也是攻擊的入口點(diǎn)。入口點(diǎn)可以包括偵聽前端應(yīng)用程序。這種入口點(diǎn)原 本就是向客戶端公開的。存在的其他入口點(diǎn)(例如,由跨應(yīng)用程序?qū)拥淖咏M件公開的內(nèi)部入口 點(diǎn))??紤]訪問入口點(diǎn)所需的信任級(jí)別,以及由入口點(diǎn)公開的功能類型。羀確定出口點(diǎn):袇

15、確定應(yīng)用程序向客戶端或者外部系統(tǒng)發(fā)送數(shù)據(jù)的點(diǎn)。設(shè)置出口點(diǎn)的優(yōu)先級(jí),應(yīng)用程序可以 在這些出口點(diǎn)上寫數(shù)據(jù),包括客戶端輸入或來自不受信任的源(例如,共享數(shù)據(jù)庫)的數(shù)據(jù)。螂步驟4:威脅識(shí)別莀在本步驟中,確定可能影響應(yīng)用程序和危及安全目標(biāo)的威脅和攻擊。這些威脅可能會(huì)對(duì)應(yīng) 用程序有不良影響。聿可以使用兩種基本方法:1.2. 蚈從常見的威脅和攻擊入手。利用這種方法,您可以從一系列按應(yīng)用程序漏洞類別分 組的常見威脅入手。接下來,將威脅列表應(yīng)用到您自己的應(yīng)用程序體系結(jié)構(gòu)中。3.3. 肇使用問題驅(qū)動(dòng)的方法。問題驅(qū)動(dòng)的方法確定相關(guān)的威脅和攻擊。 STRIDE類別包括各種類型的威脅,例如,欺騙、篡改、否認(rèn)、信息泄漏和

16、拒絕訪問。使用STRIDE模型來提出與應(yīng)用程序的體系結(jié)構(gòu)和設(shè)計(jì)的各個(gè)方面有關(guān)的問題。這是一種基于目標(biāo)的方法,您要考慮的是攻擊者的目標(biāo)。例如,攻擊者能夠以一個(gè)虛假身份來訪問您的服務(wù) 器或Web應(yīng)用程序嗎?他人能夠在網(wǎng)絡(luò)或數(shù)據(jù)存儲(chǔ)中篡改數(shù)據(jù)嗎?當(dāng)您報(bào)告錯(cuò)誤消息 或者記錄事件時(shí)會(huì)泄漏敏感信息嗎?他人能拒絕服務(wù)嗎?蚃確定威脅時(shí),要逐級(jí)、逐層、逐功能地進(jìn)行檢查。通過關(guān)注漏洞類別,將注意力集中在那些最常發(fā)生安全錯(cuò)誤的區(qū)域。= I 1 I1'螄在本步驟中,您要完成下列任務(wù):I°聿確定常見的威脅和攻擊。蒆根據(jù)用例來確定威脅。螆根據(jù)數(shù)據(jù)流來確定威脅。襖利用威脅/攻擊樹研究其他威脅.蒀下面幾部分

17、將對(duì)此逐一進(jìn)行說明。膈確定常見的威脅和攻擊:蒅許多常見的威脅和攻擊依賴于常見的漏洞,根據(jù)應(yīng)用程序安全框架確定威脅、根據(jù)用例確定威脅、根據(jù)數(shù)據(jù)流確定威脅和利用威脅/攻擊樹研究其他威脅袃應(yīng)用程序安全框架袁下面的漏洞類別是由安全專家對(duì)應(yīng)用程序中數(shù)量最多的安全問題進(jìn)行調(diào)查和分析后提取出 來的。本部分為每個(gè)類別都確定了一組主要問題。1.2. 蚆身份驗(yàn)證芄通過提出下列問題,對(duì)身份驗(yàn)證進(jìn)行檢查:羃攻擊者如何欺騙身份?羈攻擊者如何訪問憑據(jù)存儲(chǔ)?r I/ JI |莈攻擊者如何發(fā)動(dòng)字典攻擊?您的用戶憑據(jù)是如何存儲(chǔ)的以及執(zhí)行的密碼策略是什 么?肅攻擊者如何更改、截取或回避用戶的憑據(jù)重置機(jī)制? I / I1'

18、3.I -詁4"1»I ,J、"、i'、'3. 肅授權(quán) * II|' 5.I1荿通過提出下列問題,對(duì)授權(quán)進(jìn)行檢查:祎攻擊者如何影響授權(quán)檢查來進(jìn)行特權(quán)操作?肆攻擊者如何提升特權(quán)?5.4. 膃輸入和數(shù)據(jù)驗(yàn)證螀通過提出下列問題,對(duì)輸入和數(shù)據(jù)驗(yàn)證進(jìn)行檢查:薇攻擊者如何注入SQL命令?裊攻擊者如何進(jìn)行跨站點(diǎn)腳本攻擊?芃攻擊者如何回避輸入驗(yàn)證?膀攻擊者如何發(fā)送無效的輸入來影響服務(wù)器上的安全邏輯? 羅攻擊者如何發(fā)送異常輸入來使應(yīng)用程序崩潰?7.&薃配置管理莃通過提出下列問題,對(duì)配置管理進(jìn)行檢查:薁攻擊者如何使用管理功能?螇攻擊者如何訪問應(yīng)用程序的

19、配置數(shù)據(jù)?9.10蚆敏感數(shù)據(jù)蒃通過提出下列問題,對(duì)敏感數(shù)據(jù)進(jìn)行檢查:_B_- 1. I jf «' II1I 宀 l *'螈您的應(yīng)用程序?qū)⒚舾袛?shù)據(jù)存儲(chǔ)在何處以及如何存儲(chǔ)?A. i I卞' * I葿敏感數(shù)據(jù)何時(shí)何地通過網(wǎng)絡(luò)進(jìn)行傳遞?蒞攻擊者如何查看敏感數(shù)據(jù)?蒃攻擊者如何使用敏感數(shù)據(jù)?11.12.腿會(huì)話管理袇通過提出下列問題,對(duì)會(huì)話管理進(jìn)行檢查:膄您使用的是一種自定義加密算法并且信任這種算法嗎?薂攻擊者如何攻擊會(huì)話?薀攻擊者如何查看或操縱另一個(gè)用戶的會(huì)話狀態(tài)?13.14. 蕿加密羃通過提出下列問題,對(duì)加密進(jìn)行檢查:螞攻擊者需要獲得什么才能破解您的密碼?羈攻擊者如何

20、獲得密鑰?肇您使用的是哪一種加密標(biāo)準(zhǔn)?如果有,針對(duì)這些標(biāo)準(zhǔn)有哪些攻擊?羆您創(chuàng)建了自己的加密方法嗎?螂您的部署拓?fù)淙绾螡撛诘赜绊懩鷮?duì)加密方法的選擇?15.15. 肇參數(shù)管理 I ;I 7、.X、_j *h、 . I t嚴(yán) f 'I、1I 宀 l *'蝿通過提出下列問題,對(duì)參數(shù)管理進(jìn)行檢查:、弋 11 IJf 二卞I7 * I螅攻擊者如何通過管理參數(shù)來更改服務(wù)器上的安全邏輯?' .;"7袂攻擊者如何管理敏感參數(shù)數(shù)據(jù)?17.18葿異常管理芆通過提出下列問題,對(duì)異常管理進(jìn)行檢查:蒄攻擊者如何使應(yīng)用程序崩潰?羂攻擊者如何獲得有用的異常細(xì)節(jié)?19.20. 衿審核與記錄羈通

21、過提出下列問題,對(duì)審核與記錄進(jìn)行檢查:薆攻擊者如何掩蓋他或她的蹤跡?肂您如何證明攻擊者(或合法用戶)執(zhí)行了特定的動(dòng)作?芀根據(jù)用例確定威脅:莆檢查以前確定的每個(gè)應(yīng)用程序的主要用例,并檢查用戶能夠惡意或無意地強(qiáng)制應(yīng)用程序執(zhí) 行某種未經(jīng)授權(quán)的操作或者泄漏敏感數(shù)據(jù)或私人數(shù)據(jù)的方法。芅提出問題并嘗試從攻擊者的角度進(jìn)行思考。您提出的問題類型應(yīng)該包括:肂客戶端在這里如何注入惡意輸入?蟻寫出的數(shù)據(jù)是基于用戶輸入還是未驗(yàn)證的用戶輸入?s-i 's. n. X.膈攻擊者如何操縱會(huì)話數(shù)據(jù)?I-1-iI '|fIj I 十”莈當(dāng)敏感數(shù)據(jù)在網(wǎng)絡(luò)上傳遞時(shí),攻擊者如何獲得它? I I" Ji1&#

22、39; .1;/'' _J蒆攻擊者如何回避您的授權(quán)檢查?肂根據(jù)數(shù)據(jù)流確定威脅:袀檢查主要用例和方案,并分析數(shù)據(jù)流。分析體系結(jié)構(gòu)中各個(gè)組件之間的數(shù)據(jù)流??缧湃芜?界的數(shù)據(jù)流尤其重要。一段代碼應(yīng)該假定該代碼的信任邊界之外的數(shù)據(jù)都是惡意的。該代碼應(yīng) 當(dāng)對(duì)數(shù)據(jù)進(jìn)行徹底驗(yàn)證。腿當(dāng)確定與數(shù)據(jù)流相關(guān)的威脅時(shí),提出如下問題:薅數(shù)據(jù)是如何從應(yīng)用程序的前端流到后端的?蒃哪個(gè)組件調(diào)用哪個(gè)組件?薂有效數(shù)據(jù)的外部特征是什么?膀驗(yàn)證在何處進(jìn)行?蚅如何約束數(shù)據(jù)?襖如何根據(jù)預(yù)期的長度、范圍、格式和類型來驗(yàn)證數(shù)據(jù)?羀在組件之間和網(wǎng)絡(luò)上傳遞什么敏感數(shù)據(jù),以及在傳輸過程中如何保護(hù)這些數(shù)據(jù)?罿利用威脅/攻擊樹研究其他

23、威脅:蚅前面的活動(dòng)已經(jīng)確定了更加明顯和普遍的安全問題?,F(xiàn)在研究其他威脅和攻擊。攻擊樹和 r .-I/ 沖 |攻擊模式是許多安全專家使用的主要工具。它們?cè)试S您更深入地分析威脅,而不會(huì)停留在對(duì)確 定其他威脅可能性的理解上。已知威脅的類別列表只顯示了常見的已知威脅,其他方法(如使 用攻擊樹和攻擊模式)可以確定其他潛在威脅。芅攻擊樹是一種以結(jié)構(gòu)化和層次化的方式確定和記錄系統(tǒng)上潛在攻擊的方法。這種樹結(jié)構(gòu)為 您提供了一張攻擊者用來危及系統(tǒng)安全的各種攻擊的詳細(xì)圖畫。通過創(chuàng)建攻擊樹,創(chuàng)建了一種i .可重復(fù)使用的安全問題表示法,這有助于將注意力集中在威脅上并減輕工作量。攻擊模式是一 種捕獲企業(yè)中攻擊信息的正規(guī)化

24、方法。這些模式可以幫助確定常見的攻擊方法。螂創(chuàng)建攻擊樹:在創(chuàng)建攻擊樹時(shí),可以假定攻擊者的角色??紤]要發(fā)起一次成功的攻擊您必 須要做什么,并確定攻擊的目標(biāo)和子目標(biāo)。利用一個(gè)譜系圖來表示攻擊樹表示。蚈要構(gòu)建攻擊樹,首先要?jiǎng)?chuàng)建表示攻擊者的目標(biāo)的根節(jié)點(diǎn)。然后添加葉節(jié)點(diǎn),它們是代表唯 一攻擊的攻擊方法。螅步驟5:漏洞分析蚆在本步驟中,檢查應(yīng)用程序的安全框架,并顯式地查找漏洞。一種有效的方法是逐層檢查應(yīng)用程序,考慮每層中的各種漏洞類別腿身份驗(yàn)證 螁通過提出下列問題,確定身份驗(yàn)證漏洞:裊用戶名和密碼是以明文的形式在未受保護(hù)的信道上發(fā)送的嗎?敏感信息有專門的加 密方法嗎?袃存儲(chǔ)證書了嗎?如果存儲(chǔ)了,是如何存儲(chǔ)

25、和保護(hù)它們的?袁您執(zhí)行強(qiáng)密碼嗎?執(zhí)行什么樣的其他密碼策略?葿如何驗(yàn)證憑據(jù)?羅首次登錄后,如何識(shí)別經(jīng)過身份驗(yàn)證的用戶?芃通過查找這些常見的漏洞檢查身份驗(yàn)證:蚃在未加密的網(wǎng)絡(luò)鏈接上傳遞身份驗(yàn)證憑據(jù)或身份驗(yàn)證cookie,這會(huì)引起憑據(jù)捕獲或會(huì)話攻擊羋利用弱密碼和帳戶策略,這會(huì)引起未經(jīng)授權(quán)的訪問 I I" Ji11;/'' -»_j肅將個(gè)性化與身份驗(yàn)證混合起來蚄授權(quán)肁通過提出下列問題,確定授權(quán)漏洞:肇在應(yīng)用程序的入口點(diǎn)使用了什么樣的訪問控制?膅應(yīng)用程序使用角色嗎?如果它使用角色,那么對(duì)于訪問控制和審核目的來說它們的粒度足夠細(xì)嗎?肅您的授權(quán)代碼是否安全地失效,并且是否

26、只準(zhǔn)許成功進(jìn)行憑據(jù)確認(rèn)后才能進(jìn)行訪問?螃您是否限制訪問系統(tǒng)資源?肀您是否限制數(shù)據(jù)庫訪問?芄對(duì)于數(shù)據(jù)庫,如何進(jìn)行授權(quán)?膂通過查找這些常見漏洞檢查授權(quán):芁使用越權(quán)角色和帳戶衿沒有提供足夠的角色粒度芄沒有將系統(tǒng)資源限制于特定的應(yīng)用程序身份薃輸入和數(shù)據(jù)驗(yàn)證i j. n. . _i.-羃通過提出下列問題,確定輸入和數(shù)據(jù)驗(yàn)證漏洞:1 I t-宀 l * '- i 'i 1 ,"貳 薈驗(yàn)證所有輸入數(shù)據(jù)了嗎? I I" J|' ' ! /;-»_J蚈您驗(yàn)證長度、范圍、格式和類型了嗎?羄您依賴于客戶端驗(yàn)證嗎?莁攻擊者可以將命令或惡意數(shù)據(jù)注入應(yīng)用程序嗎

27、?蟻您信任您寫出到 Web頁上的數(shù)據(jù)嗎?或者您需要將它進(jìn)行 HTML編碼以幫助防止跨 站點(diǎn)腳本攻擊嗎?螈在SQL語句中使用輸入之前,您驗(yàn)證過它以幫助防止 SQL注入嗎?蒞在不同的信任邊界之間傳遞數(shù)據(jù)時(shí),在接收入口點(diǎn)驗(yàn)證數(shù)據(jù)嗎?膃您信任數(shù)據(jù)庫中的數(shù)據(jù)嗎?莀您接受輸入文件名、URL或用戶名嗎?您是否已解決了規(guī)范化問題? 袈通過查找這些常見漏洞檢查輸入驗(yàn)證:螆完全依賴于客戶端驗(yàn)證薀使用deny方法而非allow來篩選輸入膈將未經(jīng)驗(yàn)證的數(shù)據(jù)寫出到 Web頁羈利用未經(jīng)驗(yàn)證的輸入來生成SQL查詢袂使用不安全的數(shù)據(jù)訪問編碼技術(shù),這可能增加 SQL注入引起的威脅 節(jié)使用輸入文件名、URL或用戶名進(jìn)行安全決策

28、I /j '. | t.中 f ' I1I 宀 L*'羇配置管理 i 丨 WyU *;y *|羈通過提出下列問題,確定配置管理漏洞:;/'/"" -»_J芃您如何保護(hù)遠(yuǎn)程管理界面?螀您保護(hù)配置存儲(chǔ)嗎?羀您對(duì)敏感配置數(shù)據(jù)加密嗎?肇您分離管理員特權(quán)嗎?蚄您使用具有最低特權(quán)的進(jìn)程和服務(wù)帳戶嗎?蒂通過查找這些常見漏洞檢查配置管理:蝿以明文存儲(chǔ)配置機(jī)密信息,例如,連接字符串和服務(wù)帳戶證書 腿沒有保護(hù)應(yīng)用程序配置管理的外觀,包括管理界面肅使用越權(quán)進(jìn)程帳戶和服務(wù)帳戶羀敏感數(shù)據(jù)薈通過提出下列問題,確定敏感數(shù)據(jù)漏洞:芇您是否在永久性存儲(chǔ)中存儲(chǔ)機(jī)密信息

29、?節(jié)您如何存儲(chǔ)敏感數(shù)據(jù)?.I螞您在內(nèi)存中存儲(chǔ)機(jī)密信息嗎?芇您在網(wǎng)絡(luò)上傳遞敏感數(shù)據(jù)嗎? I :/ 汽、j *_ - L . | j ""f «' I II、1I 宀 L*'莇您記錄敏感數(shù)據(jù)嗎? * I蚃通過查找這些常見漏洞檢查敏感數(shù)據(jù):聿在不需要存儲(chǔ)機(jī)密信息時(shí)保存它們莀在代碼中存儲(chǔ)機(jī)密信息蔵以明文形式存儲(chǔ)機(jī)密信息肄在網(wǎng)絡(luò)上以明文形式傳遞敏感數(shù)據(jù)螂會(huì)話管理聿通過提出如下問題,確定會(huì)話管理漏洞:蕆如何生成會(huì)話cookie?蒅如何交換會(huì)話標(biāo)識(shí)符?艿在跨越網(wǎng)絡(luò)時(shí)如何保護(hù)會(huì)話狀態(tài)?袇如何保護(hù)會(huì)話狀態(tài)以防止會(huì)話攻擊?薇如何保護(hù)會(huì)話狀態(tài)存儲(chǔ)?裊您限制會(huì)話的生存期嗎?羈應(yīng)用程序如何用會(huì)話存儲(chǔ)進(jìn)行身份驗(yàn)證?十-亠-r“,-袀憑據(jù)是通過網(wǎng)絡(luò)傳遞并由應(yīng)用程序維護(hù)的嗎?如果是,如何保護(hù)它們?蚇通過查找這些常見漏洞檢查會(huì)話管理: I '*./ «'10、-.j *十-氣,I t. rta f «' I1I 宀 L''

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論