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

下載本文檔

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

文檔簡(jiǎn)介

1、1.1.1應(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)出 來的。輸入:對(duì)于威脅建模,下面的輸入非常有用: 用例和使用方案 數(shù)據(jù)流 數(shù)據(jù)架構(gòu) 部署關(guān)系圖雖然這些都非常

2、有用,但它們都不是必需的。但是,一定要了解應(yīng)用程序 的主要功能和體系結(jié)構(gòu)。輸出:威脅建?;顒?dòng)的輸出結(jié)果是一個(gè)威脅模型。威脅模型捕獲的主要項(xiàng)目包括:威脅列表漏洞歹0表應(yīng)用評(píng)估步驟五個(gè)主要的威脅建模步驟如圖1所示。我們把應(yīng)用系統(tǒng)的安全評(píng)估劃分為以下五個(gè)步驟:1. 識(shí)別應(yīng)用系統(tǒng)的安全目標(biāo):其中包括系統(tǒng)業(yè)務(wù)目標(biāo)和安全目標(biāo)。目 標(biāo)活晰有助丁將注意力集中在威脅建?;顒?dòng),以及確定后續(xù)步驟要 做多少工作。112. 了解應(yīng)用系統(tǒng)概況:逐條列出應(yīng)用程序的重要特征和參與者有助丁 在步驟4中確定相關(guān)威脅。3. 應(yīng)用系統(tǒng)分解:全面了解應(yīng)用程序的結(jié)構(gòu)可以更輕松地發(fā)現(xiàn)更相 關(guān)、更具體的威脅。4. 應(yīng)用系統(tǒng)的威脅識(shí)別:使用步

3、驟 2和3中的詳細(xì)信息來確定與您的 應(yīng)用程序方案和上下文相關(guān)的威脅。5. 應(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è)問題,您不希望發(fā)生什么? ”例如,確保攻擊者無法竊取用戶憑據(jù)。通過確定主要的安全目標(biāo),可以決定將主要精力放在什么地方。確定目 標(biāo)也有助于理解潛在攻擊者的目標(biāo),并將注意力集中于那些需要密切留意的 應(yīng)用程序區(qū)域。例如,如果將客戶帳戶的詳細(xì)信息確定為需要保護(hù)的敏感數(shù) 據(jù),那

4、么您可以檢查數(shù)據(jù)存儲(chǔ)的安全性,以及如何控制和審核對(duì)數(shù)據(jù)的訪 I可。業(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ù)。國(guó)家的法律或者政策:例如:等級(jí)化保護(hù)要求、SOX法案 等。公司的規(guī)章制度。國(guó)際標(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í)別

5、信息不被濫用?例如:用戶的信息被盜取 用于其它非法用途;系統(tǒng)的完整性:明確應(yīng)用系統(tǒng)是否要求確保數(shù)據(jù)信息的有 效性。系統(tǒng)的可用性:明確有特殊的服務(wù)質(zhì)量要求。應(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)和安全要求資料來源:分類)丁與目標(biāo)安全要求備注業(yè)務(wù)目標(biāo)123安全目標(biāo)1234步驟2:應(yīng)用系統(tǒng)概述在本步驟中,概述應(yīng)用系統(tǒng)的行為。確定應(yīng)用程序的主要功能、特性

6、和客戶端。創(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、Extranet或Internet訪問。從邏輯網(wǎng)絡(luò)拓?fù)淙胧郑缓笤谡莆赵敿?xì)信 息時(shí)對(duì)其進(jìn)行細(xì)化,以顯示物理拓?fù)洹8鶕?jù)所選的特定物理拓?fù)鋪?添加或刪除威脅。邏輯層:顯示表示層、業(yè)務(wù)層和數(shù)據(jù)訪問層的位置。知道物 理服務(wù)器的邊

7、界后,對(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ì)幫助您確定由于您所作的有關(guān)外部系統(tǒng)的假 設(shè)是錯(cuò)誤的、或者由于外部系統(tǒng)發(fā)生任何更改而產(chǎn)生的漏洞。隨著設(shè)計(jì)的進(jìn)行,您應(yīng)當(dāng)定期復(fù)查威脅模型以添加更多細(xì)節(jié)。例如,最 初您可能不了解

