入侵容忍技術是一種融合了密碼技術、容錯技術等的全新網絡安全技術,它突出強調當系統在受到攻擊時,即使系統的某些部分己經受到破壞、或者某些部分已經受到攻擊者的控制時,整個系統仍然能夠保證服務的可用性和數據的秘密性、完整性,保證系統關鍵功能的運行,從而仍然能夠對外繼續提供正常或降級的服務.文中介紹了在入侵容忍領域里常用的基本技術:冗余技術、多樣性技術、沙盒技術、復制技術、門限方案、恢復策略、群組通信系統等.
1 入侵容忍技術的概念
侵容忍技術是一種融合了密碼技術、容錯技術等的全新網絡安全技術,它突出強調當系統在受到攻擊時,即使系統的某些部分己經受到破壞、或者某些部分已經受到攻擊者的控制時,整個系統仍然能夠保證服務的可用性和數據的秘密性、完整性,保證系統基本功能的正常運行,從而仍然能夠對外繼續提供正常或降級的服務。
入侵容忍技術與傳統安全技術不同,入侵容忍技術突破以往的以保護和防范為出發點來使系統免受入侵的傳統思維,更強調“容忍”,入侵容忍關注的焦點不再是所構建的系統是否足夠安全,入侵活動是否發生,發生的具體原因或實施入侵時所采取的具體方法等,而是關注入侵對系統功能的影響,入侵容忍可以用攻擊響應和攻擊屏蔽的方法,可在惡意入侵對系統造成不良影響前消除其危害或恢復系統,這就好比建立起了一道類似于人體的免疫系統,可視作系統中新的一道防線,這樣就能保證系統在具有安全風險威脅的環境中,一旦系統被破壞或被攻擊,能夠盡早發現,并采取相應的防護和補救措施,能夠最大限度地保障系統的基本功能,減少在遭到攻擊時的損失,保證系統生存。
2 入侵容忍技術常見相關技術
2.1冗余
冗余是入侵容忍的最基本的技術,也是增強系統服務的重要技術,冗余的原理是:重復配置系統的一些組件,當系統發生故障時,冗余配置的組件介入并承擔故障部件的工作,繼續執行該故障組件的功能直到該組件被修復,也即是說,即使所系統的一些地方失效或產生故障,通過使用冗余組件,仍能保障系統的繼續有效運行、減少系統的故障時間或改善服務性能,增強系統的安全特性。
需要注意的是冗余不同于復制,復制只是冗余的一種類型,也就是物理資源冗余,物理資源冗余的目的是使用多個部件共同承擔同一項任務,當主要模塊發生故障時,用后援的備份替換故障模塊,使系統完好無損,也可以用緩慢降級切除故障模塊,讓剩下的正常模塊繼續工作,此外還有兩種類型的冗余:時間冗余和信息冗余時間冗余適合執行時間較寬松的任務,它是通過消耗時間資源來達到了容錯目的的,時間冗余的一個例子是程序回滾,這種技術用來檢驗一段程序完成時的計算數據,如有錯,則回滾重算那個部分,信息冗余的基本思想則是在最低限度的信息碼之外增加一些信息碼,包括奇偶校驗碼、檢查和碼、算術編碼等,以防止使用錯誤的碼,發現編碼錯誤,糾正編碼內的錯誤,一般而言,附加的信息越多,其檢錯和糾錯能力越強,從實質而言,門限機制也是信息冗余的一個例子:它從K份共享的數據(原始數據被分成N份)中可以重新構造出原始數據D,每一份共享數據中都嵌入一些特定的冗余信息,前者偏重于保證系統的可用性(有效性),后者偏重于保護系統的完整性和機密性,在目前的容忍入侵技術中主要使用的是物理資源冗余和信息冗余。
2.2多樣性技術
如果冗余組件只是簡單的對每個系統成員進行復制,那么容忍入侵系統中的無關性假定就有可能被破壞——也就是說,如果攻擊者已經發現了一種技術去破壞一個組件,那么在攻擊者的快速攻擊下,所有相同的復制組件都可能會受到同樣的攻擊,這樣整個系統都會被攻陷,這種弱點使得冗余技術很少被單獨使用在入侵容忍系統中,于是,又提出另一種技術——多樣性技術。該技術確保所有具有相同功能的復制組件不能具有同一漏洞,也防止攻擊者快速破解所有的復制組件。多樣性技術用不同的設計和實現方法來提供功能相同的計算行為,可以有效防止攻擊者找到冗余組件中共同的脆弱點,一般來說,多樣性可以從硬件、操作系統、軟件開發等實現。
此外,在時間和空間上常常也使用多樣性,空間多樣性要求服務必須協同定位多個地點的冗余組件去阻止局部的災難,而時間多樣性則要求用戶在不同時間段向服務器提出服務請求,幾乎在所有的容侵系統中使用了冗余技術,例如,分布式容忍入侵(DIT),容忍入侵服務器基礎組織(ITSI)分層的服務質量自適應控制容忍入侵系統(HACQIT),分布式系統中可升級的容忍體系結構(SITAR)等系統在設計中都具有這樣的能力:容納多個服務器,考慮到多樣性的緣故,每個服務器可以運行在不同的操作平臺國之上,如LiNux或者UNix或者windows之上,此外應用程序也可一在不同的環境中運行,如Apache,IIS等其他的運行環境,使用冗余,可以消除系統中的單一脆弱點,同時由于使用了多樣性方法,系統之問以異構的方式組織,減少了相關的錯誤風險,加大了攻擊者完全攻克系統的難度,但是,需要注意的是多樣性的使用也有不利的因素:首先多樣性增加了系統的復雜性,這是因為:為了獲得高級別的多樣性,對于一個服務必須有多種完全不同的實現方式,這包括了在一個混合的硬件系統上運行一個混合操作系統,使用隔離的實現梯隊開發的應用服務軟件,系統的復雜必然帶來維護上的困難,其次多樣性的代價是昂貴的,這些代價主要有以下幾個方面不同的站點需要使用不同的專家團隊來維護,許多系統管理員只知道一部分系統,而那些了解完整系統的管理員很少而且代價更大,站點必須為這些系統打上補丁,由于系統中的漏洞是不相同的,隨著系統多樣性的增加,為系統打補丁的工作也將會更復雜,多版本的服務需要額外購買或者開發費用,這必然會增加系統的費用,最后不成熟的多樣性可能存在潛在的危機,所以對系統的每一個部分都必須進行正確的多樣性等級評估,這可能需要在多樣性和容忍做一個適當的折中。
冗余性和多樣性減少了錯誤關聯的危險,但是增加了系統的復雜性,為了得到冗余性,必須提供多套設備或軟件,為了得到更高水平的多樣性,必須使用多個不同執行方式的服務,因此這種冗余性和多樣性的代價很昂貴,在使用時必須評估系統的每一部分適合什么程度的冗余和多樣,在性能和代價以及預防和容忍之間進行權衡。
2.3沙盒技術
沙盒是用來分隔用戶、服務器和其它不被信任組件的工具,它的設計思想是:當系統識別出可能的攻擊請求或發生錯誤時,依據系統檢測功能,啟動診斷程序,分析應用日志中最近一些請求,判斷出異常與可疑的請求,將異常與可疑的請求發送到“沙盒”中逐個進行測試,若某一請求導致了同樣的結果,則認為其為“惡意請求或非法請求”,被添加到“非法請求列表”中,以后同樣請求將被阻止,在此過程中,所有“非法請求”均在沙盒這個特殊的工具內運行,與其它系統和子系統之間的交互都被限制在一定的范圍內,因此,從總體上來說,不會影響到系統,ITSI和HACQIT都使用了沙盒技術。
2.4復制技術
復制技術其實是基于冗余的思想,作為一種重要的容錯機制,它是入侵容忍里的重要技術,國內一些學者也用此技術應用到入侵容忍系統中,因此本文將其單獨列出,復制技術通過對同一個服務進程(可以是數據、AgeNt、對象)進行多次復制并將復制品放在不同的服務器上,當出現故障造成某個或某幾個服務器上的服務失效時,整個系統的可用性仍然可以得到保證,這樣就防止了單點失效現象,提高了系統的可靠性(Reliability)和可用性(Availability);同時復制技術還可以避免有大量客戶提出請求而只有一個服務進程在運行導致的瓶頸現象,提高了系統的性能。
復制技術可分為兩類,一是主動復制(ActiveReplicatioN),主動復制技術也稱為狀態機方法(StateMachiNe ApprOAch),這種技術給所有的復制品賦予同等地位,沒有中心控制點,所有的復制品以相同的次序執行同一個操作,然后將結果反饋給請求者,主動復制技術中,很重要的問題就是每一個復制品的狀態都必須要始終保持一致,否則,復制就失去了存在的價值,另一種是被動復制(Passive ReplicatioN),被動復制也稱為主一備份方法(Primary一bacKupApproach),這種方法中,僅僅有一個復制品(稱之為主席)執行操作,然后將處理結果反饋給客戶端,而且主席要負責及時更新其他所有的復制品,被動復制所要求的處理能力要比主動復制的少,當出現故障時要重新選擇一個復制品作為主席。
2.5門限方案
門限方案也被稱為是秘密共享,1979年,Shamir就“如何共享一個秘密”提出秘密共享算法,該算法的基本思想是把數據D分成N份,使用其中的K份可以重新還原出數據D;如果得到的份數少于K,就不能還原出原始信息,任意知道少于K個秘密碎片, 就如同一個秘密碎片不知道時是一樣的,這就是秘密共享方案,或者叫門限方案,門限密碼學提出的既可以將權利分散又可以提高安全性,同樣,在入侵容忍系統中,可以設計一種方法來把數據D分割成N份,分布在不同的地點,至少需要K份才能重建數據D,少于K份則不能揭示任何信息。
門限方案在容忍入侵系統中的使用,主要是通過兩種方式:第一,是它本身的方式,數據共享份額被分布式的存儲在不同的物理位置,即使N—K-1個共享被攻擊而且已經威脅到系統安全,數據的機密性仍可以保持并且可以重構原始的數據,這樣就可以實現容忍入侵,從這個角度來說,本質上門限方案本身也是種冗余技術,第二, 數據使用同一個密鑰加密,這個密鑰使用門限方案分成N份,這種方法實際上并沒有給原始數據提供任何冗余,然而,為了對信息進行訪問, 必須要把加密密鑰的K份重構來得到原始的密鑰, 這實質上提供了信息的“聯合控制和監旨”。
這種方案最主要的局限是N和K的選擇,要在安全性、可用性和存儲空間上進行權衡,一個較高的N值保證了系統的高可用性,但性能低并且存儲占用量大,一個較小的K值則保證了高性能但卻是低可信任度,如果N和K的選擇合理, 門限方案將很難攻破。
2.6 恢復策略
恢復策略是入侵容忍系統中的重要策略之一,與之相對應的災難恢復手段也是入侵容忍系統工作流程的重要部分之一,恢復策略可以分為兩類:后向恢復和前向恢復。
1)后向恢復,它是比較常用的恢復策略,是指當系統發生故障時,恢復機制將系統狀態帶回到事前某一正確的狀態,這一狀態可以是事先已經通過冗余的手段保存下來的,也可以是通過一步步的回滾操作進行恢復,對于大多數服務器來說,由于服務器自身狀態在不斷的演化,因此除非直接回滾到初始狀態,否則只能一步步的進行恢復,后向恢復的操作時間可能是不可預知的,尤其是采用回滾方式進行恢復的時候,但是,只要后向恢復成功,系統就一定能夠保證處于正確的狀態,常用的后向恢復的方法有:系統重配和重置系統狀態。
2)前向恢復,它是指將系統向更新的狀態演變,使錯誤的狀態轉化為可以工作的新狀態,前向恢復策略中比較常用的方法是系統降級,當入侵容忍系統發現系統遭受入侵而進入一個含有故障的狀態,恢復機制可以關閉部分已經崩潰的組件服務,提供降級的服務,前向恢復的優點是恢復的速度較快,適用于需要提供持續服務的場合,但是,前向恢復難以將系統恢復到完美的狀態,一些常用的前向恢復的方法有:在門限密碼學中替換被泄漏的密鑰、降低系統功能和軟件升級。
系統的前向恢復和后向恢復并非是對立的,例如可以在災難恢復首先嘗試使用的是后向恢復,如果該系統在規定時間內, 無法從災難中完全恢復出來,那么就應該嘗試使用的是前向恢復策略,只有這樣才能保證系統服務的持久性。
2.7群組通信系統
在有些容忍入侵系統中,如ITUA、ITDOS、MAFTIA系統中群組通信系統是建立容忍入侵系統非常關鍵的一個構件,群組通信系統框架一般由以下三個基本的群組管理協議組成:
第一,群組成員協議,其目的是保持各對象組和復制品間狀態信息的一致,對各對象組成員進行管理,實際上,群組成員管理是一個很復雜的問題,就目前看,以下的三個問題是群組成員設計中需要集中解決的問題:
(1)如果一個組成員崩潰,實際上它就要離開了這個組,問題是,與自愿離開不一樣,它沒有對這一事實進行宣告,其他成員只有在發往它的消息得不到任何應答后,才發現這個崩潰成員已離開,一旦確定這個崩潰的成員已經停機,就從這個組中刪去該成員。
(2)加入與離開一個組必須與發送的消息同步,換句話說,從進程加入到組的瞬間開始,它必須接受所有發往該組的消息,同樣,一旦進程已經離開該組,它就不應再收到該組的任何消息,組內任何成員也不應該收到該成員發出的消息。
(3)當一個進程組中過多的進程失敗,使得該組不能繼續提供相應的任務,就需要某個協議來重建該進程組。
第二,可靠的多播協議,用于保證各對象之間安全、可靠的消息傳遞,使用該協議,即使在入侵存在的情況下消息仍能正確地傳遞給各組并保證了消息完整性。
第三,全序協議,用于保證消息按一定的順序發送,在容忍入侵系統中,為了確保所有的服務器同時執行相同的請求,就必須要某種機制來保證傳遞給所有服務器的請求都是有序的,全序協議一般是通過產生一個全局的序列數來解決這一問題的。
群組成員協議確保了所有正確進程即便在入侵存在的情況下仍能保持各群組成員的一致信息:可靠的傳播送協議保證了向各組成員間一致、可靠的多點消息傳送,同時保證了消息的完整性和一致性;全序協議使得多播傳送的消息在配置變化時仍能得到一致的傳輸。
當前已有許多專門針對群組通信系統的研究,如NEnsemble和SecureRing都是典型的群組通信系統,許多容忍入侵系統在具體實現時,都是根據系統的特定需求,在原有群組通信系統的基礎上對功能進行擴展,或者只是使用群組通信系統中的某些協議。
3 結語
入侵容忍技術作為一門新興安全技術,盡管目前在理論與應用上還不是很完善,但有著廣闊的研究與應用前景,以上介紹的包括冗余技術、多樣性技術、沙盒技術、復制技術、門限方案、恢復策略、群組通信系統等是入侵容忍的目前常見基本技術,隨著計算機技術的發展與應用,新的技術會逐步應用到入侵容忍相關領域里,推動入侵容忍理論的發展。
另外,從本質上來看,入侵容忍系統的構建就是這些技術的組合與應用。因此,研究和探索入侵容忍相關技術是入侵容忍系統走向完善、走向應用的重要工作。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:入侵容忍常見實現技術研究