




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、綜述綜述 指南多個(gè)期望從單個(gè)上學(xué)到有意義的東西的多對(duì)一關(guān)系學(xué)術(shù)討論會(huì)所有人都希望在為小組做奉獻(xiàn),同時(shí)也希望從小組那里學(xué)習(xí)的多對(duì)多關(guān)系本指南介于這兩者之間攻擊的歷史攻擊的歷史 1988年,美國(guó)電腦緊急應(yīng)變團(tuán)隊(duì)CERT成立1993年,美國(guó)電腦緊急應(yīng)變團(tuán)隊(duì)CERT/合作中心攻擊響應(yīng)組11995年,我參加了美國(guó)電腦緊急應(yīng)變團(tuán)隊(duì)CERT吉姆埃利斯和拉里羅杰斯帶著我們進(jìn)入了我們后來(lái)一直在的軌道上。2003年,總共有了10多個(gè)響應(yīng)職員2004年,有了兩個(gè)新的攻擊工作區(qū)攻擊分析攻擊發(fā)現(xiàn)和防止軟件的過(guò)程模型現(xiàn)今軟件的過(guò)程模型現(xiàn)今 Conception:概念Requirements:需求Architecture:
2、體系結(jié)構(gòu)Design:設(shè)計(jì)Implementation:執(zhí)行QA/Testing:質(zhì)量評(píng)價(jià)/測(cè)試Correct/Patch:糾正/補(bǔ)丁Release:釋放Vulnerability:攻擊發(fā)現(xiàn)Publication:發(fā)布 美國(guó)電腦緊急應(yīng)變團(tuán)隊(duì)美國(guó)電腦緊急應(yīng)變團(tuán)隊(duì)CERT/合作中心哲學(xué)體系合作中心哲學(xué)體系 白癡們會(huì)說(shuō)他們是由經(jīng)驗(yàn)獲取知識(shí)的。而我更喜歡從別人的經(jīng)驗(yàn)上獲取知識(shí)。 Otto von Bismark 德國(guó)首相 1871-1890對(duì)于構(gòu)建足夠的理論根底或是實(shí)際應(yīng)用,直接獲得的經(jīng)驗(yàn)都具有先天的局限性。 B. H. Liddell Hart 大不列顛軍事理論家 VDA的使命的使命 美國(guó)電腦緊急應(yīng)
3、變團(tuán)隊(duì)CERT合作中心攻擊發(fā)現(xiàn)和防止機(jī)構(gòu)的作用是,顯著的減少眾所周知的攻擊。VDA的目標(biāo)的目標(biāo) 調(diào)查和研究現(xiàn)有的方法,技術(shù)和工具與現(xiàn)有的VDA的組織合作直接或者是間接的推進(jìn)實(shí)踐的狀態(tài)建立VDA的效率的測(cè)量方法為特定的讀者編寫VDA知識(shí)廣泛的傳播上述的VDA知識(shí) 信息保證社團(tuán) 質(zhì)量保證社團(tuán) 軟件工程社團(tuán)VDA反對(duì)的目標(biāo)反對(duì)的目標(biāo) 我們自己不需要建立重大的發(fā)現(xiàn)機(jī)構(gòu),因?yàn)槠渌朔桨富蛘呤且呀?jīng)在做著發(fā)現(xiàn)工作無(wú)論如何我們自己都不能發(fā)現(xiàn)許多的攻擊 許多更高的影響因素我們希望其他的人從事到VDA的研究中 尤其是在軟件工程社團(tuán)最終,我們希望美國(guó)電腦緊急應(yīng)變團(tuán)隊(duì)CERT如VDA組織,需求減小。 以常規(guī)的方式我們
4、不做軟件工程 盡管我們的名字如此,但是我們不做軟件工程。軟件的過(guò)程模型未來(lái)軟件的過(guò)程模型未來(lái) Requirements:需求Architecture:體系結(jié)構(gòu)Design:設(shè)計(jì)Implementation:執(zhí)行QA/Testing:質(zhì)量評(píng)價(jià)/測(cè)試Correct/Patch:糾正/補(bǔ)丁Release:釋放Vulnerability Discovery:攻擊發(fā)現(xiàn)Publication:發(fā)布Vulnerability Discovery &Avoidance:攻擊發(fā)現(xiàn)&防止 VDA的過(guò)程模型全世界的的過(guò)程模型全世界的 Publish/Patch:發(fā)布/補(bǔ)丁Release:釋放Publ
5、ic Vulnerability Discovery Process(es):公眾的攻擊發(fā)現(xiàn)程序Private Software Engineering Process(es):私人的軟件工程程序Case Inspection:個(gè)案檢查Infusion:灌輸VDA Codification Process:VDA的編寫過(guò)程個(gè)案的學(xué)習(xí)個(gè)案的學(xué)習(xí) 識(shí)別所有的公眾攻擊發(fā)現(xiàn)組織,如下: 即使是那些看起來(lái)是有組織的,程序的定向是為了發(fā)現(xiàn)的 具有可靠的發(fā)現(xiàn)攻擊的歷史 具有分擔(dān)的意志,用抽象的術(shù)語(yǔ)來(lái)說(shuō),就是將這一知識(shí)作為一個(gè)總體而和社團(tuán)一起分擔(dān)。去觀察他們的影響并且以一個(gè)新聞工作者的角度來(lái)采訪他們出一本書來(lái)
6、證明這些個(gè)案 這本書要包括這些組織以及他們的工作兩個(gè)方面?zhèn)€案研究個(gè)案研究 為成功者頒發(fā)大量的專門的榮耀以組織或者是個(gè)人的名字來(lái)命名將成功或者是很有希望成功的精確的歸功于它們的創(chuàng)造者記述失敗或者是不確定的實(shí)踐時(shí),不記錄它們的歸屬者包括他們的工作的技術(shù)方面,程序方面和組織方面每年重復(fù)這個(gè)過(guò)程一次每年出版這本書的一個(gè)新的版本包括我們知道的關(guān)于VDA的“所有的事情求助!求助! 我們需要你的意見: 什么組織或者是個(gè)人需要進(jìn)行個(gè)案研究?為什么? 他們的特征是什么?成就又是什么?應(yīng)該包括什么專業(yè)的討論會(huì)? 用來(lái)學(xué)習(xí)? 用來(lái)教授? 迄今為止我們鑒定的組織迄今為止我們鑒定的組織/個(gè)人個(gè)人 根本方法根本方法 如果
7、我們真誠(chéng)的希望在攻擊出現(xiàn)以前就把它們停止掉,那么我們就必須: 采用軟件工程師們的觀點(diǎn) 因?yàn)檐浖こ處焸兪俏ㄒ坏目梢允惯@種情況發(fā)生的 人 并且,我們必須從他們的觀點(diǎn)來(lái)看這個(gè)問(wèn)題,進(jìn)而 以他們的語(yǔ)言來(lái)描述這個(gè)問(wèn)題 和它的解決方法 觀點(diǎn)的改變觀點(diǎn)的改變1 和我們以前在攻擊上使用的觀點(diǎn)相比,VDA中的A需要有一個(gè)不同的觀點(diǎn)VDA對(duì)“驗(yàn)證攻擊不感興趣VDA對(duì)開發(fā)或者是攻擊不感興趣VDA對(duì)“驗(yàn)證攻擊的影響不感興趣VDA對(duì)“驗(yàn)證工作區(qū)不感興趣VDA對(duì)“配置不感興趣VDA對(duì)“驗(yàn)證最差的攻擊不感興趣從根本上講,VDA實(shí)際上是關(guān)于搶先減少所有潛在的工程攻擊 觀點(diǎn)的改變觀點(diǎn)的改變2 然而,一種軟件工程觀點(diǎn)認(rèn)為所有可
8、能被開發(fā)的缺陷都必須被消除掉 “潛在的和“事實(shí)上的是同等重要的必須總是能夠設(shè)想到全能的對(duì)手 所有的對(duì)手,包括現(xiàn)在的和未來(lái)的, 都必須得考慮到方案方案 從一個(gè)“公眾攻擊發(fā)現(xiàn)的觀點(diǎn)來(lái)看這個(gè)過(guò)程從第一個(gè)客戶關(guān)系開始主要在“公眾中傳導(dǎo)必須是“可以控制的從一個(gè)軟件工程的觀點(diǎn)來(lái)看這個(gè)過(guò)程從觀念的規(guī)劃開始兩個(gè)非常清晰的發(fā)現(xiàn)的案例 先前發(fā)布的編碼基數(shù)中的攻擊 最新發(fā)布的編碼基數(shù)中的攻擊 攻擊發(fā)現(xiàn)的問(wèn)題攻擊發(fā)現(xiàn)的問(wèn)題 目標(biāo)的選擇 發(fā)現(xiàn)所使用的技術(shù) 發(fā)現(xiàn)所使用的工具 暴露的事實(shí) 工程上的糾正 各個(gè)評(píng)價(jià)之間的關(guān)系 潛在的合法的障礙 國(guó)內(nèi)和國(guó)際關(guān)注的東西 長(zhǎng)時(shí)間的影響 無(wú)意識(shí)的副作用 目標(biāo)的選擇目標(biāo)的選擇1 互不相關(guān)
9、的動(dòng)機(jī)當(dāng)攻擊研究的發(fā)起者和VDA組織的發(fā)起者具有互不相關(guān)的動(dòng)機(jī)時(shí),會(huì)怎么樣呢? 在技術(shù)選擇上的爭(zhēng)論可能會(huì)加速研究,從而 “證明哪一個(gè)是更好一點(diǎn)的方向開展隱藏的或者是敵對(duì)方的評(píng)估在不與成果的創(chuàng)造者合作的情況下,評(píng)估這個(gè)成果會(huì)有多少困難呢?發(fā)起者會(huì)認(rèn)為這種評(píng)估是客觀的嗎? 對(duì)本錢而言,客觀性是值得的嗎?目標(biāo)選擇目標(biāo)選擇2 附著于評(píng)估的串 抑制結(jié)果? 延遲結(jié)果? 順從成果的所有者? 順從發(fā)起者? 限制除了攻擊以外的細(xì)節(jié)? 限制副作用結(jié)果的產(chǎn)生?商業(yè)秘密 如果合作伙伴中的賣方提供商業(yè)秘密來(lái)幫助評(píng)價(jià),那怎么辦呢? VDA組織中的哪個(gè)人可以接觸到商業(yè)秘密呢?發(fā)現(xiàn)所使用的技術(shù)發(fā)現(xiàn)所使用的技術(shù)1 攻擊的可證明
10、性在評(píng)估沒(méi)有經(jīng)過(guò)“處理中,為了列出攻擊的特征,而需要的證據(jù)的水平 必須把攻擊的特征證明給賣主在沒(méi)有可證明性的情況下,完成的評(píng)估這個(gè)“報(bào)告真的還可以完成嗎?是否一個(gè)清晰的缺陷就夠了,還是說(shuō)它必須得是可以被開發(fā)的呢?在沒(méi)有進(jìn)行局部的“處理的情況下,可以對(duì)攻擊下結(jié)論嗎?發(fā)現(xiàn)所使用的技術(shù)發(fā)現(xiàn)所使用的技術(shù)2 評(píng)估的本錢/利益什么樣的評(píng)估投資是最有價(jià)值的呢? 體系結(jié)構(gòu)上的和設(shè)計(jì)上的攻擊是更有價(jià)值的,但是,也更難發(fā) 現(xiàn)。因?yàn)樵诎l(fā)布之后的修正可能是極端地,或者是無(wú)限的昂貴,所以它要遠(yuǎn)遠(yuǎn)的有價(jià)值 執(zhí)行攻擊比發(fā)現(xiàn)攻擊要簡(jiǎn)單多了,但是相對(duì)應(yīng)的,也就具有較 少的價(jià)值之所以具有更少的價(jià)值僅僅是因?yàn)樗鼈內(nèi)菀妆话l(fā)現(xiàn)在發(fā)布以
11、后,保證書必須是可確定的第三方評(píng)估通常是具有最差的本錢/利益比 信息的數(shù)量最少 最小的價(jià)值,攻擊最容易發(fā)現(xiàn)發(fā)現(xiàn)所使用的工具發(fā)現(xiàn)所使用的工具1 增加的攻擊發(fā)現(xiàn)新的工具將如何影響社團(tuán)呢? 伴隨著工具的使用,更多的攻擊將會(huì)被更多 的人發(fā)現(xiàn)至少是增加的 加重“處理組織的負(fù)擔(dān)指南協(xié)助的要求是否VDA組織能夠負(fù)擔(dān)得起發(fā)布這些工具呢? 需要其他人為這些工具的使用提供“支持 發(fā)現(xiàn)所使用的工具發(fā)現(xiàn)所使用的工具2 業(yè)余者用法 業(yè)余者能夠使用這些工具嗎? 對(duì)于業(yè)余者而言,工具不太容易被操 作。 工具用戶界面需要把目標(biāo)定位于專 家,而不是定位于普通的公眾暴露的事實(shí)暴露的事實(shí)1 VDA并不能夠“處理這些攻擊VDA攻擊是
12、怎么處理的呢? 必須使用已經(jīng)建立起來(lái)的“處理程序,而且這些處理程序不可 以復(fù)制 對(duì)于VDA的目的來(lái)說(shuō),這些已經(jīng)存在的“處理程序是否是充足 的呢?個(gè)人攻擊公眾暴露的事實(shí)攻擊與成果觀點(diǎn)是相互沖突的嗎? 即使VDA不關(guān)心個(gè)人攻擊揭露的事實(shí),風(fēng)險(xiǎn)承擔(dān)者也會(huì)期望 他們將這個(gè)問(wèn)題恰當(dāng)?shù)慕鉀Q的。 在VDA和VH之間需要建立一種獨(dú)立的而不是共生的關(guān)系暴露的事實(shí)暴露的事實(shí)2 評(píng)估報(bào)告揭露的事實(shí)在評(píng)估的最后,由哪個(gè)人根據(jù)結(jié)果斷定發(fā)生什么? 發(fā)起者這樣的關(guān)系將會(huì)希望得到切實(shí)的文件 他們能夠自由的四處展示 作為成就的證據(jù)評(píng)估報(bào)告的所有權(quán)誰(shuí)擁有這個(gè)報(bào)告的所有權(quán)呢? 從處理的觀點(diǎn)來(lái)看 從知識(shí)產(chǎn)權(quán)的角度來(lái)看暴露的事實(shí)暴露的
13、事實(shí)3 報(bào)告的發(fā)表發(fā)表的頻率頻繁到等于只揭露幾個(gè)攻擊在發(fā)布報(bào)告前,報(bào)告中包括的所有的攻 擊,是否都必須得“處理了呢? 是?這樣將會(huì)使VH在通往VDA的里 程碑的關(guān)鍵路徑上工作 否?發(fā)布包含“新攻擊的報(bào)告的結(jié)構(gòu) 會(huì)是什么呢?暴露的事實(shí)暴露的事實(shí)4 不明確的攻擊“潛在的攻擊的報(bào)告是否會(huì)引起問(wèn)題呢?在發(fā)表的報(bào)告中,從工程角度看的一個(gè)非常清晰的缺陷,可能會(huì)在攻擊分析社團(tuán)引起相當(dāng)大的爭(zhēng)論 對(duì)于攻擊的開端來(lái)說(shuō),從工程師的角度看要比從分 析家的角度看要低的多評(píng)估的副作用非常清晰的缺陷不是攻擊嗎? 對(duì)于發(fā)起者而言,它們顯然是有價(jià)值的缺陷和攻擊的分界線在哪里呢? VDA與QA相比是多呢還是少呢? 揭露的事實(shí)揭露
14、的事實(shí)5 成果內(nèi)部如果成果內(nèi)部的揭露需要理解攻擊呢? 許可是可能的嗎?或者甚至它就是一個(gè)好主義呢?如果評(píng)估是“不公開的或者是“敵對(duì)的呢?競(jìng)爭(zhēng)評(píng)估對(duì)你的報(bào)告,其他的VDA組織將會(huì)做出什么樣的反映呢? 其他的VDA組織可能會(huì)評(píng)估你的評(píng)估這是同行審查過(guò)程中很正常的一步其目標(biāo)可能會(huì)是推進(jìn)認(rèn)識(shí)也可能會(huì)是詆毀其他人的名望對(duì)可靠性有疑問(wèn)的攻擊,這樣的競(jìng)爭(zhēng)可能會(huì)產(chǎn)生明確的結(jié)構(gòu)工程糾正工程糾正 如果評(píng)估是不公開的,那么,將會(huì)期望什么樣的處理,或者是什么樣的處理是可能的呢? 如果發(fā)起者希望這個(gè)攻擊繼續(xù),那又怎么辦呢?發(fā)起者專用的糾正 如果工程糾正是專用于發(fā)起者組織的,那么又怎么樣呢? 報(bào)告的發(fā)布可能會(huì)危及到發(fā)起者
15、組織 對(duì)于其他的組織來(lái)說(shuō),這份報(bào)告也許會(huì)是毫 不相關(guān)的,或者甚至可能會(huì)是錯(cuò)誤的各個(gè)評(píng)估之間的關(guān)系各個(gè)評(píng)估之間的關(guān)系1 遺傳性攻擊如果“發(fā)起者的評(píng)估發(fā)現(xiàn)了“遺傳性攻擊,那又怎么辦呢? 其他受到影響的“成果又該如何處理呢?如果不公開的評(píng)估中發(fā)生了遺傳性攻擊,那又該怎么辦呢? “其他的攻擊是否需要進(jìn)行不公開的考慮呢?爭(zhēng)論如果兩個(gè)不同的發(fā)起者希望相同的目標(biāo)評(píng)估,但是卻使用相互沖突的串,那么又該怎么辦呢? 各個(gè)評(píng)估之間的關(guān)系各個(gè)評(píng)估之間的關(guān)系2 工程的相互依賴性什么樣的依賴性呢? 共用的圖書館 靜態(tài)的圖書館 資源的重復(fù)利用公共界面條件私人界面條件 隨意的剪切和復(fù)制我們?cè)趺窗l(fā)現(xiàn)依賴的成果呢? 一些“依存性
16、的博物館? 一些只有賣主才有的公告? 公眾的公告和期望? 這難道不是“處理嗎? 潛在的合法的障礙潛在的合法的障礙 反向工程什么“水平的RE是被合法的允許的呢? 美國(guó)的DMCA? 歐洲,日本?商業(yè)秘密商業(yè)秘密,甚至是從來(lái)沒(méi)有被揭露的商業(yè)秘密,真的可以在UDA中“使用嗎? 那是否是違背產(chǎn)權(quán)的呢? 或者是違背專利權(quán)呢? 國(guó)內(nèi)和國(guó)際的關(guān)注點(diǎn)國(guó)內(nèi)和國(guó)際的關(guān)注點(diǎn) 有嗎? 長(zhǎng)遠(yuǎn)的影響長(zhǎng)遠(yuǎn)的影響 質(zhì)量下降范圍廣闊的VDA組織會(huì)使得軟件的質(zhì)量下降是否是可能的呢?生產(chǎn)者是否期望其他的人來(lái)發(fā)現(xiàn)攻擊呢? 免費(fèi)的? 在契約下?無(wú)意識(shí)的副作用 賣方操作是否賣方會(huì)成心的逼迫VDA社團(tuán),免費(fèi)的為他們發(fā)現(xiàn)他們的攻擊呢?是否“少
17、量的賣主甚至能夠發(fā)現(xiàn)他們自己的攻擊呢? 他們支付得起嗎?時(shí)間對(duì)市場(chǎng)可能會(huì)是生或死的問(wèn)題 甚至他們是否具有這個(gè)技術(shù)呢? 道德標(biāo)準(zhǔn)道德標(biāo)準(zhǔn) 過(guò)剩的賣主對(duì)于一個(gè)特定的目標(biāo),如果它已經(jīng)在為一個(gè)賣主評(píng)估時(shí),又出現(xiàn)了另一個(gè)賣主要評(píng)估這個(gè)目標(biāo),那么該怎么辦呢? 如果他們中的一個(gè),或者是兩個(gè)都是不公開的進(jìn)行的,又該怎 么辦呢?對(duì)于一個(gè)特定的目標(biāo),如果它已經(jīng)在為一個(gè)賣主不公開的評(píng)估完成了,又出現(xiàn)了另一個(gè)賣主要評(píng)估這個(gè)目標(biāo),那么該怎么辦呢? 先前的結(jié)果是否可以被重新使用呢? 先前的評(píng)估的不公開性必須得到保護(hù)嗎? 是否較低的評(píng)估價(jià)錢就揭示了,已經(jīng)不公開的進(jìn)行過(guò)這樣的評(píng)估了呢? 軟件工程問(wèn)題軟件工程問(wèn)題 我們不知道
18、VDA詞典詞典 每個(gè)人以自己的方式來(lái)定義根本的術(shù)語(yǔ)所以我也是以自己的方式來(lái)定義根本的術(shù)語(yǔ)的主要的術(shù)語(yǔ)主要的術(shù)語(yǔ)(1) 所有者一個(gè)或者是多個(gè)人擁有這個(gè)系統(tǒng)。他們?yōu)槠桨膊呗缘脑O(shè)置負(fù)責(zé),其中平安策略管理系統(tǒng)的行為。并不必須得是用戶。對(duì)手一個(gè)或者是多個(gè)人可以攻擊系統(tǒng),并且很樂(lè)意被看到他們正在攻擊系統(tǒng)。攻擊對(duì)手的每一個(gè)動(dòng)作都試圖開發(fā)系統(tǒng)的缺陷。主要的術(shù)語(yǔ)主要的術(shù)語(yǔ)2 缺陷對(duì)于現(xiàn)在的系統(tǒng),必須糾正某些工程錯(cuò)誤防止它被開發(fā)出來(lái)。平安策略這些策略用來(lái)管理什么樣的代理商,可以在什么目標(biāo)上,用什么資格,進(jìn)行什么操作。攻擊系統(tǒng)里的,可以被敵手開發(fā)出來(lái),從而違反系統(tǒng)的平安策略的缺陷。主要的術(shù)語(yǔ)主要的術(shù)語(yǔ)3 入侵一個(gè)成
19、功的攻擊,它的結(jié)果是危機(jī)到系統(tǒng)的平安,常常是完整性,隱私性,或者是 可用性的損失。系統(tǒng)一個(gè)技術(shù)單元是由功能性機(jī)構(gòu)組成的。通道系統(tǒng)和它的外部世界進(jìn)行通訊的任何一個(gè)通道,或者是它眾多的功能機(jī)構(gòu)之間相互通訊的任何一個(gè)通道。一個(gè)和平安相關(guān)的通道可以和一個(gè)或者是多個(gè)平安邊界交叉主要的術(shù)語(yǔ)主要的術(shù)語(yǔ)4 協(xié)議這些規(guī)那么用來(lái)管理在通道中傳輸?shù)臄?shù)據(jù)的形式和說(shuō)明平安范圍平安策略和權(quán)限設(shè)置。改變其中任何一個(gè)都會(huì)建立一個(gè)平安邊界。平安邊界從任何一個(gè)機(jī)器指令的觀點(diǎn)來(lái)看,就是暫時(shí)的最近的聯(lián)合,過(guò)去和將來(lái),轉(zhuǎn)變?yōu)槠渌钠桨卜秶?。主要的術(shù)語(yǔ)主要的術(shù)語(yǔ)5 權(quán)限在某些目標(biāo)上進(jìn)行某些操作的權(quán)利。權(quán)限設(shè)置對(duì)某一權(quán)限進(jìn)行的設(shè)置。功能性
20、機(jī)構(gòu)機(jī)器指令的暫時(shí)性鄰接設(shè)置在一個(gè)單獨(dú)的平安范圍內(nèi)執(zhí)行。代理商功能性機(jī)構(gòu)是被證明了的為人而工作的。同一個(gè)調(diào)頻可以被多個(gè)代理商屢次進(jìn)行并行動(dòng)作。VDA 語(yǔ)義網(wǎng)語(yǔ)義網(wǎng) Adversary:對(duì)手Owner:所有者Privilege:權(quán)限Attack:攻擊System:系統(tǒng)Defect:缺陷Channel:通道Protocol:協(xié)議 Agent:代理商Privilege Set:權(quán)限設(shè)置Security Boundary:平安邊界Security Domain:平安范圍Security Policy:平安策略Functional Mechanism:功能性機(jī)構(gòu)新類型新類型1 可靠的VDA需要一個(gè)新的“
21、根底我們需要把我們所知道的所有的有關(guān)攻擊的東西進(jìn)行再編制,從而支持軟件工程觀點(diǎn)攻擊分析的中心的觀念就是“攻擊軟件工程的中心的觀念必須是“缺陷 缺陷是攻擊的工程個(gè)性的某種類型 缺陷是攻擊到工程的發(fā)射這樣,在VDA所有的事情都必須涉及到“缺陷的修正 新類型新類型2 我們已經(jīng)浪費(fèi)我們的時(shí)間?建造了建造失敗?“攻擊分類法?現(xiàn)在VDA需要的是“缺陷類型如果我們可以學(xué)到如何建造它們 我們正在試圖通過(guò)設(shè)計(jì)一個(gè)所有涉及到工程缺陷的全面的類型“族來(lái)完成之一任務(wù)。使用有效的XML進(jìn)行描述包括系譜相關(guān)的DTD將會(huì)在這本“書中論證新類型新類型3 美國(guó)電腦緊急應(yīng)變團(tuán)隊(duì)CERTVDA類型族,包括以下這些類型迄今為止:缺陷
22、缺陷屬性缺陷指示器發(fā)現(xiàn)技術(shù)通道工程習(xí)慣用語(yǔ)工程樣式攻擊外部的與CVE相關(guān)設(shè)計(jì) 原那么或者是設(shè)計(jì)阻礙缺陷缺陷 它描述每一個(gè)缺陷與攻擊相比,它具有很大的詳細(xì)水平一些缺陷可能會(huì)產(chǎn)生相同的攻擊它有13個(gè)外在的屬性它有1個(gè)內(nèi)在的屬性它是一個(gè)真正的“缺陷屬性的無(wú)序設(shè)置它一起描述了缺陷的精確的本質(zhì)它是作為一個(gè)大的邏輯與AND的 ORS是不允許的 ORS是單獨(dú)的缺陷缺陷屬性缺陷屬性 缺陷屬性的例子: store存儲(chǔ) stack堆棧列目標(biāo) 多單元列操作 未經(jīng)檢查的操作 輸入來(lái)源 對(duì)手輸入 清晰的范圍邏輯與AND它用于根據(jù)缺陷分類法動(dòng)態(tài)的計(jì)算類似處 缺陷指示器缺陷指示器 缺陷指示器的例子: 分割錯(cuò)誤 總線故障 變
23、量錯(cuò)誤 不穩(wěn)定的行為 無(wú)限的循環(huán)邏輯或OR這樣,就不能被用作固有的屬性了 發(fā)現(xiàn)技術(shù)發(fā)現(xiàn)技術(shù) 缺陷發(fā)現(xiàn)技術(shù)的例子 通道通道 通道的例子 命令行 環(huán)境 繼承的進(jìn)程關(guān)聯(lián) 文件/目錄創(chuàng)立 默認(rèn)通道控制 信號(hào)設(shè)置 程序優(yōu)先權(quán) 資源限制 鑒定證書 當(dāng)前工作目錄 翻開文件描述符 系統(tǒng)調(diào)用結(jié)果 插槽 管道 共享內(nèi)存 信號(hào) 永久存儲(chǔ)器 比方存放器 文件存在 文件信息系統(tǒng)I/O工程習(xí)慣用語(yǔ)工程習(xí)慣用語(yǔ) 工程習(xí)慣用語(yǔ)的例子ANSI C沒(méi)有原型ANSI C/ C+ 指針?biāo)惴ˋNSI C/ C+ 在堆棧,堆積,靜態(tài)存儲(chǔ)器中的字符串ANSI C 有正負(fù)號(hào)/無(wú)正負(fù)號(hào)混合算法Java 并發(fā)沒(méi)有保護(hù)的對(duì)象土生的密碼算法公眾可寫
24、的對(duì)象屬性對(duì)象存取器到專用屬性的返回指針除非管理者泄露整體資源分配C+對(duì)象使用專用成員指針和非默認(rèn)的構(gòu)造器工程樣式的例子工程樣式的例子 不完全的授權(quán)攻擊攻擊 例子: 緩沖區(qū)溢出 格式行 crosssight腳本 SQL 注入 共享的可寫目錄TOCTOU race 設(shè)計(jì)原那么設(shè)計(jì)原那么 我們將單獨(dú)地講述所有的設(shè)計(jì)原那么 IA是藝術(shù),而不是科學(xué)是藝術(shù),而不是科學(xué) 請(qǐng)習(xí)慣于這一點(diǎn) 攻擊分析社團(tuán)已經(jīng)非常清楚了這一點(diǎn),但是,軟件工程社團(tuán)還沒(méi)有清楚這一點(diǎn) 明確的管理風(fēng)險(xiǎn)明確的管理風(fēng)險(xiǎn) 風(fēng)險(xiǎn)是如以下出的某種功能:事件的可能性事件的結(jié)果代價(jià) 如果可能性約等于0,那么風(fēng)險(xiǎn)是可以的OK 如果結(jié)果代價(jià)約等于0,那么
25、風(fēng)險(xiǎn)是可以的OK 其它情況下,就必須把風(fēng)險(xiǎn)降低現(xiàn)實(shí)的敵手模型對(duì)下述列出的情況是必要的要確定特定的風(fēng)險(xiǎn)要模擬可能性和結(jié)果 首先要消除最高的風(fēng)險(xiǎn)首先要消除最高的風(fēng)險(xiǎn) 先前的經(jīng)驗(yàn)的邏輯結(jié)果一旦確定并且量化了風(fēng)險(xiǎn)后,只有當(dāng)把它們從最高到最低的風(fēng)險(xiǎn)處理時(shí),才是敏感的這就是“最薄弱的鏈接思想深入的實(shí)行防御深入的實(shí)行防御 當(dāng)設(shè)計(jì)系統(tǒng)特征時(shí),而又必須包含一個(gè)攻擊特征時(shí) 包括潛在的多余的特征,它們會(huì)減少攻擊特征的范圍,性能,持續(xù)時(shí)間等其它方面 這是一般的攻擊分析和系統(tǒng)管理思想 它并不是一般的軟件工程思想 只有容錯(cuò)社團(tuán)曾經(jīng)這樣想過(guò)審計(jì)所有的通道審計(jì)所有的通道 在你的系統(tǒng)上,通道是攻擊唯一的通路 完全的保護(hù)這些通道
26、,那樣你的系統(tǒng)將會(huì)受到完全的保護(hù)假設(shè)你的敵手可以協(xié)調(diào)的操作你所有的通道 將你的系統(tǒng)的通道最小化,從而將攻擊的通路也降到最低保證完全保證完全 你的系統(tǒng)必須總是處在一種平安的狀態(tài)下 每一個(gè)潛在的不平安的轉(zhuǎn)變都必須檢測(cè)其平安性 任何一個(gè)平安喪失的證據(jù)都意味著系統(tǒng)的完全性的喪失 如果平安不能夠得到保證或者是不能夠被完全的恢復(fù),那么,系統(tǒng)必須自行終止 甚至以可用性為代價(jià) 由定義,一個(gè)可用的危及平安的系統(tǒng)比一個(gè)不可用的 系統(tǒng)更糟糕攻擊攻擊/侵?jǐn)_的工程師侵?jǐn)_的工程師 當(dāng)設(shè)計(jì)系統(tǒng)時(shí),一定要包括可以對(duì)假定的攻擊和侵?jǐn)_進(jìn)行斷定的真實(shí)的儀器儀器應(yīng)該平安的記錄潛在的攻擊和侵?jǐn)_信息不將自己暴露給敵手不向系統(tǒng)添加攻擊使用
27、最小的權(quán)限使用最小的權(quán)限 為你的系統(tǒng)授予它可以進(jìn)行操作所能使用的最小的權(quán)限 在任何一個(gè)給定點(diǎn)處獲得和丟棄權(quán)限,系統(tǒng)只具有完成它正忙于的任務(wù)的權(quán)限用戶權(quán)限的別離用戶權(quán)限的別離 如果你的系統(tǒng)需要在不同的時(shí)間具有不同的權(quán)限,那么,就可以考慮將系統(tǒng)分割成幾個(gè)清楚的互相聯(lián)系的子系統(tǒng),每個(gè)子系統(tǒng)具有一個(gè)適當(dāng)?shù)淖钚?quán)限設(shè)置 請(qǐng)記得通道將會(huì)增加攻擊的新的通路 在最小通道和權(quán)限分割上需要一個(gè)適當(dāng)?shù)钠胶馐褂米钚」δ苄允褂米钚」δ苄?使你的系統(tǒng)包括它所需要的最小的功能性附加功能,甚至是睡眠狀態(tài),都代表著附加的攻擊 可能是由于代碼的增加的行數(shù) 可能是由于里面包含的攻擊 可能是由于無(wú)意識(shí)代碼的路徑 可能是由于激活無(wú)意識(shí)
28、功能的方式 主動(dòng)的限制一個(gè)過(guò)度的功能性子系統(tǒng)的功能,可能會(huì)非常的昂貴并且還可能會(huì)導(dǎo)致錯(cuò)誤的發(fā)生調(diào)停所有的操作調(diào)停所有的操作 調(diào)停提出在所有的對(duì)象上的所有的操作即使是沒(méi)有明顯的敏感數(shù)據(jù)的操作潛在的將來(lái)的再次使用需要它對(duì)于透明的調(diào)??梢允褂谩鞍驯欢ú灰獮閷?duì)象內(nèi)部的返回實(shí)指針一定不要相信回叫功能或者是對(duì)象 使用行人愉快的界面使用行人愉快的界面 用戶具有足夠的創(chuàng)造性來(lái)躲避令人討厭的界面 如果界面必須是限制性的,那么,它們必須得是完美的限制,而不是只是令人氣餒的限制 穿過(guò)界面的自動(dòng)化的攻擊可能會(huì)戰(zhàn)勝許多明顯的限制使用多重正交鑒定證書使用多重正交鑒定證書 使你的系統(tǒng)需要雙因素鑒定有些是你有的有些是你知道
29、的兩個(gè)相互獨(dú)立的鑒定因素兩個(gè)相互獨(dú)立的鑒定因素應(yīng)該按照重要度來(lái)排序,而回避這些會(huì)更加困難。使用實(shí)際的鑒定時(shí)一定要非常小心生物測(cè)定學(xué)BiometricGPS直接的實(shí)際地址只從平安得到保證的通道輸入只從平安得到保證的通道輸入 使得系統(tǒng)只從已經(jīng)進(jìn)行過(guò)完全的鑒定的通道輸入 許多通道是可以信任的,并且它的鑒定是不可能的,所以小心以下幾點(diǎn) 信號(hào) 被裝載器映射的共享的庫(kù) 系統(tǒng)的調(diào)用 如果你的系統(tǒng)真的是敏感的,那么,需要重新鑒定而不是為了鑒定而接受環(huán)境的命令 只從平安得到保證的通道輸出只從平安得到保證的通道輸出 使得系統(tǒng)只從已經(jīng)進(jìn)行過(guò)完全的鑒定的通道輸出 讓系統(tǒng)從沒(méi)有經(jīng)過(guò)鑒定的通道輸出,不管輸出是什么,實(shí)際上
30、,就是一種對(duì)保密性的侵害保證微觀操作保證微觀操作 當(dāng)一系列的操作不能被中斷時(shí),就確保它們不會(huì)被中斷使用任何的需要的“設(shè)備來(lái)確保這一點(diǎn)操作的不同的順序用具有相同的結(jié)果但是卻沒(méi)有或者是較少的次序要求的操作來(lái)代替互斥體,旗語(yǔ),以及其它的同時(shí)控制設(shè)備分布式的事物處理效勞程序當(dāng)沒(méi)有其它的可能時(shí),就減少序列 將秘密平安的存儲(chǔ)將秘密平安的存儲(chǔ) 將秘密平安的存儲(chǔ)幾乎是不可能的如果根本不可能,那么就要防止存儲(chǔ)它們 如果你必須存儲(chǔ)它們,為了這個(gè)目的,可以使用“設(shè)備設(shè)計(jì)和檢驗(yàn)密鑰環(huán) keyring智能卡 smartcard強(qiáng)大的編密碼 使用默認(rèn)的拒絕使用默認(rèn)的拒絕 將你的系統(tǒng)設(shè)計(jì)成,可以根據(jù)所知道的什么是平安和正確
31、的,來(lái)有選擇性的允許操作,輸入否認(rèn)所有其它的一定不要試圖將壞的東西“過(guò)濾掉今天是壞的東西明天就不一定還是壞的僅僅重新使用保證代碼僅僅重新使用保證代碼 請(qǐng)一定要非常小心地重新使用代碼你可以重新使用下述的代碼:你為相同平安水平所編寫的代碼你已經(jīng)為相同的平安水平進(jìn)行了完全的再檢查的代碼你所信任的人所寫的代碼,其中,這個(gè)代碼和你需要的代碼具有相同的平安水平跨邊界委托要非常小心跨邊界委托要非常小心 如果你的系統(tǒng)必須得將某些操作委托給其它的系統(tǒng),那么請(qǐng)留意以下幾點(diǎn):用較高的權(quán)限委托其它的系統(tǒng)用更嚴(yán)格的平安策略委托其它的系統(tǒng) 它們比你的系統(tǒng)具有更高的敏感度,所以它們很可 能會(huì)自我保護(hù)的非常好防止使用較低的權(quán)
32、限或者是松的平安策略委托系統(tǒng) 它們將不太可能會(huì)以你所希望的你的數(shù)據(jù)的處理方式,來(lái)處理 任何輸入/輸出 如果你必須得委托給這樣一個(gè)系統(tǒng),那么,一定要確保以適宜 的方式處理好通往/來(lái)自那個(gè)系統(tǒng)的通道 尤其適用于沒(méi)有平安邊界的系統(tǒng)只使用私人存儲(chǔ)區(qū)只使用私人存儲(chǔ)區(qū) 對(duì)于那些其他人也可以從中讀取數(shù)據(jù)的持久的存儲(chǔ)區(qū),永遠(yuǎn)都不要寫入任何東西這就減少了敏感數(shù)據(jù)泄露的可能性 對(duì)于那些其他人也可以從中寫入數(shù)據(jù)的持久的存儲(chǔ)區(qū),永遠(yuǎn)都不要讀取任何東西這就減少了你的系統(tǒng)的“內(nèi)部的持久的存儲(chǔ)數(shù)據(jù)的破 壞的可能性這些工作并不適用其它系統(tǒng)的許多攻擊可能會(huì)允許你的持久存儲(chǔ)是壞的,這樣,你仍舊需要假定你自己的先前的存儲(chǔ)數(shù)據(jù)可能是
33、壞的使用密碼系統(tǒng)使用密碼系統(tǒng) 對(duì)于所有的敏感數(shù)據(jù),只將它們以加密的形式永久的存儲(chǔ) 不管你認(rèn)為存儲(chǔ)箱多么的平安,在某些情況下,它都不是有那么平安的 你只能通過(guò)存儲(chǔ)箱的自我保護(hù)來(lái)保護(hù)存儲(chǔ)箱中的數(shù)據(jù);存儲(chǔ)箱是不可靠的正確的使用密碼系統(tǒng)正確的使用密碼系統(tǒng) 如果你的系統(tǒng)需要密碼包括,那么,請(qǐng)正確的使用它:在任何時(shí)候,永遠(yuǎn)都不要?jiǎng)?chuàng)造你自己的算法 即使你是一個(gè)數(shù)學(xué)家,你都不知道你在作什么但是它們更知道在任何時(shí)候,永遠(yuǎn)都不要執(zhí)行一個(gè)的算法 即使你是一個(gè)熟練的程序員,你都不知道你在作什么不幸的是,它們也并不知道永遠(yuǎn)都要使用公認(rèn)的,被廣泛使用的代碼 它可能已經(jīng)被徹底的檢驗(yàn)過(guò) 如果還沒(méi)有,那么它將會(huì)被徹底的檢驗(yàn)并且
34、,你將從中受益匪淺 檢驗(yàn)變量約束檢驗(yàn)變量約束 始終檢驗(yàn)標(biāo)量變量約束始終使用標(biāo)量變量約束如果你的系統(tǒng)需要約束,使用它們?nèi)缦?列的腳注為最大的有益的原因 指針的算法根本上是相同的情形使用使用“標(biāo)準(zhǔn)的機(jī)構(gòu)標(biāo)準(zhǔn)的機(jī)構(gòu) 使用那些可以用于解決標(biāo)準(zhǔn)問(wèn)題的標(biāo)準(zhǔn)的機(jī)構(gòu)使用“標(biāo)準(zhǔn)的語(yǔ)言的機(jī)構(gòu)使用“標(biāo)準(zhǔn)的操作系統(tǒng)機(jī)構(gòu)讓內(nèi)核完成它的工作;而不要扮演內(nèi)核的角色通常,這些機(jī)構(gòu)都寫的很好總之,最終你的系統(tǒng)取決于它們即使你躲避它們,你依賴的東西還是使用它們的你不能夠自己寫所有的東西構(gòu)造構(gòu)造“契約性的界面契約性的界面 虔誠(chéng)的使用Meyer型的契約界面始終使用預(yù)處理并且永遠(yuǎn)都不要使它們無(wú)效在不變式有意義的地方,就嘗試使用不變式
35、在可以以適宜的本錢執(zhí)行后處理的地方,就嘗試使用后處理只有當(dāng)進(jìn)行后處理的本錢真的成為一個(gè)被批評(píng)的對(duì)象時(shí),才可以不進(jìn)行后處理初始化所有的變量初始化所有的變量 一定要保證所有的變量都被明確的初始化,這樣你的系統(tǒng)的動(dòng)作是可預(yù)測(cè)的正確的或者是錯(cuò)誤的你的系統(tǒng)不會(huì)泄露未被初始化的數(shù)據(jù)除非語(yǔ)言標(biāo)準(zhǔn)保證初始化,而不是系統(tǒng),那么初始化以下內(nèi)容:局部自動(dòng)堆棧變量全局靜態(tài)變量動(dòng)態(tài)堆或存儲(chǔ)池變量“初始化并不意味著隱式構(gòu)造程序的調(diào)用至少要把他們賦值為0,但是最好把它們初始化為一個(gè)有意義的值去除不相關(guān)的內(nèi)存去除不相關(guān)的內(nèi)存 當(dāng)內(nèi)存不再使用時(shí),經(jīng)常應(yīng)該去除它們尤其是當(dāng)它包含敏感信息的時(shí)候這一點(diǎn)并不容易做到,因?yàn)榇缶植康恼Z(yǔ)言沒(méi)有完全支持這一功能C+類的語(yǔ)言能夠大大的幫助去除內(nèi)存 在內(nèi)存釋放之前去除它們 一定要非常確定,什么時(shí)候它們是分配給你運(yùn)行的隱式內(nèi)存語(yǔ)言會(huì)將這一點(diǎn)變得十分困難 “解決問(wèn)題通常已經(jīng)被認(rèn)為足夠好了內(nèi)存在解決問(wèn)題之前,將不會(huì)被再次使用但是仍舊可能被其它的缺陷泄露密切注意 output.leak.uncleared.optimized-Away 選擇適當(dāng)?shù)恼Z(yǔ)言選擇適當(dāng)?shù)恼Z(yǔ)言 了解許多關(guān)于不同語(yǔ)言的知識(shí)請(qǐng)一定不要讓
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- app地推合同范本
- 加盟采購(gòu)合同范本
- 單位服裝購(gòu)銷合同范例
- 合同變更 新合同范本
- 企業(yè)經(jīng)營(yíng)權(quán)外包合同范本
- 去污設(shè)備采購(gòu)合同范本
- 不含稅金合同范本
- 中介與賣房合同范本
- 個(gè)體小店過(guò)戶合同范本
- 廠房吊頂裝修合同范本
- 胸痹心痛中醫(yī)診療方案及臨床路徑
- 泛讀2unit2-music
- 中學(xué)生防溺水安全教育課件(PPT 44頁(yè))
- ISO-IEC17025-2017實(shí)驗(yàn)室管理體系全套程序文件
- 2019版外研社高中英語(yǔ)選擇性必修二Unit 1 Growing up 單詞表
- 重慶危險(xiǎn)性較大的分部分項(xiàng)工程安全管理實(shí)施細(xì)則
- 三菱 PLC FX2N-4AD 4DA 模擬量模塊教材(課堂PPT)
- 有機(jī)金屬化學(xué)1
- JIT標(biāo)準(zhǔn)作業(yè)作業(yè)指導(dǎo)書
- 安徽省2020-2021學(xué)年七年級(jí)語(yǔ)文下學(xué)期期末測(cè)試卷[含答案]
- 混凝土面板堆石壩接縫止水
評(píng)論
0/150
提交評(píng)論