8、所有的組件。應(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ā) 生什么。確定主要的使用方案:確定的應(yīng)用程序的主要功能是什么?它可以做什么?利用應(yīng)用程序的用 例來獲得這些信息。確定應(yīng)用程序的主要功能和用法,并捕獲Create Read Update 和 Delete 等方面。經(jīng)常在用例的上下文中解釋主要功能??梢詭椭斫鈶?yīng)用程序應(yīng)當(dāng)如何 使用,以及怎樣是誤用。用例有助于確定數(shù)據(jù)流,并可以

9、在稍后的建模過程 中確定威脅時(shí)提供焦點(diǎn)。在這些用例中,您可以考察誤用業(yè)務(wù)規(guī)則的可能 性。例如,考慮某個(gè)用戶試圖更改另一個(gè)用戶的個(gè)人詳細(xì)資料。您通常需要 考慮為進(jìn)行完整的分析而同時(shí)發(fā)生的幾個(gè)用例。確定技術(shù):只要您能確定,就列出軟件的技術(shù)和主要功能,以及您使用的技術(shù)。確 定下歹0各項(xiàng):操作系統(tǒng)。服務(wù)器軟件。數(shù)據(jù)庫(kù)服務(wù)器軟件。在表示層、業(yè)務(wù)層和數(shù)據(jù)訪問層中使用的技術(shù)。開發(fā)語H 0確定技術(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)威脅

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

11、 確定訪問控制點(diǎn)或需要附加的特權(quán)或角色成員資格才能訪問的關(guān)鍵 地方。例如,某個(gè)特殊貞可能只限于管理人員使用。該貞要求經(jīng)過 身份驗(yàn)證的訪問,還要求調(diào)用方是某個(gè)特定角色的成員。3. 從數(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)部組件之間如何交 互。要

12、特別注意跨信任邊界的數(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ù)庫(kù)服務(wù)器之間的數(shù)據(jù)流開始。然后,考慮組件到 組件的數(shù)據(jù)流。確定入口點(diǎn):應(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)

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

14、 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ū)域。在本步驟中,您要完成下列任務(wù):確定常見的威脅和攻擊。根據(jù)用例來確定威脅。根據(jù)數(shù)據(jù)流來確定威脅。利用威脅/攻擊樹研究其他威脅.下面幾部分將對(duì)此逐一進(jìn)行說明。確定常見的威脅和攻擊:許多常見的威脅

15、和攻擊依賴于常見的漏洞,根據(jù)應(yīng)用程序安全框架確定 威脅、根據(jù)用例確定威脅、根據(jù)數(shù)據(jù)流確定威脅和利用威脅/攻擊樹研究其他威脅。應(yīng)用程序安全框架下面的漏洞類別是由安全專家對(duì)應(yīng)用程序中數(shù)量最多的安全問題進(jìn)行調(diào) 查和分析后提取出來的。本部分為每個(gè)類別都確定了一組主要問題。1.身份驗(yàn)證通過提出下列問題,對(duì)身份驗(yàn)證進(jìn)行檢查:攻擊者如何欺騙身份?攻擊者如何訪問憑據(jù)存儲(chǔ)?攻擊者如何發(fā)動(dòng)字典攻擊?您的用戶憑據(jù)是如何存儲(chǔ)的以及執(zhí)行的密碼策略是什么?攻擊者如何更改、截取或回避用戶的憑據(jù)重置機(jī)制?2. 授權(quán)通過提出下歹0問題,對(duì)授權(quán)進(jìn)行檢查:攻擊者如何影響授權(quán)檢查來進(jìn)行特權(quán)操作?攻擊者如何提升特權(quán)?3. 輸入和數(shù)據(jù)驗(yàn)

