• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    軟件異構冗余執(zhí)行系統(tǒng)的安全能力分析

    2021-09-28 11:03:56馬博林張錚任權張高斐鄔江興
    通信學報 2021年9期
    關鍵詞:恢復能力副本漏洞

    馬博林,張錚,任權,張高斐,鄔江興

    (1.信息工程大學,河南 鄭州 450001;2.網(wǎng)絡通信與安全紫金山實驗室,江蘇 南京 211111)

    1 引言

    在網(wǎng)絡空間安全被高度重視的今天,軟件產(chǎn)品越來越豐富的同時,新的軟件漏洞也常出現(xiàn)在人們的視野當中。漏洞的存在主要受以下幾個因素影響:1) 軟件功能復雜、代碼量龐大增加了漏洞存在的可能性,并且有限的測試能力難以應對;2) 全球化市場背景下,軟件產(chǎn)品的供應鏈條越來越長,供應鏈上的每個環(huán)節(jié)都可能成為預置漏洞的地方,美國發(fā)布的《全球供應鏈安全國家戰(zhàn)略》就提到,信息技術和網(wǎng)絡的發(fā)展是供應鏈風險發(fā)生的一個重要原因;3) 當前漏洞發(fā)現(xiàn)理論和工程技術水平都存在缺陷,在解決漏洞問題方面都不夠全面徹底。因此,無論是從信息技術的發(fā)展角度還是從供應鏈利益的博弈角度來解釋,漏洞的存在都是必然的。與此同時,軟件同質(zhì)化[1-2]使漏洞可以快速、廣泛地傳播。信息系統(tǒng)的建設多采用架構技術,因此在軟件選擇和部署上存在大量相似程序,這就使某個漏洞后門會被攻擊者應用到相同環(huán)境的目標系統(tǒng)中,為擴大攻擊范圍提供便利。

    軟件冗余執(zhí)行(SRE,software-based redundant execution)[3]利用故障發(fā)生的時空隨機性質(zhì),通過表決比較軟件副本的執(zhí)行結果,可對軟硬件故障引起的計算錯誤實現(xiàn)容錯處理。吳斌等[4]率先分析了軟件雙冗余容錯系統(tǒng)的容錯能力和性能影響因素,在非極端情況下軟件同構冗余執(zhí)行的容錯能力高于單個軟件的容錯能力。由于SRE 的容錯能力是建立在隨機性故障的基礎上,因此其無法應對由軟件漏洞和同質(zhì)化帶來的安全威脅。因為冗余的軟件副本之間具有完全相同的設計缺陷或漏洞,在相同的攻擊輸入條件下,同構冗余的軟件副本會遭受同樣的網(wǎng)絡攻擊,產(chǎn)生一致的輸出結果或同態(tài)故障,導致錯誤可以通過表決比較,失去容錯能力。

    軟件異構冗余執(zhí)行(SHRE,software-based heterogeneous redundant execution)是結合SRE和軟件多樣化[5],用于解決軟件漏洞不可避免和同質(zhì)化安全問題的主要方法。軟件副本之間在結構設計和實現(xiàn)上存在不同,甚至是采用了完全不同的技術路線,這就保證了軟件副本之間存在相同安全漏洞的概率是極低的。因此,當網(wǎng)絡攻擊輸入時,軟件副本產(chǎn)生一致的攻擊成功結果,并通過表決比較是極小概率事件。SHRE 從機理上既可感知隨機性故障,也可抵抗利用軟件漏洞的網(wǎng)絡攻擊。

    SHRE 抵抗軟件漏洞攻擊是否可靠,并且如何定量地分析SHRE 系統(tǒng)抵抗攻擊的能力,仍是需要解決的問題。本文根據(jù)SHRE 抵抗軟件漏洞攻擊的原理,通過軟件副本不同輸出結果的概率分布,證明SHRE 不存在誤報,抵抗攻擊是可靠的;提出以多樣化方式、時空維度、發(fā)生位置為基準的SHRE系統(tǒng)分類方法;考慮影響SHRE 系統(tǒng)結構的關鍵因素,包括N 模冗余、I/O 操作模式和受攻擊軟件副本的恢復能力,同時引入SHRE 系統(tǒng)的安全能力概念,分析對比軟件單副本與S0~S4不同結構SHRE系統(tǒng)的安全性。

    S0表示軟件單副本。S1表示雙模冗余結構SHRE 系統(tǒng)。S2表示三模冗余結構、主從模式、受攻擊副本無恢復能力SHRE 系統(tǒng)。S3表示三模冗余結構、代理模式、受攻擊副本無恢復能力SHRE 系統(tǒng)。S4表示三模冗余結構、受攻擊副本有恢復能力SHRE 系統(tǒng)。其中,受攻擊副本在有恢復能力的情況下,軟件副本會在多種狀態(tài)間轉(zhuǎn)移,利用可達集連續(xù)時間馬爾可夫鏈計算S4的安全性。

    分析結果表明,采用三模冗余且受攻擊軟件副本具備恢復能力設計的SHRE 系統(tǒng)更安全,同時縮短受攻擊軟件副本的恢復時間能夠有效提高其安全性。

    2 SHRE 抵抗攻擊的可靠性分析

    SHRE 是在N 模冗余技術(NMR,N-modular redundancy)[6]的基礎上,為解決軟件同質(zhì)化和漏洞不可避免的安全問題發(fā)展而來的,目前國內(nèi)外研究成果主要基于雙模冗余(DMR,dual modular redundancy)[7]和三模冗余(TMR,triple modular redundancy)[8]。基于DMR 的SHRE 通過比較雙軟件副本的結果發(fā)現(xiàn)異常,但是無法識別受攻擊軟件副本,只適用于攻擊檢測。基于TMR 的SHRE 能夠在三軟件副本的結果間進行投票表決,假設至少有2 個相同的結果被認為是正確的,系統(tǒng)將輸出多數(shù)一致的結果,或者以這個結果繼續(xù)執(zhí)行,不會影響程序的正確運行,防御效果要優(yōu)于DMR 結構,能夠檢測攻擊并識別受攻擊軟件副本,更進一步地還可以對其進行恢復。

    SHRE 系統(tǒng)中軟件副本的執(zhí)行結果不一致,一定存在軟件副本產(chǎn)生了異常結果。下面,以DMR結構的SHRE 過程為例進行證明。DMR 結構的SHRE 如圖1 所示,具有冗余的軟件副本0α和1α,設定以下集合。

    圖1 DMR 結構的SHRE

    集合S為SHRE 系統(tǒng)所有可能的執(zhí)行結果Out[O(α0),O(α1)]組成的集合,其中O(α0)和O(α1)分別為軟件副本α0和α1的執(zhí)行結果。

    集合X={x|x∈S∧x[0]≠x[1]}為軟件副本α0和1α的執(zhí)行結果不一致。

    集合Y={y|y∈S∧y[0]∈}為軟件副本α0產(chǎn)生異常執(zhí)行結果。

    集合Z={z|z∈S∧z[1]∈為軟件副本α1產(chǎn)生異常執(zhí)行結果。

    當SHRE 系統(tǒng)發(fā)現(xiàn)軟件副本α0和α1的執(zhí)行結果不一致時,若存在沒有軟件副本產(chǎn)生異常結果的可能,則該情況出現(xiàn)的概率為

    根據(jù)全概率公式可得

    SHRE 系統(tǒng)在設計實現(xiàn)時充分考慮I/O 操作、系統(tǒng)調(diào)用序列等[9]在一次執(zhí)行過程中影響軟件副本執(zhí)行結果一致性的因素。通過共享緩存、代理模式、冗余邊界[10]等方法保證SHRE系統(tǒng)在正常功能范疇內(nèi)的一次執(zhí)行過程中,軟件副本的正常執(zhí)行結果是一致的。如果Out[0]∈且Out[1]∈,那么Out∈X一定不成立,所以

    軟件副本α0和α1相互獨立運行,產(chǎn)生的執(zhí)行結果是獨立的事件,因此

    將式(2)~式(4)代入式(1),得到

    所以,當DMR 結構的SHRE 表決發(fā)現(xiàn)軟件副本的執(zhí)行結果不一致時,一定存在軟件副本產(chǎn)生了異常結果。由此可得,當具有多個軟件副本的SHRE表決發(fā)現(xiàn)結果不一致時,至少存在2 個副本(符合DMR 雙模結構)之間不一致,也一定存在軟件副本產(chǎn)生了異常結果。因此無論是DMR 結構還是具有更多副本的SHRE 抵抗攻擊,都可以發(fā)現(xiàn)異常。

    3 SHRE 的分類方法

    SHRE 通過比較軟件副本執(zhí)行結果是否一致來發(fā)現(xiàn)軟件是否遭受了惡意攻擊。SHRE 的方式可以對單一的軟件副本進行時間維度上的重復執(zhí)行,也可以在空間維度上同時執(zhí)行軟件多副本。當然,只有時間或空間資源的冗余配置是不完全的,還需要相同功能作為時間和空間維度上的主線進行關聯(lián)處理,并且考慮軟件多副本間的差異化,以及冗余執(zhí)行發(fā)生的位置,才能有效利用SHRE 感知異常。下面,按軟件多樣化、時空維度和冗余執(zhí)行的發(fā)生位置對SHRE 系統(tǒng)進行分類。

    3.1 軟件多樣化

    SHRE 實現(xiàn)軟件副本異構的途徑通常采用軟件多樣化技術,依據(jù)技術實施的不同來源和動機,軟件多樣化方法可以分為三類[11],分別是自然多樣化、自動多樣化和可控多樣化。因此,按照軟件多樣化方法的不同,將SHRE 分為基于自然多樣化的SHRE、基于自動多樣化的SHRE 和基于可控多樣化的SHRE。

    1) 基于自然多樣化的SHRE

    自然多樣化是受使用需求、技術約束、市場競爭等因素的影響,軟件在開發(fā)過程中自然形成的多樣化,例如操作系統(tǒng)軟件既包含了以Windows、Linux 為主流的國外操作系統(tǒng),也包含了深度、普華等國產(chǎn)操作系統(tǒng)。被保護的程序運行在由多樣化商用貨架產(chǎn)品構建的冗余環(huán)境中運行,通過表決機制,抵御利用運行環(huán)境中商用貨架產(chǎn)品漏洞和后門對程序的惡意攻擊。馬海龍等[12]在路由系統(tǒng)的應用層采用Cisco、Maipu、Quagga 等7 種異構冗余路由套件,實現(xiàn)了路由系統(tǒng)的主動防御。張錚等[13]基于Web 服務器的層次化結構,在操作系統(tǒng)層、虛擬化層、服務器軟件層等進行異構冗余設計,有效抵御Web 攻擊。宋克等[14]基于盛科CTC5160 交換芯片,采用異構冗余的Atom E3930-Ubuntu、QorIQ T1042-VxWorks、龍芯 2K1000-Linus 模組處理上行數(shù)據(jù),抵御未知威脅。

    基于自然多樣化的SHRE 具有的優(yōu)勢是能夠在大量的商用貨架產(chǎn)品中快速地選擇出功能等價的組件,構建SHRE 運行環(huán)境。但由于軟件的定制化開發(fā)、商用產(chǎn)品的閉源保護、運行環(huán)境的特殊依賴等原因,軟硬件的自然多樣化無法為一切軟件提供功能等價且異構冗余的運行環(huán)境,因此還需要基于自動多樣化、可控多樣化的SHRE 方法,來擴大SHRE 的應用范圍。

    2) 基于自動多樣化的SHRE

    基于自然多樣化的SHRE 只能通過多樣化的商用貨架產(chǎn)品構建SHRE 運行環(huán)境,而該方法無法針對應用程序本身進行多樣化變換。自動多樣化就是為解決該問題提出的,其在程序的可執(zhí)行文件加載到內(nèi)存前,對應用程序的代碼層面進行多樣化變換。

    第一種是對程序的源代碼進行多樣化變換,例如,馬博林等[15]基于指令集隨機化提出了抗PHP代碼注入攻擊的方法,通過修改應用源程序與解釋器實現(xiàn)原型系統(tǒng),攻擊者由外部注入的惡意代碼與可執(zhí)行代碼不一致,攻擊無法成功。第二種是在程序的源代碼編譯生成可執(zhí)行文件的過程中進行多樣化變換,例如,張宇嘉等[16]提出了綁定程序變量的動態(tài)不透明謂詞實現(xiàn)方法,在LLVM[17]基礎上對中間代碼生成階段進行混淆,并對源程序多次編譯生成異構冗余的目標代碼。第三種是針對可執(zhí)行程序進行二進制重寫,例如,姚東等[18]提出了基于冗余執(zhí)行架構的CFI(control flow integrity),通過二進制重寫技術,在間接跳轉(zhuǎn)/調(diào)用指令和返回指令處增加表決機制,通過反饋學習優(yōu)化得到執(zhí)行頻率較高的子圖Sub-CFG,以此對比程序當前運行狀態(tài),判斷是否遭受攻擊。由于編譯器的修改很容易繼承到大部分平臺中,而二進制重寫又需要對目標程序進行逆向,增加了難度,因此編譯過程的多樣化方法要優(yōu)于對可執(zhí)行程序進行二進制重寫。

    3) 基于可控多樣化的SHRE

    可控多樣化相比于自然多樣化和自動多樣化,更注重人為控制程序產(chǎn)生多樣性,并且可以擺脫對源代碼的依賴。一方面在程序功能等價的前提下盡可能產(chǎn)生相對獨立的程序版本,從“相對獨立”的更高要求出發(fā),以多版本程序(N-version programming)[19]為代表,廣泛應用于軟件容錯、可靠性設計等方面,而由于云服務中的應用程序本就存在多版本特征,該方法也被用來解決云環(huán)境下虛擬機間共存攻擊[20]。

    另一方面控制程序加載時的運行環(huán)境,從而使冗余程序在應對攻擊行為時會產(chǎn)生不一致的輸出,該方面以多變體(N-variant)[21]執(zhí)行架構為代表。例如,Cavallaro[22]設計了一種多變體架構,當2 個變體加載到該系統(tǒng)運行時,其中一個變體在地址空間分區(qū)的基礎上,將地址空間位移多個字節(jié),在2 個變體同時冗余執(zhí)行的情況下,地址空間的相對距離產(chǎn)生了變化,當攻擊者破壞指針進行地址覆蓋攻擊時,覆蓋結果不同,無法取得一致的攻擊結果;Salamat 等[23]則利用堆??臻g設計出Orchestra 多變體架構,冗余執(zhí)行的2 個變體分別采用正向和反向的堆棧生長方式,因此,基于堆棧的攻擊無法通過架構中對于I/O 操作結果的表決機制;Volckaert 等[24]基于不相交的代碼布局來保證變體間的異構性,設計出GHUMVEE 系統(tǒng),通過變體冗余執(zhí)行和表決機制有效地防御控制流劫持漏洞攻擊。

    基于可控多樣化的SHRE,異構性多集中在代碼布局、堆棧布局、地址空間布局等軟件運行時的相關因素,架構輕量、部署便捷是其主要的優(yōu)勢,但冗余軟件副本的同步和調(diào)度等工作是實現(xiàn)過程中面臨的主要困難。

    3.2 時空維度

    SHRE 還可以根據(jù)時空維度進行分類,3.1 節(jié)提及的研究成果均屬于軟件在空間維度上冗余執(zhí)行,并行同時處理相同的輸入。而阿里安全獵戶座實驗室聯(lián)合浙江大學[25]率先提出了一種新技術,即差異重播,在vanilla memory、poisoned memory 這2 種差異的情況下串行地重放程序執(zhí)行,實現(xiàn)了TimePlayer 原型系統(tǒng),通過比較串行執(zhí)行的結果有效地檢測未初始化變量的使用。

    軟件副本在表決點的等待關系會降低SHRE 的性能,DAFT[26]假設軟件副本產(chǎn)生異常執(zhí)行結果的概率很小,改進軟件副本在空間維度上需要并行同時執(zhí)行,消除主副本與從副本之間在表決點的等待關系。主副本不等待表決結果繼續(xù)執(zhí)行,由從副本對執(zhí)行結果進行表決,并發(fā)送異常處理信號。DAFT將線程級SHRE 的性能損耗降低至1.38x。

    3.3 發(fā)生位置

    SHRE 可從不同的位置實現(xiàn),從粒度上劃分可分為指令級、進程級和應用級。不同的位置和粒度會影響能夠抵御的攻擊類型,也決定了通過表決發(fā)現(xiàn)安全威脅的時機。

    1) 指令級SHRE

    指令級SHRE 通過指令級復制與比較實現(xiàn)異常數(shù)據(jù)流檢查,異構化方法有等效指令替換、等效指令序列隨機化、寄存器分配隨機化、垃圾指令插入等。SWIFT[27]在同一線程中以指令粒度地重復執(zhí)行,store 和branch 指令之前對結果進行表決,發(fā)現(xiàn)異常數(shù)據(jù)流,但是該方法在不同架構處理器中開銷差距較大,適用范圍有限。VAR3+[28]為了避免在冗余執(zhí)行過程中創(chuàng)建多個內(nèi)存位置,復制除store 和branch 指令之外的所有指令,在load、store 和branch指令之前表決執(zhí)行結果,檢查數(shù)據(jù)流是否存在不一致的情況,保證安全性的基礎上有效減小開銷。ILDC[29]使用冗余的寄存器副本復制除branch 之外的所有指令,并在store、branch 指令之前和load、move 指令之后設置表決點,比較原始操作和重復操作的結果是否一致。實驗結果表明,相比于VAR3+和SWIFT,ILDC 能夠檢測到更多的異常,并且開銷更低。

    2) 進程級SHRE

    進程級SHRE 采用2 個獨立的進程復制應用程序,并在I/O 操作或系統(tǒng)調(diào)用進行表決同步,由于現(xiàn)代操作系統(tǒng)中程序與底層交互通過系統(tǒng)調(diào)用完成,且粗粒度I/O 過程缺乏有效的安全保障,因此大多數(shù)進程級的SHRE 將系統(tǒng)調(diào)用作為表決同步點。

    GHUMVEE[24]是在進程副本發(fā)生系統(tǒng)調(diào)用時進行表決,直到進程副本都到達表決同步點并且系統(tǒng)調(diào)用結果一致才會恢復執(zhí)行,阻止惡意訪問進程空間外的代碼和數(shù)據(jù)。ReMon[30]改進了GHUMVEE的表決粒度,為安全無緊密關系的系統(tǒng)調(diào)用設置寬松的表決策略,既保證了安全防御能力,又提高了性能。潘傳幸等[31]基于等價異構程序的表決判定,保證內(nèi)存地址不泄露,有效防御控制流劫持攻擊,并且額外性能開銷不超過13%。進程作為系統(tǒng)進行資源分配和調(diào)度的基本單位,進程級SHRE 的異構方法主要來自程序加載時操作系統(tǒng)的隨機化技術,不僅可以給攻擊者帶來更大的不確定性,還可以與操作系統(tǒng)緊密配合,例如對系統(tǒng)調(diào)用號、動態(tài)加載庫的加載位置、棧生長方向、堆布局等關鍵對象的隨機化方法。線程是比進程更小的程序執(zhí)行的基本單位,冗余線程共享同一進程下的資源,不能像進程級一樣利用操作系統(tǒng)自身的隨機化技術,異構方法較為有限,因此線程級SHRE 研究成果較少。

    然而,許多程序具有不確定性行為,冗余進程間可能不具備完全相同的系統(tǒng)調(diào)用序列,因此會產(chǎn)生假陽性錯誤,這也是進程級SHRE 面臨的主要難題之一。

    3) 應用級SHRE

    應用級SHRE 以整體應用為副本,更粗粒度地比較冗余應用的輸出是否一致。大多數(shù)基于自然多樣化的SHRE 就是在應用級實現(xiàn),以提供具體應用服務的商用貨架產(chǎn)品為冗余目標。

    4 SHRE 安全能力分析

    4.1 SHRE 安全能力

    方濱興院士[32]提出了網(wǎng)絡空間安全是通過實現(xiàn)一組準確“控制”所獲得的特定能力,根據(jù)SHRE原理,該“控制”不再是安全策略、慣例規(guī)程等,而是通過軟件副本間的異構性,實現(xiàn)的一種內(nèi)生安全構造。為準確地分析SHRE 安全能力,本節(jié)給出SHRE 安全能力的定義。

    定義1SHRE 系統(tǒng)的安全能力是指系統(tǒng)在遭受漏洞攻擊的情況下,漏洞利用不成功且保持系統(tǒng)正??捎玫哪芰?。

    定義2SHRE 系統(tǒng)的安全性是指系統(tǒng)在某時刻具備安全能力的概率。

    第1 節(jié)中分析了軟件不可避免地會存在漏洞,Humphrey[33]對約13 000 個代表程序進行了多年研究發(fā)現(xiàn),開發(fā)者每編寫1 000 行代碼,就會產(chǎn)生100~150 個錯誤,因此做出如下假設。

    假設1冗余的軟件副本都存在未知漏洞。

    對于單程序副本,攻擊者能夠根據(jù)經(jīng)驗及結果不斷調(diào)整攻擊方法。

    假設2攻擊者不受專業(yè)能力、知識儲備、實驗環(huán)境等主客觀條件的約束。

    SHRE 通過表決軟件副本的輸出結果來發(fā)現(xiàn)異常,斬斷攻擊鏈,而面對內(nèi)部人攻擊或者內(nèi)部違規(guī)操作等來自軟件副本內(nèi)部的風險,SHRE 無法有效抵御。

    假設3不考慮由SHRE 系統(tǒng)內(nèi)部發(fā)起的攻擊或者違規(guī)操作。

    當攻擊者嘗試的攻擊次數(shù)無窮大時,可以成功對軟件單副本實施有效的攻擊,所以認為隨著攻擊時間t增加,對軟件單副本攻擊成功的可能性也在增加。因此軟件單副本(記為S0)在持續(xù)攻擊下,t時刻還未被攻擊成功的可能性,即軟件單副本t時刻的安全性表示為

    4.2 影響SHRE 安全能力的結構

    當SHRE 系統(tǒng)通過表決發(fā)現(xiàn)異常后,系統(tǒng)能否繼續(xù)保證安全可用,主要受系統(tǒng)的I/O 操作模式和異常處理方法影響。

    SHRE 的I/O 操作模式是為避免冗余的軟件副本在重復多次執(zhí)行同一讀寫操作后產(chǎn)生影響表決的假陽性問題采取的關鍵設計,將與讀寫操作相關的系統(tǒng)調(diào)用、功能函數(shù)或代碼片段只執(zhí)行一次,如圖2 所示。I/O 操作模式主要分為主從模式和代理模式,其中,主從模式中冗余的軟件副本分為主副本和從副本,主副本負責執(zhí)行讀寫操作,并將執(zhí)行結果復制給其他的從副本,保證了所有軟件副本可以獲得一致的讀寫結果。代理模式則由分發(fā)器代替軟件副本執(zhí)行讀寫操作,將執(zhí)行結果復制給所有軟件副本。

    圖2 解決假陽性問題的關鍵設計

    當表決發(fā)現(xiàn)差異時,SHRE 系統(tǒng)可以選擇停止所有軟件副本來阻止攻擊,這種情況雖然有效抵御了攻擊,但影響了軟件功能的可用性。為了保證軟件功能持續(xù)可用,異常處理也可以選擇停止或隔離異常的軟件副本,加入新生成的副本,并復制獲得正常副本狀態(tài)。該方式對于代理模式,僅需要考慮新生成副本與異常副本之間的異構性,避免遭受連續(xù)攻擊。對于主從模式,需要相對復雜的處理過程,如果主副本發(fā)生異常,因為其控制著讀寫操作,首先需要選擇正常的從副本作為新的主副本,例如,VARAN[34]通過Unix 域套接字將文件描述符復制給新的主軟件副本,同時加入新生成的從副本;如果從副本發(fā)生異常,則按照代理模式的方法進行異常副本替換。

    4.3 SHRE 安全場景

    SHRE 除了發(fā)現(xiàn)和阻斷攻擊以外,還可以進行反饋調(diào)整,對受攻擊軟件副本進行恢復,提高系統(tǒng)的安全性,本文第2 節(jié)分析了TMR 比DMR 結構的優(yōu)勢。例如,N-Variant[21]、Orchestra[23]、Buddy[35]在識別到受攻擊軟件副本后會通過重啟的方式來恢復,Exterminator[36]則能夠在運行時生成內(nèi)存補丁來糾正發(fā)現(xiàn)的內(nèi)存錯誤,對受攻擊軟件副本進行恢復。本節(jié)以受攻擊軟件副本是否具備恢復能力為基準,結合主從/代理模式和DMR/TMR 結構,對多種SHRE 結構進行安全能力分析。

    1) 受攻擊副本無恢復能力

    受攻擊副本無恢復能力的情況下,SHRE 不存在狀態(tài)的轉(zhuǎn)移和恢復,主要利用軟件單副本對攻擊的抵抗能力度量DMR/TMR 結構SHRE 的安全性。

    DMR 結構無論是主從模式還是代理模式,任何單軟件副本被攻擊成功,系統(tǒng)通過表決感知到輸出不一致后都會失去安全能力,安全場景如下。

    場景1DMR 結構,雙冗余軟件副本均未被攻擊成功。DMR 結構SHRE 系統(tǒng)(記為S1)的安全性可以表示為

    TMR 結構在主從模式下,由于主副本負責執(zhí)行讀寫操作,是其余2 個從副本運行的基礎,因此一旦主副本被攻擊成功,系統(tǒng)將失去安全能力;同時為不影響程序正確運行,系統(tǒng)必須保證不少于2 個副本未被攻擊成功。安全場景如下。

    場景2TMR 主從模式結構,主副本未被攻擊成功且2 個從副本未被全部攻擊成功。TMR 結構、主從模式、受攻擊副本無恢復能力SHRE 系統(tǒng)(記為S2)的安全性可以表示為

    TMR 結構在代理模式下,副本間不存在主從關系,只要有不少于2 個副本被攻擊成功,系統(tǒng)將會失去安全能力。安全場景如下。

    場景3TMR 代理模式結構,不少于2 個程序副本未被攻擊成功。TMR 結構、代理模式、受攻擊副本無恢復能力SHRE 系統(tǒng)(記為S3)的安全性可以表示為

    2) 受攻擊副本有恢復能力

    受攻擊副本有恢復能力的情況下,副本狀態(tài)會在未被攻擊成功和被攻擊成功之間轉(zhuǎn)移,因此利用可達集連續(xù)時間馬爾可夫鏈(CTMC,continuous time Markov chain)模型度量TMR 結構SHRE 的安全性。

    TMR 結構SHRE 的CTMC 模型如圖3 所示,模型的穩(wěn)定狀態(tài)如表1 所示。其中,λ0、λ1、λ2分別表示副本α0、α1、α2被攻擊成功的速率,即每小時可成功攻擊的次數(shù)(次/小時),其倒數(shù)表示副本被攻擊成功的平均時間;μ0、μ1、μ2分別表示副本α0、α1、α2被攻擊成功后恢復的速率,即每小時可完成恢復的次數(shù)(次/小時),其倒數(shù)表示副本恢復的平均時間,μ值越大恢復速率越快。

    圖3 TMR 結構SHRE 的CTMC 模型

    表1 中,狀態(tài)M1表示各副本正常運行,副本漏洞均未被利用成功,稱為漏洞休眠態(tài);狀態(tài)M2、M3、M4分別表示副本α0、α1、α2被攻擊成功,此時SHRE 系統(tǒng)通過表決能夠感知異常輸出,阻斷攻擊,統(tǒng)稱為異常感知態(tài);狀態(tài)M5表示在狀態(tài)M2、M3、M4的基礎上,又產(chǎn)生了新的被攻擊成功副本,系統(tǒng)失去安全能力,稱為系統(tǒng)失效態(tài)。安全場景如下。

    表1 TMR 結構SHRE 系統(tǒng)的CTMC 模型穩(wěn)定狀態(tài)

    場景4受攻擊副本有恢復能力的情況下,系統(tǒng)處于漏洞休眠態(tài)和異常感知態(tài)。TMR 結構、受攻擊副本有恢復能力SHRE 系統(tǒng)(記為S4)的安全性可以表示為

    其中,P1、P2、P3、P4為CTMC 模型瞬時處于狀態(tài)M1、M2、M3、M4的概率。

    4.4 SHRE 安全性計算

    S1~S3結構的安全性計算,只需要將式(6)代入到式(7)~式(9)中即可。S4結構的安全性計算需要先求解P1、P2、P3、P4,系統(tǒng)由狀態(tài)Me轉(zhuǎn)移至當前狀態(tài)Me和下一狀態(tài)Mf的轉(zhuǎn)移概率分別記為Pee和Pef,因此狀態(tài)之間的轉(zhuǎn)移矩陣為

    由U構造CTMC 模型轉(zhuǎn)移速率矩陣[37],狀態(tài)Me到狀態(tài)Mf的轉(zhuǎn)移速率可以表示為

    Q是以qef為元素的矩陣。概率向量P(t)=(P1(t),P2(t),…,P5(t)),其中Pe(t)為系統(tǒng)處于狀態(tài)Me的瞬時概率,可得到微分方程

    根據(jù)CTMC 模型狀態(tài)轉(zhuǎn)移方程的推導方法,TMR 結構SHRE 的CTMC 模型狀態(tài)轉(zhuǎn)移方程為

    相比于精心構造并實施一次網(wǎng)絡攻擊的速率,軟件副本的恢復速率要快很多,其中λ=1/4,μ=15、30、60、120。計算得到TMR 結構SHRE 的CTMC模型各狀態(tài)的瞬時概率為

    因此,將式(17)和式(18)代入S4結構的安全性計算式(10)中,設μ=60,可得到系統(tǒng)瞬時處于漏洞休眠態(tài)、異常感知態(tài)、系統(tǒng)失效態(tài)的概率,計算結果如圖4 所示,縱軸表示系統(tǒng)處于曲線所代表狀態(tài)的概率,橫軸表示系統(tǒng)遭受攻擊的時間。系統(tǒng)處于漏洞休眠態(tài)的概率隨攻擊時間的持續(xù)而下降,處于系統(tǒng)失效態(tài)的概率隨攻擊時間的持續(xù)而上升。

    圖4 TMR 結構SHRE 系統(tǒng)瞬時各狀態(tài)整體變化曲線

    當μ=15、30、60、120 時,漏洞休眠態(tài)、異常感知態(tài)、系統(tǒng)失效態(tài)的對比結果分別如圖5~圖7所示,相應地縱軸表示在不同的副本恢復速率下系統(tǒng)分別處于漏洞休眠態(tài)、異常感知態(tài)、系統(tǒng)失效態(tài)的概率,橫軸均表示系統(tǒng)遭受攻擊的時間。系統(tǒng)的副本恢復速率越快,在持續(xù)攻擊下系統(tǒng)失效越慢,反之,系統(tǒng)的副本恢復速率越慢,在持續(xù)攻擊下系統(tǒng)失效越快。

    圖5 TMR 結構SHRE 系統(tǒng)瞬時漏洞休眠態(tài)變化曲線

    圖6 TMR 結構SHRE 系統(tǒng)瞬時異常感知態(tài)變化曲線

    圖7 TMR 結構SHRE 系統(tǒng)瞬時系統(tǒng)失效態(tài)變化曲線

    完成S4結構的安全性計算分析后,令λ=1/4,μ=60,計算S1~S3結構的安全性。S0結構和S1~S4結構的安全性結果如圖8 所示,縱軸表示軟件單副本及不同結構SHRE 系統(tǒng)的安全性(即未被攻擊成功)具備安全能力的概率,橫軸表示系統(tǒng)遭受攻擊的時間。

    圖8 軟件單副本與不同結構SHRE 系統(tǒng)的安全性變化曲線

    DMR 結構SHRE 系統(tǒng)中任何單軟件副本被攻擊成功,系統(tǒng)通過表決感知到輸出不一致后都會失去安全能力,通過觀察S1和S2的結果曲線可知,DMR 結構SHRE 系統(tǒng)的安全能力要低于單軟件副本安全能力,這是由于系統(tǒng)感知異常后服務不可用造成的。但SHRE 在感知異常后能阻斷攻擊結果輸出或基于數(shù)據(jù)流的惡意控制。而單軟件副本會遭受持續(xù)的信息泄露或惡意控制,比起服務的不可用,影響更嚴重。

    通過觀察S3和S4的結果曲線可知,TMR 結構SHRE 系統(tǒng)的安全能力高于單軟件副本安全能力,不僅可以阻斷信息泄露或惡意控制,還能提高可用性,保證系統(tǒng)較高的安全能力。其中受攻擊副本有恢復能力的TMR 結構SHRE 系統(tǒng)的安全性要遠高于其他結構的安全性,是安全能力表現(xiàn)最好的SHRE 系統(tǒng)結構。

    5 結束語

    本文在研究SHRE 原理和SHRE 系統(tǒng)分類的基礎上,引入SHRE 系統(tǒng)的安全能力概念,總結包括N 模冗余、I/O 操作模式以及受攻擊軟件副本恢復能力在內(nèi),影響系統(tǒng)安全能力的結構因素,分析不同結構SHRE 系統(tǒng)下的安全場景。計算結果表明,受攻擊副本有恢復能力的TMR 結構SHRE 系統(tǒng)的安全性最高,安全能力表現(xiàn)最好,并且縮短受攻擊軟件副本的恢復時間能夠提高系統(tǒng)安全性。

    猜你喜歡
    恢復能力副本漏洞
    產(chǎn)業(yè)鏈協(xié)同創(chuàng)新對組織韌性的提升效果研究
    會計之友(2024年14期)2024-07-05 02:38:38
    豬繁殖面臨的“全健康”挑戰(zhàn)
    武術訓練與飲食搭配對運動員恢復能力的影響
    漏洞
    面向流媒體基于蟻群的副本選擇算法①
    不同小麥品種苗期抗旱性的灰色關聯(lián)度分析及評價
    副本放置中的更新策略及算法*
    三明:“兩票制”堵住加價漏洞
    漏洞在哪兒
    兒童時代(2016年6期)2016-09-14 04:54:43
    高鐵急救應補齊三漏洞
    资中县| 耿马| 阿鲁科尔沁旗| 鸡西市| 齐河县| 渝北区| 金寨县| 公主岭市| 忻城县| 察雅县| 格尔木市| 隆尧县| 安顺市| 犍为县| 邮箱| 定州市| 东山县| 济宁市| 建德市| 杭锦后旗| 南华县| 文安县| 石泉县| 河南省| 深圳市| 句容市| 开平市| 双城市| 龙山县| 开平市| 滁州市| 华坪县| 霍州市| 饶河县| 南川市| 井研县| 理塘县| 凌海市| 沧源| 延长县| 宜城市|