信息安全深入分析比較八個信息安全模型_第1頁
信息安全深入分析比較八個信息安全模型_第2頁
信息安全深入分析比較八個信息安全模型_第3頁
信息安全深入分析比較八個信息安全模型_第4頁
信息安全深入分析比較八個信息安全模型_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

#文檔收集于互聯(lián)網,如有不妥請聯(lián)系刪問題是:如果客戶機未能建立與缺省庫的安全連接(故障),它將使用一個不可信實體給它的任何協(xié)議建立連接,因此也就擴展了信任范圍。原則4:最小特權最小特權原則規(guī)定:只授予執(zhí)行操作所必需的最少訪問權,并且對于該訪問權只準許使用所需的最少時間。當您給出了對系統(tǒng)某些部分的訪問權時,一般會出現(xiàn)濫用與那個訪問權相關的特權的風險。例如,我們假設您出去度假并把您家的鑰匙給了您的朋友,好讓他來喂養(yǎng)您的寵物、收集郵件等等。盡管您可能信任那位朋友,但總是存在這樣的可能:您的朋友未經您同意就在您的房子里開派對或發(fā)生其它您不喜歡的事情。不管您是否信任您的朋友,一般不必冒險給予其必要的訪問權以外的權利。例如,如果您沒養(yǎng)寵物,只需要一位朋友偶爾收取您的郵件,那么您應當只給他郵箱鑰匙。即使您的朋友可能找到濫用那個特權的好方法,但至少您不必擔心出現(xiàn)其它濫用的可能性。如果您不必要地給出了房門鑰匙, 那么所有一切都可能發(fā)生。同樣,如果您在度假時確實雇傭了一位房子看管人,那么您不可能在沒有度假同樣,如果您在度假時確實雇傭了一位房子看管人,那么您不可能在沒有度假時還讓他保留您的鑰匙。如果您這樣做了,那么您使自己陷入額外的風險之中。只要當您的房門鑰匙不受您的控制,就存在鑰匙被復制的風險。如果有一把鑰匙不受您的控制,而且您不在家,那么就存在有人使用鑰匙進入您房子的風險。當有人拿了您的鑰匙,而您又沒有留意他們,那么任何這樣的一段時間都會構成一個時間漏洞,在此段時間內您就很容易受到攻擊。為了將您的風險降到最低,您要使這段易受攻擊的時間漏洞盡可能的短?,F(xiàn)實生活中的另一個好的示例是美國政府的忠誠調查系統(tǒng)一“需要知道”政策。即使您有權查看任何機密文檔,您仍不能看到您知道其存在的任何機密文檔。如果可以的話,就很容易濫用該忠誠調查級別。實際上,人們只被允許訪問與那些交給他們的任務相關的文檔。UNIX系統(tǒng)中出現(xiàn)過一些違反最小特權原則的最著名情況。例如,在UNIX系統(tǒng)上,您一般需要root特權才能在小于1024的端口號上運行服務。所以,要在端口25(傳統(tǒng)的SMTP端口)上運行郵件服務器,程序需要root用戶的特權。不過,一旦程序在端口25上運行了,就沒有強制性要求再對它使用root特權了。具有安全性意識的程序會放棄root特權并讓操作系統(tǒng)知道它不應再需要那些特權(至少在程序下一次運行之前)。某些電子郵件服務器中存在的一個大問題是它們在獲取郵件端口之后沒有放棄它們的 root權限(Sendmail是個經典示例)。因此,如果有人找到某種方法來欺騙這樣一個郵件服務器去完成某些惡意任務時,它會成功。例如,如果一位懷有惡意的攻擊者要在Sendmail中找到合適的棧溢出,則那個溢出可以用來欺騙程序去運行任意代碼。因為Sendmail在root權限之下運行,所以攻擊者進行的任何有效嘗試都會成功。另一種常見情況是:一位程序員可能希望訪問某種數據對象,但只需要從該對象上進行讀。不過,不管出于什么原因,通常該程序員實際需要的不僅是必需的特權。通常,該程序員是在試圖使編程更容易一些。例如,他可能在想, “有一天,我可能需要寫這個對象,而我又討厭回過頭來更改這個請求?!辈话踩娜笔≈翟谶@里可能還會導致破壞。例如,在WindowsAPI中有幾個用于訪問對象的調用,如果您將“0”作為參數傳遞,那么這些調用授予所有的訪問。為了更有限制地進行訪問,您需要傳遞一串標志(進行“ OR”操作)。只要缺省值有效,許多程序員就會堅持只使用它,因為那樣做最簡單。對于受限環(huán)境中運行的產品的安全性政策,這個問題開始成為其中的常見問題。例如,有些供應商提供作為Javaapplet運行的應用程序。applet構成移動代碼,Web瀏覽器會對此代碼存有戒心。這樣的代碼運行在沙箱中,applet的行為根據用戶同意的安全性政策受到限制。在這里供應商幾乎不會實踐最小特權原則,因為他們那方面要花太多的精力。要實現(xiàn)大體意思為“讓供應商的代碼完成所有的任務”的策略相對要容易得多。人們通常采用供應商提供的安全性策略,可能是因為他們信任供應商,或者可能因為要確定什么樣的安全性策略能最佳地使必須給予供應商應用程序的特權最小化,實在是一場大爭論。原則5:分隔如果您的訪問權結構不是“完全訪問或根本不準訪問”,那么最小特權原則會非常有效。讓我們假設您在度假,而你需要一位寵物看管人。您希望看管人只能進出您的車庫(您不在時將寵物留在那里)但是如果您的車庫沒有一把單獨的鎖,那么您別無選擇而只能讓看管人進出整幢房子。分隔背后的基本思想是如果我們將系統(tǒng)分成盡可能多的獨立單元,那么我們可以將對系統(tǒng)可能造成損害的量降到最低。當將潛水艇構造成擁有許多不同的船艙,每個船艙都是獨立密封,就應用了同樣原則;如果船體裂開了一個口子而導致一個船艙中充滿了水,其它船艙不受影響。船只的其余部分可以保持其完整性,人們就可以逃往潛水艇未進水的部分而幸免于難。分隔原則的另一個常見示例是監(jiān)獄,那里大批罪犯集中在一起的能力降到了最低。囚犯們不是居住在營房中,而是在單人或雙人牢房里。即使他們聚集在一起―假定,在食堂里,也可以加強其它安全性措施來協(xié)助控制人員大量增加帶來的風險。在計算機世界里,要舉出糟糕分隔的示例比找出合理分隔容易得多。怎樣才能不分隔的經典示例是標準UNIX特權模型,其中安全性是關鍵的操作是以“完全訪問或根本不準訪問”為基礎的。如果您擁有root特權,那么您基本上可以執(zhí)行您想要的任何操作。如果您沒有root訪問權,那么就會受到限制。例如,您在沒有root訪問權時不能綁定到1024以下的端口。同樣,您不能直接訪問許多操作系統(tǒng)資源―例如,您必須通過一個設備驅動程序寫磁盤;您不能直接處理它。通常,如果攻擊者利用了您代碼中的緩沖區(qū)溢出,那人就可以對磁盤進行原始寫并胡亂修改內核所在內存中的任何數據。沒有保護機制能阻止他這樣做。因此,您不能直接支持您本地磁盤上永遠不能被擦去的日志文件,這意味著直到攻擊者闖入時,您才不能保持精確的審計信息。不管驅動程序對底層設備的訪問協(xié)調得多么好,攻擊者總能夠避開您安裝的任何驅動程序。在大多數平臺上,您不能只保護操作系統(tǒng)的一部分而不管其它部分。如果一部分不安全,那么整個系統(tǒng)都不安全。有幾個操作系統(tǒng)(諸如TrustedSolaris)確實做了分隔。在這樣的情況中,操作系統(tǒng)功能被分解成一組角色。角色映射到系統(tǒng)中需要提供特殊功能的實體上。一個角色可能是LogWriter角色,它會映射到需要保存安全日志的任何客戶機上。這個角色與一組特權相關聯(lián)。例如,LogWriter擁有附加到它自己的日志文件的權限,但決不可以從任何日志文件上進行擦除??赡苤挥幸粋€特殊的實用程序獲得對LogManager角色的訪問,它就擁有對所有日志的完全訪問權。標準程序沒有對這個角色的訪問權。即使您破解了一個程序并在操作系統(tǒng)終止這個程序,您也不能胡亂修改日志文件,除非您碰巧還破解了日志管理程序。這種“可信的”操作系統(tǒng)并不是非常普遍,很大一部分是因為這種功能實現(xiàn)起來很困難。象在操作系統(tǒng)內部處理內存保護這樣的問題給我們提出了挑戰(zhàn),這些挑戰(zhàn)是有解決方案的,但得出解決的結果并不容易。分隔的使用必須適度,許多其它原則也是如此。如果您對每一個功能都進行分隔,那么您的系統(tǒng)將很難管理。原則6:簡單性在許多領域,您可能聽到KISS咒語——“簡單些,蠢貨!”與其它場合一樣,這同樣適用于安全性。復雜性增加了問題的風險;這似乎在任何系統(tǒng)中都不可避免。很明顯,您的設計和實現(xiàn)應該盡可能地簡單。復雜的設計不容易理解,因此更有可能產生將被忽略的拖延問題。復雜的代碼往往是難以分析和維護的。它還往往有更多錯誤。我們認為任何人都不會對此大驚小怪。類似地,只要您所考慮的組件是質量良好的,就應該考慮盡可能重用組件。特定組件被成功使用的次數越多,您就更應該避免重寫它。對于密碼庫,這種考慮尤其適用。當存在幾個廣泛使用的庫時,您為什么想重新實現(xiàn)AES或SHA-1呢?那些庫可能比您在房間里裝配起來的東西更為健壯。經驗構筑了保證,特別當那些經驗是成功的經驗時。當然,即使在廣泛使用的組件中,也總是有出現(xiàn)問題的可能性。然而,假設在已知數量中涉及的風險較少是合理的。原則7:提升隱私用戶通常認為隱私是安全性問題。您不應該做任何可能泄露用戶隱私的事情。并且在保護用戶給您的任何個人信息方面,您應該盡可能地認真。您可能聽說過惡意的黑客能夠從Web訪問整個客戶數據庫。還經常聽說攻擊者能夠截獲其它用戶的購物會話,并因此獲得對私有信息的訪問。您應該竭盡所能避免陷入這種窘境;如果客戶認為您不善處理隱私問題,則您可能很快失去他們的尊重。原則8:難以隱藏秘密安全性通常是有關保守秘密的。用戶不想讓其個人數據泄漏出去,所以您必需加密密鑰以避免竊聽或篡改。您還要保護您的絕秘算法免遭競爭者破壞。這些類型的需求很重要,但是與一般用戶猜疑相比較,很難滿足這些需求。很多人以為用二進制表示的秘密也許能保守秘密,因為要抽取它們太困難了。的確,二進制是復雜的,但要對“秘密”保密實在是太困難了。一個問題就是某些人實際上相當擅長對二進制進行逆向工程―即,將它們拆開,并斷定它們是做什么的。這就是軟件復制保護方案越來越不適用的原因。熟練的黑客通??梢员荛_公司嘗試硬編碼到其軟件中的任何保護,然后發(fā)行“破譯的”副本。很長時間以來,使用的技術越來越多;供應商為阻止人們發(fā)現(xiàn)“解鎖”軟件的秘密所投入的精力越多,軟件破解者在破解軟件上花的力氣也越多。在極大程度上,都是破解者達到目的。人們已經知道有趣的軟件會在正式發(fā)布之日被破解―有時候會更早。如果軟件都在您自己網絡的服務器端運行,您可能會判定您的秘密是安全的。實際上,它比隱藏秘密難得多。如果您可以避免它,就不應該信任您自己的網絡。如果一些不曾預料到的缺點允許入侵者竊取您的軟件將會怎么樣呢?這是就在他們發(fā)行第一版Quake之前發(fā)生在Id軟件上的事情。即使您的網絡很安全,但您的問題可能是在內部。一些研究表明對公司最常見的威脅就是“內部人員”攻擊,其中,心懷不滿的雇員濫用訪問權。有時候雇員并不是不滿;或許他只是把工作帶到家里做, 朋友在那里竊聽到他不應該知道的東西。除此之外,許多公司無法防止心懷惡意的看門人竊取其仔細看守的軟件。如果有人想要通過非法手段獲取您的軟件,他們或許會成功。當我們向人們指出內部攻擊的可能性時,他們常?;卮穑骸斑@不會發(fā)生在我們身上;我們相信我們的員工?!比绻南敕ㄒ彩沁@樣,那么您應該謹慎一點。與我們對話的90%的人說的都一樣,然而大多數攻擊都是內部人員干的。這里有一個極大的差距;大多數認為可以相信其員工的那些人肯定是錯的。請記住,員工可能喜歡您的環(huán)境,但歸根結底,大多數員工與您的公司都有一種業(yè)務關系,而不是個人關系。這里的寓意就是多想想也是值得的。有時,人們甚至不需要對軟件進行逆向工程,就可以破譯它的秘密。只要觀察正在運行的軟件,就常??梢园l(fā)現(xiàn)這些秘密。例如,我們(JohnViega和TimHollebeek)曾經僅僅通過用一系列選擇的輸入來觀察其行為,就破解了Netscape電子郵件客戶機中的一個簡單密碼算法。 (這太容易做到了,所以我們說:“我們不用鉛筆和紙來做這件事。我們的許多筆記都用鋼筆寫。我們不需要擦除更多東西?!弊罱珽Trade遭受了類似下場,當您在Web上登錄時,任何人都可以看到您的用戶名和密碼。相信二進制(就此而言,或者是任何其它形式的模糊)為您保守秘密的實踐被親切地稱作“含糊的安全性(securitybyobscurity)”只要有可能,您都應該避免將它用作您唯一的防御線。這并不意味著含糊的安全性沒有用武之地。明確地拒絕對源代碼的訪問會稍微對攻擊者產生一些障礙。模糊代碼以產生一個模糊的二進制甚至會有更大幫助。這些技術要求潛在的攻擊者擁有比在他們需要實際破壞您系統(tǒng)時更多的技巧,這通常是一件好事。相反,大多數以這種方法保護的系統(tǒng)無法執(zhí)行一次足夠的安全性審查;有一些事情是公開的,它允許您從用戶那里獲得免費的安全性忠告。原則9:不要輕易擴展信任如果人們知道不能相信最終用戶所控制的客戶機,那么他們可能常常會意識到他們的秘密正處于危險中,因為不能相信最終用戶會按照他們期望的那樣使用客戶機。我們還強烈要求您勉強相信您自己的服務器,以防止數據竊取,這種猶豫應該滲透到安全性過程的各個方面。例如,雖然現(xiàn)成的軟件的確可以幫助您簡化您的設計和實現(xiàn),但您怎么知道相信現(xiàn)成組件是安全的呢?您真的認為開發(fā)人員就是安全性方面的專家嗎?即使他們是,您期望他們確實可靠嗎?許多有安全性漏洞的產品都來自安全性供應商。許多從事安全性業(yè)務的人實際上并不太了解有關編寫安全代碼方面的知識。通常很容易擴展信任的另一個地方是客戶支持。毫無戒心的客戶支持代理(他們有相信的傾向)非常容易遭到社會工程攻擊,因為它會使他們的工作變得更加容易。您還應該注意一下“隨大流”。僅僅因為一個特殊的安全性功能是標準的并不意味著您應該提供同樣低級的保護。例如,我們曾經常聽到人們選擇不加密敏感數據,僅僅是因為他們的競爭對手沒有對數據進行加密。當客戶遭到攻擊,于是責備某人疏忽安全性時,這就不是充足的理由。您也不應該相信安全性供應商。為了出售他們的產品,他們常常散布可疑的或完全錯誤的信息。通常,這種“蛇油”傳播者通過散布FUD——害怕、不確定和懷疑進行工作。許多常見的警告標記可以幫助您發(fā)覺騙子。其中我們最喜歡的一個就是用于秘鑰加密算法的“百萬位密鑰”廣告。數學告訴我們,對于整個宇宙生命周期,256位很可能足以保護消息―假設該算法是高質量的。做了較多廣告的人對密碼術知道得太少而無法出售安全性產品。在完成購物之前,請一定要進行研究。最好從“SnakeOil”FAQ開始。您還應該勉強相信您自己和您的組織。當涉及您自己的主意和您自己的代碼時很容易目光短淺。盡管您可能喜歡完美,但您應該容許不完美,并且對正在做的事情定期獲取高質量的、客觀的外部觀點。要記住的最后一點是信任是可轉移的。一旦您信任某個實體,就會暗中將它擴展給該實體可能信任的任何人。出于這個原因,可信的程序決不應該調用不可信的程序。當確定要信任哪些程序時,也應該十分小心;程序可能已經隱藏了您不想要的功能。例如,在90年代早期,我們有一個具有極受限制的、菜單驅動功能的UNIX帳戶。當您登錄時從菜單開始,并且只能執(zhí)行一些簡單操作,如讀寫郵件和新聞。菜單程序信任郵件程序。當用戶編寫郵件時,郵件程序將調出到一個外部編輯器(在這種情況下,是“vi”編輯器)。當編寫郵件時,用戶可以做一些vi戲法來運行任意命令。當它關閉時,很容易利用對vi編輯器的這種隱含的、間接的信任完全擺脫菜單系統(tǒng),而支持正規(guī)的舊的不受限的命令行shell。原則10:信任公眾雖然盲目隨大流不是一個好主意,但從數字上講還是有一點實力。無失敗地重復使用會增進信任。公眾的監(jiān)督也可增進信任。 (這是應用這個原則的唯一時機;其它情況下,原則9是正確應用的一個原則,您應該忽略這個原則。)例如,在密碼術中,信任公眾不知道的且未受廣泛監(jiān)督的任何算法

溫馨提示

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

最新文檔

評論

0/150

提交評論