16、證通過提出下列問題,對(duì)輸入和數(shù)據(jù)驗(yàn)證進(jìn)行檢查:攻擊者如何注入SQL命令?攻擊者如何進(jìn)行跨站點(diǎn)腳本攻擊?攻擊者如何回避輸入驗(yàn)證?攻擊者如何發(fā)送無效的輸入來影響服務(wù)器上的安全邏輯?攻擊者如何發(fā)送異常輸入來使應(yīng)用程序崩潰?4. 配置管理通過提出下列問題,對(duì)配置管理進(jìn)行檢查:攻擊者如何使用管理功能?攻擊者如何訪問應(yīng)用程序的配置數(shù)據(jù)?5. 敏感數(shù)據(jù)通過提出下列問題,對(duì)敏感數(shù)據(jù)進(jìn)行檢查:您的應(yīng)用程序?qū)⒚舾袛?shù)據(jù)存儲(chǔ)在何處以及如何存儲(chǔ)?敏感數(shù)據(jù)何時(shí)何地通過網(wǎng)絡(luò)進(jìn)行傳遞?攻擊者如何查看敏感數(shù)據(jù)?攻擊者如何使用敏感數(shù)據(jù)?6. 會(huì)話管理通過提出下列問題,對(duì)會(huì)話管理進(jìn)行檢查:您使用的是一種自定義加密算法并且信任這種算

17、法嗎?攻擊者如何攻擊會(huì)話?攻擊者如何查看或操縱另一個(gè)用戶的會(huì)話狀態(tài)?7. 加密通過提出下列問題,對(duì)加密進(jìn)行檢查:攻擊者需要獲得什么才能破解您的密碼?攻擊者如何獲得密鑰?您使用的是哪一種加密標(biāo)準(zhǔn)?如果有,針對(duì)這些標(biāo)準(zhǔn)有哪些攻擊?您創(chuàng)建了自己的加密方法嗎?您的部署拓?fù)淙绾螡撛诘赜绊懩鷮?duì)加密方法的選擇?8. 參數(shù)管理通過提出下列問題,對(duì)參數(shù)管理進(jìn)行檢查:攻擊者如何通過管理參數(shù)來更改服務(wù)器上的安全邏輯?攻擊者如何管理敏感參數(shù)數(shù)據(jù)?9. 異常管理通過提出下列問題,對(duì)異常管理進(jìn)行檢查:攻擊者如何使應(yīng)用程序崩潰?攻擊者如何獲得有用的異常細(xì)節(jié)?10. 審核與記錄通過提出下歹0問題,對(duì)審核與記錄進(jìn)行檢查:攻擊者

18、如何掩蓋他或她的蹤跡?您如何證明攻擊者(或合法用戶)執(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)證的用戶輸入? 攻擊者如何操縱會(huì)話數(shù)據(jù)?當(dāng)敏感數(shù)據(jù)在網(wǎng)絡(luò)上傳遞時(shí),攻擊者如何獲得它?攻擊者如何回避您的授權(quán)檢查?根據(jù)數(shù)據(jù)流確定威脅:檢查主要用例和方案,并分析數(shù)據(jù)流。分析體系結(jié)構(gòu)中各個(gè)組件之間的 數(shù)據(jù)流??缧湃芜吔绲臄?shù)據(jù)流尤其重要。一段代碼應(yīng)該假定該

19、代碼的信任邊 界之外的數(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ù)期的長(zhǎng)度、范圍、格式和類型來驗(yàn)證數(shù)據(jù)?在組件之間和網(wǎng)絡(luò)上傳遞什么敏感數(shù)據(jù),以及在傳輸過程中如何保 護(hù)這些數(shù)據(jù)?利用威脅/攻擊樹研究其他威脅:前面的活動(dòng)已經(jīng)確定了更加明顯和普遍的安全問題。現(xiàn)在研究其他威脅 和攻擊。攻擊樹和攻擊模式是許多安全專家使用的主要工具。它們?cè)试S您更 深入地分析威脅,而不會(huì)停留在對(duì)確定其他威脅可能性的理解上。已知威脅 的類別列表只顯示了常見的

