亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2021-09-28 11:03:56馬博林張錚任權(quán)張高斐鄔江興
        通信學(xué)報(bào) 2021年9期
        關(guān)鍵詞:恢復(fù)能力副本漏洞

        馬博林,張錚,任權(quán),張高斐,鄔江興

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

        1 引言

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

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

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

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

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

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

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

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

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

        圖1 DMR 結(jié)構(gòu)的SHRE

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

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

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

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

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

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

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

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

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

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

        3 SHRE 的分類方法

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

        3.1 軟件多樣化

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

        1) 基于自然多樣化的SHRE

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

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

        2) 基于自動多樣化的SHRE

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

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

        3) 基于可控多樣化的SHRE

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

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

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

        3.2 時(shí)空維度

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

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

        3.3 發(fā)生位置

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

        1) 指令級SHRE

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

        2) 進(jìn)程級SHRE

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

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

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

        3) 應(yīng)用級SHRE

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

        4 SHRE 安全能力分析

        4.1 SHRE 安全能力

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

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

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

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

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

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

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

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

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

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

        4.2 影響SHRE 安全能力的結(jié)構(gòu)

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

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

        圖2 解決假陽性問題的關(guān)鍵設(shè)計(jì)

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

        4.3 SHRE 安全場景

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

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

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

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

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

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

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

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

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

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

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

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

        圖3 TMR 結(jié)構(gòu)SHRE 的CTMC 模型

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

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

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

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

        4.4 SHRE 安全性計(jì)算

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

        由U構(gò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的瞬時(shí)概率,可得到微分方程

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

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

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

        圖4 TMR 結(jié)構(gòu)SHRE 系統(tǒng)瞬時(shí)各狀態(tài)整體變化曲線

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

        圖5 TMR 結(jié)構(gòu)SHRE 系統(tǒng)瞬時(shí)漏洞休眠態(tài)變化曲線

        圖6 TMR 結(jié)構(gòu)SHRE 系統(tǒng)瞬時(shí)異常感知態(tài)變化曲線

        圖7 TMR 結(jié)構(gòu)SHRE 系統(tǒng)瞬時(shí)系統(tǒng)失效態(tài)變化曲線

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

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

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

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

        5 結(jié)束語

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

        猜你喜歡
        恢復(fù)能力副本漏洞
        產(chǎn)業(yè)鏈協(xié)同創(chuàng)新對組織韌性的提升效果研究
        豬繁殖面臨的“全健康”挑戰(zhàn)
        武術(shù)訓(xùn)練與飲食搭配對運(yùn)動員恢復(fù)能力的影響
        漏洞
        面向流媒體基于蟻群的副本選擇算法①
        不同小麥品種苗期抗旱性的灰色關(guān)聯(lián)度分析及評價(jià)
        副本放置中的更新策略及算法*
        三明:“兩票制”堵住加價(jià)漏洞
        漏洞在哪兒
        高鐵急救應(yīng)補(bǔ)齊三漏洞
        国产三级在线观看不卡| 国产一区二区三区久久精品 | 国产欧美综合一区二区三区| 女的扒开尿口让男人桶30分钟| 韩国无码av片在线观看网站| 国产成人美女AV| 久久久精品亚洲懂色av| 大香伊蕉国产av| 亚洲mv国产精品mv日本mv| 国产不卡一区在线视频| 国产三级av大全在线爽| 日日噜噜夜夜狠狠久久丁香五月 | 男女打扑克视频在线看| 午夜性刺激免费看视频| 亚洲人成网址在线播放| 国产欧美日韩网站| 看全色黄大黄大色免费久久| 国产精品亚洲一二三区| 欧美成人猛片aaaaaaa| 精品少妇爆乳无码av无码专区| 国产精品亚洲一区二区杨幂| 久久激情人妻中文字幕| 偷拍韩国美女洗澡一区二区三区 | 国产乡下三级全黄三级| 日韩av高清无码| 在线你懂| 色婷婷久久99综合精品jk白丝| 男女上床免费视频网站| 一本久道综合色婷婷五月 | av素人中文字幕在线观看| 亚洲av永久无码精品网址| 无码丰满少妇2在线观看| 漂亮的小少妇诱惑内射系列| av免费资源在线观看| 亚洲av永久无码天堂网小说区| 亚洲av无码第一区二区三区| 国产亚洲欧美另类第一页| 色婷婷亚洲精品综合影院| 欧美性xxxxx极品老少| 国产香蕉尹人在线观看视频| av手机在线天堂网|