李嘉偉 劉京娟



摘? ?要:隨著工業4.0智能化時代的到來,工業軟件被提升到了前所未有的高度。目前,工業軟件已經滲透于工業企業產業鏈的各個環節,其在促進制造業提質增效的同時,也帶來了巨大的安全隱患。當前,針對工業軟件安全性的研究多注重于“功能安全”,而隱通道作為工業軟件“通信安全”的首要威脅,并未引起產業界的足夠重視。文章簡要概述了隱通道的定義、分類、成因以及典型案例,并基于法國施耐德電氣的Quantum PLC設備搭建隱通道實驗環境,詳細分析了工業軟件領域隱通道的構建過程以及數據隱蔽傳輸過程,并通過實驗數據印證了隱通道可繞過系統訪問控制策略進行敏感信息隱蔽傳輸的特性。
關鍵詞:隱通道;隱蔽傳輸;工業軟件;Modbus協議
中圖分類號: TN918.91? ? ? ? ? 文獻標識碼:A
1 引言
進入21世紀,互聯網、云計算、人工智能等技術以極快的速度形成了巨大的產業能力,有力地推動了傳統制造業的轉型升級,以智能化、網絡化、數字化為核心的新一輪工業革命即“工業4.0”已徐徐拉開帷幕[1]。工業軟件作為工業4.0的核心,已經廣泛應用于幾乎所有工業領域的研發設計、生產控制、組裝測試、售后運維、遠程服務等環節,可謂“工業之魂”[2],但在其促進制造業轉型升級的同時,也帶來了巨大的安全隱患。由于工業軟件自身會產生大量的工業數據和商業信息,一旦丟失或被濫用將使企業蒙受嚴重經濟損失,甚至危及國家工業產業的安全,因此絕大多數工業軟件屬于高安全等級軟件[3]。
目前,“功能安全”是國內外大多數工業軟件廠商、工業軟件用戶以及安全企業所重點關注的方向,而“通信安全”,即工業軟件與操作系統或其他工業軟件進行信息交換時是否安全可靠,并未引起足夠重視,隱通道便是工業軟件“通信安全”的首要威脅[4]。
工業軟件要想發揮其“工業大腦”的作用,離不開支撐其運行的底層操作系統以及輔助其進行信息傳輸的網絡和協議[5],而操作系統、網絡、數據庫都可能存在隱通道。內網惡意用戶通常會嘗試利用工業軟件自身或其所處操作系統、網絡存在的漏洞,通過在系統外部開辟隱蔽通信通道的方式,繞過訪問控制策略,直接將工業軟件產生的工業數據或商業信息發送于外網攻擊者,達到敏感信息隱蔽傳輸的目的。由于隱通道使用的是非正常的通信手段,這導致一般的安全機制無法對其進行有效的檢測和預防,因此其雖不是最普遍的威脅源,但卻對高安全等級的系統、網絡、軟件構成了巨大的安全威脅[6]。
本文對隱通道的定義、分類、成因以及典型案例進行了簡要概述,針對施耐德Quantum PLC設備構建隱通道實際應用場景,對該隱通道的構造過程以及數據傳輸過程進行了詳細分析。
2 隱通道概述
2.1 隱通道定義
隱通道的概念最初由Butler W.Lampson在1973年提出。他指出:隱通道是利用一些本來不是用于通信的系統資源或服務進行信息傳輸的通道[7]。美國可信計算機系統評價準則(TCSEC)對隱通道的描述為:隱通道是一個通信通道,隱通道可使一個主體(進程)能以違背訪問控制策略的方式來傳遞數據[8]。
雖然上述定義已經能夠說明隱通道的含義,但目前認可度最高的隱通道定義為:給定一個非自主安全策略模型和它在一個操作系統中的實現,中的兩個主體和之間的通信是隱蔽的,當且僅當模型中相應的兩個主體和之間的通信是非法的[9]。
2.2 隱通道分類
根據隱通道的依賴對象,可將隱通道劃分為時間隱通道和存儲隱通道。當攻擊者通過隱通道傳遞數據時,如果其所依賴的對象為系統資源屬性的改變,這類隱通道稱為存儲隱通道;如果其所依賴的對象為系統時間的改變,這類隱通道稱為時間隱通道。因此,存儲隱通道經常涉及到系統資源的釋放與回收等信息,而時間隱通道經常涉及到系統時間的改變或時間的度量[10]。
2.3 隱通道成因
假設存在某一高安全等級軟件或系統,針對的安全策略為。在的開發過程中,實現其安全策略的程序與算法稱為安全模型,是的形式化描述,是計算機能夠理解并執行的程序[11]。隱通道可在安全模型的監控下,以違反安全策略的方式進行信息傳輸,因此假如中存在隱通道,則中必然存在滿足安全模型但卻違反安全策略的信息流動方式。
使用函數代表模型所能覆蓋的安全空間,則代表安全策略所確定的安全空間,代表安全模型所確定的安全空間。多數情況下,,只有理想化的安全模型,才能夠完全實現安全策略,即,此時有。受到技術人員水平以及軟硬件環境等多方面因素的影響,在從安全策略向安全模型翻譯的過程中,多少會有偏差,即,此時在中便會存在隱通道。因此,安全模型所覆蓋的安全空間未能徹底涵蓋安全策略的要求,是隱通道形成的根本原因[12]。
3 隱通道典型案例
3.1 磁盤移臂隱通道
最早被發現的隱通道為磁盤移臂隱通道,1977年由Marvin Schaefer等人在KVM/370系統中發現。該隱通道屬于存儲隱通道,發送方和接收方之間的數據通信載體為磁盤磁臂的移動路徑[13]。
假設在一個高安全等級系統中存在兩個進程,分別為和,的安全等級高于,并且已被惡意用戶控制,試圖將敏感數據發送于。但由于高安全等級系統中存在強制訪問控制策略,無法訪問的數據,同時無法直接與進行通信。此時,可利用系統存在的安全漏洞,采用表面上合法的方式,繞過強制訪問控制策略,將敏感信息泄露給。具體過程為:
(1)開辟一個屬于自己的文件目錄,該文件目錄所占用的磁道編號為51、52、53、54、55、56、57、58、59,同時可對該文件目錄進行合法讀取和訪問;
(2)請求讀磁道55,請求完成后,釋放CPU資源;
(3)如要發送“比特1”,請求讀磁道57,請求完成后,釋放CPU資源;
(4)如要發送“比特0”,請求讀磁道53,請求完成后,釋放CPU資源;
(5)同時請求讀磁道52和磁道58,若首先完成了對磁道52的訪問,則確認收到“比特0”,若首先完成了對磁道58的訪問,則確認收到“比特1”。
不斷重復上述操作,和可以在不違反系統強制訪問策略的前提下,傳送連續的比特流,整個過程如圖1所示。
3.2 數據包間隔隱通道
數據包間隔隱通道多出現于計算機網絡中,該隱通道屬于時間隱通道[14]。假設在一個高安全等級網絡中存在兩臺主機,分別為和,已被惡意用戶控制,試圖將敏感數據發送于。在向發送敏感數據之前,通過合法通信對相鄰數據包的到達時間間隔進行約定:
(1)如果接收相鄰兩個數據包到達的時間間隔超過ls,則表示所要發送的數據為“比特0”;
(2)如果接收相鄰兩個數據包到達的時間間隔小于0.5s,則表示所要發送的數據為“比特1”。
依據相鄰數據包到達的時間間隔對信息進行編碼和解碼,這種隱通道屬于時間隱通道,數據收發雙方不需要修改數據包的內容,也不會產生新的流量,僅通過調整正常通信過程中數據包的發送時間間隔即可達到信息傳輸的目的,該隱通道具有很高的隱蔽性[15]。
4 Quantum PLC設備隱通道分析
4.1 理論基礎概述
4.1.1 施耐德電氣Modicon Quantum
Quantum是法國施耐德電氣有限公司開發的一款用于過程應用、高可用性和安全解決方案的大型可編程邏輯控制器(Programmable Logic Controller,PLC)[16]。該PLC設備廣泛應用于冶金、電力、化工、建材等行業的工業控制和自動化領域,在處理離散變量、模擬量以及過程回路控制方面具有強大的能力。Quantum繼承和發展了施耐德電氣PLC產品的優勢,并且融入了當今最先進的IT技術和網絡技術,具有結構靈活、功能強大、使用簡便、性價比高、集成度高、兼容性好等眾多優勢[17]。
4.1.2 Modbus協議
Modbus協議是一種串行通信協議,由Modicon(法國施耐德電氣有限公司旗下品牌)公司于1978年發明[18]。通過此協議,控制器相互之間、控制器經由網絡(例如以太網)以及其他設備之間可以進行通信,其已成為一種通用的工業標準。通過Modbus協議,不同廠商生產的控制器設備可連接成工業網絡,從而實現集中監控[19]。
Modbus協議定義了一個與基礎通信層無關的簡單數據協議單元(Protocol Data Unit,PDU),特定總線或網絡上的Modbus協議映射能夠在應用數據單元(Application Data Unit,ADU)上引入一些附加域[20],Modbus幀的具體格式如圖2所示。
啟動Modbus事務處理的客戶機會創建Modbus PDU,其中的功能碼向服務器指示將執行哪種操作,常用的功能碼及含義如表1所示。
4.2 測試環境搭建
本文基于搭建的真實PLC運行環境,采用流量分析技術,詳細展示了該隱通道的工作原理。測試環境中的主要設備包括Quantum PLC、上位機、惡意主機以及防火墻,測試環境的邏輯部署圖如圖3所示。
將攻擊機網卡設置為混雜模式,監聽其所處網絡內的所有數據包,Quantum PLC和上位機之間的數據通信可被攻擊機獲取;上位機按照一定的工藝流程下發相關控制指令,與Quantum PLC進行通信;Quantum PLC接收上位機下發的指令并執行相關操作,但目前Quantum PLC已被木馬軟件所控制,企圖與攻擊機進行通信;防火墻實現對的合法性以及指令的合法性檢查。
4.3 隱通道構建
4.3.1 常規通信過程
上位機與Quantum PLC之間的正常通信會涉及到Quantum PLC寄存器與線圈的讀寫操作。上位機與Quantum PLC之間的常規數據交互如圖4所示。
根據圖4展示的內容可以發現,上位機與Quantum PLC之間采用的通信協議為Modbus,執行的指令主要為Read Input Registers、Read Coils、Write Multiple Registers以及Write Multiple Coils,上述指令對應的Modbus功能碼分別為0x04、0x01、0x10以及0x0F,且上述四個指令往往按照一定順序出現,即按照Read Input Registers→Read Coils→Write Multiple Registers→Write Multiple Coils的順序依次出現。上位機利用上述功能碼的Modbus協議發布讀寫指令,按照工藝流程來調整Quantum PLC寄存器的值,進而達到控制Quantum PLC的目的。在正常情況下,上位機發出的每個請求只會收到一個響應。
4.3.2 信息隱蔽傳輸
在此測試環境中,Quantum PLC處于內網當中且已被木馬控制,但由于防火墻的存在,其無法將敏感數據直接發送于攻擊機。防火墻雖然對敏感數據設置了訪問控制策略/過濾規則,但其并不會限制針對Quantum PLC的正常讀寫操作。因此,攻擊機可與內網木馬約定通信規則,使用正常的、合法的Modbus數據幀,繞過防火墻的約束,達到信息隱蔽傳輸的目的。
攻擊機可根據網絡中Modbus響應的數量規律,與Quantum PLC之間構建信息傳輸的隱通道,具體方式為:
(1)約定數據傳輸“開始”信號。當攻擊機在網絡中首次監聽到兩個Write Multiple Registers響應時,即可認為Quantum PLC準備向其發送數據,具體過程如圖5所示;
(2)傳輸比特“0”的信號。隱蔽數據傳輸開始(即收到數據傳輸“開始”信號)后,在收到數據傳輸“結束”信號前,如果一個Write Multiple Registers請求對應一個Write Multiple Registers響應,則認為Quantum PLC向攻擊機發送比特“0”,具體過程如圖6所示;
(3)傳輸比特“1”的信號。隱蔽數據傳輸開始(即收到數據傳輸“開始”信號)后,在收到數據傳輸“結束”信號前,如果一個Write Multiple Registers請求對應兩個Write Multiple Registers響應,則認為Quantum PLC向攻擊機發送比特“1”,具體過程如圖5所示;
(4)約定數據傳輸“結束”信號。當攻擊機在網絡中首次監聽到三個Write Multiple Registers響應時,即可認為Quantum PLC結束數據發送,具體過程如圖7所示。
通過上述方式,Quantum PLC上的木馬程序可將敏感信息(如制造工藝、設備重要參數等)編碼為零一比特串,利用構造好的隱通道,以比特為單位向攻擊機傳輸數據,攻擊機只需對接收到的零一比特串進行解碼即可。由于Write Multiple Registers響應為Write Multiple Registers請求的正常反饋,且未傳遞任何敏感信息,因此防火墻并不會對其實施攔截,Quantum PLC也不會發出任何報警。
4.4 實驗分析
在測試環境中構建文中第3.3節所述隱通道,通過分析網絡中的數據包來驗證該隱通道的信息隱蔽傳輸特性。
假設試驗場景:Quantum PLC要將比特串“10”傳輸給攻擊機。信息隱蔽傳輸的整個過程如下。
(1)正常通信
在Quantum PLC向攻擊機傳輸數據之前,上位機與Quantum PLC通信正常,此時攻擊機捕獲的流量信息如圖8所示。
根據圖8展示的流量信息,在正常通信情況下,一個Write Multiple Registers請求對應一個Write Multiple Registers響應。
(2)傳輸開始
Quantum PLC開始數據傳輸時,會向攻擊機發送“開始”信號,攻擊機會首次捕獲如圖9所示的網絡流量信息。
根據圖9展示的流量信息,Quantum PLC在收到一個Write Multiple Registers請求后,反饋了兩個Write Multiple Registers響應,此后攻擊機會持續記錄Write Multiple Registers響應的數量變化規律。
(3)傳輸比特“1”
Quantum PLC準備傳輸比特“1”時,攻擊機會捕獲如圖10所示的網絡流量信息。
根據圖10展示的流量信息,在攻擊機收到數據傳輸“開始”信號后,Quantum PLC針對一個Write Multiple Registers請求,反饋了兩個Write Multiple Registers響應,此時攻擊機記錄數據:比特“1”。
(4)傳輸比特“0”
Quantum PLC準備傳輸比特“0”時,攻擊機會捕獲如圖11所示的網絡流量信息。
根據圖11展示的流量信息,在攻擊機收到數據傳輸“開始”信號后,Quantum PLC針對一個Write Multiple Registers請求,反饋了一個Write Multiple Registers響應,此時攻擊機記錄數據:比特“0”。
(5)傳輸結束
Quantum PLC結束數據傳輸時,會向攻擊機發送“結束”信號,攻擊機會首次捕獲如圖12所示的網絡流量信息。
根據圖12展示的流量信息,Quantum PLC在收到一個Write Multiple Registers請求后,反饋了3個Write Multiple Registers響應數據包,此后攻擊機不再記錄Write Multiple Registers響應的數量變化規律,直至再次遇到Quantum PLC發出“開始”信號。
在上述數據傳輸過程中,所有數據包均未被防火墻攔截,且Quantum PLC未發出異常報警,Quantum PLC與攻擊機通過構建隱通道的方式繞過了防火墻的訪問控制策略/過濾規則,成功實現了敏感信息的隱蔽傳輸。
5 結束語
本文以工業軟件領域存在的隱通道為研究對象,系統分析了隱通道的定義、分類、成因以及典型案例。同時,以Quantum PLC設備為實驗對象,基于本地搭建的測試環境,通過構建真實的隱通道應用場景,詳細闡述了工業軟件領域隱通道的構造過程以及數據傳輸過程。通過實驗數據可以看出,本文構建的隱通道成功繞過了防火墻的訪問控制策略/過濾規則,實現了敏感信息的隱蔽傳輸。本文各項實驗均在本地搭建的測試環境中完成,擬在下一步工作中,在真實的工業生產場景中開展工業軟件隱通道相關研究,并探索隱通道的有效檢測手段。
參考文獻
[1] 張曙.工業4.0和智能制造[J].機械設計與制造工程, 2014(8):1-5.
[2] 蘇楠,陳志.工業軟件是制造強國之重器[J].科技中國, 2019,260(05):9-11.
[3] 靳江紅,莫昌瑜,李剛.工業控制系統功能安全與信息安全一體化防護措施研究[J].工業安全與環保,2020.
[4] 張猛,孫昊良,楊鵬.基于改進卷積神經網絡識別DNS隱蔽信道[J].通信學報,2020.
[5] 張博.網絡安全之IP隱通道研究[J].網絡安全技術與應用, 2018,215(11):18-19.