劉策越, 郭 宏, 張先國
(1.中國電子科技集團公司第十五研究所, 北京 100083; 2.北京航空航天大學自動化科學與電氣工程學院, 北京 100191)
安全關鍵性嵌入式系統一旦發(fā)生問題將會帶來災難性的后果,因此它對數據交互的實時性、可靠性、安全性提出了非常嚴格的要求。然而,普通以太網協議不確定的數據傳輸延遲、數據堵塞的問題導致其已經無法滿足實時性需求,時間觸發(fā)以太網(time-triggered ethernet,TTEthernet)通過時鐘同步調度解決了這個技術難題。相比于普通以太網,它具備確定性的時間調度能力,其數據交互具備高可靠性、靈活性和冗余性的特點,在工業(yè)控制、醫(yī)療、汽車駕駛、航空航天等領域有著巨大的發(fā)展?jié)摿1]。
全局節(jié)點的時鐘同步是時間觸發(fā)以太網的重要特性之一,它是保證網絡拓撲中節(jié)點間數據流量確切傳輸的前提條件。因此,對于時間觸發(fā)以太網,時鐘同步的失調,將對整個網絡造成致命性的影響。TTEthernet的網絡節(jié)點根據AS6802[2]時鐘同步協議通過PCF(protocal control frames)的交換,周期性地進行全局節(jié)點時鐘同步,因此,PCF幀是決定時鐘同步性能的關鍵要素。對PCF幀的內容進行篡改等,將會嚴重影響全局時鐘同步的過程,最終導致整個網絡的時序錯亂和癱瘓。因此分析針對PCF幀的攻擊行為具有十分重要的意義。雖然目前有針對時鐘同步協議的攻擊行為的研究,但是分析對象是IEEE 1588[3],并不適用于TTEthernet。目前針對TTEthernet的研究,主要集中于同步條件下的調度算法設計和優(yōu)化,時鐘同步算法的設計與實現[4-8],機器人控制系統等終端系統的應用設計優(yōu)化[9-10],以及網絡延遲性能分析研究[11],而對于TTEthernet針對網絡安全的研究還很少。
現針對PCF幀可能受到的攻擊威脅進行性能分析,這對時鐘同步協議的脆弱性分析和攻擊行為的入侵檢測具有十分重要的研究意義。針對時鐘同步的動態(tài)過程,提出了一種針對PCF幀的攻擊行為性能分析方法。以階段性的時鐘同步過程為考量依據,對攻擊行為的實施過程及其工作機理進行詳細分析,建立針對PCF幀的攻擊行為分類框架。然后對攻擊行為的要素進行分析提取,設計攻擊行為性能評估方法。通過典型示例,對所提方法進行了應用說明。
普通以太網采用IEEE 1588作為標準時鐘同步協議,TTEthernet采用AS6802高精度容錯時鐘同步協議。相比于IEEE 1588,AS6802協議中規(guī)定網絡中所有節(jié)點都參與時鐘同步過程,具備更好的同步精度(亞微秒級)和容錯性,支持端到端的流量消息的確定性傳輸。
AS6802定義了時鐘同步幀PCF,并根據功能角色不同將TTEthernet網絡中的節(jié)點劃分為同步控制節(jié)點(synchronization master,SM)、同步客戶節(jié)點(synchronization client,SC)和壓縮節(jié)點(compression master,CM)。SM和SC一般對應為網絡中的終端節(jié)點,CM對應網絡中的交換機,SM相比于SC,時鐘精度和靈敏度更高。
節(jié)點通過周期性的交換PCF幀,進行全局時鐘同步,同步完成后在根據每個節(jié)點的調度表進行數據流量的傳輸,因此時鐘同步是保證數據流量傳輸的基礎和前提,而PCF幀是時鐘同步的核心要素。PCF幀屬于IEEE 802.3以太網幀格式,payload長度為192位,其幀結構如圖1所示,幀格式如表1所示。
圖1 基于IEEE 802.3結構Fig.1 PCF frame structure based on IEEE 802.3
表1 PCF幀格式
分析理清TTEthernet的時鐘同步過程機理,有助于從攻擊者的角度更好的分析針對不同同步階段可能發(fā)生的攻擊行為,為針對PCF幀的攻擊行為分類框架建立奠定基礎。時鐘同步是周期性進行的,使TTEthernet網絡中所有的節(jié)點(SM、SC和CM)都遵循相同的時鐘基準,保證時鐘同步后每個節(jié)點按照各自的調度表進行流量消息傳輸。時鐘同步可分為三個階段:初始化、時序還原和時鐘更新,階段性的時鐘同步過程如圖2所示。三種類型的節(jié)點在時鐘同步過程中扮演不同角色,SM是時鐘同步過程的發(fā)起方,CM是時序還原和時鐘更新的決策方,SC不主動發(fā)送PCF幀,只參與本地時鐘的更新過程。
初始化過程發(fā)生在TTEthernet系統上電啟動或重啟時,作用是驗證網絡中主要節(jié)點的通信狀態(tài),通過在SM和CM節(jié)點之間發(fā)送和返回CS、CA幀的通信握手完成。SM首先向CM發(fā)送冷啟動幀CS,CM收到CS后向SM返回確認過的CS,然后SM繼續(xù)向CM發(fā)送冷啟動應答幀CA,CM收到CA后向SM返回確認過的CA,至此初始化過程結束,準備進入時序還原階段。
時序還原階段,SM節(jié)點在本地時鐘為零時,向CM發(fā)送集成幀IN,CM將收到的不同SM發(fā)送的IN類型的PCF幀的接收時刻記錄,然后通過透明時鐘和離線狀態(tài)下統計得到的鏈路最大傳輸延遲,還原各個SM節(jié)點發(fā)送IN幀的實際時序。
圖2 階段性時鐘同步過程Fig.2 Periodic clock synchronization process
時鐘更新階段,CM對不同的SM實際發(fā)送的時序時刻采用容錯平均的計算方法,將計算結果作為全局時鐘,并依此更新CM本地時鐘,然后由CM發(fā)送新的IN類型的PCF幀返回給網絡中的SM和SC節(jié)點,SM和SC收到PCF幀后,根據透明時鐘和接收時刻更新各自本地的時鐘,至此使TTEthernet網絡中所有的節(jié)點(SM、SC和CM)都遵循相同的時鐘基準,達到全網時鐘同步。然后周期的進行時序還原和時鐘更新,確保時鐘同步正常進行。
為對不同時鐘同步階段的PCF幀的攻擊行為方式有更好的理解,從攻擊者的思路出發(fā),闡述發(fā)生攻擊行為的預置條件,對不同攻擊行為的實施過程進行分析。針對不同時鐘同步階段的攻擊目標以及可能采取的攻擊方式進行分類歸納,建立攻擊行為分類框架,有助于更好的理清PCF攻擊行為對時鐘同步過程的影響,同時為攻擊行為的性能評估提供必要的參考依據。
為達到有效的攻擊效果,攻擊者需要一定的預置條件才有可能成功。攻擊者可以從TTEthernet的外部網絡或內部網絡發(fā)起攻擊。攻擊者從外網發(fā)起攻擊,可以通過信息搜集、漏洞信息、后門、ARP(address resolution protocol)欺騙等技術手段接入TTEthernet網絡的網關,然后通過對TTEthernet網絡內部節(jié)點的注入或中間人攻擊方式,實現對時鐘同步攻擊。攻擊者也可以從內網發(fā)起攻擊,不必考慮接入網關,可直接通過惡意木馬、病毒、后門等技術手段發(fā)動節(jié)點注入和中間人攻擊方式,實現對時鐘同步攻擊。
基于PCF幀的時鐘同步過程,可實施多種形式的攻擊,包括數據包篡改攻擊、欺騙攻擊、重放攻擊、阻斷攻擊、延遲攻擊。每種攻擊行為的工作機理各具特點,威脅程度不同,與時鐘同步過程密切相關。
3.2.1 數據包篡改攻擊
數據包篡改攻擊即攻擊者在TTEthernet網絡中部署攻擊節(jié)點,將攻擊節(jié)點作為中間方接入到通信鏈路中,篡改從正常節(jié)點發(fā)出的PCF幀數據,并將篡改后的數據包發(fā)送給節(jié)點的接收方。導致發(fā)送節(jié)點和接收方無法識別發(fā)出的數據包已經被篡改。
數據包篡改攻擊會改變PCF幀的數據,對不同參數的篡改會造成不同的影響。篡改PCF幀類型,整合周期、成員向量值、同步信息會導致節(jié)點拒絕提供服務,造成時鐘同步過程停擺。篡改PCF幀的透明時鐘值會導致不同節(jié)點時鐘出現偏差,無法達到時鐘同步??梢?,數據包篡改攻擊會對時鐘同步造成嚴重的威脅。數據包篡改攻擊示意如圖3所示。
圖3 數據包篡改攻擊示意圖Fig.3 Schematic diagram of packet tampering attack
3.2.2 數據包欺騙攻擊
數據包欺騙攻擊即攻擊者在TTEthernet網絡中,切斷正常的發(fā)送節(jié)點和接收節(jié)點的通信連接,并偽裝成發(fā)送或接收節(jié)點,建立正常節(jié)點到偽裝節(jié)點的通信鏈路,然后進行數據包交互,達到欺騙正常節(jié)點的目的。攻擊者要想成功發(fā)起攻擊,還需要考慮PCF幀的時鐘整合周期,即偽裝節(jié)點與正常節(jié)點間的PCF幀的數據包交互需要在同一時鐘整合周期內,否則正常節(jié)點就無法接收偽裝節(jié)點發(fā)過來的數據包。
區(qū)別于數據包篡改攻擊可以改變PCF幀的大部分參數,欺騙攻擊的前提是要保持偽裝節(jié)點和正常節(jié)點的通信,所以不能強制改變PCF幀的參數數值,比如整合周期、同步域、幀類型等會影響通信鏈路的參數,而透明時鐘表示的是PCF幀的傳輸累加延遲,其值是動態(tài)變化的,不會影響通信鏈路的穩(wěn)定性,因此偽裝節(jié)點會針對透明時鐘做手腳,在時鐘同步的通信過程中返回錯誤的透明時鐘值,從而造成不同節(jié)點時鐘出現偏差,無法達到全局時鐘同步。
此外,數據包欺騙攻擊的威脅程度取決于偽裝節(jié)點的類型,因為在時鐘同步的過程中,CM不止與一個SM節(jié)點進行通信,而多個SM節(jié)點會與CM通信,這好比在實際網絡中,終端數量要多余交換機數量,具體數量取決于網絡拓撲結構。若偽裝為CM節(jié)點,則會向網絡中不同的SM節(jié)點反饋錯誤的透明時鐘,從而嚴重威脅時鐘同步精度。反之,若偽裝為SM節(jié)點,造成的影響較小。數據包欺騙攻擊示意如圖4所示。
圖4 數據包欺騙攻擊示意圖Fig.4 Schematic diagram of packet spoofing attack
3.2.3 數據包重放攻擊
重放攻擊即攻擊者相隔一段時間后,將某節(jié)點已經發(fā)送給目的節(jié)點的數據包,由攻擊者再次發(fā)送給目的節(jié)點。針對于PCF幀發(fā)起重放攻擊,要保證重放發(fā)送的PCF幀數據包與之前由正常節(jié)點發(fā)送的PCF幀數據包的發(fā)送間隔在同一時鐘整合周期內,否則節(jié)點拒絕接收攻擊者重放發(fā)送的數據包,導致攻擊無效。
區(qū)別于數據包篡改攻擊和欺騙攻擊,重放攻擊并不修改PCF數據包的任何參數值,也不必偽裝成正常節(jié)點,僅是將數據包在一定時間間隔后再次發(fā)送給目的節(jié)點,而時間間隔會增大透明時鐘的數值,會導致在時序還原和時鐘更新階段,造成時鐘扭曲出現偏差,影響全局時鐘同步。數據包重放攻擊示意如圖5所示。
圖5 數據包重放攻擊示意圖Fig.5 Schematic diagram of packet replay attack
3.2.4 數據包阻斷攻擊
阻斷攻擊即攻擊者將經過攻擊節(jié)點的PCF幀數據阻斷,使接收節(jié)點無法收到時鐘同步信息,會對時鐘同步造成嚴重的威脅。數據包傳輸路徑的不同會造成不同的威脅程度。在時鐘初始化階段,阻斷攻擊會阻止CS/CA幀的發(fā)送,使CM或SM節(jié)點拒絕服務,導致時鐘初始化失敗。在時鐘更新階段,CM節(jié)點不止與一個SM節(jié)點通信,若阻斷CM發(fā)送給網絡中的SM節(jié)點的數據包,則會嚴重影響時鐘同步過程。在時序還原階段,威脅程度取決于TTEthernet網絡中SM節(jié)點的數量和阻斷由SM向CM發(fā)送鏈路的數量,若SM節(jié)點數量多,且阻斷的通信鏈路少,則對時鐘精度有影響,不會導致時鐘停擺,威脅程度較低,反之威脅程度較大。數據包阻斷攻擊示意如圖6所示。
圖6 數據包阻斷攻擊示意圖Fig.6 Schematic diagram of packet blocking attack
3.2.5 數據包延遲攻擊
數據包延遲攻擊即攻擊者將經過攻擊節(jié)點的PCF幀數據截停一小段時間,然后發(fā)送給目的節(jié)點。延遲的時間應在同一整合周期內,否則會造成節(jié)點拒絕服務。對于一般的通信機制并不會造成嚴重影響,但對于對時間精度要求很高(微妙級)的時鐘同步過程,即使很小的延遲也會造成嚴重的威脅。
延遲攻擊與重放攻擊類似,并不修改PCF幀任何參數信息,區(qū)別在于工作機理不同。但都會影響透明時鐘的值,造成本地時鐘與實際時鐘出現偏差,影響全局時鐘同步。影響程度取決于SM數量和通信流向。在時鐘更新階段,若延遲CM發(fā)送給網絡中的SM節(jié)點的數據包,則會嚴重影響時鐘同步過程。在時序還原階段,威脅程度取決于TTEthernet網絡中SM節(jié)點的數量和延遲由SM向CM發(fā)送鏈路的數量,若SM節(jié)點數量多,且延遲的通信鏈路少,則威脅程度較低,反之威脅程度較大。數據包延遲攻擊示意如圖7所示。
圖7 數據包延遲攻擊示意圖Fig.7 Schematic diagram of packet delay attack
針對基于PCF幀的時鐘同步過程,可實施多種形式的攻擊,包括數據包篡改攻擊、欺騙攻擊、重放攻擊、阻斷攻擊、延遲攻擊。每種攻擊行為的工作機理各具特點,威脅程度不同,與時鐘同步過程密切相關?;陔A段性的時鐘同步過程,針對PCF幀的攻擊行為分類框架如圖8所示。
圖8 基于階段性的時鐘同步過程PCF攻擊行為分類框架Fig.8 PCF attack behavior classification framework based on phase synchronization
在時鐘初始化階段,數據篡改攻擊和阻斷攻擊都可能導致時鐘初始化失敗,使時鐘同步過程停擺。數據篡改攻擊可將PCF的幀類型由CS/CA修改為IN,阻止CM和SM節(jié)點握手通信。阻斷攻擊會可阻止SM與CM節(jié)點間CS和CA幀的交互,從而阻止CM和SM節(jié)點握手通信。
在時序還原階段,五種攻擊方式都有可能形成威脅。數據篡改攻擊可篡改PCF幀的整合周期、成員向量值,可能導致節(jié)點拒絕提供服務,造成時鐘同步過程停擺。篡改PCF幀的透明時鐘值會導致不同節(jié)點時鐘出現偏差,無法達到時鐘同步。數據包欺騙攻擊、數據包重放攻擊、數據包延遲攻擊都是針對透明時鐘發(fā)起的攻擊,使CM節(jié)點無法正確還原不同SM節(jié)點發(fā)送PCF幀的時序,進一步影響時鐘更新階段,導致時鐘出現偏差,影響全局時鐘同步。不同之處在于數據包欺騙攻擊是主動修改透明時鐘數值,重放攻擊和延遲攻擊不修改PCF幀參數數據,而是被動增加透明時鐘數值。數據包阻斷攻擊即阻斷由SM節(jié)點發(fā)送給CM節(jié)點的PCF幀數據包,造成時鐘出現差異。
在時鐘更新階段,五種攻擊方式都有可能形成威脅。數據篡改攻擊可篡改PCF幀的整合周期、成員向量值,可能導致節(jié)點拒絕提供服務,造成時鐘同步過程停擺。篡改PCF幀的透明時鐘值會導致不同節(jié)點時鐘出現偏差,無法達到全局時鐘同步。數據包欺騙攻擊、數據包重放攻擊、數據包延遲攻擊都是針對透明時鐘發(fā)起的攻擊,使CM節(jié)點無法準確更新本地時鐘,推算全局時鐘,導致SM和SC節(jié)點錯誤的更新本地時鐘,影響全局時鐘同步。不同之處在于數據包欺騙攻擊是主動修改透明時鐘數值,重放攻擊和延遲攻擊不修改PCF幀參數數據,而是被動增加透明時鐘數值。數據包阻斷攻擊即阻斷由CM節(jié)點發(fā)送給SM和SC節(jié)點的PCF幀數據包,造成時鐘出現差異。
攻擊者在實施攻擊之前,一般要規(guī)劃詳細的攻擊方案,包括確定攻擊目標、選取攻擊行為。分析評估攻擊行為性能有助于更好地理解攻擊者意圖,更直觀的認識攻擊效能和影響,為預警防護檢測提供有效的參考依據。不同攻擊行為的工作機理不同,為量化評估PCF攻擊行為性能,需要在同一基準上展開評估,因此應從不同的攻擊行為中,提取具備共性特征的攻擊要素,并建立攻擊性能評估方法。
攻擊行為性能應統籌考慮攻擊成本和攻擊收益,而攻擊成本和攻擊收益的量化計算的前提是提取各自的攻擊要素。PCF幀的攻擊行為成本即為達到攻擊目的所需要的資源[12],基于PCF攻擊行為機理,可抽離出4種攻擊要素,包括攻擊者能力、目標環(huán)境依賴性、隱蔽性、作用周期。攻擊者能力決定攻擊種類,能力越強,經驗越豐富,對網絡攻擊技術的理解和運用越全面。目標環(huán)境依賴性指攻擊行為實施所依賴的具體操作系統和應用平臺,它與攻擊行為的選取和實施有直接關系,依賴性越強,攻擊的針對性和攻擊效果越好。隱蔽性指攻擊行為的實施被目標安全防護機制檢測到的概率程度,隱蔽性越好,攻擊行為越難被發(fā)現,但攻擊效果不明顯。作用周期指攻擊行為從準備、發(fā)起、作用到退出的系列過程,作用周期越長,起效時間久,隱蔽性好。
PCF幀攻擊行為收益可概括為攻擊效果,基于攻擊行為的機理和PCF幀結構,可抽離出5種攻擊要素,即時鐘整合周期、成員向量、同步信息、幀類型、透明時鐘。
基于PCF幀的攻擊行為要素,即可量化攻擊行為的攻擊成本和攻擊收益,評估出攻擊行為的性能。攻擊要素是從攻擊機理中定性分析得出,需要與相應的可量化反應攻擊要素的參數進行標定計算,進而為評估攻擊行為性能提供計算依據。
攻擊要素并不是與量化參數一一對應的,如環(huán)境依賴性不僅與操作系統和平臺相關,還與相應的漏洞和權限關聯,可見這需要大規(guī)模樣本和專家經驗的科學統計。如何基于攻擊要素選取量化的參數,關系到評估性能的準確性。因此,可參考CVSS(common vulnerability scoring system)通用漏洞評估體系[13],它是開放式的行業(yè)標準,為信息安全從業(yè)人員提供了一套歸一化的量化參數的評定方法。攻擊要素與其對應的量化參數如表2所示。
表2 攻擊要素與其對應的量化參數
攻擊者經驗越豐富、代碼質量和利用率越高、對操作系統和應用平臺的要求和權限越低,則反映出的攻擊成本越少。突破、致癱能力越強、收集的信息量越多、攻擊影響和破壞程度越大,則表示攻擊收益越好?;诠舫杀竞凸羰找娴墓粢睾透髯缘牧炕瘏担纯山⒐粜袨樾阅芰炕u估公式:
P(A)=CB
(1)
式(1)中:A表示PCF幀攻擊行為;C代表攻擊成本;B代表攻擊收益;P(A)表示攻擊行為性能的定量值。
攻擊成本C為
(2)
攻擊收益B為
(3)
綜上,可以得出攻擊行為的性能評估量化公式為
(4)
目前針對TTEthernet時鐘同步過程的攻擊還沒有公開的數據集,攻擊樣本數量稀少且很難采集,因此為更清晰的論述所提方法,通過示例進行闡明。如圖9所示,為示例的TTEthernet網絡拓撲結構組成,CM節(jié)點數量為2,SM節(jié)點數量為6,SC節(jié)點數量為1。攻擊者針對PCF幀,分別在時鐘同步的不同階段發(fā)起攻擊。
圖9 TTE網絡拓撲結構示例圖Fig.9 Example of TTE network topology
假定攻擊者在SM1節(jié)點發(fā)起阻斷攻擊,用于在初始化過程中阻斷由SM1節(jié)點發(fā)送給CM1節(jié)點的CS/CA幀數據。假定攻擊者在CM1節(jié)點發(fā)起篡改攻擊,目的在時鐘更新階段,篡改由CM1節(jié)點發(fā)送給SC節(jié)點的透明時鐘值。假定攻擊者在SM3節(jié)點發(fā)起延遲攻擊,用于在時序還原階段,延遲SM3節(jié)點發(fā)送給CM1節(jié)點的PCF幀數據。假定攻擊者在SM5節(jié)點發(fā)起欺騙攻擊,用于在時序還原階段,修改由SM6節(jié)點發(fā)送給CM2節(jié)點的透明時鐘值。假定攻擊者在SM4節(jié)點發(fā)起重放攻擊,用于在時序還原階段,在一定的時間內(小于整合時鐘周期)重復發(fā)送PCF幀給CM2節(jié)點,增大透明時鐘的數值。
基于不同階段的時鐘同步過程,提出一種針對PCF幀的攻擊行為的性能評估方法。首先對5種攻擊行為的實施過程及其造成的影響進行詳細分析,并建立攻擊行為分類框架。然后分析了攻擊成本和攻擊收益的攻擊要素和其對應的量化參數,建立了攻擊行為性能的量化的數學表述。最后通過典型示例,對所提方法進行了說明。為后續(xù)理解攻擊者的攻擊意圖和更好的進行防御奠定了研究基礎。未來的工作中要基于大量的攻擊樣本和使用場景,研究選擇合適的攻擊要素的權重值和量化參數,進一步提高評估的精確性。