工業互聯網的連接安全問題,不單純是指傳感器、網關設備、服務器等工業網絡節點的合法身份能否受到保護,也包括工業數據環境的安全,如數據能否被正常讀寫訪問,是否存在泄露的風險或發生實質性的變化,尤其是數據行為的非正常改變。我們需要辨明工業互聯網連接和安全之間的關系,包括連接的構成、兩端的接口,以及外部攻擊的機理。研究工業互聯網連接安全的關鍵在于建立連接與安全的關系模型,從中找出不斷削弱乃至完全消除安全問題的相關技術途徑。這是本文關于應對IIoT安全挑戰的一種思路。
3 工業互聯網的連接特性
工業互聯網是由大規模節點相互“連接”組成的數字化大系統,其特征是連接節點數量多且分布廣泛。圖1為工業互聯網中包含多種連接與相關通信部分的4層架構[6]。邊緣層由工業終端設備和邊緣網關設備共同組成。作為邊緣層的集群節點,網關設備可連接多個工業設備或系統,如有必要還可以與其它網絡建立橋接通信關系。除了工業網絡數據包抓取和特定通訊協議解析的功能外,網關設備還可能包含邊緣計算環境。網絡層由互聯網基礎設施構成,它的作用是在邊緣層和云平臺之間建立數據流和控制流。平臺層由云計算環境構成,是工業大數據存儲、管理和計算的中心。應用層主要由人機交互的可視化應用終端構成,可輸入工業用戶的需求,并顯示工業應用的計算結果。
圖1 工業互聯網的4層連接架構
工業互聯網的4個層級包含多條連接通道。這些通道承擔著邊緣數據采集、云控制、人機交互,以及工業互聯網與其他第三方系統API通信的重要任務。就單個通道而言,它可能承接兩個端點的數據傳輸任務,也可能穿越不同層級的多個中間節點,經過單向和雙向的數據傳輸,形成數據鏈路或回路。不同節點通過連接通道形成的依存關系,構成了交錯復雜的數據網絡。理論上工業互聯網上每個連接通道都應得到安全保護,否則只要有一個環節出問題,就容易導致整個工業互聯網受到沖擊。
工業互聯網的連接本質上由3種元素組成,即端點(節點)、連接通道和數據流。典型的連接至少包含2個以上端點,1條單項或雙向的連接通道,1條以上數據流。表1列出了工業互聯網系統最常見的5類端點,以及典型的連接通道和網絡通信協議。其中,代表性的直連鏈路有5種(鏈路1~5)。以A、B兩類端點所處的邊緣層數據鏈路為例,鏈路1的數據源由工業設備(如溫度傳感器)的通訊模塊發出,采用特定工業網絡協議(如ModbusTCP)傳輸至邊緣網關,邊緣網關捕獲數據包后對特定通訊進行解析,把采集到的數據存入指定的緩存區域,而后可通過鏈路2的互聯網通信接口和MQTT等協議發送到云端的緩存區域,從而形成串聯數據鏈。
從以上分析可以做出推論,連接端點是網絡攻擊的主要突破點。攻擊的后果包括:(1)通訊服務阻斷;(2)數據通道被利用;(3)通訊數據被篡改。因此,研究連接與信息安全之間的關系模型,對于工業互聯網的安全管控至關重要。
4 連接與安全的關系模型
建立連接與安全的關系模型,有助于形成工業互聯網系統風險威脅的來源、攻擊的對象/形式/通道、產生的數據變化,以及造成的損害等要素之間的邏輯關系。圖2是連接與安全關系模型的一種表達形式。
圖2 工業連接與安全的關系模型
工業環境存在多種威脅的攻擊源。其中,5類工業端點的主機(如工業設備、網關、服務器、應用或第三方系統的客戶端)由于缺乏防護常處于脆弱的狀態,極易受到木馬、蠕蟲、灰色軟件、后門病毒、感染性病毒和漏洞等多種形態的病毒威脅或惡意軟件的攻擊。據瑞星公司統計,2019年工業系統感染的病毒中,木馬病毒占據總數的63.5%,其次是蠕蟲病毒。而一部分感染性病毒由于會造成巨大損失,也成為工業安全防御的關鍵,尤其是會感染并蔓延到整個工業網絡的勒索病毒。
從攻擊對象上看,工業互聯網的安全問題可分為2種。一種是對物理安全的硬攻擊,如對工業設備網絡或調試等物理接口進行遠程破壞,以達到惡意追蹤或非法使用的目的,另一種是對操作系統、應用程序,以及協議接口漏洞的軟攻擊。后者是工業連接安全的主要通道。如攻擊者可通過邊緣設備或服務器操作系統上的遠程執行代碼漏洞、系統保留的不必要服務、應用軟件編碼邏輯的缺陷、被注入惡意程序代碼的第三方組件,或是工業協議接口的漏洞進行惡意攻擊。攻擊者通常可通過對端點的攻擊,達到對設備節點控制、數據非法訪問和篡改等目的。經由通訊網絡的感染是工業互聯網最常見的攻擊途徑,包括利用網絡協議、采用身份欺騙、介入拒絕服務、修改權限、滲透密鑰管理等多種攻擊方式。其中,利用網絡協議進行網絡攻擊,常常是由網絡連接缺乏認證、授權或加密機制等問題引起的,如Modbus協議只需給定一組合法地址和功能碼就可建立會話。攻擊者還可通過偽造合法身份、使用虛假設備ID,以及利用系統保存的賬戶憑據,來獲得工業設備或服務器的訪問權限。拒絕服務是一類消耗服務器可用資源以阻止系統正常運行服務的主要攻擊方式,可引發系統進程崩潰或死鎖。造成拒絕服務的手段有很多種,例如攻擊者可通過ARP欺騙等嗅探手段,接收發往其他節點的數據,或將數據轉發到不可用節點,從而造成拒絕服務。未授權的用戶采用非法手段取得足夠信任的訪問權限,也是一類重要的風險類型。攻擊者可采用多種形式來提升用戶權限,如對Web界面進行SQL注入攻擊,實現數據庫非法訪問,或利用數據庫漏洞和函數的缺陷來提升訪問權限。另外,缺乏密碼管理或遭受弱密碼攻擊也是常見的攻擊方式。網絡攻擊者可通過調試接口來禁用密碼功能,惡意使用密鑰或數據證書,或通過密碼算法錯誤的漏洞來訪問加密過的數據。工業互聯網中的各種連接建立和通訊過程的審計也是信息安全機制的重要組成部分,對這部分的破壞同樣是一種性質非常惡劣的網絡攻擊。
通常工業互聯網上大部分網絡攻擊會從特定的通訊鏈路(如表1)進入,并最終體現在數據的變化上。數據的異常變化是遭受網絡攻擊的重要特征。構建連接與安全的關系模型,最終目的就是要研究哪些數據變化是由網絡攻擊造成的,從而為研制網絡攻擊的防范技術提供必要的基礎。
圖3是數據異常變化的8種模式,包括:(1)數據竊取,即通過竊聽等網絡技術截獲數據內容,但數據本身并未發生改變;(2)數據篡改,即協議字段等通信數據內容被有意修改,或數據被截獲后對其內容進行的篡改,導致數據本身發生變化;(3)數據丟失,即數據內容被惡意刪除,造成數據丟失;(4)數據偽造,即數據內容本身是捏造的,在通信網絡或數據庫中被非法使用,可能對系統造成影響;(5)數據延遲,即數據通訊過程受到某種阻礙,導致數據的時序發生錯亂,或影響到工業互聯網的數據實時性能;(6)數據阻斷,即數據內容雖然沒有變化,但是遭受網絡攻擊,導致通訊中斷,相關數據無法訪問;(7)非法授權,即數據在預設的規則以外,被非法授權給可疑的身份或設備;(8)數據抵賴,即數據不僅被非法訪問、授權或篡改,還無法得到證實。
圖3 數據行為改變的典型形態
在工業互聯網中,任何數據的異常改變都可能帶來嚴重的影響。因為,大部分工業互聯網的應用是采用數據驅動的原理來實現的,所以數據的真實性與工業互聯網的安全性緊密相關。這種影響的隱蔽性很強,不易被發現,因此它的危害性也是極大的。同時還需要高度重視數據鏈整體異常變化的危害性。網絡攻擊者可能會利用工業互聯網復雜連接中的關鍵節點(或薄弱節點),把它作為突破口,通過DNS、結果重定向或中間人攻擊等手段發起鏈式攻擊,觸發一系列級聯反應,從而造成重大損失。例如攻擊者可先后通過欺騙偽造認證,采用竊聽手段截獲網絡數據,經過中間人攻擊修改網絡數據,最后利用拒絕服務阻斷通信網絡,最終造成系統長時間宕機,導致生產線停產。
5 數據行為分析技術
為了防止數據異常改變對工業互聯網造成嚴重破壞,必須增強其安全態勢的感知能力,使其具有足夠強大的免疫功能。為此,我們要充分利用連接與安全的關系模型,提出一種面向工業互聯網數據行為的偵測機制,用于實時分析連接通道中的數據可信度,為信息安全的風險評估和防范網絡攻擊提供科學依據。
事實上,工業互聯網的連接關系一般情況下是固定不變的,或者是動態但可預知的。因此,各個連接上的數據變化范圍、變化規律,以及相關之間的邏輯關系通常也是確定的,或者是可以預判的。特別是與工業生產過程相關的數據,或者是在企業管理制度中得到約束的數據,它們的變化應滿足相應的設備運動規律和管理要求,所以均可以采用特定的模型來表示。在工業互聯網未受到網絡攻擊時,相關數據變化的統計規律可以作為判定是否遭受網絡攻擊的依據。此外,數據的矛盾關系也可以被視作是一種數據是否發生異常變化的判據。所謂數據行為偵測,實質上就是利用這種判據去分析工業互聯網是否遭受到某種網絡攻擊。工業互聯網中存儲了大量的工業歷史數據,為實現這種判定過程提供了條件。對數據異常變化的偵測與工業系統的故障診斷也有一定程度的重疊。這可以幫助我們區分數據異常變化的起因是來自網絡攻擊還是非人為因素(例如傳感器故障)。
圖4為數據行為分析技術的基本原理。這項技術由三部分功能組成。
圖4 數據行為分析技術原理
一是數據關系的建模。可對每一條連接通道中數據行為的關系進行建模,以分析數據變化的可信度指數。可針對異常的數據部分,提取異常行為的特征數據(如特定類型的病毒攻擊、惡意程序寫入或常規的設備故障等),用于評估可信度。這里數據關系的建模機制可采用邏輯計算或神經網絡等機器學習方法來實現,而異常行為特征的提取有助于準確識別異常問題的來源。一種可行的做法是對已有的風險威脅攻擊造成工業數據異常行為進行建模,通過記錄病毒攻擊行為,提取有關的特征數據。而后使用異常的數據樣本來訓練系統的算法模型。經過多輪迭代學習,算法模型即可從中提取出特定的數據關系模式,并且編碼到算法結構中。數據行為分析時,先判斷被測數據是否超出異常度的閾值范圍,若是則輸入算法模型結構中。如若被檢測某個數據行為與預先定義好的威脅攻擊行為的特征集合在某種程度上相匹配,則可針對該連接計算出一組可信度指數,用來綜合評估該鏈路存在某些威脅攻擊的可能性,且能夠在某種程度上推斷出潛在的安全威脅屬于何種細分類型。
二是可信度指數的計算。可信度需要一個嚴格的定義。每一條連接都存在唯一的信任指數與之對應。可信度的值與7個維度的安全指標有關,即Li_CRED= f (Cxi, Cyi, Czi, Cmi, Cni, Cpi, Cqi)。其中,Li_CRED代表第i條連接的信任指數,Cxi表示該鏈路數據的保密性,即敏感信息不被泄露;Cyi代表數據完整性,即數據在未被檢測到的情況下沒有發生任何修改;Czi代表數據可用性,確保信息在需要時可被訪問使用;Cmi代表身份認證,即明確數據的歸屬權限,確保沒有被未知實體訪問,Cni代表不可否認性,即能夠確保系統不能否認執行過某種操作;Cpi代表彈性,即在惡意威脅攻擊時,系統可保持狀態感知和正常運行水平;Cqi代表安全性,即在發生攻擊時,受影響的系統不會對環境或人造成危害或損壞。
三是安全保護處置。針對每一條鏈路計算得到的可信度指數,綜合評估該鏈路的異常數據關系屬于信息安全威脅攻擊行為的可能性。一旦鏈路中數據變化的可信度指數降低到一定程度,系統將自動做出保護性的處理。若判定為非威脅攻擊類異常行為,可通過人機交互窗口觸發自動報警警示。否則,在報警警示的同時也將觸發相應的數據保護模塊,根據預設的處理策略自動過濾數據或切斷通訊鏈路,或將異常部分數據進行清除和修復。
6 結語
參考文獻:
摘自《工業控制系統信息安全專刊(第七輯)》