趙劍 明 ,曾 鵬 ,袁 輝
(1.中國科學院沈陽自動化研究所 機器人學國家重點實驗室,遼寧 沈陽110016;2.中國科學院網絡化控制系統重點實驗室,遼寧 沈陽 110016;3.中國科學院機器人與智能制造創新研究院,遼寧 沈陽110169;4.中國科學院大學,北京 100049;5.昌河飛機工業(集團)有限責任公司,江西 景德鎮 333002)
工 業 物 聯 網(Industrial Internet of Things,IIoT)相較于傳統的物聯網更專注于工業應用的專業要求,例如制造、石油和天然氣等相關行業[1-3]。工業物聯網通過將具有感知能力的各類傳感器、控制設備和各種無線通信等技術手段融入到工業生產的環境當中,極大地提高了生產效率,并有效控制資源消耗和生產成本。 智能控制設備和智能傳感器是工業物聯網中最常見的基本單元。 隨著兩化融合的深入,控制設備和傳感器在數字化、網絡化、智能化的推進中廣泛使用,使得工業控制系統從封閉式孤島運行模式轉變為開放式互聯運行模式。 工業物聯網作為新一代工業控制系統的信息傳輸媒介,在將傳統工業提升到智能化的新階段同時,也面臨著功能失效因素不斷增多、信息威脅加速滲透、攻擊手段復雜多樣等新挑戰。
在實際復雜的工業物聯網絡中, 動態攻擊/修復的迭代模型是普遍而必要的一種網絡方法[4-5]。 具體地說就是,在一段時期內,網絡攻擊者會對工業物聯網絡發起攻擊,而網絡的維護者在網絡被攻擊之后,會采取措施對網絡進行修復,如此形成一個動態的攻擊(或修復)的迭代過程。 相比于單一的網絡攻擊,這樣的動態攻擊(或修復)模型在現實中是更加實用及常見的。 對于攻擊者來說,其目標是尋求一種惡意的攻擊方式對工業物聯網絡發起攻擊, 最大程度地對網絡結構、性能、連接性等關鍵指標造成破壞;與此同時, 網絡修復者的主要目的就是找到一種最佳的網絡修復措施,恢復網絡的正常功能,并且使得網絡抵抗下一次的惡意攻擊的能力增強。
目前,針對此方向的理論,文獻[6]對輸電系統在大停電事故后的重構優化問題展開了研究, 提出了一種離散粒子群優化算法獲得最優目標網。 文獻[7]對電力系統恢復控制問題中的網絡重構展開研究,以尋找最短的加權送電路徑為優化目標,將網絡重構建模為一個尋找圖的局部最小樹問題,并計及各種約束,提出了最優送電路徑的通用模型和智能優化算法解算模式。 文獻[8]針對并行恢復對加快大停電后系統的恢復展開討論,提出了一種新的基于復雜網絡社團結構理論的恢復子系統劃分算法,根據黑啟動機組在電網中的分布情況以及電網自身特點來劃分子系統,利用模塊度指標來衡量劃分結果的合理性,并根據各個子系統分裂出來的先后次序來確定子系統之間同步并列的先后次序。 該算法克服了傳統方法無法衡量劃分結果合理性、不能適當確定同步并聯規則或策略的缺點。 文獻[9]通過對負載調度、復合網關、集群、數據鏡像等技術進行研究,將循環調度、地址映射、負載均衡集群和虛擬專用網技術結合起來,成功地構建了業務服務與業務處理系統獨立處理的多級容災網絡,解決了物聯網的分布式同步數據傳輸和高效訪問問題,實現了物聯網跨地域災難恢復和大量并發接入快速響應的目標,提高了物聯網數據服務和應用服務的安全性和連續性。 文獻[10]提出了一種改進的高效智能容錯算法(IEIFTA),為物聯網中的路徑故障提供快速的路由恢復和網絡拓撲重構,在IEIFTA 中,粒子的變異方向由多群進化方程確定,其多樣性通過免疫機制得到改善,從而提高了算法的全局搜索能力和收斂速度。
雖然已有很多學者對工業物聯網恢復和網絡修復等問題開展了研究,但是大多數研究都是針對網絡本身進行算法設計和考量,忽視了網絡受到攻擊異常的特征。 工業物聯網修復問題需要考慮到網絡攻擊類型以及受到攻擊的節點特征等方面的內容。因此,本文從該角度出發,在充分考慮攻擊異常特征的前提下,對工業物聯網修復方法展開了研究,提出了基于攻擊異常特征的工業物聯網修復方法,并在模型網絡上對該方法進行了驗證。 鑒于現有的工業物聯網恢復和網絡恢復等方面的研究中修復方式不靈活、修復效果不穩定等缺點,本文算法可以根據網絡受到的不同攻擊類型靈活調整修復策略,使得網絡在面對不同類型的攻擊時都能具有較好的修復效果。
針對工業物聯網中智能控制設備和智能傳感器之間傳遞信息構建的網絡拓撲,構建一個由N 個節點組成的工業物聯網。 考慮到工業物聯網修復的可行性,本文工業物聯網中的智能控制設備和智能傳感器之間的連接都通過無線完成。 相較于傳統有線網絡,無線網絡的拓撲結構更為靈活,同時也滿足了新型工業系統的發展需求。 在本文的工業物聯網中,每個智能控制設備或智能傳感器代表網絡拓撲中的一個節點,兩個節點之間如有連接,則這兩個節點之間有一條連邊。 因此,可以將本文中的工業物聯網定義為:G=(V,E), 其中 G 表示工業物聯網,V 表示網絡中節點的集合,E 表示網絡中連邊的集合。然而,在工業物聯網實際運行當中,各種設備大都暴露在復雜的開放環境中,一些極端環境(如惡劣天氣、地震等)可能會造成某些節點的損壞,進而破壞工業物聯網的結構和功能。 除了這類對網絡結構的隨機破壞,工業物聯網還可能受到一些蓄意攻擊,幾乎任何支持無線的設備都有可能受到黑客攻擊,從冰箱之類的廚房電器到軍用無人機,不一而足。蓄意攻擊的類型具體包括篡改消息、偽造、拒絕服務等,這些攻擊者大都選取工業物聯網中較為重要的節點進行攻擊,進而對整個工業物聯網的結構和功能造成嚴重的破壞。 本文將對工業物聯網受到蓄意攻擊后的修復方法進行深入研究。選取兩類典型的節點重要性判斷方法作為蓄意攻擊確定目標的依據:度攻擊和介數攻擊。
(1)度攻擊
度(degree)[11]是復雜網絡理論中最簡單的度量指標之一。 節點i 的度值(degi)表示該節點連邊的數量,可用鄰接矩陣A 進行定義:

