版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、共享知識分享快樂1.1.1 應(yīng)用安全評估應(yīng)用評估概述針對企業(yè)關(guān)鍵應(yīng)用的安全性進(jìn)行的評估,分析XXX 應(yīng)用程序體系結(jié)構(gòu)、設(shè)計(jì)思想和功能模塊,從中發(fā)現(xiàn)可能的安全隱患。全面的了解應(yīng)用系統(tǒng)在網(wǎng)絡(luò)上的 “表現(xiàn) ”,將有助于對應(yīng)用系統(tǒng)的維護(hù)與支持工作。了解XXX 應(yīng)用系統(tǒng)的現(xiàn)狀,發(fā)現(xiàn)存在的弱點(diǎn)和風(fēng)險(xiǎn),作為后期改造的需求。本期項(xiàng)目針對XXX 具有代表性的不超過 10 個關(guān)鍵應(yīng)用進(jìn)行安全評估。在進(jìn)行應(yīng)用評估的時候,引入了威脅建模的方法,這一方法是一種基于安全的分析,有助于我們確定應(yīng)用系統(tǒng)造成的安全風(fēng)險(xiǎn),以及攻擊是如何體現(xiàn)出來的。輸入:對于威脅建模,下面的輸入非常有用:用例和使用方案數(shù)據(jù)流數(shù)據(jù)架構(gòu)部署關(guān)系圖雖然
2、這些都非常有用,但它們都不是必需的。但是,一定要了解應(yīng)用程序的主要功能和體系結(jié)構(gòu)。輸出:威脅建?;顒拥妮敵鼋Y(jié)果是一個威脅模型。威脅模型捕獲的主要項(xiàng)目包括:威脅列表漏洞列表應(yīng)用評估步驟五個主要的威脅建模步驟如圖1 所示。卑微如螻蟻、堅(jiān)強(qiáng)似大象共享知識分享快樂圖 1我們把應(yīng)用系統(tǒng)的安全評估劃分為以下五個步驟:1. 識別應(yīng)用系統(tǒng)的安全目標(biāo):其中包括系統(tǒng)業(yè)務(wù)目標(biāo)和安全目標(biāo)。目標(biāo)清晰有助于將注意力集中在威脅建?;顒樱约按_定后續(xù)步驟要做多少工作。 112. 了解應(yīng)用系統(tǒng)概況:逐條列出應(yīng)用程序的重要特征和參與者有助于在步驟 4 中確定相關(guān)威脅。3. 應(yīng)用系統(tǒng)分解:全面了解應(yīng)用程序的結(jié)構(gòu)可以更輕松地發(fā)現(xiàn)更相
3、關(guān)、更具體的威脅。4. 應(yīng)用系統(tǒng)的威脅識別:使用步驟 2 和 3 中的詳細(xì)信息來確定與您的應(yīng)用程序方案和上下文相關(guān)的威脅。5. 應(yīng)用系統(tǒng)的弱點(diǎn)分析:查應(yīng)用程序的各層以確定與威脅有關(guān)的弱點(diǎn)。步驟 1:識別安全目標(biāo)業(yè)務(wù)目標(biāo)是應(yīng)用系統(tǒng)使用的相關(guān)目標(biāo)和約束。安全目標(biāo)是與數(shù)據(jù)及應(yīng)用卑微如螻蟻、堅(jiān)強(qiáng)似大象共享知識分享快樂程序的保密性、完整性和可用性相關(guān)的目標(biāo)和約束。以約束的觀點(diǎn)來考慮安全目標(biāo)利用安全目標(biāo)來指導(dǎo)威脅建模活動。請考慮這個問題, “您不希望發(fā)生什么? ”例如,確保攻擊者無法竊取用戶憑據(jù)。通過確定主要的安全目標(biāo),可以決定將主要精力放在什么地方。確定目標(biāo)也有助于理解潛在攻擊者的目標(biāo),并將注意力集中于
4、那些需要密切留意的應(yīng)用程序區(qū)域。例如,如果將客戶帳戶的詳細(xì)信息確定為需要保護(hù)的敏感數(shù)據(jù),那么您可以檢查數(shù)據(jù)存儲的安全性,以及如何控制和審核對數(shù)據(jù)的訪問。業(yè)務(wù)目標(biāo): 一個應(yīng)用系統(tǒng)的業(yè)務(wù)目標(biāo)應(yīng)該從如下幾個方面入手進(jìn)行分析:信譽(yù):應(yīng)用系統(tǒng)發(fā)生異常情況以及遭到攻擊造成的商業(yè)信譽(yù)的損失;經(jīng)濟(jì):對于應(yīng)用系統(tǒng),如果發(fā)生攻擊或者其它安全時間造成的直接和潛在的經(jīng)濟(jì)損失。隱私:應(yīng)用系統(tǒng)需要保護(hù)的用戶數(shù)據(jù)。國家的法律或者政策 :例如:等級化保護(hù)要求、SOX 法案等。公司的規(guī)章制度。國際標(biāo)準(zhǔn) :例如: ISO17799、ISO13335 等。法律協(xié)議。公司的信息安全策略。安全目標(biāo): 一個應(yīng)用系統(tǒng)的安全目標(biāo)應(yīng)該從如下幾
5、個方面入手進(jìn)行分析:系統(tǒng)的機(jī)密性: 明確需要保護(hù)哪些客戶端數(shù)據(jù)。應(yīng)用系統(tǒng)是否能夠保護(hù)用戶的識別信息不被濫用?例如:用戶的信息被盜取用于其它非法用途;系統(tǒng)的完整性: 明確應(yīng)用系統(tǒng)是否要求確保數(shù)據(jù)信息的有效性。系統(tǒng)的可用性: 明確有特殊的服務(wù)質(zhì)量要求。應(yīng)用系統(tǒng)得可用性應(yīng)該達(dá)到什么級別(例如:中斷的時間不能超過10 分鐘/卑微如螻蟻、堅(jiān)強(qiáng)似大象共享知識分享快樂年)?根據(jù)系統(tǒng)可靠性的要求,可以重點(diǎn)保護(hù)重點(diǎn)的應(yīng)用系統(tǒng),從而節(jié)約投資。通過訪談的方式確定應(yīng)用系統(tǒng)業(yè)務(wù)目標(biāo)和安全目標(biāo),對業(yè)務(wù)目標(biāo)和安全目標(biāo)進(jìn)行細(xì)化,得到應(yīng)用系統(tǒng)安全要求。輸入:訪談備忘錄輸出:應(yīng)用系統(tǒng)業(yè)務(wù)目標(biāo)、安全目標(biāo)和安全要求。資料來源:分類序
6、號目標(biāo)安全要求備注1業(yè)務(wù)2目標(biāo)安全目標(biāo)31234步驟 2:應(yīng)用系統(tǒng)概述在本步驟中,概述應(yīng)用系統(tǒng)的行為。確定應(yīng)用程序的主要功能、特性和客戶端。創(chuàng)建應(yīng)用系統(tǒng)概述步驟:畫出端對端的部署方案。確定角色。確定主要使用方案。確定技術(shù)。確定應(yīng)用程序的安全機(jī)制。下面幾部分將對此逐一進(jìn)行說明:畫出端對端的部署方案:畫出一個描述應(yīng)用程序的組成和結(jié)構(gòu)、它的子系統(tǒng)以及部署特征的粗略圖。隨著對身份驗(yàn)證、授權(quán)和通信機(jī)制的發(fā)現(xiàn)來添加相關(guān)細(xì)節(jié)。部署關(guān)系圖通常應(yīng)當(dāng)包含以下元素:端對端的部署拓?fù)洌?顯示服務(wù)器的布局,并指示Intranet、卑微如螻蟻、堅(jiān)強(qiáng)似大象共享知識分享快樂Extranet 或 Internet 訪問。從邏輯
7、網(wǎng)絡(luò)拓?fù)淙胧郑缓笤谡莆赵敿?xì)信息時對其進(jìn)行細(xì)化,以顯示物理拓?fù)洹8鶕?jù)所選的特定物理拓?fù)鋪硖砑踊騽h除威脅。邏輯層 :顯示表示層、業(yè)務(wù)層和數(shù)據(jù)訪問層的位置。知道物理服務(wù)器的邊界后,對此進(jìn)行細(xì)化以將它們包括在內(nèi)。主要組件 :顯示每個邏輯層中的重要組件。明確實(shí)際流程和組件邊界后,對此進(jìn)行細(xì)化以將它們包括在內(nèi)。主要服務(wù) :確定重要的服務(wù)。通信端口和協(xié)議。 顯示哪些服務(wù)器、組件和服務(wù)相互進(jìn)行通信,以及它們?nèi)绾芜M(jìn)行通信。了解入站和出站信息包的細(xì)節(jié)后,顯示它們。標(biāo)識:如果您有這些信息,則顯示用于應(yīng)用程序和所有相關(guān)服務(wù)帳戶的主要標(biāo)識。外部依賴項(xiàng): 顯示應(yīng)用程序在外部系統(tǒng)上的依賴項(xiàng)。在稍后的建模過程中,這會幫助您
8、確定由于您所作的有關(guān)外部系統(tǒng)的假設(shè)是錯誤的、或者由于外部系統(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)識來確定應(yīng)當(dāng)發(fā)生什么以及不應(yīng)當(dāng)發(fā)生什么。確定主要的使用方案:確定的應(yīng)用程序的主要功能是什么?它可以做什么?利用應(yīng)用程序的用例來獲得這些信息。確定應(yīng)用程序的主要功能和用法,并捕獲 Create、Read、
9、Update 和 Delete 等方面。經(jīng)常在用例的上下文中解釋主要功能。可以幫助理解應(yīng)用程序應(yīng)當(dāng)如何使用,以及怎樣是誤用。用例有助于確定數(shù)據(jù)流,并可以在稍后的建模過程卑微如螻蟻、堅(jiān)強(qiáng)似大象共享知識分享快樂中確定威脅時提供焦點(diǎn)。在這些用例中,您可以考察誤用業(yè)務(wù)規(guī)則的可能性。例如,考慮某個用戶試圖更改另一個用戶的個人詳細(xì)資料。您通常需要考慮為進(jìn)行完整的分析而同時發(fā)生的幾個用例。確定技術(shù) :只要您能確定,就列出軟件的技術(shù)和主要功能,以及您使用的技術(shù)。確定下列各項(xiàng):操作系統(tǒng)。服務(wù)器軟件。數(shù)據(jù)庫服務(wù)器軟件。在表示層、業(yè)務(wù)層和數(shù)據(jù)訪問層中使用的技術(shù)。開發(fā)語言。確定技術(shù)有助于在稍后的威脅建模活動中將主要精
10、力放在特定于技術(shù)的威脅上,有助于確定正確的和最適當(dāng)?shù)木徑饧夹g(shù)。步驟 3:系統(tǒng)分解通過分解應(yīng)用程序來確定信任邊界、數(shù)據(jù)流、入口點(diǎn)和出口點(diǎn)。對應(yīng)用程序結(jié)構(gòu)了解得越多,就越容易發(fā)現(xiàn)威脅和漏洞。分解應(yīng)用程序按如下步驟:確定信任邊界。確定數(shù)據(jù)流。確定入口點(diǎn)。確定出口點(diǎn)。下面幾部分將對此逐一進(jìn)行說明。確定信任邊界:確定應(yīng)用程序的信任邊界有助于將分析集中在所關(guān)注的區(qū)域。信任邊界指示在什么地方更改信任級別??梢詮臋C(jī)密性和完整性的角度來考慮信任。例如,在需要特定的角色或特權(quán)級別才能訪問資源或操作的應(yīng)用程序中,更改訪問控制級別就是更改信任級別。另一個例子是應(yīng)用程序的入口點(diǎn),您可能不會完全信任傳遞到入口點(diǎn)的數(shù)據(jù)。如
11、何確定信任邊界:1.從確定外部系統(tǒng)邊界入手。例如,應(yīng)用程序可以寫服務(wù)器X 上的文卑微如螻蟻、堅(jiān)強(qiáng)似大象共享知識分享快樂件,可以調(diào)用服務(wù)器 Y 上的數(shù)據(jù)庫,并且可以調(diào)用 Web 服務(wù) Z。這就定義了系統(tǒng)邊界。2. 確定訪問控制點(diǎn)或需要附加的特權(quán)或角色成員資格才能訪問的關(guān)鍵地方。例如,某個特殊頁可能只限于管理人員使用。該頁要求經(jīng)過身份驗(yàn)證的訪問,還要求調(diào)用方是某個特定角色的成員。3. 從數(shù)據(jù)流的角度確定信任邊界。對于每個子系統(tǒng),考慮是否信任上游數(shù)據(jù)流或用戶輸入,如果不信任,則考慮如何對數(shù)據(jù)流和輸入進(jìn)行身份驗(yàn)證和授權(quán)。了解信任邊界之間存在哪些入口點(diǎn)可以使您將威脅識別集中在這些關(guān)鍵入口點(diǎn)上。例如,可能
12、需要在信任邊界處對通過入口點(diǎn)的數(shù)據(jù)執(zhí)行更多的驗(yàn)證。確定數(shù)據(jù)流:從入口到出口,跟蹤應(yīng)用程序的數(shù)據(jù)輸入通過應(yīng)用程序。這樣做可以了解應(yīng)用程序如何與外部系統(tǒng)和客戶端進(jìn)行交互,以及內(nèi)部組件之間如何交互。要特別注意跨信任邊界的數(shù)據(jù)流,以及如何在信任邊界的入口點(diǎn)驗(yàn)證這些數(shù)據(jù)。還要密切注意敏感數(shù)據(jù)項(xiàng),以及這些數(shù)據(jù)如何流過系統(tǒng)、它們通過網(wǎng)絡(luò)傳遞到何處以及在什么地方保留。一種較好的方法是從最高級別入手,然后通過分析各個子系統(tǒng)之間的數(shù)據(jù)流來解構(gòu)應(yīng)用程序。例如,從分析應(yīng)用程序、中間層服務(wù)器和數(shù)據(jù)庫服務(wù)器之間的數(shù)據(jù)流開始。然后,考慮組件到組件的數(shù)據(jù)流。確定入口點(diǎn):應(yīng)用程序的入口點(diǎn)也是攻擊的入口點(diǎn)。入口點(diǎn)可以包括偵聽前端
13、應(yīng)用程序。這種入口點(diǎn)原本就是向客戶端公開的。存在的其他入口點(diǎn)(例如,由跨應(yīng)用程序?qū)拥淖咏M件公開的內(nèi)部入口點(diǎn))。考慮訪問入口點(diǎn)所需的信任級別,以及由入口點(diǎn)公開的功能類型。確定出口點(diǎn):確定應(yīng)用程序向客戶端或者外部系統(tǒng)發(fā)送數(shù)據(jù)的點(diǎn)。設(shè)置出口點(diǎn)的優(yōu)先級,應(yīng)用程序可以在這些出口點(diǎn)上寫數(shù)據(jù),包括客戶端輸入或來自不受信任的源(例如,共享數(shù)據(jù)庫)的數(shù)據(jù)。步驟 4:威脅識別在本步驟中,確定可能影響應(yīng)用程序和危及安全目標(biāo)的威脅和攻擊。這卑微如螻蟻、堅(jiān)強(qiáng)似大象共享知識分享快樂些威脅可能會對應(yīng)用程序有不良影響??梢允褂脙煞N基本方法:1. 從常見的威脅和攻擊入手。 利用這種方法,您可以從一系列按應(yīng)用程序漏洞類別分組的常
14、見威脅入手。接下來,將威脅列表應(yīng)用到您自己的應(yīng)用程序體系結(jié)構(gòu)中。2. 使用問題驅(qū)動的方法。 問題驅(qū)動的方法確定相關(guān)的威脅和攻擊。 STRIDE 類別包括各種類型的威脅,例如,欺騙、篡改、否認(rèn)、信息泄漏和拒絕訪問。使用 STRIDE 模型來提出與應(yīng)用程序的體系結(jié)構(gòu)和設(shè)計(jì)的各個方面有關(guān)的問題。這是一種基于目標(biāo)的方法,您要考慮的是攻擊者的目標(biāo)。例如,攻擊者能夠以一個虛假身份來訪問您的服務(wù)器或 Web 應(yīng)用程序嗎?他人能夠在網(wǎng)絡(luò)或數(shù)據(jù)存儲中篡改數(shù)據(jù)嗎?當(dāng)您報(bào)告錯誤消息或者記錄事件時會泄漏敏感信息嗎?他人能拒絕服務(wù)嗎?確定威脅時,要逐級、逐層、逐功能地進(jìn)行檢查。通過關(guān)注漏洞類別,將注意力集中在那些最常發(fā)
15、生安全錯誤的區(qū)域。在本步驟中,您要完成下列任務(wù):確定常見的威脅和攻擊。根據(jù)用例來確定威脅。根據(jù)數(shù)據(jù)流來確定威脅。利用威脅 /攻擊樹研究其他威脅 .下面幾部分將對此逐一進(jìn)行說明。確定常見的威脅和攻擊:許多常見的威脅和攻擊依賴于常見的漏洞,根據(jù)應(yīng)用程序安全框架確定威脅、根據(jù)用例確定威脅、根據(jù)數(shù)據(jù)流確定威脅和利用威脅 /攻擊樹研究其他威脅。應(yīng)用程序安全框架下面的漏洞類別是由安全專家對應(yīng)用程序中數(shù)量最多的安全問題進(jìn)行調(diào)查和分析后提取出來的。本部分為每個類別都確定了一組主要問題。1. 身份驗(yàn)證通過提出下列問題,對身份驗(yàn)證進(jìn)行檢查:卑微如螻蟻、堅(jiān)強(qiáng)似大象共享知識分享快樂攻擊者如何欺騙身份?攻擊者如何訪問憑
16、據(jù)存儲?攻擊者如何發(fā)動字典攻擊?您的用戶憑據(jù)是如何存儲的以及執(zhí)行的密碼策略是什么?攻擊者如何更改、截取或回避用戶的憑據(jù)重置機(jī)制?2. 授權(quán)通過提出下列問題,對授權(quán)進(jìn)行檢查:攻擊者如何影響授權(quán)檢查來進(jìn)行特權(quán)操作?攻擊者如何提升特權(quán)?3. 輸入和數(shù)據(jù)驗(yàn)證通過提出下列問題,對輸入和數(shù)據(jù)驗(yàn)證進(jìn)行檢查:攻擊者如何注入 SQL 命令?攻擊者如何進(jìn)行跨站點(diǎn)腳本攻擊?攻擊者如何回避輸入驗(yàn)證?攻擊者如何發(fā)送無效的輸入來影響服務(wù)器上的安全邏輯?攻擊者如何發(fā)送異常輸入來使應(yīng)用程序崩潰?4. 配置管理通過提出下列問題,對配置管理進(jìn)行檢查:攻擊者如何使用管理功能?攻擊者如何訪問應(yīng)用程序的配置數(shù)據(jù)?5. 敏感數(shù)據(jù)通過提出
17、下列問題,對敏感數(shù)據(jù)進(jìn)行檢查:您的應(yīng)用程序?qū)⒚舾袛?shù)據(jù)存儲在何處以及如何存儲?敏感數(shù)據(jù)何時何地通過網(wǎng)絡(luò)進(jìn)行傳遞?攻擊者如何查看敏感數(shù)據(jù)?攻擊者如何使用敏感數(shù)據(jù)?6. 會話管理通過提出下列問題,對會話管理進(jìn)行檢查:您使用的是一種自定義加密算法并且信任這種算法嗎?攻擊者如何攻擊會話?卑微如螻蟻、堅(jiān)強(qiáng)似大象共享知識分享快樂攻擊者如何查看或操縱另一個用戶的會話狀態(tài)?7. 加密通過提出下列問題,對加密進(jìn)行檢查:攻擊者需要獲得什么才能破解您的密碼?攻擊者如何獲得密鑰?您使用的是哪一種加密標(biāo)準(zhǔn)?如果有,針對這些標(biāo)準(zhǔn)有哪些攻擊?您創(chuàng)建了自己的加密方法嗎?您的部署拓?fù)淙绾螡撛诘赜绊懩鷮用芊椒ǖ倪x擇?8. 參數(shù)管
18、理通過提出下列問題,對參數(shù)管理進(jìn)行檢查:攻擊者如何通過管理參數(shù)來更改服務(wù)器上的安全邏輯?攻擊者如何管理敏感參數(shù)數(shù)據(jù)?9. 異常管理通過提出下列問題,對異常管理進(jìn)行檢查:攻擊者如何使應(yīng)用程序崩潰?攻擊者如何獲得有用的異常細(xì)節(jié)?10. 審核與記錄通過提出下列問題,對審核與記錄進(jìn)行檢查:攻擊者如何掩蓋他或她的蹤跡?您如何證明攻擊者(或合法用戶)執(zhí)行了特定的動作?根據(jù)用例確定威脅 :檢查以前確定的每個應(yīng)用程序的主要用例,并檢查用戶能夠惡意或無意地強(qiáng)制應(yīng)用程序執(zhí)行某種未經(jīng)授權(quán)的操作或者泄漏敏感數(shù)據(jù)或私人數(shù)據(jù)的方法。提出問題并嘗試從攻擊者的角度進(jìn)行思考。您提出的問題類型應(yīng)該包括:客戶端在這里如何注入惡意輸
19、入?寫出的數(shù)據(jù)是基于用戶輸入還是未驗(yàn)證的用戶輸入?攻擊者如何操縱會話數(shù)據(jù)?當(dāng)敏感數(shù)據(jù)在網(wǎng)絡(luò)上傳遞時,攻擊者如何獲得它?卑微如螻蟻、堅(jiān)強(qiáng)似大象共享知識分享快樂攻擊者如何回避您的授權(quán)檢查?根據(jù)數(shù)據(jù)流確定威脅 :檢查主要用例和方案,并分析數(shù)據(jù)流。分析體系結(jié)構(gòu)中各個組件之間的數(shù)據(jù)流??缧湃芜吔绲臄?shù)據(jù)流尤其重要。一段代碼應(yīng)該假定該代碼的信任邊界之外的數(shù)據(jù)都是惡意的。該代碼應(yīng)當(dāng)對數(shù)據(jù)進(jìn)行徹底驗(yàn)證。當(dāng)確定與數(shù)據(jù)流相關(guān)的威脅時,提出如下問題:數(shù)據(jù)是如何從應(yīng)用程序的前端流到后端的?哪個組件調(diào)用哪個組件?有效數(shù)據(jù)的外部特征是什么?驗(yàn)證在何處進(jìn)行?如何約束數(shù)據(jù)?如何根據(jù)預(yù)期的長度、范圍、格式和類型來驗(yàn)證數(shù)據(jù)?在組件
20、之間和網(wǎng)絡(luò)上傳遞什么敏感數(shù)據(jù),以及在傳輸過程中如何保護(hù)這些數(shù)據(jù)?利用威脅 /攻擊樹研究其他威脅 :前面的活動已經(jīng)確定了更加明顯和普遍的安全問題。現(xiàn)在研究其他威脅和攻擊。攻擊樹和攻擊模式是許多安全專家使用的主要工具。它們允許您更深入地分析威脅,而不會停留在對確定其他威脅可能性的理解上。已知威脅的類別列表只顯示了常見的已知威脅,其他方法(如使用攻擊樹和攻擊模式)可以確定其他潛在威脅。攻擊樹是一種以結(jié)構(gòu)化和層次化的方式確定和記錄系統(tǒng)上潛在攻擊的方法。這種樹結(jié)構(gòu)為您提供了一張攻擊者用來危及系統(tǒng)安全的各種攻擊的詳細(xì)圖畫。通過創(chuàng)建攻擊樹,創(chuàng)建了一種可重復(fù)使用的安全問題表示法,這有助于將注意力集中在威脅上并
21、減輕工作量。攻擊模式是一種捕獲企業(yè)中攻擊信息的正規(guī)化方法。這些模式可以幫助確定常見的攻擊方法。創(chuàng)建攻擊樹:在創(chuàng)建攻擊樹時,可以假定攻擊者的角色??紤]要發(fā)起一次成功的攻擊您必須要做什么,并確定攻擊的目標(biāo)和子目標(biāo)。利用一個譜系圖來表示攻擊樹表示。要構(gòu)建攻擊樹,首先要創(chuàng)建表示攻擊者的目標(biāo)的根節(jié)點(diǎn)。然后添加葉節(jié)點(diǎn),它們是代表唯一攻擊的攻擊方法。卑微如螻蟻、堅(jiān)強(qiáng)似大象共享知識分享快樂威脅1網(wǎng)絡(luò)認(rèn)證and明文傳輸攻擊者網(wǎng)絡(luò)監(jiān)聽攻擊者得到認(rèn)證信息步驟 5:漏洞分析在本步驟中,檢查應(yīng)用程序的安全框架,并顯式地查找漏洞。一種有效的方法是逐層檢查應(yīng)用程序,考慮每層中的各種漏洞類別。身份驗(yàn)證通過提出下列問題,確定身
22、份驗(yàn)證漏洞:用戶名和密碼是以明文的形式在未受保護(hù)的信道上發(fā)送的嗎?敏感信息有專門的加密方法嗎?存儲證書了嗎?如果存儲了,是如何存儲和保護(hù)它們的?您執(zhí)行強(qiáng)密碼嗎?執(zhí)行什么樣的其他密碼策略?如何驗(yàn)證憑據(jù)?首次登錄后,如何識別經(jīng)過身份驗(yàn)證的用戶?通過查找這些常見的漏洞檢查身份驗(yàn)證:在未加密的網(wǎng)絡(luò)鏈接上傳遞身份驗(yàn)證憑據(jù)或身份驗(yàn)證 cookie,這會引起憑據(jù)捕獲或會話攻擊利用弱密碼和帳戶策略,這會引起未經(jīng)授權(quán)的訪問將個性化與身份驗(yàn)證混合起來授權(quán)通過提出下列問題,確定授權(quán)漏洞:在應(yīng)用程序的入口點(diǎn)使用了什么樣的訪問控制?卑微如螻蟻、堅(jiān)強(qiáng)似大象共享知識分享快樂應(yīng)用程序使用角色嗎?如果它使用角色,那么對于訪問控
23、制和審核目的來說它們的粒度足夠細(xì)嗎?您的授權(quán)代碼是否安全地失效,并且是否只準(zhǔn)許成功進(jìn)行憑據(jù)確認(rèn)后才能進(jìn)行訪問?您是否限制訪問系統(tǒng)資源?您是否限制數(shù)據(jù)庫訪問?對于數(shù)據(jù)庫,如何進(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)證長度、范圍、格式和類型了嗎?您依賴于客戶端驗(yàn)證嗎?攻擊者可以將命令或惡意數(shù)據(jù)注入應(yīng)用程序嗎?您信任您寫出到 Web 頁上的數(shù)據(jù)嗎?或者您需要將它進(jìn)行 HTML 編碼以幫助防止跨站點(diǎn)腳本攻擊嗎?在 SQL 語句中使用輸入之前,您
24、驗(yàn)證過它以幫助防止 SQL 注入嗎?在不同的信任邊界之間傳遞數(shù)據(jù)時,在接收入口點(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 查詢卑微如螻蟻、堅(jiān)強(qiáng)似大象共享知識分享快樂使用不安全的數(shù)據(jù)訪問編碼技術(shù),這可能增加 SQL 注入引起的威脅使用輸入文件名、 URL 或用戶名進(jìn)行安全決策配置管理通過提出下列問題,確定配置管理漏洞:您如何保護(hù)遠(yuǎn)程管理界面?您保護(hù)配置存儲嗎?您對敏感配置數(shù)
25、據(jù)加密嗎?您分離管理員特權(quán)嗎?您使用具有最低特權(quán)的進(jìn)程和服務(wù)帳戶嗎?通過查找這些常見漏洞檢查配置管理:以明文存儲配置機(jī)密信息,例如,連接字符串和服務(wù)帳戶證書沒有保護(hù)應(yīng)用程序配置管理的外觀,包括管理界面使用越權(quán)進(jìn)程帳戶和服務(wù)帳戶敏感數(shù)據(jù)通過提出下列問題,確定敏感數(shù)據(jù)漏洞:您是否在永久性存儲中存儲機(jī)密信息?您如何存儲敏感數(shù)據(jù)?您在內(nèi)存中存儲機(jī)密信息嗎?您在網(wǎng)絡(luò)上傳遞敏感數(shù)據(jù)嗎?您記錄敏感數(shù)據(jù)嗎?通過查找這些常見漏洞檢查敏感數(shù)據(jù):在不需要存儲機(jī)密信息時保存它們在代碼中存儲機(jī)密信息以明文形式存儲機(jī)密信息在網(wǎng)絡(luò)上以明文形式傳遞敏感數(shù)據(jù)會話管理通過提出如下問題,確定會話管理漏洞:如何生成會話 cookie?如何交換會話標(biāo)識符?在跨越網(wǎng)絡(luò)時如何保護(hù)會話狀態(tài)?卑微如螻蟻、堅(jiān)強(qiáng)似大象共享知識分享快樂如何保護(hù)會話狀態(tài)以防止會話攻擊?如何保護(hù)會話狀態(tài)存儲?您限制會話的生存期嗎?應(yīng)用程序如何用會話存儲進(jìn)行身份驗(yàn)證?憑據(jù)是通過網(wǎng)絡(luò)傳遞并由應(yīng)用程序維護(hù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 洛陽文化旅游職業(yè)學(xué)院《體育法》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年植保無人機(jī)及其配件采購合同
- 單位人員管理制度范例大全
- 地?zé)狃B(yǎng)殖基地施工合同
- 2024年快手電商合作合同樣本版B版
- 商業(yè)街區(qū)巡邏保安協(xié)議
- 大型度假村建設(shè)施工管理承包合同
- 臨時健身房租賃與教練服務(wù)合同
- 2025運(yùn)輸保險(xiǎn)合同范本
- 消防栓檢查與維護(hù)手冊
- 讀了蕭平實(shí)導(dǎo)師的《念佛三昧修學(xué)次第》才知道原來念佛門中有微妙法
- 周邊傳動濃縮刮泥機(jī)檢驗(yàn)報(bào)告(ZBG型)(完整版)
- 紙箱理論抗壓強(qiáng)度、邊壓強(qiáng)度、耐破強(qiáng)度的計(jì)算
- 土地增值稅清算審核指南
- 死亡通知書模板
- 鷸蚌相爭課件
- PMC(計(jì)劃物控)面試經(jīng)典筆試試卷及答案
- 失業(yè)保險(xiǎn)金申領(lǐng)表_11979
- 《質(zhì)量管理體系文件》風(fēng)險(xiǎn)和機(jī)遇評估分析表
- 食品安全約談通知書
- 舒爾特方格A4直接打印版
評論
0/150
提交評論