高 巖,王丹陽(yáng),馮四風(fēng),顧 青
1(河南理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,河南 焦作454000)2(普華誠(chéng)信信息技術(shù)有限公司,上海201403)
E-mail:616446361@qq.com
身份認(rèn)證網(wǎng)關(guān)是在檢測(cè)用戶(hù)身份真實(shí)性基礎(chǔ)上進(jìn)行訪問(wèn)控制的重要設(shè)備,是網(wǎng)絡(luò)資源訪問(wèn)控制和安全防護(hù)的重要抓手,其重要性不言而喻.隨著網(wǎng)絡(luò)空間安全技術(shù)的飛速發(fā)展,身份認(rèn)證網(wǎng)關(guān)安全防御技術(shù)水平日益提高,也出現(xiàn)了很多惡意攻擊行為,特別是未知的安全風(fēng)險(xiǎn)和漏洞后門(mén),給身份認(rèn)證網(wǎng)關(guān)的發(fā)展帶來(lái)了更多的挑戰(zhàn).
目前身份認(rèn)證網(wǎng)關(guān)自身的安全防御手段是基于現(xiàn)有的攻擊行為和漏洞缺陷進(jìn)行安全設(shè)計(jì)和防護(hù),只能對(duì)于特定目標(biāo)進(jìn)行局部防御,在應(yīng)對(duì)未知攻擊手段甚至是難以檢測(cè)到的攻擊和未知漏洞時(shí)存在一定的局限性.正常而言用戶(hù)發(fā)送請(qǐng)求后,由網(wǎng)關(guān)對(duì)用戶(hù)進(jìn)行認(rèn)證和鑒權(quán),并將通過(guò)認(rèn)證的身份信息發(fā)送給待訪問(wèn)的應(yīng)用服務(wù),用戶(hù)才能正常的訪問(wèn)應(yīng)用系統(tǒng).攻擊者一旦對(duì)關(guān)鍵路徑發(fā)動(dòng)攻擊、植入未知后門(mén),以竊取用戶(hù)敏感信息,則會(huì)給整個(gè)身份認(rèn)證網(wǎng)關(guān)都帶來(lái)安全隱患.
容錯(cuò)技術(shù)[1]是在冗余技術(shù)的基礎(chǔ)上形成,通過(guò)引入多個(gè)相同資源來(lái)減少系統(tǒng)故障發(fā)生的概率,當(dāng)對(duì)象目標(biāo)遭受攻擊,系統(tǒng)具有容侵能力[2].美國(guó)國(guó)防部高級(jí)研究計(jì)劃局啟動(dòng)研究入侵容忍技術(shù),該研究稱(chēng)為有機(jī)保障與生存信息系統(tǒng)(Organically Assure & Survival Information System,OASIS)計(jì)劃,形成的典型技術(shù)有適用于分布式服務(wù)的可擴(kuò)展入侵容體系結(jié)構(gòu)(A Scalable Intrusion Tolerant Architecture for Distributed Services,SITAR)[3]、分布式在線安全認(rèn)證機(jī)構(gòu)(A Secure Distributed On-line Certification Authority,COCA)[4]、不可預(yù)測(cè)的自適應(yīng)性分布式在線安全認(rèn)證機(jī)構(gòu)(A Secure Distributed On-line Certification Authority,COCA)[4]、不可預(yù)測(cè)的自適應(yīng)性容侵(Intrusion Tolerance by Unpredictable Adaptation,ITUA)[5].SITAR是一種用于分布式服務(wù)可擴(kuò)展的入侵容忍架構(gòu),使用容錯(cuò)計(jì)算技術(shù),提供對(duì)商用成品(Commercial Off-The-Shelf,COTS)服務(wù)器以及內(nèi)部組件的檢測(cè)機(jī)制來(lái)獲取錯(cuò)誤信息,確定潛在危險(xiǎn)源.COCA是第一個(gè)將拜占庭表決與主動(dòng)恢復(fù)集成的系統(tǒng),并開(kāi)發(fā)了新的主動(dòng)恢復(fù)協(xié)議,為協(xié)議的有效性給出定量評(píng)估.ITUA是一套基于冗余技術(shù)的拜占庭容錯(cuò)和自適應(yīng)中間件機(jī)制,將這些機(jī)制集成在自適應(yīng)入侵容忍系統(tǒng)的框架中,ITUA仍屬于被動(dòng)防御的范疇,但是為主動(dòng)防御技術(shù)的推動(dòng)與發(fā)展提供了思路.
鄔院士在文獻(xiàn)[6,7]中對(duì)當(dāng)前計(jì)算機(jī)網(wǎng)絡(luò)的安全現(xiàn)狀及防御體系的脆弱性做了概述,給出了擬態(tài)防御架構(gòu)的相關(guān)概念、原理及方法,并對(duì)該防御原理做了評(píng)估測(cè)試.文獻(xiàn)[8]介紹了軟硬件多樣化防御的主要技術(shù)手段,對(duì)比分析主流防御技術(shù),并將擬態(tài)防御與多種主動(dòng)防御手段相結(jié)合,為擬態(tài)身份認(rèn)證網(wǎng)關(guān)體系架構(gòu)的開(kāi)發(fā)與設(shè)計(jì)提供了解決方法.文獻(xiàn)[9]提出一種新型混淆技術(shù)來(lái)實(shí)現(xiàn)程序多樣性變化,為擬態(tài)技術(shù)的發(fā)展提供了新的防護(hù)策略.文獻(xiàn)[10]分析了漏洞后門(mén)對(duì)網(wǎng)絡(luò)空間的威脅,對(duì)動(dòng)態(tài)異構(gòu)冗余系統(tǒng)建立了數(shù)學(xué)模型,通過(guò)對(duì)該模型的求解證明其具有良好的抗攻擊能力,但并未在具體場(chǎng)景中分析特定異構(gòu)部件下執(zhí)行體調(diào)度的安全性問(wèn)題.在路由器的防御方面,文獻(xiàn)[11,12]將擬態(tài)安全理念運(yùn)用到路由器當(dāng)中,并對(duì)DHR路由器的實(shí)現(xiàn)架構(gòu)給出了測(cè)試驗(yàn)證方法,提高路由器的在抗惡意攻擊方面的主動(dòng)防御能力,但對(duì)于感知決策部分未給出相應(yīng)的算法解決方案,不能有效捕捉執(zhí)行體內(nèi)部發(fā)生的入侵行為.文獻(xiàn)[13,14]分析了web服務(wù)器的安全現(xiàn)狀,并對(duì)其在擬態(tài)防御機(jī)下進(jìn)行了可行性驗(yàn)證與實(shí)現(xiàn),為擬態(tài)技術(shù)的研究和發(fā)展提供了新的思路.文獻(xiàn)[15,16]討論了與入侵容忍系統(tǒng)安全屬性有關(guān)的各類(lèi)問(wèn)題,通過(guò)隨機(jī)建模技術(shù)捕獲攻擊者的入侵行為以及系統(tǒng)對(duì)該行為的響應(yīng),并對(duì)入侵容忍能力進(jìn)行安全量化分析,提出一種種安全度量計(jì)算方法,可以在很大程度上減少入侵容忍系統(tǒng)中出現(xiàn)的常見(jiàn)漏洞,對(duì)于提升擬態(tài)認(rèn)證身份網(wǎng)關(guān)容侵能力具有指導(dǎo)意義.
目前針對(duì)擬態(tài)防御的研究主要集中在方法原理、安全分析以及路由器、web服務(wù)器等相關(guān)領(lǐng)域,而身份認(rèn)證網(wǎng)關(guān)在擬態(tài)防御方面的安全問(wèn)題,缺少相關(guān)模型研究與分析.本文針對(duì)身份認(rèn)證網(wǎng)關(guān)存在的未知安全威脅,將擬態(tài)防御技術(shù)引入要身份認(rèn)證網(wǎng)關(guān)中,改變傳統(tǒng)身份認(rèn)證網(wǎng)關(guān)被動(dòng)防御局面,變被動(dòng)防御為主動(dòng)防御,提高網(wǎng)關(guān)自身的防御能力及抗攻擊能力.在不改變?cè)芯W(wǎng)關(guān)架構(gòu)和服務(wù)功能的基礎(chǔ)上,構(gòu)建擬態(tài)身份認(rèn)證網(wǎng)關(guān)系統(tǒng)架構(gòu),利用多個(gè)執(zhí)行體構(gòu)建出一種不確定的、復(fù)雜的執(zhí)行環(huán)境,提高身份認(rèn)證網(wǎng)關(guān)對(duì)抗入侵風(fēng)險(xiǎn)的能力,增大攻擊難度,提升擬態(tài)身份認(rèn)證網(wǎng)關(guān)的安全性,達(dá)到一種“以不變應(yīng)萬(wàn)變”的防御效果.
擬態(tài)身份認(rèn)證網(wǎng)關(guān)作為一種防御機(jī)制,不依賴(lài)于外在的防護(hù)手段,便可有效提高系統(tǒng)的內(nèi)生安全性.在擬態(tài)防御中異構(gòu)性是實(shí)現(xiàn)系統(tǒng)多樣化的基礎(chǔ),冗余性是提升系統(tǒng)容侵能力的保證,動(dòng)態(tài)性是實(shí)現(xiàn)系統(tǒng)不確定性的關(guān)鍵.
異構(gòu)執(zhí)行體要保證兩個(gè)功能等價(jià)的執(zhí)行部件具有差異性,這樣執(zhí)行體同時(shí)失效的概率才會(huì)進(jìn)一步降低.擬態(tài)身份認(rèn)證網(wǎng)關(guān)可從多樣化編譯、編程語(yǔ)言、服務(wù)器軟件等不同的層面實(shí)現(xiàn)異構(gòu)性,能多方面多角度共同抵御惡意攻擊.
冗余性在擬態(tài)防御中要求至少三個(gè)執(zhí)行體同時(shí)執(zhí)行,才能判斷異構(gòu)執(zhí)行體最終輸出結(jié)果的正確性.如果僅有兩個(gè)執(zhí)行體,當(dāng)執(zhí)行體受到攻擊時(shí),就很難判斷出哪個(gè)執(zhí)行體遭到破壞.在擬態(tài)身份認(rèn)證網(wǎng)關(guān)中冗余性具有良好的容侵容錯(cuò)能力.
動(dòng)態(tài)性作為擬態(tài)身份認(rèn)證網(wǎng)關(guān)主動(dòng)防御的一種策略,可以根據(jù)系統(tǒng)運(yùn)行情況進(jìn)行策略性的調(diào)度,以此增加系統(tǒng)的不確定性,降低攻擊者惡意分析系統(tǒng)漏洞的概率,提高系統(tǒng)的安全性.
原理架構(gòu)如圖1所示,擬態(tài)身份認(rèn)證網(wǎng)關(guān)主要由消息分發(fā)、異構(gòu)執(zhí)行體以及多模判決三個(gè)功能模塊組成.該模式的核心是通過(guò)功能等價(jià)的異構(gòu)執(zhí)行體,執(zhí)行等價(jià)的業(yè)務(wù)功能,有效避免同構(gòu)模塊中出現(xiàn)的相同安全漏洞.
圖1 擬態(tài)身份認(rèn)證網(wǎng)關(guān)原理架構(gòu)圖Fig.1 Architecture of mimic identity authentication gateway
消息分發(fā):通過(guò)反向代理服務(wù)建立內(nèi)外網(wǎng)的連接請(qǐng)求,將用戶(hù)的請(qǐng)求通過(guò)消息分發(fā)接口發(fā)送至各異構(gòu)執(zhí)行體,發(fā)送的請(qǐng)求消息使用消息中間件可以較好地兼容異構(gòu)環(huán)境下消息格式標(biāo)準(zhǔn)的差異性問(wèn)題,使消息在傳輸中降低數(shù)據(jù)間的耦合度,提升消息傳輸?shù)陌踩?在整個(gè)消息傳遞的過(guò)程中,會(huì)根據(jù)用戶(hù)訪問(wèn)量生成一張規(guī)則控制表,為訪問(wèn)量大的用戶(hù)提供快速的服務(wù)通道,也能方便有效地檢測(cè)用戶(hù)的訪問(wèn)行為.
異構(gòu)冗余執(zhí)行體:采用不同的構(gòu)件,實(shí)現(xiàn)相同的功能,最大程度確保執(zhí)行體的異構(gòu)性足夠大,異構(gòu)數(shù)量足夠多,這樣異構(gòu)執(zhí)行體之間擁有相同或相似的安全漏洞的概率大大降低,攻擊者很難對(duì)各執(zhí)行體的安全漏洞逐個(gè)攻擊.身份認(rèn)證網(wǎng)關(guān)執(zhí)行體所具備的異構(gòu)性和冗余性是實(shí)現(xiàn)擬態(tài)防御的基礎(chǔ).對(duì)異構(gòu)冗余執(zhí)行體內(nèi)各功能部件在1.2節(jié)將進(jìn)行詳細(xì)設(shè)計(jì)及分析.
多模判決:對(duì)異構(gòu)執(zhí)行體產(chǎn)生的結(jié)果進(jìn)行一致性判決,即對(duì)于用戶(hù)的訪問(wèn)請(qǐng)求得到的響應(yīng)結(jié)果應(yīng)當(dāng)是一致的,若不一致則說(shuō)明某個(gè)執(zhí)行體受到攻擊.判決結(jié)果不能感知到執(zhí)行體哪個(gè)環(huán)節(jié)出現(xiàn)異常,但能夠檢驗(yàn)出哪個(gè)異構(gòu)執(zhí)行體輸出的結(jié)果是否被篡改或破壞.統(tǒng)計(jì)執(zhí)行體輸出結(jié)果的異常狀態(tài),分析對(duì)應(yīng)的問(wèn)題場(chǎng)景,對(duì)異常消息進(jìn)行預(yù)警處置.多模判決作為擬態(tài)身份認(rèn)證網(wǎng)關(guān)中關(guān)鍵的組成部件,是擬態(tài)防御中最后一道安全防線.
2.2.1 身份認(rèn)證
身份認(rèn)證是擬態(tài)身份認(rèn)證網(wǎng)關(guān)中至關(guān)重要的核心部分,基于數(shù)字證書(shū)來(lái)實(shí)現(xiàn)強(qiáng)身份認(rèn)證,能夠有效的解決網(wǎng)絡(luò)環(huán)境中系統(tǒng)用戶(hù)身份的真實(shí)性問(wèn)題,保證用戶(hù)身份的安全性.身份認(rèn)證結(jié)構(gòu)如圖2所示,主要由身份認(rèn)證通信接口、用戶(hù)驗(yàn)證服務(wù)和密碼運(yùn)算三個(gè)功能模塊組成.
圖2 擬態(tài)身份認(rèn)證結(jié)構(gòu)模型Fig.2 Structural model of mimic identity authentication
在擬態(tài)身份認(rèn)證網(wǎng)關(guān)中,這三個(gè)功能模塊可構(gòu)成一個(gè)完整的功能執(zhí)行體,且執(zhí)行體個(gè)數(shù)不少于三個(gè),用戶(hù)身份信息的正確性驗(yàn)證就需要在異構(gòu)執(zhí)行體中完成,各執(zhí)行體都有一套功能等價(jià)的執(zhí)行環(huán)境,這些異構(gòu)執(zhí)行體之間相互獨(dú)立地進(jìn)行用戶(hù)身份信息的驗(yàn)證,有效保證身份信息的真實(shí)性.
1)通過(guò)通信接口接收用戶(hù)認(rèn)證請(qǐng)求,并獲取用戶(hù)證書(shū)及簽名值.
2)用戶(hù)驗(yàn)證模塊根據(jù)接收到的用戶(hù)簽名值及生成的隨機(jī)數(shù)等信息,驗(yàn)證用戶(hù)授權(quán)信息的簽名值以及用戶(hù)擁有的權(quán)限,防止授權(quán)列表的篡改偽造.
3)密碼運(yùn)算模塊是身份認(rèn)證的核心部分,擬態(tài)身份認(rèn)證網(wǎng)關(guān)為了提高身份認(rèn)證的正確性,每個(gè)執(zhí)行體中都含有一個(gè)密碼運(yùn)算模塊,認(rèn)證用戶(hù)的簽名和證書(shū).密碼運(yùn)算模塊采用已通過(guò)國(guó)家密碼管理局安全審查的密碼卡,為擬態(tài)身份認(rèn)證網(wǎng)關(guān)提供快速、高效的密碼運(yùn)算和密鑰管理服務(wù).
2.2.2 訪問(wèn)控制
訪問(wèn)控制是基于身份認(rèn)證層產(chǎn)生訪問(wèn)規(guī)則在網(wǎng)絡(luò)層實(shí)現(xiàn)IP數(shù)據(jù)包進(jìn)出的控制,從而實(shí)現(xiàn)訪問(wèn)的可管可控.
擬態(tài)身份認(rèn)證訪問(wèn)控制位于身份認(rèn)證和授權(quán)管理之間,接收身份認(rèn)證層形成的規(guī)則信息,根據(jù)生成的規(guī)則信息首先要在規(guī)則控制表中比對(duì)IP數(shù)據(jù)包協(xié)議、端口、流量等信息,判斷用戶(hù)請(qǐng)求能否通過(guò).在比對(duì)過(guò)程中若規(guī)則控制表中無(wú)相應(yīng)信息,則在身份與權(quán)限數(shù)據(jù)庫(kù)中查找,若查到對(duì)應(yīng)信息則用戶(hù)訪問(wèn)請(qǐng)求通過(guò),若無(wú)相關(guān)信息則表示用戶(hù)沒(méi)有該訪問(wèn)權(quán)限,請(qǐng)求失敗返回錯(cuò)誤信息.
在發(fā)出訪問(wèn)請(qǐng)求之后,且該請(qǐng)求在抵達(dá)目的訪問(wèn)地址之前,只要發(fā)現(xiàn)向異構(gòu)執(zhí)行體發(fā)送的請(qǐng)求消息存在異常,訪問(wèn)控制層可先行截取該異常消息,并取得對(duì)該消息的控制權(quán)限,此時(shí)訪問(wèn)控制層對(duì)截取到的消息進(jìn)行攔截,阻止該消息向后傳遞.能有效過(guò)濾非授權(quán)用戶(hù)請(qǐng)求,同時(shí)也能避免非法的惡意接入行為.
2.2.3 授權(quán)管理與數(shù)據(jù)庫(kù)訪問(wèn)
擬態(tài)身份認(rèn)證網(wǎng)關(guān)除了提供身份認(rèn)證、訪問(wèn)控制之外,還需要為用戶(hù)建立一個(gè)安全的管理模塊,在不同的功能層面提供相應(yīng)的管理服務(wù),形成一套可靠、可信的擬態(tài)身份認(rèn)證網(wǎng)關(guān)的管理機(jī)制.擬態(tài)身份認(rèn)證授權(quán)管理模型如圖3所示,該模型提供管理服務(wù)以及數(shù)據(jù)庫(kù)代理檢測(cè),確保消息傳輸?shù)膬?nèi)容不被篡改破壞,保證在管理過(guò)程中各項(xiàng)信息的安全性、完整性.
授權(quán)管理服務(wù)主要包括:用戶(hù)管理、規(guī)則管理、安全審計(jì)、權(quán)限管理等內(nèi)容,各模塊之間都存在相應(yīng)的聯(lián)系,任何一個(gè)管理服務(wù)執(zhí)行體模塊中的信息出現(xiàn)異常,都會(huì)影響其它模塊相關(guān)內(nèi)容的配置和管理.系統(tǒng)管理負(fù)責(zé)網(wǎng)關(guān)系統(tǒng)的高可用性(High availability,HA)配置、模式配置和IP地址管理.用戶(hù)管理是對(duì)用戶(hù)的相關(guān)信息進(jìn)行集中配置和管理,方便驗(yàn)證用戶(hù)所擁有的訪問(wèn)級(jí)別以及證書(shū)信息的真實(shí)性,因此在權(quán)限管理中主要包括允許用戶(hù)訪問(wèn)的目標(biāo)IP地址或IP地址段、網(wǎng)絡(luò)端口以及使用的網(wǎng)絡(luò)協(xié)議等,根據(jù)用戶(hù)權(quán)限生成對(duì)應(yīng)規(guī)則,包括時(shí)間、協(xié)議、目標(biāo)IP地址等一系列相應(yīng)的控制參數(shù).證書(shū)管理驗(yàn)證授權(quán)期內(nèi)的用戶(hù)證書(shū)的合法性,確認(rèn)證書(shū)內(nèi)容未被篡改,只有經(jīng)過(guò)授權(quán)驗(yàn)證且符合控制規(guī)則才能訪問(wèn)特定資源.上述所有的相關(guān)配置及行為,安全審計(jì)都會(huì)進(jìn)行跟蹤、統(tǒng)計(jì)和分析,一旦發(fā)現(xiàn)非法用戶(hù)需上報(bào)系統(tǒng)管理員進(jìn)行處理.
以上管理服務(wù)都存在大量的讀寫(xiě)操作,且重要信息都要通過(guò)用戶(hù)與權(quán)限數(shù)據(jù)庫(kù)進(jìn)行交互,攻擊者會(huì)通過(guò)sql注入對(duì)數(shù)據(jù)庫(kù)進(jìn)行惡意篡改、破壞.因此在存取數(shù)據(jù)之前需要添加數(shù)據(jù)庫(kù)代理設(shè)備,用于接收并監(jiān)聽(tīng)各端口傳送的sql語(yǔ)句,通過(guò)判決模塊判斷sql語(yǔ)句是否被攻擊,若判定sql語(yǔ)句遭到注入攻擊,則要對(duì)sql語(yǔ)句進(jìn)行丟棄并向系統(tǒng)管理員發(fā)出異常警報(bào).這種方法既能有效屏蔽攻擊者對(duì)數(shù)據(jù)庫(kù)的惡意攻擊行為,也能避免系統(tǒng)管理員對(duì)數(shù)據(jù)的誤操作產(chǎn)生的不良后果,從而保護(hù)數(shù)據(jù)庫(kù)的安全.
根據(jù)擬態(tài)安全防御原理,無(wú)論是執(zhí)行體自身還是執(zhí)行體部件,都要盡量避免執(zhí)行架構(gòu)“同宗同源”的問(wèn)題,因此在異構(gòu)環(huán)境下對(duì)異?;蚴清e(cuò)誤信息具有一定的容忍度.這樣可使其他管理服務(wù)繼續(xù)開(kāi)展后期一系列工作,而不影響后續(xù)功能的執(zhí)行,從而提高整個(gè)管理層的工作效率.
擬態(tài)身份認(rèn)證網(wǎng)關(guān)使用多層架構(gòu),在不改變網(wǎng)關(guān)服務(wù)功能的基礎(chǔ)上,構(gòu)建功能等價(jià)的、多樣化的異構(gòu)執(zhí)行體,使身份認(rèn)證網(wǎng)關(guān)執(zhí)行體能夠在不同的攻擊場(chǎng)景下有效抵御多種方式的入侵和病毒的植入,增大攻擊者的攻擊難度,保證擬態(tài)身份認(rèn)證網(wǎng)關(guān)的高安全性和可靠性.
圖3 擬態(tài)身份認(rèn)證授權(quán)管理結(jié)構(gòu)模型Fig.3 Structural model of authorization management
根據(jù)攻擊表面理論,攻擊者可通過(guò)特定環(huán)境對(duì)系統(tǒng)漏洞進(jìn)行持續(xù)性攻擊(Advanced Persistent Threat,APT),只要在同構(gòu)環(huán)境下,都存在相同或相似的安全漏洞,針對(duì)這些漏洞進(jìn)行攻擊,則攻擊都是可達(dá)的.為彌補(bǔ)這樣的防御缺陷,需縮小被攻擊表面,通過(guò)系統(tǒng)對(duì)外界攻擊的擾動(dòng),提高攻擊難度,使攻擊成功率成為一個(gè)低概率問(wèn)題甚至成為一個(gè)不確定性問(wèn)題.身份認(rèn)證網(wǎng)關(guān)在整個(gè)網(wǎng)絡(luò)中對(duì)用戶(hù)發(fā)出的訪問(wèn)請(qǐng)求及身份的合法性校驗(yàn)有著重要作用,一旦遭到惡意破壞,整個(gè)網(wǎng)關(guān)就會(huì)失效.針對(duì)這一安全隱患,需要結(jié)合異構(gòu)冗余的防御機(jī)制在多元環(huán)境下提升自身的可信性、可靠性與安全性.
圖4擬態(tài)身份認(rèn)證網(wǎng)關(guān)系統(tǒng)防御架構(gòu)自下而上主要由計(jì)算設(shè)備、網(wǎng)絡(luò)硬件和密碼卡等硬件層面,和數(shù)據(jù)庫(kù)存儲(chǔ)、操作系統(tǒng)、服務(wù)器軟件、多樣化編譯等軟件層面組成,多層次防御為用戶(hù)的信息安全提供了基本保障,安全增益效果也得到良好的提升.
圖4 擬態(tài)身份認(rèn)證網(wǎng)關(guān)防御架構(gòu)Fig.4 Defense architecture of mimic gateway
在異構(gòu)執(zhí)行體中,通過(guò)多樣化編譯技術(shù)將功能相同的函數(shù)編譯成不同的變體,使用C/C++、JAVA、Python等語(yǔ)言實(shí)現(xiàn)出不同版本的可執(zhí)行文件,放入各個(gè)執(zhí)行體中實(shí)現(xiàn)軟件的多變體化,增大攻擊者對(duì)關(guān)鍵代碼的解析難度,提高攻擊成本.在不同的操作系統(tǒng)中有不同的開(kāi)發(fā)環(huán)境,因此服務(wù)器軟件、開(kāi)發(fā)工具存在相應(yīng)的差異,Apache、IIS、Scrinchy等服務(wù)器軟件在擴(kuò)展性、開(kāi)放性、安全性等方便各有優(yōu)劣,且存在相同漏洞的概率很低,共同運(yùn)行能夠優(yōu)勢(shì)互補(bǔ),使系統(tǒng)在運(yùn)行過(guò)程中的更加安全穩(wěn)定.
用戶(hù)數(shù)據(jù)信息的泄露、竊取和篡改是身份認(rèn)證網(wǎng)關(guān)亟需解決的問(wèn)題之一,保護(hù)用戶(hù)信息的安全性,需提高擬態(tài)身份認(rèn)證網(wǎng)關(guān)在數(shù)據(jù)信息防護(hù)方面的可信度.在數(shù)據(jù)存儲(chǔ)方面,使用多種不同數(shù)據(jù)庫(kù)的存儲(chǔ)數(shù)據(jù),在系統(tǒng)中使用DM、Postgresql、Gbase等數(shù)據(jù)庫(kù)軟件,并為多種編程語(yǔ)言提供接口,方便異構(gòu)數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)的校驗(yàn)和存儲(chǔ).
擬態(tài)身份認(rèn)證網(wǎng)關(guān)防御中不可避免地也會(huì)出現(xiàn)單點(diǎn)防御漏洞問(wèn)題,消息分發(fā)、多模判決存在一定的安全隱患,針對(duì)單點(diǎn)防御漏洞問(wèn)題,可將消息分發(fā)、多模判決等程序邏輯簡(jiǎn)單的功能模塊通過(guò)硬件實(shí)現(xiàn),如集成電路,能有效的控制單點(diǎn)防御的安全問(wèn)題,降低安全威脅.
整個(gè)擬態(tài)身份認(rèn)證網(wǎng)關(guān)工作流程如圖5所示,假設(shè)在異構(gòu)執(zhí)行體集中選取中n個(gè)執(zhí)行體在系統(tǒng)中運(yùn)行,當(dāng)用戶(hù)發(fā)送請(qǐng)求時(shí),消息分發(fā)器將請(qǐng)求復(fù)制分發(fā)給n個(gè)執(zhí)行體{S1,S2,…,Sn},并對(duì)用戶(hù)身份進(jìn)行有效性驗(yàn)證,只有驗(yàn)證通過(guò)才能獲取用戶(hù)權(quán)限信息,生成相應(yīng)的訪問(wèn)規(guī)則.
正常狀態(tài)下,n個(gè)執(zhí)行體生成的訪問(wèn)規(guī)則是一致的,將規(guī)則信息與執(zhí)行體中的訪問(wèn)規(guī)則表進(jìn)行匹配,只有規(guī)則匹配成功才能獲取用戶(hù)的權(quán)限信息,響應(yīng)用戶(hù)的訪問(wèn)請(qǐng)求.訪問(wèn)規(guī)則表中若無(wú)相關(guān)信息,讀取用戶(hù)與權(quán)限數(shù)據(jù)庫(kù)進(jìn)行規(guī)則匹配,匹配成功將訪問(wèn)規(guī)則寫(xiě)入訪問(wèn)規(guī)則表并響應(yīng)用戶(hù)的請(qǐng)求資源,若匹配不成功,將失敗信息反饋至用戶(hù).
根據(jù)上述工作流程圖,用戶(hù)想要獲取訪問(wèn)權(quán)限的具體操作偽代碼:
Req=Client_Sent(UserId,UserAddr);
//用戶(hù)發(fā)送請(qǐng)求
distribute(Req,n);
//將用戶(hù)請(qǐng)求分別發(fā)送給n個(gè)網(wǎng)關(guān)執(zhí)行體
C=Cer_Identify(cer);
//獲取用戶(hù)證書(shū)唯一標(biāo)識(shí)符
Vi=Verification(C,Sign);
//各執(zhí)行體驗(yàn)證用戶(hù)證書(shū)和簽名值
if(Vi==True)
//驗(yàn)證通過(guò)
Ri=get_ permission(UserId,UserAddr);
//獲取用戶(hù)相關(guān)訪問(wèn)規(guī)則
else
Vi=null;
return error; //驗(yàn)證不通過(guò),返回錯(cuò)誤信息.
圖5 工作流程圖Fig.5 Work process
假設(shè)選取3個(gè)網(wǎng)關(guān)執(zhí)行體{S1,S2,S3}用來(lái)接收用戶(hù)信息UserId、地址信息UserAddr與證書(shū)獨(dú)有的標(biāo)識(shí)信息C,驗(yàn)證其證書(shū)與簽名的有效性,V1,V2,V3中至少有兩個(gè)驗(yàn)證結(jié)果相同才能在執(zhí)行體中輸出用戶(hù)的規(guī)則信息{R1,R2,R3},產(chǎn)生的規(guī)則信息也需要兩兩比較才能得出一個(gè)正確的結(jié)果,多模判決在這個(gè)環(huán)節(jié)對(duì)結(jié)果的產(chǎn)生就顯得尤為重要.
網(wǎng)關(guān)執(zhí)行體只有將最后的運(yùn)行結(jié)果完全輸出至判決模塊,判決模塊才可以對(duì)輸出結(jié)果與訪問(wèn)規(guī)則表中信息進(jìn)行逐個(gè)比對(duì),num負(fù)責(zé)記錄比對(duì)結(jié)果相同的個(gè)數(shù),如果最后記錄的數(shù)值大于n/2+1,說(shuō)明輸出結(jié)果多數(shù)相同,返回最終判決結(jié)果,客戶(hù)端得到訪問(wèn)資源,多模判決偽代碼基本流程為:
For i in 1…n //n個(gè)執(zhí)行體的輸出結(jié)果
if compare(Ri,R)==True
//各執(zhí)行體輸出的訪問(wèn)規(guī)則與訪問(wèn)規(guī)則表中的數(shù)據(jù)進(jìn)行對(duì)比
then num++; //num記錄比較結(jié)果相同的個(gè)數(shù)
end if
end for
if num > n/2+1;
//若num大于n/2+1,則大多數(shù)相同
then return true
//返回正確結(jié)果
else
return false; //多數(shù)都不相同
一般來(lái)講,多異構(gòu)執(zhí)行體輸出結(jié)果正確性的概率要大于單執(zhí)行體,因?yàn)楣粽吆茈y在一定的時(shí)間內(nèi)同時(shí)分析出這些異構(gòu)執(zhí)行體存在的安全漏洞,無(wú)法實(shí)施有效的攻擊行為,因此判決模塊最終輸出結(jié)果的可信性比單執(zhí)行體直接輸出結(jié)果的可信性更強(qiáng).
本節(jié)對(duì)擬態(tài)身份認(rèn)證網(wǎng)關(guān)架構(gòu)的抗攻擊能力進(jìn)行安全性分析,結(jié)合文獻(xiàn)[2]中的策略及思路,建立擬態(tài)身份認(rèn)證網(wǎng)關(guān)受攻擊成功概率的數(shù)學(xué)模型,證明擬態(tài)身份認(rèn)證網(wǎng)關(guān)防御的有效性.
假設(shè)有限集S為異構(gòu)執(zhí)行體集,存在n個(gè)異構(gòu)執(zhí)行部件{A1,A2,…,An}∈S,異構(gòu)執(zhí)行部件Ai(1≤i≤n)中存在漏洞V={v1,v2,…,vn},攻擊者C只要有一次對(duì)系統(tǒng)中的消息記錄起到破壞作用,就視為攻擊成功,當(dāng)攻擊者C對(duì)身份認(rèn)證網(wǎng)關(guān)異構(gòu)執(zhí)行體中存在的漏洞?vi∈V發(fā)起k次攻擊并成功攻破執(zhí)行體1次,則攻擊成功的概率為:
(1)
設(shè)傳統(tǒng)身份認(rèn)證網(wǎng)關(guān)受到攻擊時(shí)系統(tǒng)失效概率為Pt,擬態(tài)身份認(rèn)證網(wǎng)關(guān)受到攻擊時(shí)系統(tǒng)失效概率為Pd,則兩者在面對(duì)系統(tǒng)攻擊時(shí)所得安全增益為:
(2)
根據(jù)擬態(tài)防御原理特性可知,擬態(tài)身份認(rèn)證網(wǎng)關(guān)各異構(gòu)執(zhí)行體是相互獨(dú)立工作的,當(dāng)兩個(gè)異構(gòu)執(zhí)行體vi、vj都存有不同的漏洞,攻擊者C必須分別對(duì)二者同時(shí)進(jìn)行攻擊,則兩個(gè)異構(gòu)執(zhí)行體同時(shí)失效的概率為Pd(vi,vj)=pi·pj.進(jìn)一步討論,當(dāng)異構(gòu)執(zhí)行體集S同時(shí)運(yùn)行,只有攻擊至少「m=(n+1)/2?個(gè)執(zhí)行體才能對(duì)系統(tǒng)起到破壞作用,則擬態(tài)身份認(rèn)證網(wǎng)關(guān)系統(tǒng)失效的概率為:
(3)
為方便運(yùn)算,假設(shè)系統(tǒng)中各執(zhí)行體失效率相同,那么Pd的失效率隨執(zhí)行體n的個(gè)數(shù)及執(zhí)行體失效率P的變化而產(chǎn)生變動(dòng),圖6中系統(tǒng)失效率與選取執(zhí)行體個(gè)數(shù)、攻擊成功概率的數(shù)量關(guān)系對(duì)比.
根據(jù)圖6數(shù)據(jù)顯示結(jié)果可知,與傳統(tǒng)身份認(rèn)證網(wǎng)關(guān)相比,擬態(tài)身份認(rèn)證網(wǎng)關(guān)抗攻擊能力明顯提升了將近50%.同時(shí),
圖6 身份認(rèn)證網(wǎng)關(guān)失效概率Fig.6 Failure probability of identity authentication gateway
網(wǎng)關(guān)執(zhí)行體個(gè)數(shù)越多,系統(tǒng)失效概率更快地趨近于0.另外,單個(gè)網(wǎng)關(guān)執(zhí)行體失效概率越低,整個(gè)擬態(tài)身份認(rèn)證網(wǎng)關(guān)的失效概率也越低.因此,提高單個(gè)異構(gòu)執(zhí)行體的防御能力來(lái)降低整個(gè)系統(tǒng)被攻擊成功的概率,也是提升擬態(tài)身份認(rèn)證網(wǎng)關(guān)安全性的重要因素之一.
下面針對(duì)擬態(tài)身份認(rèn)證網(wǎng)關(guān)架構(gòu)的防御效果展開(kāi)安全性測(cè)試,驗(yàn)證系統(tǒng)對(duì)于常見(jiàn)攻擊類(lèi)型的防御能力.
軟硬件配置環(huán)境如表1所示.
表1 測(cè)試環(huán)境配置Table 1 Test environment configuration
為證明本方案在遭受惡意攻擊下系統(tǒng)的容侵能力,將配置3組實(shí)驗(yàn)對(duì)象.擬態(tài)身份認(rèn)證網(wǎng)關(guān)(Device Test1,D_1)由3種不同的操作系統(tǒng)與服務(wù)器軟件組成,且每一個(gè)操作系統(tǒng)中都不增加安全防護(hù)工具.為了使測(cè)試結(jié)果更準(zhǔn)確有效,加安全防護(hù)工具的傳統(tǒng)身份認(rèn)證網(wǎng)關(guān)(Device Test2,D_2)與不加安全防護(hù)工具的傳統(tǒng)身份認(rèn)證網(wǎng)關(guān)(Device Test3,D_3)都使用相同的操作系統(tǒng)與服務(wù)器軟件,因此本實(shí)驗(yàn)在D_2和D_3中使用Windows7操作系統(tǒng)與Apache服務(wù)器軟件來(lái)進(jìn)行容侵性測(cè)試.
表2 防御能力測(cè)試Table 2 Defense test
根據(jù)表2測(cè)試結(jié)果顯示,擬態(tài)身份認(rèn)證網(wǎng)關(guān)D_1對(duì)于常見(jiàn)的攻擊手段具有較為全面的防御效果,D_2僅能對(duì)植入性攻擊手段產(chǎn)生防御作用,而D_3對(duì)于大部分攻擊幾乎沒(méi)有任何抵抗能力.其中,D_1對(duì)于預(yù)設(shè)后門(mén)這樣的內(nèi)部入侵行為具有很好的防護(hù)能力,D_2與D_3無(wú)法有效應(yīng)對(duì)漏洞后門(mén)展開(kāi)的攻擊.因此,與僅能進(jìn)行被動(dòng)防御的傳統(tǒng)身份認(rèn)證網(wǎng)關(guān)相比,對(duì)于具有主動(dòng)防御能力的擬態(tài)身份認(rèn)證網(wǎng)關(guān),在對(duì)各類(lèi)攻擊手段,有更好的容侵能力和抗風(fēng)險(xiǎn)能力.
本文根據(jù)鄔江興院士提出的網(wǎng)絡(luò)空間擬態(tài)防御機(jī)制為理論指導(dǎo),提出了一種身份認(rèn)證網(wǎng)關(guān)的異構(gòu)冗余架構(gòu)模型,并對(duì)該模型的多個(gè)應(yīng)用層面進(jìn)行詳細(xì)分析與設(shè)計(jì);通過(guò)系統(tǒng)架構(gòu)的改變提升擬態(tài)身份認(rèn)證網(wǎng)關(guān)的整體防御能力,并通過(guò)數(shù)學(xué)模型分析與測(cè)試,結(jié)果表明,與傳統(tǒng)身份認(rèn)證網(wǎng)關(guān)相比,擬態(tài)身份認(rèn)證網(wǎng)抗攻擊能力得到了明顯提升,為擬態(tài)身份認(rèn)證網(wǎng)關(guān)的進(jìn)一步研究和發(fā)展提供理論依據(jù)與指導(dǎo).
擬態(tài)身份認(rèn)證網(wǎng)關(guān)在系統(tǒng)能耗和運(yùn)行效率方面是下一步值得討論的問(wèn)題,在降低系統(tǒng)資源消耗,提高單位時(shí)間運(yùn)行效率的同時(shí)如何保障系統(tǒng)更好的穩(wěn)定運(yùn)行.資源異構(gòu)到何種程度才能既保證系統(tǒng)健壯性,又能改變身份認(rèn)證網(wǎng)關(guān)在現(xiàn)今網(wǎng)絡(luò)攻防中的安全態(tài)勢(shì),提高身份認(rèn)證網(wǎng)關(guān)自身的主動(dòng)防御能力.以上這些問(wèn)題將在今后的工作中進(jìn)一步研究和解決.