作為一種蓄意攻擊方法,度攻擊方法將優先攻擊度值更大的節點。 由于該方法只考慮節點的連邊數量,所以即使在非常大規模的網絡中,度攻擊方法仍具有極高的運行效率,方便攻擊者進行判斷。
(2)介數攻擊
介數[12]是復雜網絡中另一個常用的度量指標。兩個不相鄰的節點之間的信息傳遞是依靠這兩個節點之間的路徑完成的。 一個節點的介數值描述了該節點在對整個網絡信息傳遞方面的重要程度。 節點 i 的介數值(bi)可以定義為:

其中,nxy表示節點 x 和y 之間的最短路徑數量,nxy(i)表示節點 x 和 y 之間這些最短路徑中經過節點 i 的數量。 類似于度攻擊方法,介數攻擊優先攻擊介數值較大的節點。 在工業物聯網中,介數值最大的節點設備將在信息傳遞、系統運行中起到更重要的作用。在現實應用中,介數攻擊通常比度攻擊更有效,因此,介數攻擊相較于度攻擊更為常見。
攻擊者在攻擊工業物聯網時可以有不同的攻擊目標,本文討論的工業物聯網受到攻擊和待修復的結構和功能指標為網絡的連通性和網絡平均效率。 連通性是網絡結構和功能最重要的度量指標之一,最大連通片中包含的節點個數是衡量網絡連通性程度的指標。 因此,本文將最大連通片中包含的節點個數作為評價指標評估修復算法的效果。如圖1所示,在節點“4”受到攻擊后,網絡的最大連通片規模由 11 個節點變為 4 個節點。

圖1 最大連通片示意圖
網絡平均效率是另一個重要的網絡性能指標。由于網絡中最短路徑是定義在相互連通的節點之間,使得其在描述網絡功能時不夠準確。 網絡平均效率作為最短路徑的一種拓展,可以表示為:

根據該定義表達形式,當網絡中整體最短路徑長度都較小時,該網絡具有較大平均效率,進而網絡傳輸信息效率較強。 本文算法中將用網絡平均效率判斷備選連邊的修復效果,構建新的連邊。
鑒于工業物聯網在面對不同外界攻擊時展現的魯棒性差異較大,本文中的修復算法將在修復過程中針對不同攻擊特征構建新的連邊。
區域化管理是在各個行業領域中常見的管理方式。 受區域化管理概念的啟發,本文的修復算法將再修復過程中對仍處于正常狀態下的節點進行分類,并以不同類別的節點集合為一個修復單元,在不同的修復單元之間重構新的連邊進而恢復網絡結構和功能。 社團劃分是復雜網絡研究領域內最常見的節點分類算法,工業物聯網物聯節點通過社團劃分算法可以對網絡中通信較為緊密的節點群進行識別。 因此,本文將通過社團劃分算法將網絡進行劃分,并以社團結構為修復單元重新建立新的連接,進而修復網絡結構,恢復網絡功能。該優化算法中網絡以社團結構為單位進行修復,每個社團結構內的節點可以共享信息,社團的代表節點之間將進行更高一層的信息傳遞。 本文仿真驗證部分中所用的社團劃分算法為常用的Louvain 算法[13]。 Louvain算法是基于模塊度的社區發現算法,該算法在效率和效果上都表現比較好,并且能夠發現層次性的社區結構,其優化的目標是最大化整個圖屬性結構(社區網絡)的模塊度。 模塊度定義為:

其中,Aij代表節點 i 和 j 之間邊的權重;ki是所有與節點 i 相連的邊的權重之和;ci是節點 i 的集群號;σ(ci,cj)函數表示若節點 i 和 j 同在一個集群里,則返回值為1,否則返回 0。
在本文算法中,新的連邊只生成于網絡不同的社團之間,每個社團只選取一個代表節點與其他社團之間構建一條新的連邊。 在選取節點的過程中,考慮到加入新構建的連邊后仍處于之前的受損環境下,選取節點和建立連邊的環節應該關注到該環境下的攻擊特征,使得修復后的網絡在面對該類攻擊時具有更強的魯棒性。 如前文所述,工業物聯網受到的攻擊大致可以分為兩類:隨機攻擊和蓄意攻擊,其中蓄意攻擊中較為常見的為度攻擊和介數攻擊。 因此,在本文的算法設計中,將針對隨機攻擊、度攻擊、介數攻擊這三種攻擊方式進行設計。
隨機攻擊:在面對隨機攻擊時,由于無標度網絡具有較強的魯棒性,所以在構建連邊時,本文將設定網絡中度值更大的節點更有可能作為代表節點,使得修復后的網絡具有更強的無標度網絡特性。
度攻擊:在面對度攻擊時,網絡中度值較大的節點將被優先攻擊,因此在構建連邊時,本文將通過縮小網絡中各個節點之間度值的差異,設定網絡中度值更小的節點更有可能作為代表節點,使得修復后的網絡具有較弱的無標度特性。
介數攻擊:在面對介數攻擊時,網絡中介數值較大的節點將被優先攻擊,所以在構建連邊時,本文將通過減少介數值較大的節點獲得與其他節點更多的直接連接,設定網絡中介數值更小的節點更有可能作為代表節點,使得修復后的網絡各節點間的介數值差異更小。
確定了每個社團的代表節點之后,這些代表節點之間就可以生成備選新建連邊,并且通過每條備選連邊對網絡結構和功能的改善程度(網絡平均效率增值Delta(E))判斷該連邊的優化效果。 由于信息傳遞是工業物聯網的重要功能,本文算法對評價指標——傳統的網絡平均效率增值進行改進,考慮了網絡中節點信息流量。 算法中,設定網絡信息流量修復效果加成系數為F。 對于每一條備選新連邊可具有兩種情況:生成于同一連通片內的兩個社團之間和生成于不同連通片的兩個社團之間。
(1)同一連通片
由于這類連邊不會改變網絡中連通區域的大小,因此對于這類連邊,信息流量修復效果加成系數 F 為 1,則修復效果:

(2)不同連通片
分別設這兩個不同的連通片中傳遞的信息流量為 f1和 f2。 由于在衡量網絡拓撲結構和信息流量時都只觀察連通區域數值較大的連通片,因此對于生成于不同連通片之間的連邊,可定義其信息流量加成系數為:

然后將信息流量加成系數結合到網絡平均效率增值中,則修復效果為:

本文算法中,每次重新建立的新連邊為備選連邊中修復效果值Recovery 最大的連邊。 在限定網絡最多生成連邊數量后,基于以上步驟,就可以得到受到該類攻擊后網絡的修復策略,具體如圖2 所示。

