雷文鑫,侯文靜,文 紅,徐鑫辰,吳思慧,費靈芝
(電子科技大學,四川 成都 611731)
邊緣計算[1]是在高帶寬、時間敏感和物聯網高度創新的背景下提出的。它可以在系統網絡的邊緣提供一個集連接、計算、存儲和應用于一體的開放平臺,為就近終端的數據提供邊緣智能服務。邊緣計算作為一種新型的計算基礎設施,可以提供相比于云計算[2]更好的安全性。然而,邊緣計算設備由于與大量智能終端的緊密物理連接,且計算資源有限,更容易受到安全威脅。
攻擊者通常瞄準邊緣計算設備上的私人隱私數據和豐富的數字資產。攻擊過程通常開始于對被攻擊目標的偵察。攻擊者使用端口掃描或暴力破解密碼等手段發現開放的接口和服務漏洞,進而繞過合法身份,使用從遠程到本地(Remote to Local,R2L)的方法非法獲取私有數據。然后,利用用戶到根(User to Root,U2R)攻擊獲得更高級別的系統特權或竊取數字資產[3],使攻擊者從中受益。然而,邊緣計算設備因遭遇攻擊而無法及時處理終端發出的任務請求導致停機,將使區域或整個物聯網絡崩潰。
攻擊者在攻擊邊緣設備時,根據入侵階段收集的信息,利用系統的漏洞進行攻擊。入侵的惡意代碼通過訪問邊緣設備的敏感數據資產實現攻擊,通過修改數據刪除攻擊證據,清除操作日志,使管理員無法訪問攻擊證據。
現有的邊緣系統安全解決方案[4-5]多側重于單個或局部安全問題的保護和檢測,缺乏全局安全防護觀念,因此無法提供足夠的安全保護。安全態勢感知[6-8]是指對環境因素在一定時間和空間的安全性認識和理解,并預測未來的趨勢。態勢感知技術有助于通過有限的邊緣計算資源成本合理評估物聯網系統,充分考慮各種威脅,防范攻擊。
本文提出了一種利用邊緣設備的存儲、通信和計算能力在不同時隙下的狀態,實現對邊緣設備進行安全態勢感知的新模型。將邊緣計算設備運行過程中產生的海量數據抽象為不同時隙下的指標數據集,然后映射為狀態,構建基于設備狀態信息的模型,再通過狀態轉移矩陣分析不同時隙下的設備運行是否發生不正常改變,從而實現對惡意入侵或攻擊的識別。
傳統的邊緣計算安全防護系統是針對特定的攻擊手段而設置的,如接入認證、角色訪問控制以及數據加密等。面對攻擊者竊取數字資產和破壞證據的行動,它往往功能不全,導致防護效果不佳。資深的攻擊者通常會想方設法偽裝自己的攻擊,消除證據。因此,傳統的基于操作日志定位攻擊的防御措施可能是無效的。
幸運的是,攻擊者的威脅行為在目標受體(邊緣設備)上留下了痕跡,為安全狀態感知的研究提供了思路。與以往的方法不同,收集的數據為表征邊緣設備運行過程的狀態參數,而不是邊緣設備的應用層數據。一旦邊緣計算受到攻擊,從監控攻擊者到入侵,再到數據資產丟失或拒絕服務,受體設備的CPU、磁盤、內存和網絡狀態都會表現出不同的行為趨勢,成為判斷邊緣計算設備安全態勢感知的良好依據。
在邊緣計算架構的物聯網中收集邊緣計算設備的狀態參數數據,定義邊緣設備的指標集C={C1,C2,…,C|C|},其中|C|為指標個數。這里的指標集是指能夠直接表征邊緣計算設備在運行過程中的性能參數集合,如設備在當前時刻的磁盤讀寫能力、內存占用率、CPU 占用率以及網絡數據包收發頻率等。在確定需要采集的數據指標后,采集這些指標在設備運行時的時間序列。對于指標Ci(i=1,2,…,|C|),接收到的時間序列表示為{Ci,j},數據采集時間的總時隙數為T。
采集的每個指標在T個時隙的數據量是龐大的,而且是非結構化的。收集原始數據的目的是獲得設備在運行時的性能,或者檢測設備是否遭遇攻擊,因此需要將這些原始數據映射為表征設備安全的狀態。為了降低數據處理難度,常用的方法是找出數據的統計特性,如均值方差法。但是,每一個特定的指標采集得到的數據都擁有不同的概率分布,因此受限于邊緣計算設備的時間敏感性和資源消耗,不可能單獨分析每個指標的統計特性。
為了使邊緣設備在處理大型數據集時具有良好的擴展性,同時不占用過多的邊緣計算資源,考慮采用復雜度較低的算法。這里將獲取的原始數據映射為設備的安全狀態,而無監督的機器學習K-means 聚類算法滿足要求。
對于指標Ci(i=1,2,…,|C|),將采集的設備原始數據時間序列值{Ci,j}(i=1,2,…,|C|;j ∈1,2,…,T)作為訓練集,其中包括樣本點,聚類的類別簇數規定為k。隨機選取聚類中心點,表示為K={k1,k2,…,kk}。考慮到訓練集的每個樣本點Ci,j,計算其與各聚類中心kw的距離,將樣本點分配到離樣本中心最近的聚類類別中,得到其類別標簽:

