版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
綜述
指南多個(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)組(1)1995年,我加入了美國(guó)電腦緊急應(yīng)變團(tuán)隊(duì)(CERT)吉姆埃利斯和拉里羅杰斯帶領(lǐng)我們進(jìn)入了我們后來(lái)一直在的軌道上。2003年,總共有了10多個(gè)響應(yīng)職員2004年,有了兩個(gè)新的攻擊工作區(qū)攻擊分析攻擊發(fā)現(xiàn)和避免軟件的過(guò)程模型(現(xiàn)今)
Conception:概念Requirements:需求Architecture:體系結(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ì)(CERT)/合作中心哲學(xué)體系
白癡們會(huì)說(shuō)他們是由經(jīng)驗(yàn)獲取知識(shí)的。而我更喜歡從別人的經(jīng)驗(yàn)上獲取知識(shí)。
OttovonBismark
德國(guó)首相1871-1890對(duì)于構(gòu)建足夠的理論基礎(chǔ)或是實(shí)際應(yīng)用,直接獲得的經(jīng)驗(yàn)都具有先天的局限性。
B.H.LiddellHart
大不列顛軍事理論家VDA的使命
美國(guó)電腦緊急應(yīng)變團(tuán)隊(duì)(CERT)?合作中心攻擊發(fā)現(xiàn)和避免機(jī)構(gòu)的作用是,顯著的減少眾所周知的攻擊。VDA的目標(biāo)
調(diào)查和研究現(xiàn)有的方法,技術(shù)和工具與現(xiàn)有的VDA的組織合作直接或者是間接的推進(jìn)實(shí)踐的狀態(tài)建立VDA的效率的測(cè)量方法為特定的讀者編寫(xiě)VDA知識(shí)廣泛的傳播上述的VDA知識(shí)信息保證社團(tuán)質(zhì)量保證社團(tuán)軟件工程社團(tuán)VDA反對(duì)的目標(biāo)
我們自己不需要建立重大的發(fā)現(xiàn)機(jī)構(gòu),因?yàn)槠渌擞?jì)劃或者是已經(jīng)在做著發(fā)現(xiàn)工作無(wú)論如何我們自己都不能發(fā)現(xiàn)許多的攻擊-許多更高的影響因素我們希望其他的人從事到VDA的研究中-尤其是在軟件工程社團(tuán)最終,我們希望美國(guó)電腦緊急應(yīng)變團(tuán)隊(duì)(CERT)-如VDA組織,需求減小。-以常規(guī)的方式我們不做軟件工程-盡管我們的名字如此,但是我們不做軟件工程。軟件的過(guò)程模型(未來(lái))
Requirements:需求Architecture:體系結(jié)構(gòu)Design:設(shè)計(jì)Implementation:執(zhí)行QA/Testing:質(zhì)量評(píng)價(jià)/測(cè)試Correct/Patch:糾正/補(bǔ)丁Release:釋放VulnerabilityDiscovery:攻擊發(fā)現(xiàn)Publication:發(fā)布VulnerabilityDiscovery&Avoidance:攻擊發(fā)現(xiàn)&避免VDA的過(guò)程模型(全世界的)
Publish/Patch:發(fā)布/補(bǔ)丁Release:釋放PublicVulnerabilityDiscoveryProcess(es):公眾的攻擊發(fā)現(xiàn)程序PrivateSoftwareEngineeringProcess(es):私人的軟件工程程序CaseInspection:個(gè)案檢查Infusion:灌輸VDACodificationProcess:VDA的編寫(xiě)過(guò)程個(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)。去觀(guān)察他們的影響并且以一個(gè)新聞工作者的角度來(lái)采訪(fǎng)他們出一本書(shū)來(lái)證明這些個(gè)案 這本書(shū)要包括這些組織以及他們的工作兩個(gè)方面?zhèn)€案研究為成功者頒頒發(fā)大量的的專(zhuān)門(mén)的榮榮耀以組織或者者是個(gè)人的的名字來(lái)命命名將成功或者者是很有希希望成功的的精確的歸歸功于它們們的創(chuàng)造者者記述失敗或或者是不確確定的實(shí)踐踐時(shí),不記記錄它們的的歸屬者包括他們的的工作的技技術(shù)方面,,程序方面面和組織方方面每年重復(fù)這這個(gè)過(guò)程一一次每年出版這這本書(shū)的一一個(gè)新的版版本包括我們知知道的關(guān)于于VDA的“所有的事情情”求助!我們需要你你的意見(jiàn)::什么組織或或者是個(gè)人人需要進(jìn)行行個(gè)案研究究?為什么么?他們的特征征是什么??成就又是是什么?應(yīng)該包括什什么專(zhuān)業(yè)的的討論會(huì)??用來(lái)學(xué)習(xí)??用來(lái)教授??迄今為止我我們鑒定的的組織/個(gè)人基本方法如果我們真真誠(chéng)的希望望在攻擊出出現(xiàn)以前就就把它們停止掉掉,那么我我們就必須須:采用軟件工工程師們的的觀(guān)點(diǎn)-因?yàn)檐涇浖こ處煄焸兪俏ㄒ灰坏目梢允故惯@種情況況發(fā)生的人-并且,,我們必須須從他們的的觀(guān)點(diǎn)來(lái)看看這個(gè)問(wèn)題題,進(jìn)而以他們的語(yǔ)語(yǔ)言來(lái)描述述這個(gè)問(wèn)題題和它的的解決方法法觀(guān)點(diǎn)的改變變(1)和我們以前前在攻擊上上使用的觀(guān)觀(guān)點(diǎn)相比,,VDA中的A需要有一個(gè)不同的的觀(guān)點(diǎn)VDA對(duì)“驗(yàn)證”攻擊不感興興趣VDA對(duì)開(kāi)發(fā)或者者是攻擊不不感興趣VDA對(duì)“驗(yàn)證”攻擊的影響響不感興趣趣VDA對(duì)“驗(yàn)證”工作區(qū)不感感興趣VDA對(duì)“配置”不感興趣VDA對(duì)“驗(yàn)證”最差的攻擊擊不感興趣趣從根本上講講,VDA實(shí)際上是關(guān)關(guān)于搶先減減少所有潛潛在的工程攻擊觀(guān)點(diǎn)的改變變(2)然而,一種種軟件工程程觀(guān)點(diǎn)認(rèn)為為所有可能被被開(kāi)發(fā)的缺缺陷都必須須被消除掉掉-“潛在的”和“事實(shí)上的”是同等重要要的必須總是能能夠設(shè)想到到全能的對(duì)對(duì)手-所有的的對(duì)手,包包括現(xiàn)在的的和未來(lái)的的,都必須得考考慮到計(jì)劃從一個(gè)“公眾”攻擊發(fā)現(xiàn)的的觀(guān)點(diǎn)來(lái)看看這個(gè)過(guò)程從從第一個(gè)客客戶(hù)關(guān)系開(kāi)開(kāi)始主要在“公眾”中傳導(dǎo)必須是“可以控制的的”從一個(gè)軟件件工程的觀(guān)觀(guān)點(diǎn)來(lái)看這個(gè)過(guò)程從從觀(guān)念的規(guī)規(guī)劃開(kāi)始兩個(gè)非常清清晰的發(fā)現(xiàn)現(xiàn)的案例-先前發(fā)發(fā)布的編碼碼基數(shù)中的的攻擊-最新發(fā)發(fā)布的編碼碼基數(shù)中的的攻擊攻擊發(fā)現(xiàn)的的問(wèn)題目標(biāo)的選擇擇發(fā)現(xiàn)所使用用的技術(shù)發(fā)現(xiàn)所使用用的工具暴露的事實(shí)實(shí)工程上的糾糾正各個(gè)評(píng)價(jià)之之間的關(guān)系系潛在的合法法的障礙國(guó)內(nèi)和國(guó)際際關(guān)注的東東西長(zhǎng)時(shí)間的影影響無(wú)意識(shí)的副副作用目標(biāo)的選擇擇(1)互不相關(guān)的的動(dòng)機(jī)當(dāng)攻擊研究究的發(fā)起者者和VDA組織的發(fā)起起者具有互互不相關(guān)的的動(dòng)機(jī)時(shí),,會(huì)怎么樣樣呢?-在技術(shù)術(shù)選擇上的的爭(zhēng)論可能能會(huì)加速研研究,從而而“證明”哪一個(gè)是更更好一點(diǎn)的的方向發(fā)展展隱藏的或者者是敵對(duì)方方的評(píng)估在不與成果果的創(chuàng)造者者合作的情情況下,評(píng)評(píng)估這個(gè)成成果會(huì)有多多少困難呢呢?發(fā)起者會(huì)認(rèn)認(rèn)為這種評(píng)評(píng)估是客觀(guān)觀(guān)的嗎?-對(duì)成本本而言,客客觀(guān)性是值值得的嗎??目標(biāo)選擇((2)附著于評(píng)估估的串抑制結(jié)果??延遲結(jié)果??順從成果的的所有者??順從發(fā)起者者?限制除了攻攻擊以外的的細(xì)節(jié)?限制副作用用結(jié)果的產(chǎn)產(chǎn)生?商業(yè)秘密如果合作伙伙伴中的賣(mài)賣(mài)方提供商商業(yè)秘密來(lái)來(lái)幫助評(píng)價(jià)價(jià),那怎么么辦呢?VDA組織中的哪哪個(gè)人可以以接觸到商商業(yè)秘密呢呢?發(fā)現(xiàn)所使用用的技術(shù)((1)攻擊的可證證明性在評(píng)估(沒(méi)沒(méi)有經(jīng)過(guò)“處理”)中,為了了列出攻擊擊的特征,,而需要的的證據(jù)的水水平-必須把把攻擊的特特征證明給給賣(mài)主在沒(méi)有可證證明性的情情況下,完完成的評(píng)估估這個(gè)“報(bào)告”真的還可以以完成嗎??是否一個(gè)清清晰的缺陷陷就夠了,,還是說(shuō)它它必須得是是可以被開(kāi)開(kāi)發(fā)的呢??在沒(méi)有進(jìn)行行局部的“處理”的情況下,,可以對(duì)攻攻擊下結(jié)論論嗎?發(fā)現(xiàn)所使用用的技術(shù)((2)評(píng)估的成本本/利益什么樣的評(píng)評(píng)估投資是是最有價(jià)值值的呢?-體系結(jié)結(jié)構(gòu)上的和和設(shè)計(jì)上的的攻擊是更更有價(jià)值的的,但是,,也更難發(fā)發(fā)現(xiàn)。因?yàn)樵诎l(fā)布之之后的修正可可能是極端地地,或者是無(wú)無(wú)限的昂貴,,所以它要遠(yuǎn)遠(yuǎn)遠(yuǎn)的有價(jià)值值-執(zhí)行攻擊擊比發(fā)現(xiàn)攻擊擊要簡(jiǎn)單多了了,但是相對(duì)對(duì)應(yīng)的,也就就具有較少的價(jià)值之所以具有更更少的價(jià)值僅僅僅是因?yàn)樗鼈內(nèi)菀妆话l(fā)發(fā)現(xiàn)在發(fā)布以后,,保證書(shū)必須須是可確定的的第三方評(píng)估通通常是具有最最差的成本/利益比-信息的數(shù)數(shù)量最少-最小的價(jià)價(jià)值,攻擊最最容易發(fā)現(xiàn)發(fā)現(xiàn)所使用的的工具(1)增加的攻擊發(fā)發(fā)現(xiàn)新的工具將如如何影響社團(tuán)團(tuán)呢?-伴隨著工工具的使用,,更多的攻擊擊將會(huì)被更多多的人發(fā)現(xiàn)(至至少是增加的的)-加重“處理”組織的負(fù)擔(dān)指南協(xié)助的要要求是否VDA組織能夠負(fù)擔(dān)擔(dān)得起發(fā)布這這些工具呢??-需要其他他人為這些工工具的使用提提供“支持”發(fā)現(xiàn)所使用的的工具(2)業(yè)余者用法業(yè)余者能夠使使用這些工具具嗎?-對(duì)于業(yè)余余者而言,工工具不太容易易被操作。-工具用戶(hù)戶(hù)界面需要把把目標(biāo)定位于于專(zhuān)家,而不是定定位于普通的的公眾暴露的事實(shí)((1)VDA并不能夠“處理”這些攻擊VDA攻擊是怎么處處理的呢?-必須使用用已經(jīng)建立起起來(lái)的“處理”程序,而且這這些處理程序序不可以復(fù)制-對(duì)于VDA的目的來(lái)說(shuō),,這些已經(jīng)存存在的“處理”程序是否是充充足的呢?個(gè)人攻擊公眾眾暴露的事實(shí)實(shí)攻擊與成果觀(guān)觀(guān)點(diǎn)是相互沖沖突的嗎?-即使VDA不關(guān)心個(gè)人攻攻擊揭露的事事實(shí),風(fēng)險(xiǎn)承承擔(dān)者也會(huì)期期望他們將這個(gè)問(wèn)問(wèn)題恰當(dāng)?shù)慕饨鉀Q的。-在VDA和VH之間需要建立立一種獨(dú)立的的而不是共生生的關(guān)系暴露的事實(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)報(bào)告的所有權(quán)權(quán)呢?-從處理的的觀(guān)點(diǎn)來(lái)看-從知識(shí)產(chǎn)產(chǎn)權(quán)的角度來(lái)來(lái)看暴露的事實(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í)((4)不明確的攻擊擊“潛在的”攻擊的報(bào)告是是否會(huì)引起問(wèn)問(wèn)題呢?在發(fā)表的報(bào)告告中,從工程程角度看的一一個(gè)非常清晰晰的缺陷,可可能會(huì)在攻擊擊分析社團(tuán)引引起相當(dāng)大的的爭(zhēng)論-對(duì)于攻擊擊的開(kāi)端來(lái)說(shuō)說(shuō),從工程師師的角度看要要比從分析家的角度看看要低的多評(píng)估的副作用用非常清晰的缺缺陷不是攻擊擊嗎?-對(duì)于發(fā)起起者而言,它它們顯然是有有價(jià)值的缺陷和攻擊的的分界線(xiàn)在哪哪里呢?-VDA與QA相比是多呢還還是少呢?揭露的事實(shí)((5)成果內(nèi)部如果成果內(nèi)部部的揭露需要要理解攻擊呢呢?-許可是可可能的嗎?或或者甚至它就就是一個(gè)好主主義呢?如果評(píng)估是“不公開(kāi)的”或者是是“敵對(duì)的的”呢?競(jìng)爭(zhēng)評(píng)評(píng)估對(duì)你的的報(bào)告告,其其他的的VDA組織將將會(huì)做做出什什么樣樣的反反映呢呢?-其其他的的VDA組織可可能會(huì)會(huì)評(píng)估估你的的評(píng)估估這是同同行審審查過(guò)過(guò)程中中很正正常的的一步步其目標(biāo)標(biāo)可能能會(huì)是是推進(jìn)進(jìn)認(rèn)識(shí)識(shí)也可可能會(huì)會(huì)是詆詆毀其其他人人的名名望對(duì)可靠靠性有有疑問(wèn)問(wèn)的攻攻擊,,這樣樣的競(jìng)競(jìng)爭(zhēng)可可能會(huì)會(huì)產(chǎn)生生明確確的結(jié)結(jié)構(gòu)工程糾糾正如果評(píng)評(píng)估是是不公公開(kāi)的的,那那么,,將會(huì)會(huì)期望望什么么樣的的處理理,或或者是是什么么樣的的處理理是可可能的的呢??如果發(fā)發(fā)起者者希望望這個(gè)個(gè)攻擊擊繼續(xù)續(xù),那那又怎怎么辦辦呢??發(fā)起者者專(zhuān)用用的糾糾正如果工工程糾糾正是是專(zhuān)用用于發(fā)發(fā)起者者組織織的,,那么么又怎怎么樣樣呢??-報(bào)報(bào)告的的發(fā)布布可能能會(huì)危危及到到發(fā)起起者組組織-對(duì)對(duì)于其其他的的組織織來(lái)說(shuō)說(shuō),這這份報(bào)報(bào)告也也許會(huì)會(huì)是毫毫不相關(guān)關(guān)的,,或者者甚至至可能能會(huì)是是錯(cuò)誤誤的各個(gè)評(píng)評(píng)估之之間的的關(guān)系系(1)遺傳性性攻擊擊如果“發(fā)起者者的”評(píng)估發(fā)發(fā)現(xiàn)了了“遺傳性性”攻擊,,那又又怎么么辦呢呢?-其其他受受到影影響的的“成果”又該如如何處處理呢呢?如果不不公開(kāi)開(kāi)的評(píng)評(píng)估中中發(fā)生生了遺遺傳性性攻擊擊,那那又該該怎么么辦呢呢?-“其他的的”攻擊是是否需需要進(jìn)進(jìn)行不不公開(kāi)開(kāi)的考考慮呢呢?爭(zhēng)論如果兩兩個(gè)不不同的的發(fā)起起者希希望相相同的的目標(biāo)標(biāo)評(píng)估估,但但是卻卻使用用相互互沖突突的串串,那那么又又該怎怎么辦辦呢??各個(gè)評(píng)評(píng)估之之間的的關(guān)系系(2)工程的的相互互依賴(lài)賴(lài)性什么樣樣的依依賴(lài)性性呢??-共共用的的圖書(shū)書(shū)館-靜靜態(tài)的的圖書(shū)書(shū)館-資資源的的重復(fù)復(fù)利用用公共界界面條條件私人界界面條條件-隨隨意的的剪切切和復(fù)復(fù)制我們?cè)踉趺窗l(fā)發(fā)現(xiàn)依依賴(lài)的的成果果呢??-一一些“依存性性的博博物館館”?-一一些只只有賣(mài)賣(mài)主才才有的的公告告?-公公眾的的公告告和期期望??-這這難道道不是是“處理”嗎?潛在的的合法法的障障礙反向工工程什么“水平”的RE是被合合法的的允許許的呢呢?-美美國(guó)的的DMCA?-歐歐洲,,日本本?商業(yè)秘秘密商業(yè)秘秘密,,甚至至是從從來(lái)沒(méi)沒(méi)有被被揭露露的商商業(yè)秘秘密,,真的的可以以在UDA中“使用”嗎?-那那是否否是違違背產(chǎn)產(chǎn)權(quán)的的呢??-或或者是是違背背專(zhuān)利利權(quán)呢呢?國(guó)內(nèi)和和國(guó)際際的關(guān)關(guān)注點(diǎn)點(diǎn)有嗎??長(zhǎng)遠(yuǎn)的的影響響質(zhì)量下下降范圍廣廣大的的VDA組織會(huì)會(huì)使得得軟件件的質(zhì)質(zhì)量下下降是是否是是可能能的呢呢?生產(chǎn)者者是否否期望望其他他的人人來(lái)發(fā)發(fā)現(xiàn)攻攻擊呢呢?-免免費(fèi)的的?-在在契約約下??無(wú)意識(shí)識(shí)的副副作用用賣(mài)方操操作是否否賣(mài)賣(mài)方方會(huì)會(huì)故故意意的的逼逼迫迫VDA社團(tuán)團(tuán),,免免費(fèi)費(fèi)的的為為他他們們發(fā)發(fā)現(xiàn)現(xiàn)他他們們的的攻攻擊擊呢呢??是否否“少量量”的賣(mài)賣(mài)主主甚甚至至能能夠夠發(fā)發(fā)現(xiàn)現(xiàn)他他們們自自己己的的攻攻擊擊呢呢??-他他們們支支付付得得起起嗎嗎??時(shí)間間對(duì)對(duì)市市場(chǎng)場(chǎng)可可能能會(huì)會(huì)是是生生或或死死的的問(wèn)問(wèn)題題-甚甚至至他他們們是是否否具具有有這這個(gè)個(gè)技技術(shù)術(shù)呢呢??道德德規(guī)規(guī)范范過(guò)剩剩的的賣(mài)賣(mài)主主對(duì)于于一一個(gè)個(gè)特特定定的的目目標(biāo)標(biāo),,如如果果它它已已經(jīng)經(jīng)在在為為一一個(gè)個(gè)賣(mài)賣(mài)主主評(píng)評(píng)估估時(shí)時(shí),,又又出出現(xiàn)現(xiàn)了了另另一一個(gè)個(gè)賣(mài)賣(mài)主主要要評(píng)評(píng)估估這這個(gè)個(gè)目目標(biāo)標(biāo),,那那么么該該怎怎么么辦辦呢呢??-如如果果他他們們中中的的一一個(gè)個(gè),,或或者者是是兩兩個(gè)個(gè)都都是是不不公公開(kāi)開(kāi)的的進(jìn)進(jìn)行行的的,,又又該該怎怎么辦辦呢呢??對(duì)于于一一個(gè)個(gè)特特定定的的目目標(biāo)標(biāo),,如如果果它它已已經(jīng)經(jīng)在在為為一一個(gè)個(gè)賣(mài)賣(mài)主主不不公公開(kāi)開(kāi)的的評(píng)評(píng)估估完完成成了了,,又又出出現(xiàn)現(xiàn)了了另另一一個(gè)個(gè)賣(mài)賣(mài)主主要要評(píng)評(píng)估估這這個(gè)個(gè)目目標(biāo)標(biāo),,那那么么該該怎怎么么辦辦呢呢??-先先前前的的結(jié)結(jié)果果是是否否可可以以被被重重新新使使用用呢呢??-先先前前的的評(píng)評(píng)估估的的不不公公開(kāi)開(kāi)性性必必須須得得到到保保護(hù)護(hù)嗎嗎??是否否較較低低的的評(píng)評(píng)估估價(jià)價(jià)錢(qián)錢(qián)就就揭揭示示了了,,已已經(jīng)經(jīng)不不公公開(kāi)開(kāi)的的進(jìn)進(jìn)行行過(guò)過(guò)這這樣樣的的評(píng)評(píng)估估了了呢呢??軟件件工工程程問(wèn)問(wèn)題題我們們不不知知道道VDA詞典典每個(gè)個(gè)人人以以自自己己的的方方式式來(lái)來(lái)定定義義基基本本的的術(shù)術(shù)語(yǔ)語(yǔ)所以以我我也也是是以以自自己己的的方方式式來(lái)來(lái)定定義義基基本本的的術(shù)術(shù)語(yǔ)的的主要要的的術(shù)術(shù)語(yǔ)語(yǔ)(1)所有有者者一個(gè)個(gè)或或者者是是多多個(gè)個(gè)人人[擁有有]這個(gè)個(gè)系系統(tǒng)統(tǒng)。。他他們們?yōu)闉榘舶踩卟呗月缘牡脑O(shè)設(shè)置置負(fù)負(fù)責(zé)責(zé),,其其中中安安全全策策略略管管理理系系統(tǒng)統(tǒng)的的行行為為。。并并不不必必須須得得是是[用戶(hù)戶(hù)]。對(duì)手手一個(gè)個(gè)或或者者是是多多個(gè)個(gè)人人可可以以攻攻擊擊系系統(tǒng)統(tǒng),,并并且且很很樂(lè)樂(lè)意意被被[看到到]他們們正正在在攻攻擊擊系系統(tǒng)統(tǒng)。。攻擊擊對(duì)手手的的每每一一個(gè)個(gè)[動(dòng)作作]都試試圖圖開(kāi)開(kāi)發(fā)發(fā)系系統(tǒng)統(tǒng)的的缺缺陷陷。。主要要的的術(shù)術(shù)語(yǔ)語(yǔ)((2)缺陷陷對(duì)于于現(xiàn)現(xiàn)在在的的系統(tǒng)統(tǒng),必必須須糾糾正正某某些些工工程程[錯(cuò)誤誤]防止止它它被被開(kāi)開(kāi)發(fā)發(fā)出出來(lái)來(lái)。。安全全策策略略這些策略略用來(lái)管管理什么么樣的代理商,可以在在什么[目標(biāo)]上,用什什么[資格],進(jìn)行什什么[操作]。攻擊系統(tǒng)里的,可可以被敵手開(kāi)發(fā)出來(lái)來(lái),從而而違反系統(tǒng)的安安全策略略的缺陷。主要的術(shù)術(shù)語(yǔ)(3)入侵一個(gè)成功功的攻擊,它的結(jié)結(jié)果是危危機(jī)到系統(tǒng)的安全,,常常是是[完整性],[隱私性],或者是是[可用性]的損失。。系統(tǒng)一個(gè)技術(shù)術(shù)單元是是由功能能性機(jī)構(gòu)構(gòu)組成的的。通道系統(tǒng)和它的外外部世界界進(jìn)行通通訊的任任何一個(gè)個(gè)通道,,或者是是它眾多多的功能機(jī)構(gòu)構(gòu)之間相互互通訊的的任何一一個(gè)通道道。一個(gè)個(gè)和安全全相關(guān)的的通道可以和一一個(gè)或者者是多個(gè)個(gè)安全邊界界交叉主要的術(shù)術(shù)語(yǔ)(4)協(xié)議這些規(guī)則則用來(lái)管管理在通通道中傳傳輸?shù)臄?shù)數(shù)據(jù)的形形式和說(shuō)明安全范圍圍安全策略略和權(quán)限限設(shè)置。。改變其其中任何何一個(gè)都都會(huì)建立立一個(gè)安安全邊界界。安全邊界界從任何一一個(gè)機(jī)器器指令的的觀(guān)點(diǎn)來(lái)來(lái)看,就就是暫時(shí)時(shí)的最近近的聯(lián)合合,過(guò)去去和將來(lái)來(lái),轉(zhuǎn)變變?yōu)槠渌陌踩秶?。。主要的術(shù)術(shù)語(yǔ)(5)權(quán)限在某些〔目標(biāo)〕上進(jìn)行某某些〔操作〕的權(quán)利。。權(quán)限設(shè)置置對(duì)某一權(quán)權(quán)限進(jìn)行行的設(shè)置置。功能性機(jī)機(jī)構(gòu)機(jī)器指令令的暫時(shí)時(shí)性鄰接接設(shè)置在在一個(gè)單單獨(dú)的安安全范圍圍內(nèi)執(zhí)行行。代理商功能性機(jī)機(jī)構(gòu)是被被證明了了的為人人而工作作的。同同一個(gè)調(diào)調(diào)頻可以以被多個(gè)個(gè)代理商商多次進(jìn)進(jìn)行并行行動(dòng)作。。VDA語(yǔ)義網(wǎng)Adversary:對(duì)手Owner:所有者者Privilege:權(quán)限Attack:攻擊System:系統(tǒng)Defect:缺陷Channel:通道Protocol:協(xié)議Agent:代理商商PrivilegeSet:權(quán)限設(shè)置置SecurityBoundary:安全邊邊界SecurityDomain:安全范范圍SecurityPolicy:安全策策略FunctionalMechanism:功能性機(jī)構(gòu)新類(lèi)型(1)可靠的VDA需要一個(gè)新的的“基礎(chǔ)”我們需要把我我們所知道的的所有的有關(guān)關(guān)攻擊的東西西進(jìn)行再編制,從而支持持軟件工程觀(guān)點(diǎn)攻擊分析的中中心的觀(guān)念就就是“攻擊”軟件工程的中中心的觀(guān)念必必須是“缺陷”-缺陷是攻攻擊的工程個(gè)個(gè)性的某種類(lèi)類(lèi)型-缺陷是攻攻擊到工程的的發(fā)射這樣,在VDA所有的事情都都必須涉及到到“缺陷”的修正新類(lèi)型(2)我們已經(jīng)(浪浪費(fèi)我們的時(shí)時(shí)間?)建造造了(建造失失???)“攻擊分類(lèi)法??”現(xiàn)在VDA需要的是“缺陷類(lèi)型”如果我們可以以學(xué)到如何建建造它們我們正在試圖圖通過(guò)設(shè)計(jì)一一個(gè)所有涉及及到工程缺陷陷的全面的類(lèi)型型“族”來(lái)完成之一任任務(wù)。使用有效的XML進(jìn)行描述包括系譜相關(guān)關(guān)的DTD將會(huì)在這本“書(shū)”中論證新類(lèi)型(3)美國(guó)電腦緊急急應(yīng)變團(tuán)隊(duì)((CERT)VDA類(lèi)型族,包括括以下這些類(lèi)型(迄迄今為止)::缺陷缺陷-屬性缺陷-指示器器發(fā)現(xiàn)-技術(shù)通道工程-習(xí)慣用用語(yǔ)工程-樣式攻擊(外部的的與CVE相關(guān))設(shè)計(jì)-原原則(或者是是設(shè)計(jì)-妨礙礙)缺陷它描述每一個(gè)個(gè)缺陷與攻擊相比,,它具有很大大的詳細(xì)水平平一些缺陷可能能會(huì)產(chǎn)生相同同的攻擊它有13個(gè)外在的屬性性它有1個(gè)內(nèi)在的屬性性它是一個(gè)真正正的“缺陷-屬性”的無(wú)序設(shè)置它一起描述了了缺陷的精確確的本質(zhì)它是作為一個(gè)個(gè)大的邏輯與與(AND)的-ORS是不允許的-ORS是單獨(dú)的缺陷陷缺陷-屬性缺陷屬性的例例子:Input.Array.Overflow.Stack-store(存儲(chǔ))-(stack)堆棧-列--目標(biāo)-多單元--列-操作-未經(jīng)檢查查的-操作-輸入-來(lái)來(lái)源-對(duì)手-輸輸入-清晰的--范圍邏輯與(AND)它用于根據(jù)缺缺陷分類(lèi)法動(dòng)動(dòng)態(tài)的計(jì)算類(lèi)類(lèi)似處缺陷-指示器器缺陷指示器的的例子:Input.Array.Overflow.Stack-分割-錯(cuò)錯(cuò)誤-總線(xiàn)-故故障-變量-錯(cuò)錯(cuò)誤-不穩(wěn)定的的-行為-無(wú)限的--循環(huán)邏輯或(OR)這樣,就不能能被用作固有有的屬性了發(fā)現(xiàn)-技術(shù)缺陷發(fā)現(xiàn)技術(shù)術(shù)的例子Input.Array.Overflow.Stack-review.source.idiom.length.implicit.strcpy-review.source.idiom.length.implicit.loop-review.source.idiom.length.explicit.strcpy-review.source.idiom.length.explicit.loop-erface.array.nosize-specification.boundaryexploration.string.oversize通道通道的例子命令行環(huán)境繼承的進(jìn)程關(guān)關(guān)聯(lián)-文件/目錄創(chuàng)建默認(rèn)通道控制制-信號(hào)設(shè)置置-程序優(yōu)先先權(quán)-資源限制制-鑒定證書(shū)書(shū)-當(dāng)前工作作目錄-打開(kāi)文件件描述符-系統(tǒng)調(diào)用用結(jié)果-插槽-管道-共享內(nèi)存存-信號(hào)-永久存儲(chǔ)儲(chǔ)器比如寄存器-文件存在在-文件信息息系統(tǒng)I/O工程-習(xí)慣用用語(yǔ)工程習(xí)慣用語(yǔ)語(yǔ)的例子ANSIC沒(méi)有原型ANSIC/C++指針?biāo)惴ˋNSIC/C++在{堆棧,堆堆積,靜態(tài)}}存儲(chǔ)器中的的字符串ANSIC有正負(fù)號(hào)/無(wú)正負(fù)號(hào)混合合算法Java并發(fā)沒(méi)有保護(hù)護(hù)的對(duì)象土生的密碼算算法公眾可寫(xiě)的對(duì)對(duì)象屬性對(duì)象存取器到到專(zhuān)用屬性的的返回指針除非管理者泄泄露整體資源源分配C++對(duì)象使用專(zhuān)用用成員指針和和非默認(rèn)的構(gòu)構(gòu)造器工程樣式的例例子不完全的授權(quán)權(quán)攻擊例子:緩沖區(qū)溢出格式行cross-sight腳本SQL注入共享的可寫(xiě)目目錄TOCTOUrace設(shè)計(jì)-原則我們將單獨(dú)地地講述所有的的設(shè)計(jì)原則IA是藝術(shù),而不不是科學(xué)請(qǐng)習(xí)慣于這一一點(diǎn)攻擊分析社團(tuán)團(tuán)已經(jīng)非常清清楚了這一點(diǎn)點(diǎn),但是,軟件工工程社團(tuán)還沒(méi)沒(méi)有清楚這一一點(diǎn)明確的管理風(fēng)風(fēng)險(xiǎn)風(fēng)險(xiǎn)是如下下列出的某某種功能::事件的可能能性事件的結(jié)果果(代價(jià)))-如果可可能性約等等于0,那么風(fēng)險(xiǎn)險(xiǎn)是可以的的(OK)-如果結(jié)結(jié)果(代價(jià)價(jià))約等于于0,那么風(fēng)險(xiǎn)險(xiǎn)是可以的的(OK)-其它情情況下,就就必須把風(fēng)風(fēng)險(xiǎn)降低現(xiàn)實(shí)的敵手手模型對(duì)下下述列出的的情況是必必要的要確定特定定的風(fēng)險(xiǎn)要模擬可能能性和結(jié)果果首先要消除除最高的風(fēng)風(fēng)險(xiǎn)先前的經(jīng)驗(yàn)驗(yàn)的邏輯結(jié)結(jié)果一旦確定并并且量化了了風(fēng)險(xiǎn)后,,只有當(dāng)把把它們從最最高到最低低的風(fēng)險(xiǎn)處處理時(shí),才才是敏感的的這就是“最薄弱的鏈鏈接”思想深入的實(shí)行行防御當(dāng)設(shè)計(jì)系統(tǒng)統(tǒng)特征時(shí),,而又必須須包含一個(gè)個(gè)攻擊特征時(shí)包括潛在的的多余的特特征,它們們會(huì)減少攻攻擊特征的的范圍,性性能,持續(xù)續(xù)時(shí)間等其其它方面這是一般的的攻擊分析析和系統(tǒng)管管理思想它并不是一一般的軟件件工程思想想-只有容容錯(cuò)社團(tuán)曾曾經(jīng)這樣想想過(guò)審計(jì)所有的的通道在你的系統(tǒng)統(tǒng)上,通道道是攻擊唯唯一的通路路完全的保護(hù)護(hù)這些通道道,那樣你你的系統(tǒng)將將會(huì)受到完完全的保護(hù)護(hù)假設(shè)你的敵敵手可以協(xié)協(xié)調(diào)的操作作你所有的的通道將你的系統(tǒng)統(tǒng)的通道最最小化,從從而將攻擊擊的通路也降降到最低保證完全你的系統(tǒng)必必須總是處處在一種安安全的狀態(tài)態(tài)下每一個(gè)潛在在的不安全全的轉(zhuǎn)變都都必須檢測(cè)測(cè)其安全性性任何一個(gè)安安全喪失的的證據(jù)都意意味著系統(tǒng)統(tǒng)的完全性的喪失失如果安全不不能夠得到到保證或者者是不能夠夠被完全的恢復(fù),,那么,系系統(tǒng)必須自自行終止甚至以可用用性為代價(jià)價(jià)由定義,一一個(gè)可用的的危及安全全的系統(tǒng)比比一個(gè)不可可用的系統(tǒng)更糟糕糕攻擊/侵?jǐn)_的工程程師當(dāng)設(shè)計(jì)系統(tǒng)統(tǒng)時(shí),一定定要包括可可以對(duì)假定的攻擊和和侵?jǐn)_進(jìn)行行斷定的真真實(shí)的儀器器儀器應(yīng)該安全的記錄錄潛在的攻攻擊和侵?jǐn)_擾信息不將自己暴暴露給敵手手不向系統(tǒng)添添加攻擊使用最小的的權(quán)限為你的系統(tǒng)統(tǒng)授予它可可以進(jìn)行操操作所能使使用的最小的權(quán)權(quán)限在任何一個(gè)個(gè)給定點(diǎn)處處獲得和丟丟棄權(quán)限,,系統(tǒng)只具有完成成它正忙于于的任務(wù)的的權(quán)限用戶(hù)權(quán)限的的分離如果你的系系統(tǒng)需要在在不同的時(shí)時(shí)間具有不不同的權(quán)限,,那么,就就可以考慮慮將系統(tǒng)分分割成幾個(gè)清楚楚的互相聯(lián)聯(lián)系的子系系統(tǒng),每個(gè)個(gè)子系統(tǒng)具有一一個(gè)適當(dāng)?shù)牡淖钚?quán)限限設(shè)置請(qǐng)記得通道道將會(huì)增加加攻擊的新新的通路在最小通道道和權(quán)限分分割上需要要一個(gè)適當(dāng)?shù)钠胶馐褂米钚」δ苄允鼓愕南到y(tǒng)統(tǒng)包括它所所需要的最最小的功能能性附加功能,,甚至是睡睡眠狀態(tài),,都代表著著附加的攻攻擊可能是由于于代碼的增增加的行數(shù)數(shù)可能是由于于里面包含含的攻擊可能是由于于無(wú)意識(shí)代代碼的路徑徑可能是由于于激活無(wú)意意識(shí)功能的的方式主動(dòng)的限制制一個(gè)過(guò)度度的功能性性子系統(tǒng)的的功能,可可能會(huì)非常的的昂貴并且且還可能會(huì)會(huì)導(dǎo)致錯(cuò)誤誤的發(fā)生調(diào)停所有的的操作調(diào)停(提出出)在所有有的對(duì)象上上的所有的的操作即使是沒(méi)有有明顯的敏敏感數(shù)據(jù)的的操作潛在的將來(lái)來(lái)的再次使使用需要它它對(duì)于透明的的調(diào)??梢砸允褂谩鞍驯币欢ú灰獮闉閷?duì)象內(nèi)部部的返回實(shí)實(shí)指針一定不要相相信回叫功功能或者是是對(duì)象使用行人愉愉快的界面面用戶(hù)具有足足夠的創(chuàng)造造性來(lái)規(guī)避避令人討厭的界面如果界面必必須是限制制性的,那那么,它們必須得是是完美的限限制,而不不是只是令令人氣餒的限制制穿過(guò)界面的的自動(dòng)化的的攻擊可能能會(huì)戰(zhàn)勝許許多明顯的限限制使用多重正正交鑒定證證書(shū)使你的系統(tǒng)統(tǒng)需要雙因因素鑒定有些是你有有的有些是你知知道的兩個(gè)相互獨(dú)獨(dú)立的鑒定定因素兩個(gè)個(gè)相互獨(dú)立立的鑒定因因素應(yīng)該按按照重要度度來(lái)排序,,而回避這這些會(huì)更加加困難。使用實(shí)際的的鑒定時(shí)一一定要非常常小心生物測(cè)定學(xué)學(xué)(Biometric)GPS直接的實(shí)際際地址只從安全得得到保證的的通道輸入入使得系統(tǒng)只只從已經(jīng)進(jìn)進(jìn)行過(guò)完全全的鑒定的的通道輸入許多通道是是可以信任任的,并且且它的鑒定定是不可能的,所所以小心以以下幾點(diǎn)信號(hào)被裝載器映映射的共享享的庫(kù)系統(tǒng)的調(diào)用用如果你的系系統(tǒng)真的是是敏感的,,那么,需需要重新鑒定而不不是為了鑒鑒定而接受受環(huán)境的命命令只從安全得得到保證的的通道輸出出使得系統(tǒng)只只從已經(jīng)進(jìn)進(jìn)行過(guò)完全全的鑒定的通道輸出出讓系統(tǒng)從沒(méi)沒(méi)有經(jīng)過(guò)鑒鑒定的通道道輸出,不管輸出是是什么,實(shí)實(shí)際上,就就是一種對(duì)對(duì)保密性的侵害害保證微觀(guān)操操作當(dāng)一系列的的操作不能能被中斷時(shí)時(shí),就確保保它們不會(huì)會(huì)被中斷使用任何的的需要的“設(shè)備”來(lái)確保這一一點(diǎn)操作的不同同的順序用具有相同同的結(jié)果但但是卻沒(méi)有有(或者是是較少的))次序要求求的操作來(lái)來(lái)代替互斥體,旗旗語(yǔ),以及及其它的同同時(shí)控制設(shè)設(shè)備分布式的事事物處理服服務(wù)程序當(dāng)沒(méi)有其它它的可能時(shí)時(shí),就減少少序列將秘密安全全的存儲(chǔ)將秘密安全全的存儲(chǔ)幾幾乎是不可可能的如果根本不不可能,那那么就要避避免存儲(chǔ)它它們?nèi)绻惚仨氻毚鎯?chǔ)它們們,為了這這個(gè)目的,,可以使用“設(shè)備”設(shè)計(jì)和檢驗(yàn)驗(yàn)密鑰環(huán)((keyring)智能卡((smartcard)強(qiáng)大的編密密碼使用默認(rèn)的的拒絕將你的系統(tǒng)統(tǒng)設(shè)計(jì)成,,可以根據(jù)據(jù)所知道的的什么是安全和正正確的,來(lái)來(lái)有選擇性性的允許{{操作,輸輸入}否認(rèn)所有其其它的一定不要試試圖將壞的的東西“過(guò)濾”掉今天是壞的的東西明天天就不一定定還是壞的的僅僅重新使使用保證代代碼請(qǐng)一定要非非常小心地地重新使用用代碼你可以重新新使用下述述的代碼::你為相同安安全水平所所編寫(xiě)的代代碼你已經(jīng)為相相同的安全全水平進(jìn)行行了完全的的再檢查的的代碼你所信任的的人所寫(xiě)的的代碼,其其中,這個(gè)個(gè)代碼和你你需要的代代碼具有相相同的安全全水平跨邊界委托托要非常小小心如果你的系系統(tǒng)必須得得將某些操操作委托給給其它的系系統(tǒng),那么么請(qǐng)留意以下幾點(diǎn)::用較高的權(quán)權(quán)限委托其其它的系統(tǒng)統(tǒng)用更嚴(yán)格的的安全策略略委托其它它的系統(tǒng)-它們比比你的系統(tǒng)統(tǒng)具有更高高的敏感度度,所以它它們很可能會(huì)自我保保護(hù)的非常常好避免使用較較低的權(quán)限限或者是松松的安全策策略委托系系統(tǒng)-它們將將不太可能能會(huì)以你所所希望的你你的數(shù)據(jù)的的處理方式式,來(lái)處理理任何輸入/輸出-如果你你必須得委委托給這樣樣一個(gè)系統(tǒng)統(tǒng),那么,,一定要確確保以合適適的方方式式處處理理好好通通往往/來(lái)自自那那個(gè)個(gè)系系統(tǒng)統(tǒng)的的通通道道-尤尤其其適適用用于于沒(méi)沒(méi)有有安安全全邊邊界界的的系系統(tǒng)統(tǒng)只使使用用私私人人存存儲(chǔ)儲(chǔ)區(qū)區(qū)對(duì)于于那那些些其其他他人人也也可可以以從從中中讀讀取取數(shù)數(shù)據(jù)據(jù)的的持持久久的的存存儲(chǔ)儲(chǔ)區(qū),,永永遠(yuǎn)遠(yuǎn)都都不不要要寫(xiě)寫(xiě)入入任任何何東東西西這就就減減少少了了敏敏感感數(shù)數(shù)據(jù)據(jù)泄泄露露的的可可能能性性對(duì)于于那那些些其其他他人人也也可可以以從從中中寫(xiě)寫(xiě)入入數(shù)數(shù)據(jù)據(jù)的的持持久久的的存存儲(chǔ)儲(chǔ)區(qū),,永永遠(yuǎn)遠(yuǎn)都都不不要要讀讀取取任任何何東東西西這就就減減少少了了你你的的系系統(tǒng)統(tǒng)的的“內(nèi)部部的的”持久久的的存存儲(chǔ)儲(chǔ)數(shù)數(shù)據(jù)據(jù)的的破破壞的的可可能能性性這些些工工作作并并不不適適用用其它它系系統(tǒng)統(tǒng)的的許許多多攻攻擊擊可可能能會(huì)會(huì)允允許許你你的的持持久久存存儲(chǔ)儲(chǔ)是是壞壞的的,,這這樣樣,,你你仍仍舊舊需需要要假假定定你你自自己己的的先先前前的的存存儲(chǔ)儲(chǔ)數(shù)數(shù)據(jù)據(jù)可可能能是是壞壞的的使用用密密碼碼系系統(tǒng)統(tǒng)對(duì)于于所所有有的的敏敏感感數(shù)數(shù)據(jù)據(jù),,只只將將它它們們以以加加密的的形形式式永永久久的的存存儲(chǔ)儲(chǔ)不管管你你認(rèn)認(rèn)為為存存儲(chǔ)儲(chǔ)箱箱多多么么的的安安全全,,在在某某些情情況況下下,,它它都都不不是是有有那那么么安安全全的的你只能通過(guò)存存儲(chǔ)箱的自我我保護(hù)來(lái)保護(hù)護(hù)存儲(chǔ)箱中的數(shù)數(shù)據(jù);存儲(chǔ)箱箱是不可靠的的正確的使用密密碼系統(tǒng)如果你的系統(tǒng)統(tǒng)需要密碼包包括,那么,,請(qǐng)正確的使使用它:在任何時(shí)候,,永遠(yuǎn)都不要要發(fā)明你自己己的算法-即使你是是一個(gè)數(shù)學(xué)家家,你都不知知道你在作什什么但是它們更知知道在任何時(shí)候,,永遠(yuǎn)都不要要執(zhí)行一個(gè)已已知的算法-即使你是一一個(gè)熟練的程程序員,你都都不知道你在在作什么不幸的是,它它們也并不知知道永遠(yuǎn)都要使用用公認(rèn)的,被被廣泛使用的的代碼-它可能已已經(jīng)被徹底的的檢驗(yàn)過(guò)-如果還沒(méi)沒(méi)有,那么它它將會(huì)被徹底底的檢驗(yàn)并且,你將從從中受益匪淺淺檢驗(yàn)變量約束束始終檢驗(yàn)標(biāo)量量變量約束始終使用標(biāo)量量變量約束如果你的系統(tǒng)統(tǒng)需要約束,,使用它們?nèi)缛缦拢械哪_注注為最大的有有益的原因-指針的算算法基本上是是相同的情形形使用“標(biāo)準(zhǔn)的”機(jī)構(gòu)使用那些可以以用于解決標(biāo)標(biāo)準(zhǔn)問(wèn)題的標(biāo)標(biāo)準(zhǔn)的機(jī)構(gòu)使用“標(biāo)準(zhǔn)的”語(yǔ)言的機(jī)構(gòu)使用“標(biāo)準(zhǔn)的”操作系統(tǒng)機(jī)構(gòu)構(gòu)讓內(nèi)核完成它它的工作;而而不要扮演內(nèi)內(nèi)核的角色通常,這些機(jī)機(jī)構(gòu)都寫(xiě)的很很好總之,最終你你的系統(tǒng)取決決于它們即使你規(guī)避它它們,你依賴(lài)賴(lài)的東西還是是使用它們的的你不能夠自己己寫(xiě)所有的東東西構(gòu)造“契約性的”界面虔誠(chéng)的使用Meyer型的契約界面面始終使用預(yù)處處理并且永遠(yuǎn)都不不要使它們無(wú)無(wú)效在不變式有意意義的地方,,就嘗試使用用不變式在可以以合適適的成本執(zhí)行行后處理的地地方,就嘗試使用后處處理只有當(dāng)進(jìn)行后后處理的成本本真的成為一一個(gè)被批評(píng)的的對(duì)象時(shí),才才可以不進(jìn)行行后處理初始化所有的的變量一定要保證所所有的變量都都被明確的初初始化,這樣樣你的系統(tǒng)的動(dòng)動(dòng)作是可預(yù)測(cè)測(cè)的(正確的的或者是錯(cuò)誤誤的)你的系統(tǒng)不會(huì)會(huì)泄露未被初初始化的數(shù)據(jù)據(jù)除非語(yǔ)言規(guī)范范保證初始化化,而不是系系統(tǒng),那么初初始化以下內(nèi)內(nèi)容:局部自動(dòng)(堆堆棧)變量全局靜態(tài)變量量動(dòng)態(tài)(堆或存存儲(chǔ)池)變量量“初始化”并不意味著隱隱式構(gòu)造程序序的調(diào)用至少要把他們們賦值為0,但是最好把把它們初始化化為一個(gè)有意意義的值清除不相關(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++類(lèi)的語(yǔ)言能夠夠大大的幫助助清除內(nèi)存-在內(nèi)存釋釋放之前清除除它們-一定要非非常確定,什什么時(shí)候它們們是分配給你你運(yùn)行的隱式內(nèi)存語(yǔ)言言會(huì)將這一點(diǎn)點(diǎn)變得十分困困難-“解決問(wèn)題”通常已經(jīng)被認(rèn)認(rèn)為足夠好了了內(nèi)存在解決問(wèn)問(wèn)題之前,將將不會(huì)被再次次使用但是仍舊可能能被其它的缺缺陷泄露密切注意-output.leak.uncleared.optimized-Away選擇適當(dāng)?shù)恼Z(yǔ)語(yǔ)言了解許多關(guān)于于不同語(yǔ)言的的知識(shí)請(qǐng)一定不要讓讓學(xué)習(xí)曲線(xiàn)限限制住對(duì)于一個(gè)好的的程
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑施工安全防護(hù)操作合同樣本
- 設(shè)立分公司市場(chǎng)推廣協(xié)議
- 婦科診所主任醫(yī)師招聘協(xié)議范本
- 客戶(hù)關(guān)系管理保密協(xié)議管理辦法
- 民事請(qǐng)律師合同范例
- 自主聯(lián)系醫(yī)學(xué)生協(xié)議書(shū)(2篇)
- 托管合同法律規(guī)定
- 公路養(yǎng)護(hù)的合同工好嗎
- 工作內(nèi)容 擬寫(xiě)合同
- 集體建設(shè)用地使用權(quán)聯(lián)營(yíng)合同
- 2024年便利店?duì)I業(yè)員工作總結(jié)范文(2篇)
- 工會(huì)新聞寫(xiě)作培訓(xùn)課題
- 統(tǒng)計(jì)年報(bào)和定報(bào)培訓(xùn)
- 小說(shuō)改編權(quán)改編作品轉(zhuǎn)讓合同
- 隧道坍塌應(yīng)急演練
- 物流行業(yè)物流供應(yīng)鏈金融服務(wù)方案
- 浙江省杭州市2023-2024學(xué)年高二上學(xué)期期末學(xué)業(yè)水平測(cè)試政治試題 含解析
- 體育賽事消防應(yīng)急預(yù)案制定
- 腎膿腫護(hù)理查房
- 專(zhuān)題4.3 平面鏡成像【五大題型】【人教版2024】(原卷版)-2024-2025學(xué)年八年級(jí)上冊(cè)物理舉一反三系列(人教版2024)
- 《義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)(2022年版)》數(shù)學(xué)新課標(biāo)解讀
評(píng)論
0/150
提交評(píng)論