圖2 算法流程示意圖
本節將使用基于攻擊異常特征的工業物聯網修復方法,通過重新建立少量新的連邊,對兩個模型網絡進行修復,恢復網絡的結構和功能。 選取兩類具有不同結構的模型網絡進行仿真驗證:BA 網絡和 WS 網絡。
BA 網絡[14]:在該模型網絡中,網絡的構建共有兩個步驟:
(1)以一個具有m0個節點的全連通網絡為基礎,每次生成一個新的節點,該節點與網絡中現有節點間建立m(m≤m0)條新的連邊。
(2)當新的節點選擇現有節點構建新連邊時,它與現有節點i 構建連接的概率為
在t 時刻,以上兩個步驟可以構建一個具有N=t+m0個節點的網絡。 在本節仿真驗證中,設定節點總數 N 為 200,m 為 3。
WS 網絡[15]:在該模型網絡中,網絡的構建共有兩個步驟:
(1)以一個具有N 個節點的環形規則網絡為基礎,在該網絡中每個節點都和它左右兩邊各個節點進行連接。
(2)隨機重連,網絡中的每個連邊都以概率p 隨機重新連接,即連邊的一個端點保持不變,另一個端點作為網絡中隨機選擇的節點。 它規定,任何兩個不同的節點最多只能有一條連邊,每個節點不能有連接到自己的連邊。
在 WS 網絡中,當 p=0 時為規則網絡,當 p=1時為隨機網絡。 WS 網絡的結構與參數的大小直接相關。 在本節仿真驗證中,設定節點總數 N 為 200,鄰居節點數量為 4,重連邊的概率p 為 30%。
圖3 展示了本文仿真驗證中使用的BA 網絡和WS 網絡的網絡拓撲。

圖3 模型網絡示意圖
首先,在基于攻擊異常特征的工業物聯網修復方法中,需要提前設定重新建立的新連邊數量。 對于具有不同結構的網絡以及面對不同外界攻擊時,修復所需要的連邊數量是不同的。 本文中設定,新加入的連邊保證該網絡在修復后與受損前的網絡密度保持一致。 這樣的設定既能使網絡受到外界攻擊后避免因其連邊數量過低導致的網絡功能較受干擾前降低過多,同時也能保證不會因為加入數量過多的連邊使其超過網絡可容納量。 考慮到工業物聯網在實際運行中,大多數情況下受到攻擊的節點規模不會很大,所以本節只關注當受到外界攻擊節點數量在20%時,工業物聯網結構和功能修復的效果如何。 在前文中提到,網絡的連通性(即最大連通片包含節點數量) 為本文中評價修復效果的指標。此外,由于不同的網絡修復方法的基本思想有差別(如新建連邊、新建節點、恢復節點、恢復連邊、調整網絡流量等),因此本文仿真實驗中不考慮不同修復方式的算法之間的修復效果對比,僅通過實驗說明本文算法在不同類型網絡和不同攻擊方式下修復的有效性。
圖4 展示了模型網絡在受到規模為0%~20%的外界攻擊時網絡連通性的變化情況,其中三角形曲線表示修復前的網絡連通性,圓形曲線表示修復后的網絡連通性,方形曲線表示模型網絡在受到對應規模的外界攻擊時保持前后網絡密度不變需要加入的新連邊數量。 從圖中可以直觀看到,不論是在BA 網絡還是 WS 網絡中,經過修復的模型網絡的連通性均有顯著提高。 值得注意的是,在隨機攻擊下,BA 網絡和WS 網絡具有較高的魯棒性,攻擊后的網絡連通性基本不受影響。 在度攻擊和介數攻擊下,隨著受到攻擊節點的規模不斷增大,本文算法的修復效果也顯著增大,其中,在 BA 網絡中,修復后的網絡連通性較修復前可提高超過20%。通過仿真驗證表明,在具有不同網絡結構的工業物聯網中,本文算法都可以得到較好的修復效果,恢復網絡的結構和功能。

圖4 修復效果圖
本文針對工業物聯網在實際運行中易受攻擊的現象,提出了一種基于攻擊異常特征的工業物聯網修復方法,通過對受攻擊網絡結構進行社團劃分,并在社團之間根據不同的攻擊異常特征重新構建少量新的連邊,修復網絡,恢復工業物聯網的結構和功能。 仿真結果表明,本文算法在具有不同結構的工業物聯網中都具有較好的修復效果,提高了網絡的抗毀性,為工業物聯網的安全穩定運行提供了一種理論方法。