這里j ∈1,2,…,T,w=1,2,…,k。
更新k個簇的中心:

重復上述步驟直到收斂,得到原時間序列映射后的狀態序列:

許多復雜系統都可以通過建模對復雜網絡進行分析,如常見的電力網絡、航空網絡、交通網絡、計算機網絡和社會網絡等。復雜網絡不僅是一種數據表示形式,也往往是對現實世界中一個極其復雜的系統的數學描述,具有大量的節點和復雜的拓撲關系。
數學上,復雜網絡用G=(V,E)表示。網絡中的節點集用V={v1,v2,…,vn}表示,|V|=n為節點的數量;邊集用E={e1,e2,…,em}表示,|E|=m表示邊的總條數。

(1)對于矩陣S,元素是量化的。由于|C|和T通常很大,而S的維度很大,同時邊緣計算設備計算能力通常較低,因此直接處理非常困難。但是,狀態序列矩陣S包含了設備的歷史狀態和當前狀態信息和狀態之間豐富的轉換關系。
(2)對于基于復雜網絡的態勢感知節點集合,狀態矩陣S由列向量組成,其中列向量代表設備在數據采集時間段的狀態。因此,找到S中的向量作為復雜網絡的狀態節點,并將這些節點按照采集時間的先后順序進行編號。如果采集時刻的狀態向量在采集前就已經存在,則放棄這個向量,以避免重復節點的產生。
(3)對于基于復雜網絡的態勢感知邊集合,按照采集時間的先后順序對矩陣S中兩兩相鄰的列向量依次執行操作,如果列向量代表的節點va轉移到下一個列向量代表的節點vb,則在va和vb之間增加一條邊,且這條邊從節點va指向節點vb,這里1 ≤a<b≤T。
為了驗證所提方法在基于邊緣計算的物聯網環境中的有效性,設計實驗構建邊緣計算設備的安全狀態感知模型。
實驗過程中,采集邊緣計算設備的設備磁盤讀、設備磁盤寫、內存占用、網絡數據包收和網絡數據包發5 個指標。設定每次數據采集的時間間隔為10 s,然后將收集到的原始數據的1 200 個時隙的數值通過K-means 聚類,得到狀態序列矩陣S~:
這里k=5,Si,j?{1,2,…,5},i={1,2,3,4,5},j=1,2,…,1 200。
在這種情況下得到網絡圖G=(V,E),其中|V|=76 和|E|=178。大量的原始數據被縮減為設備運行的76 種狀態,而圖1 的部分節點是聚合的,反映了設備運行的大部分時間應該處于的狀態。根據模型表現的特性,可見所提方法降低了評估設備安全性能的復雜度。
下面考慮狀態節點的聚集性。觀察節點及節點之間的轉換關系,將網絡G劃分為5 個部分作為安全評估的初步結果。關注其中一部分,節點v1與節點v2之間的連接邊最粗,說明節點v1所代表的狀態與節點v2所代表的狀態轉換比較頻繁。
當需要確認設備的安全狀態時,主要考慮的因素是狀態節點是否是較大的影響節點(如節點v1和節點v2),如果不是,則考慮該節點是否與較大的影響節點相連,此外還需要考慮該節點到最大影響力節點的最短路徑長度。如果需要檢測的狀態節點在復雜網絡中不存在,則認為該設備受到攻擊。此時,將此狀態節點轉化為離該節點最近的節點,再轉化到影響力較大的節點,是避免攻擊發生的有效途徑。

圖1 安全態勢感知的復雜網絡模型
針對現有的邊緣計算安全防護方案大多集中在具體問題的安全防護和檢測上而缺乏全局安全的概念的問題,在邊緣計算廣泛應用于物聯網的背景下,為了全面保護邊緣數據資產和隱私,闡述了邊緣設備的安全態勢感知方法。從收集邊緣設備特征的原始數據到狀態的映射,最后構建了基于復雜網絡的邊緣計算安全態勢感知模型。數值仿真結果表明,所提方案是有效的,能夠準確表征邊緣設備的工作狀態。今后的研究將考慮分析復雜網絡的其他特征,如模擬邊緣設備的多維度攻擊和檢測模型的魯棒性,從而使安全狀態感知的工作更加有效。