20、已知威脅,其他方法(如使用攻擊樹和攻擊模 式)可以確定其他潛在威脅。攻擊樹是一種以結(jié)構(gòu)化和層次化的方式確定和記錄系統(tǒng)上潛在攻擊的方 法。這種樹結(jié)構(gòu)為您提供了一張攻擊者用來危及系統(tǒng)安全的各種攻擊的詳細(xì) 圖畫。通過創(chuàng)建攻擊樹,創(chuàng)建了一種可重復(fù)使用的安全問題表示法,這有助 于將注意力集中在威脅上并減輕工作量。攻擊模式是一種捕獲企業(yè)中攻擊信 息的正規(guī)化方法。這些模式可以幫助確定常見的攻擊方法。創(chuàng)建攻擊樹:在創(chuàng)建攻擊樹時(shí),可以假定攻擊者的角色。考慮要發(fā)起一 次成功的攻擊您必須要做什么,并確定攻擊的目標(biāo)和子目標(biāo)。利用一個(gè)譜系 圖來表示攻擊樹表示。要構(gòu)建攻擊樹,首先要?jiǎng)?chuàng)建表示攻擊者的目標(biāo)的根節(jié)點(diǎn)。然后添加葉

21、節(jié) 點(diǎn),它們是代表唯一攻擊的攻擊方法。步驟5:漏洞分析在本步驟中,檢查應(yīng)用程序的安全框架,并顯式地查找漏洞。一種有效的方法是逐層檢查應(yīng)用程序,考慮每層中的各種漏洞類別。身份驗(yàn)證通過提出下列問題,確定身份驗(yàn)證漏洞:用戶名和密碼是以明文的形式在未受保護(hù)的信道上發(fā)送的嗎?敏感信息有專門的加密方法嗎?存儲(chǔ)證書了嗎?如果存儲(chǔ)了,是如何存儲(chǔ)和保護(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)

22、的訪問將個(gè)性化與身份驗(yàn)證混合起來授權(quán)通過提出下列問題,確定授權(quán)漏洞:在應(yīng)用程序的入口點(diǎn)使用了什么樣的訪問控制?應(yīng)用程序使用角色嗎?如果它使用角色,那么對(duì)于訪問控制和審核目的來說它們的粒度足夠細(xì)嗎?您的授權(quán)代碼是否安全地失效,并且是否只準(zhǔn)許成功進(jìn)行憑據(jù)確認(rèn)后才能進(jìn)行訪問?您是否限制訪問系統(tǒng)資源?您是否限制數(shù)據(jù)庫(kù)訪問?對(duì)于數(shù)據(jù)庫(kù),如何進(jìn)行授權(quán)?通過查找這些常見漏洞檢查授權(quán):使用越權(quán)角色和帳戶沒有提供足夠的角色粒度沒有將系統(tǒng)資源限制于特定的應(yīng)用程序身份輸入和數(shù)據(jù)驗(yàn)證通過提出下列問題,確定輸入和數(shù)據(jù)驗(yàn)證漏洞:驗(yàn)證所有輸入數(shù)據(jù)了嗎?您驗(yàn)證長(zhǎng)度、范圍、格式和類型了嗎?您依賴于客戶端驗(yàn)證嗎?攻擊者可以將命令

23、或惡意數(shù)據(jù)注入應(yīng)用程序嗎?您信任您寫出到 Web貞上的數(shù)據(jù)嗎?或者您需要將它進(jìn)行HTML編碼以幫助防止跨站點(diǎn)腳本攻擊嗎?在SQL語句中使用輸入之前,您驗(yàn)證過它以幫助防止SQL注入嗎?在不同的信任邊界之間傳遞數(shù)據(jù)時(shí),在接收入口點(diǎn)驗(yàn)證數(shù)據(jù)嗎?您信任數(shù)據(jù)庫(kù)中的數(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注入引起的威脅 使用輸入文件名、URL或用戶名進(jìn)行安全決策配置管

24、理通過提出下列問題,確定配置管理漏洞:您如何保護(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ī)密信息?您如何存儲(chǔ)敏感數(shù)據(jù)?您在內(nèi)存中存儲(chǔ)機(jī)密信息嗎?您在網(wǎng)絡(luò)上傳遞敏感數(shù)據(jù)嗎?您記錄敏感數(shù)據(jù)嗎?通過查找這些常見漏洞檢查敏感數(shù)據(jù):在不需要存儲(chǔ)機(jī)密信息時(shí)保存它們?cè)诖a中存儲(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ǔ)

溫馨提示

  • 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. 人人文庫(kù)網(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)論