宋克,劉勤讓,魏帥,張文建,譚力波
(1.信息工程大學信息技術研究所,河南 鄭州 450002;2.天津市濱海新區信息技術創新中心,天津 300450 )
以太網交換機作為信息網絡中一種不可或缺的基礎設施,其安全性越來越重要。
傳統以太網交換機的安全防護主要通過在交換機中嵌入安全模塊或外加防火墻等安全設備[1],采用端口綁定、劃分虛擬專用網絡(VPN,virtual private network)、流量控制、配置訪問控制列表(ACL,access control list)等防御手段,應對廣播風暴攻擊、海量MAC(media access control)地址攻擊、MAC 欺騙攻擊、地址解析協議(ARP,address resolution protocol)欺騙攻擊、生成樹協議環路攻擊、分布式拒絕服務(DDoS,distributed denial of service)攻擊等協議層面的攻擊行為[2-3]。
然而,隨著以太網交換機功能由二層向三層、四層擴展,以及基于軟件定義網絡(SDN,software defined network)的以太網交換機的研究與應用,針對交換機控制管理層面的安全攻擊越來越多。據國家信息安全漏洞庫數據統計,2015—2017 年,被發現的以太網交換機的安全漏洞總計55 個,包括固件漏洞、操作系統漏洞、協議實現漏洞、軟件漏洞等。
攻擊者利用交換機主控CPU、操作系統或協議棧、管理軟件存在的漏洞及后門,直接獲取交換機的控制權限,修改路由表及其他配置項,使傳統的安全防護手段形同虛設;基于防火墻、殺毒軟件、入侵檢測系統的被動防護技術,對于未知的漏洞和后門造成的0 day 攻擊不能提前防御。近年來,多家公司的以太網交換機被曝出安全漏洞,這對網絡信息安全造成重大隱患。
鑒于被動防御存在防護缺陷,許多國家都在開展網絡信息安全主動防御技術的研究。美國的移動目標防御(MTD,moving target defenses)技術,針對外部利用未知漏洞的攻擊防御,在假設內部安全可信的前提下,主要采用軟件技術實現主動防御,應對邏輯層攻擊[4-6]。我國鄔江興院士首創的網絡空間擬態防御(CMD,cyber mimic defense)技術,采用動態異構冗余(DHR,dynamic heterogeneous redundancy)的系統架構和運行機制,既可防御外部利用未知漏洞的攻擊,也可防御利用未知后門的攻擊,在允許基本環境一定程度“有毒帶菌”的情況下,采用軟件技術和系統結構組合應用實現主動防御,可為信息網絡基礎設施或重要信息服務系統提供一種不依賴傳統安全手段(如防火墻、入侵檢測、殺毒軟件等)的構造化內生安全增益或效應[7-8]。
隨著網絡空間擬態防御理論的完善,眾多依據CMD 技術構建的安全網絡設備陸續出現。仝青等[9]設計實現了擬態防御Web 服務器;馬海龍等[10]設計實現了基于動態異構冗余機制的路由器擬態防御體系結構;魏帥等[11]實現了面向工控領域的擬態安全處理機架構。這些基于擬態防御構建的安全網絡設備在測試中均取得了較好的效果。然而,擬態防御Web 服務器和擬態防御路由器主要采用虛擬技術,其異構執行體主要在軟件層面,底層處理器和操作系統仍為同構非冗余;而擬態安全處理機架構則主要從處理器層面實現了異構,對上層軟件和操作系統仍采用同構形式。
在此基礎上,本文構建了一種基于CMD 技術、采用動態異構冗余機制的以太網交換機內生安全體系結構。與前述擬態安全網絡設備相比,本文提出的體系結構從交換機的主控處理器、操作系統、協議棧和管理軟件層面都實現了異構冗余,提出并采用自清洗大數表決算法(TAMA,trustiness based auto-cleanout majority algorithm)。測試結果表明,所提算法可有效抵御利用以太網交換機控制管理面未知漏洞和后門的攻擊。
擬態防御技術的核心是動態異構冗余架構,其典型構造如圖1 所示[12]。其中,策略調度是中心控制環節,一方面,策略調度向策略分發環節下發指令,以實現激活執行體、執行體清洗修復或者執行其他給定的任務;另一方面,策略調度也是DHR架構中的反饋控制器,根據接收到的表決器異常狀態按照預置策略執行相應動作。策略分發對應輸入代理環節,主要功能是根據策略調度環節的指令決定是否將外部輸入與當前服務集內的指定異構執行體聯接,通常用一個路徑和模式可定義的交換模塊來具體完成互聯分發功能。策略表決環節對應輸出代理,主要功能是對多路執行體輸出矢量采用一致性或多數判決策略,同時對出現的異常狀態上報策略調度環節。異構體資源池是能夠滿足需求的所有異構行為體功能元素的集合。策略調度根據事先制定的重構重組方案從異構體資源池中抽取元素生成功能等價的新執行體,或者在現有的執行體中更換某些構件,生成或更新異構執行體集。
圖1 動態異構冗余典型結構
依據DHR 的典型結構,本文設計的擬態防御以太網交換機體系結構如圖2 所示,主要由異構執行體集、擬態調度器和交換芯片組成。
圖2 擬態防御以太網交換機體系結構
其中,異構執行體集由3 個不同的異構執行體組成,每個執行體包含不同架構的CPU,分別運行不同的操作系統及通過多樣化編譯生成的異構協議棧和管理軟件。擬態調度器融合了DHR 結構中的輸入策略分發、策略表決輸出及策略調度功能,是整個體系結構的核心控制環節。
擬態調度器與異構執行體之間通過以太網接口和串口連接;擬態調度器與交換芯片之間通過PCIE(peripheral component interconnect express)接口及以太網接口連接;同時,擬態調度器與用戶控制口和外部存儲之間分別通過以太網、串口和存儲控制接口連接。
基于擬態防御理論,依據圖2 構建的擬態防御以太網交換機(以下簡稱擬態交換機)的安全機理可描述如下。
1) 交換芯片上行的控制管理指令或協議解析數據通過透明傳輸通道,由調度器進行復制并分發輸入異構執行體A、B、C。
2) 異構執行體A、B、C 獨立響應并執行輸入的指令或進行協議解析,結果分別輸出到擬態調度器。
3) 擬態調度器將各異構執行體的輸出數據進行分組解析、亂序處理、掩膜替代、哈希運算后,進行數據內容比對。
4) 正常情況下,異構執行體的輸出數據應該是一致的,調度器將此結果正常輸出到交換芯片。
5) 在面臨差模攻擊(即某一個執行體響應了攻擊指令)時,遭受攻擊的執行機輸出數據與其他2個執行體不一致,調度器選擇多數一致的正確數據輸出,并對少數不一致的執行體進行清洗恢復處理。
6) 在協同或共模攻擊時(即2 個或3 個執行體響應了攻擊指令),各執行體的輸出數據均不一致,或者多數一致的數據是錯誤數據,此時,系統將面臨短時攻擊逃逸,需要進行特殊處理。
通過上述分析,基于擬態交換機面臨絕大多數的差模攻擊場景時(由于各執行體的處理器架構、操作系統及執行軟件都是同功異構的,絕大多數的攻擊只會對其中一種執行體造成影響,因此差模攻擊是交換機面臨的主要攻擊場景),通過調度器的擇多判決,均能輸出正確結果。而且,這種選擇機制僅僅是根據輸出結果的異同進行的,不關注到底是何種原因造成的結果不一致。無論是已知的還是未知的安全威脅造成的輸出不一致,該架構均能有效處理,不依賴病毒庫、木馬庫、漏洞庫等先驗數據。因此,該架構可有效應對未知漏洞及后門造成的未知威脅。
當然,在小概率下也可能出現由于處理器架構、操作系統或執行軟件的共同缺陷而引起的協同或共模攻擊,這種攻擊會引起攻擊逃逸,這種逃逸最終會引起整個系統的故障。因此,為了實現系統的穩態可用,降低攻擊逃逸概率,提高穩態非特異性感知概率,還需要采用合適的調度策略算法。
為了有效應對不同類型的攻擊場景,特別是一些可能暫時不會引起輸出異常的時間協同攻擊,本文提出了基于可信度的TAMA,在傳統大數表決策略中增加了定時擾動機制,可有效解決各種協同及共模攻擊。本節主要介紹TAMA 的實現策略,并對其安全防御能力進行了量化分析。
TAMA 在執行體出現不同結果時優先采用高優先級的執行體結果,執行體的信用度根據歷史表現自動變化。該算法在大數裁決的基礎上引入動態機制,使系統具有更多的不確定性,增大攻擊實施難度、降低安全風險,但是會增加清洗次數、增大設計復雜度。
為了使系統在自清洗時能夠保證正常運轉,需要將系統分為執行隊列和備選隊列,執行隊列中的執行體參與表決,備選隊列中的執行體進行清洗,并在完成清洗后參與系統運算,以便能夠隨時加入系統。該算法主要由2 種策略組成,具體如下。
1) 基于信任度的大數裁決策略
在系統開始運行時,將異構執行體賦予相等的信任權值,初始都為0,本文設計的擬態交換機采用異構冗余三執行體,則ω1=ω2=ω3=0,判決算法將輸出結果一致的執行體劃分為一個組Gk,構成集合序列{G1,G2,…,Gk},然后,計算每個集合Gk的置信度Wk為
其中,ωk=Gk。選取置信度最大的集合Gp作為輸出結果,并根據輸出結果的差異度進行信任權值的更新,每次進行判決時如果該執行體的輸出結果與裁決輸出結果不一致,則計算其和仲裁輸出結果的差異率S,并計算權值更新,如式(2)所示。
其中,β> 0 為權值系數。同時,判斷是否有執行體信任度大于閾值K,如果有,則選擇信任權值最高的進行清洗,若存在多個K值相同的執行體,則按照概率相等原則挑選一個進行清洗。
2) 定時清洗策略
網絡攻擊存在協同攻擊方法,即先滲透攻擊某個執行體,獲取其權限,但是并不在輸出中表現,接著滲透攻擊其他的執行體,只有取得多數執行體權限后,才同時產生錯誤的輸出結果。此外,雖然采用了異構執行體,但是很難保證異構執行體的完全異構,各個異構執行體之間不可避免地存在一些共同模塊,如果這些共同模塊存在的漏洞或后門被攻擊利用,單純根據輸出進行裁決的擬態策略就無法有效防御。
為了有效防御協同或者共模攻擊,需要執行體具有一定的自恢復能力,能夠根據系統策略定期或者隨機進行自恢復。在擬態交換機中,采用定時清洗策略,即設置定時器,達到固定時間間隔T則根據信任權值選取一個執行體進行清洗,信任權值為ωi執行體的選取概率為P,清洗過后執行體的信任權值恢復為0。
一般而言,隨著暴露給外界時間的增加,執行體運行時被攻擊成功的概率也逐漸變大,安全性逐漸降低。假設函數p(t)表示隨時間推移當前時刻執行體的安全性(即未被成功攻破的概率),并且有
式(4)表示當時間足夠長時,系統肯定會被攻擊成功。
同樣地,可以認為存在一個函數q(t),表示在時刻t執行體處于清洗狀態并且清洗成功的概率,可以用一個階躍函數表示經過時間M執行體被清洗成功,清洗成功后其安全概率為1,如式(5)所示。
圖3 為TAMA 抗攻擊能力變遷曲線。執行體由于其自身存在的漏洞或后門,隨著時間的推移,安全風險逐漸加大。如果不采用定時清洗策略,則其安全曲線如圖3(假設,M=30)中曲線2所示,隨著時間推移,抗攻擊能力逐漸降低。而采用了定時清洗策略,可以對執行體進行定期清洗,使其狀態恢復,安全風險降低,其抗攻擊能力曲線如圖3 中曲線3 所示。從圖3 中可以看出,TAMA由于采用了定時清洗策略,隨著時間推移,其安全性會在清洗后恢復,使其安全性一直都會維持一個較高的水平。非擬態交換機由于自身不可避免地存在后門和漏洞,所以如圖3 中曲線1 所示,開始時即處于低安全等級狀態,隨著時間推移,假設沒有采取補丁等安全措施,其安全風險會隨著攻擊試探急劇增加,使系統變得更加不可靠。
針對協同或者共模攻擊,由于存在定時清洗策略,會對系統進行定期擾動,即使系統受到共模攻擊,在執行體后進行清洗也會發現異常,通過一定的診斷即可使系統重新恢復正常。
TAMA 需要對執行體進行定時清洗。例如3 個處理器都正常運作時,清洗一個正常運作的處理器會造成系統降級,并造成系統安全風險短期內突然跌落,如圖3 中曲線3 出現的下端尖刺所示,并且定期清洗會加大清洗難度,增加系統設計風險。但是總體來說,定期清洗可以在較短時間內將抗攻擊能力恢復到正常狀態,并可以預防系統穩態安全降級,使擬態交換機整體處于高安全等級狀態。
圖3 TAMA 抗攻擊能力變遷曲線
本文依據擬態防御以太網交換機體系結構,設計實現了擬態交換機的原型樣機。該擬態交換機采用盛科網絡的CTC5160 交換芯片,控制管理面包含3 個異構處理模組和一個擬態調度器。其中異構處理模組CPU 及操作系統如表1 所示。擬態調度器由Xilinx zynq-7045FPGA 實現,其內嵌的ARM處理器用于運行交換芯片的軟件工具開發包(SDK,software development kit)。
表1 異構處理模組CPU 及操作系統
CTC5160 交換芯片的上行數據通過PCIE 通道交由擬態調度器進行透明復制分發到3 個異構處理模組,由異構協議棧及管理軟件進行協議處理;異構處理模組處理完成的數據經擬態調度器判決后交由SDK 處理或直接下發交換芯片。
在擬態交換機中,由于所有上傳主控的數據都要經過調度器,主控下發的數據要經過調度器的裁決,因此會造成系統處理時延的增加。根據對不同協議的測試統計,平均時延增加了10 ms,普通協議如RIP、OSPF 的時延都是秒級,因此在系統容許范圍之內。
此外,擬態交換機構建的基于動態異構冗余的控制管理面,相對于常規的交換機需要新增2 個主控CPU 模組和一個調度器,在硬件實現成本上大概有30%的提升。所以,該擬態交換機架構適合構建匯聚級或核心級的交換機,對于成本較敏感的接入級交換機不太適合。
首先進行擬態交換機基礎交換協議功能測試,選取以太網交換機的典型協議,測試在異構處理模組架構下是否能夠正常進行協議解析及應答。常用的三層以太網交換機協議棧測試結果如表2 所示。
采用白盒插樁實驗對擬態交換機的安全防御功能性進行測試,這是證明交換機具有擬態特性的核心測試內容。
擬態白盒插樁測試不是通過實際的漏洞或后門進行攻擊,而是通過管理配置監測端配置各異構執行體,直接模擬并控制執行體的受攻擊狀態。不同的測試方式(差模、時間協同差模、N?1 模、共模)和不同的測試場景(應用程序、操作系統、協議等)對應不同的配置。配置完成后,通過數據輸入端模擬輸入流量(該輸入流量也是針對具體測試場景定制的流量),在管理配置監測端對各異構執行體的輸出數據進行監測,經過判決處理的數據通過數據輸出端進行監測。擬態裁決采用TAMA,其中權值系數β=1,閾值K=100。
表2 三層以太網交換機常用協議棧測試結果
1) 差模測試
差模測試方式是在各異構執行體上植入不同后門,使各異構執行體在輸入相同時輸出不同,且輸出與正確結果不同。差模測試采用2 種觸發方式,分別如下所述。
觸發方式1,從管理配置監測端進行配置,一次觸發一個異構執行體的攻擊程序接口。這種觸發測試方法即為常規的差模測試攻擊。
觸發方式2,從管理配置監測端進行配置,一次性觸發所有異構執行體的攻擊程序接口。這種觸發方式也稱為時間協同差模攻擊測試。
差模測試的測試結果如圖4 所示。
從測試結果可以看出,對于觸發方式1,從配置管理監測端觀測到異常數據,但經過擇多判決處理,異常數據并不能對擬態交換機正確執行任務產生任何影響。且經過一個清洗周期后,擬態交換機就能恢復正常工作狀態。攻擊逃逸概率為0。對于觸發方式2,觸發測試程序會導致擬態交換機出現瞬時攻擊逃逸現象,但攻擊逃逸現象會在周期2 過后消失,且擬態交換機最終會恢復正常工作狀態。
圖4 差模測試結果
2)N?1 模測試
N表示異構執行體的數量,在擬態交換機中采用了3 個執行體,所以N?1 模測試就是指2 模測試。選取2 個異構執行體插入后門,且插入的后門相同,使2 個異構執行體在輸入相同時,保證輸出相同,且輸出與正確結果不同。
2 模測試的測試結果如圖5 所示。從測試結果可以看出,測試期間會因為擇多判決策略,導致擬態交換機出現瞬時攻擊逃逸現象,但攻擊逃逸現象會在周期2 過后因后向驗證機制的啟動而消失,且最終恢復正常工作狀態。
3) 共模測試
共模測試也稱為N模測試,在擬態交換機中就是指3 模測試,是在3 個異構執行體上都插入相同的后門,使3 個異構執行體在輸入相同時保證輸出相同,且輸出與正確結果不同。
3 模測試的測試結果如圖6 所示。從測試結果可以看出,3 模測試啟動后,擬態交換機會有一段時間對攻擊行為無感,但隨機擾動機制會隨機選擇執行體進行清洗,打破共模攻擊所造成的無感狀態,使攻擊退化到2 模狀態,結合后向驗證機制,擬態交換機也會在周期2 過后開始輸出正確的結果,并最終恢復正常工作狀態。
從上述的測試結果可以看出,單個執行體受到攻擊時,不會影響擬態交換機的運行結果;面對協同攻擊或共模攻擊,擬態交換機會出現短暫的攻擊逃逸現象,但逃逸現象不能維持。在白盒插樁各種攻擊測試模式下的逃逸概率及平均逃逸持續時間如表3 所示,逃逸概率對比如圖7 所示。
表3 白盒插樁攻擊逃逸概率及平均逃逸持續時間
表3 中,錯誤識別時間指從執行體開始輸出錯誤結果,到其錯誤累積達到閾值、被調度器判定為狀態異常所用的時間。
圖5 2 模測試結果
圖6 3 模測試結果
圖7 白盒插樁各攻擊測試模式的逃逸概率
4.3節根據擬態防御理論,通過標準白盒插樁測試證明了交換機的擬態防御功能,本節從網絡實際攻擊角度來測試交換機的安全性。
實際網絡攻擊往往分為若干階段,一般包括系統探測、漏洞發現、系統突破和系統控制等,交換機漏洞利用攻擊鏈如圖8 所示。從擬態交換機的構造來說,白盒插樁測試也可以應用于交換機的不同層次,包括硬件層、操作系統層、應用軟件層。在操作系統層,已知很多相關漏洞,可以找出不同內核版本的特異性或共性漏洞進行差模或者多模測試。協議層和應用層則更為靈活,可以編寫插樁測試的應用程序編程接口(API,application programming interface),通過輸入數據刺激插樁程序運行,進行插樁測試,觀測交換機狀態演化。
圖8 交換機漏洞利用攻擊鏈
在系統信息探測階段,首先關閉擬態系統,隨機選擇一個執行體執行,在調試機上通過Nmap 掃描工具對交換機進行探測,觀測是否可以得到操作系統、非授權開放端口及服務等信息;然后,開啟擬態系統,進行相同步驟,觀測是否可以得到操作系統、非授權開放端口及服務等信息。
在漏洞發現階段,假設所有執行體都提供相同的服務,但服務的實現版本有所不同,其中一個執行體上的實現版本較低,或存在可以利用的漏洞。首先,開啟擬態系統通過特定的漏洞掃描工具,觀測能否通過統一接口,發現該版本的漏洞;然后,關閉擬態系統,觀測能否發現該版本的漏洞。
在系統突破階段,在執行體上采用白盒插樁方法模擬交換機漏洞,如思科旗下明星產品—Cisco Small Business 220系列智能交換機2019年發現的3個高危漏洞,身份驗證繞過(CVE-2019-1912,評級為致命,評分為9.1)、遠程命令執行(CVE-2019-1913,評級為致命,評分為 9.8)和命令注入(CVE-2019-1914,評級為中等,評分為7.2)。首先,關閉擬態系統,觀測能否利用這些漏洞;然后,打開擬態系統,多執行體同時執行,觀測能否利用這些漏洞。
測試結果如表4 所示。當關閉擬態系統時,攻擊者很容易進行系統探測,一旦發現漏洞,進行突破和攻擊的成功率就是100%。而在擬態系統中,即使攻擊者已知某執行體上存在漏洞,因為擬態機制的作用,攻擊者通過漏洞觸發的響應數據流是個體行為(針對同一個攻擊漏洞輸入僅有一個執行體進行響應),與其他執行體的響應行為不一致,因此無法通過裁決點,漏洞利用失敗。而在攻擊鏈的各個階段都能有效屏蔽攻擊行為,所以具有較高的抗攻擊能力。
表4 測試結果(擬態系統與單執行體結構對比)
本文針對以太網交換機面臨的處理器、操作系統及協議棧存在的未知漏洞、后門等安全威脅,構建了一種基于動態異構冗余架構的擬態交換機體系結構,從系統架構層面使其具備內生安全特性。基于該體系結構,設計實現了擬態交換機原型樣機,測試結果表明,該擬態交換機在正常處理各種交換協議的基礎上,可以有效應對處理器、操作系統等層面的未知漏洞和未知后門安全威脅,具備十分理想的內生安全特性。
交換機的安全威脅主要存在于控制管理層面,但在數據轉發層面,也就是交換芯片層面的安全威脅也必須予以重視。本文構建的擬態交換機采用國產交換芯片,雖然避免了采用國外芯片可能存在的
人為植入的設計后門風險,但是仍不能完全避免在設計、加工環節引入的未知漏洞和風險。因此,下一步的工作將會針對交換機數據轉發平面的安全威脅,設計一種高安全以太網交換芯片系統架構,與本文提出的控制管理層擬態防御安全架構結合,構建一種全方位的交換機內生安全體系結構。