★ 陳淑芳,田由甲,聶佳(上海電器科學研究所(集團)有限公司,上海 200063)
1引言
隨著工業(yè)互聯(lián)網(wǎng)的發(fā)展,工業(yè)網(wǎng)絡的內(nèi)外網(wǎng)互通將不可避免地成為一個大趨勢。在此背景下,工業(yè)網(wǎng)絡通信的安全問題在近幾年益發(fā)突出。
現(xiàn)階段,主流的基于云平臺的物聯(lián)網(wǎng)架構主要分為設備層、網(wǎng)絡層、平臺層和應用層。其中,設備層包括傳感器、芯片、通訊組模、智能設備等,主要負責數(shù)據(jù)的采集,是整個物聯(lián)網(wǎng)云服務平臺的基礎。設備層所采集的數(shù)據(jù)的可信性直接影響到網(wǎng)絡層數(shù)據(jù)的安全傳輸、平臺層大數(shù)據(jù)的處理和分析以及應用層的穩(wěn)定性和可靠性。而終端設備的種類多、數(shù)量大、工作環(huán)境復雜,因此很容易受到攻擊。不可信的終端設備接入至物聯(lián)網(wǎng),將容易導致數(shù)據(jù)的錯誤采集、丟失、竊取,甚至威脅到整個物聯(lián)網(wǎng)環(huán)境[1]。一旦被惡意設備節(jié)點接入,就會產(chǎn)生各種方面的安全問題,比如注入攻擊、隱私泄露、分布式拒絕服務攻擊、越權訪問操作等[2]。對于數(shù)據(jù)的安全存儲、敏感數(shù)據(jù)處理、隱私保護等相關安全問題也隨之越來越嚴峻。
因此,本文將針對基于工業(yè)可信接入的邊緣側(cè)可信網(wǎng)關進行研究,有效保障邊緣側(cè)的設備安全,進一步全方面提高邊緣計算防護等各類安全問題,對邊緣計算和物聯(lián)網(wǎng)的發(fā)展至關重要。
2系統(tǒng)架構
工業(yè)可信接入系統(tǒng)整體采用“中心服務器+上位機軟件+網(wǎng)關”的分布式架構,如圖1所示。
圖1 可信接入系統(tǒng)架構
中心服務器采用類微服務架構,整合異常流量監(jiān)控模塊、惡意樣本文件還原與分析模塊、工控協(xié)議識別模塊、工控設備識別模塊等多種可信功能模塊,實現(xiàn)安全防護功能,并對外開放調(diào)用接口API;中心服務器僅與可信網(wǎng)關進行數(shù)據(jù)交互,不影響局域網(wǎng)中其他設備的正常通信。
上位機軟件為用戶與可信網(wǎng)關建立Socket通信,控制可信網(wǎng)關從中心服務器中下載網(wǎng)絡安全防護等級等配置信息,同時進行分析結果的顯示。網(wǎng)關依據(jù)用戶選配的安全等級,按需調(diào)用中心服務器提供的可信安全模塊API接口,實現(xiàn)對所接入局域網(wǎng)的安全防護等級提升。局域網(wǎng)內(nèi)設備及外網(wǎng)路由器通過端口鏡像的方式將所有網(wǎng)絡流量轉(zhuǎn)發(fā)至可信網(wǎng)關中。可信網(wǎng)關根據(jù)下載得到的安全等級信息,以Restful API形式向服務器請求對應的安全模塊組件接口,完成對企業(yè)內(nèi)外網(wǎng)絡流量監(jiān)控、分析;通過工控設備安全識別技術等一系列安全防護措施,感知到威脅時,主動切斷外網(wǎng)及局域網(wǎng)中感染設備的網(wǎng)絡連接,并發(fā)出告警信息,實現(xiàn)企業(yè)內(nèi)網(wǎng)信息的安全隔離。可信網(wǎng)關的系統(tǒng)流圖如圖2所示。
圖2可信網(wǎng)關的系統(tǒng)流圖
3方案設計
用戶通過上位機軟件,自定義選擇需要防護的安全防護種類和等級,下載到可信網(wǎng)關后對可信網(wǎng)關進行安全等級配置,通過此安全等級,控制可信網(wǎng)關從引擎服務器中加載對應的安全模塊;同時,可信網(wǎng)關通過工業(yè)級交換機以端口鏡像方式獲取待保護網(wǎng)絡的網(wǎng)絡流量,并將網(wǎng)絡流量轉(zhuǎn)發(fā)至網(wǎng)關內(nèi)的安全模塊中進行流量分析,以實現(xiàn)對待保護網(wǎng)絡的安全防護,且不會對原工業(yè)系統(tǒng)的正常工作產(chǎn)生任何擾動,因此,可信網(wǎng)關的設計包括三部分,一是硬件設計,二是軟件設計,三是針對可信網(wǎng)關的上位機設計。
3.1硬件設計
可信網(wǎng)關將采用高性能邊緣計算網(wǎng)關硬件平臺、飛凌FCU2303+1046A嵌入式控制單元實現(xiàn)。該硬件平臺基于NXP公司的LS1046A四核處理器設計,ARM Cortex-A72架構,主頻最高1.8GHz,內(nèi)存2GB DDR4 RAM,數(shù)據(jù)吞吐量最高可達2.1GT/s。搭載8路千兆網(wǎng),10M/100M/1000M自適應。可被應用于邊緣計算、能源物聯(lián)網(wǎng)、智慧城市、工業(yè)自動化、視頻監(jiān)控等領域。
3.2軟件設計
可信網(wǎng)關軟件架構如圖3所示。
圖3可信網(wǎng)關軟件架構圖
可信網(wǎng)關內(nèi)置系統(tǒng)常駐上位機響應進程(采用UDP協(xié)議與上位機通信),可實時響應上位機下發(fā)的安全等級配置信息,并將其緩存至本地MySQL數(shù)據(jù)庫中。之后,根據(jù)用戶定義的安全等級,從中心服務器處下載調(diào)用對應的安全模塊組件(采用RestfulAPI實現(xiàn))。安全模塊組件包括異常流量分析、APT家族統(tǒng)計、惡意腳本攔截&還原、工控設備指紋庫、工控設備識別、工控協(xié)議識別等。
與此同時,可信網(wǎng)關以端口鏡像方式收集局域網(wǎng)內(nèi)交換機提供的全網(wǎng)絡流量數(shù)據(jù),并將這些流量數(shù)據(jù)同步喂給相關的安全模塊組件以獲取分析結果,并將產(chǎn)生的分析結果實時地反饋至上位機軟件予以展示。
可信網(wǎng)關軟件功能圖如圖4所示。
圖4 可信網(wǎng)關軟件功能圖
可信網(wǎng)關軟件功能具體包括:(1)上位機配置響應:監(jiān)聽本地UDP端口,獲取上位機發(fā)送的UDP數(shù)據(jù)包,并進行JSON解包。(2)MySQL配置數(shù)據(jù)庫:將上位機配置響應邏輯解析得到的數(shù)據(jù)字段存儲到對應的MySQL數(shù)據(jù)表中。(3)Docker容器管理:可信網(wǎng)關本地的安全模塊皆以容器化方式運行,可信網(wǎng)關根據(jù)用戶配置的安全等級,從引擎服務器中拉取對應的安全模塊鏡像文件,并在網(wǎng)關本地以Docker方式部署、執(zhí)行。(4)鏡像端口流量轉(zhuǎn)發(fā):負責攔截連接工業(yè)交換機的鏡像端口上的所有網(wǎng)絡流量并將之轉(zhuǎn)發(fā)至當前掛載的Docker服務中。(5)安全模塊執(zhí)行結果轉(zhuǎn)發(fā):負責將Docker服務運行的結果以JSON報文形式傳遞給上位機軟件,由上位機軟件進行解析后,給ECharts圖標控件進行圖形化顯示。(6)磁盤清理:定期清理本地的流量緩存數(shù)據(jù)、惡意文件腳本等。(7)守護進程:確保可信網(wǎng)關本地常駐進程的正常運行。
3.3上位機設計
上位機軟件中,允許用戶自由選配可信網(wǎng)關安全等級,下載并調(diào)用定制化的安全模塊組件API實現(xiàn)對內(nèi)網(wǎng)流量的實時監(jiān)控;支持將網(wǎng)絡流量分析結果在UI界面進行實時展示。
上位機軟件采用工具箱形式封裝引擎服務器中提供的安全模塊組件。所有安全模塊組件均以儀表盤形式被羅列在界面左側(cè)的工具箱中,用戶可通過自由拖拽的方式將儀表盤拖放至界面右側(cè)畫布中,實現(xiàn)軟件定義配置過程。儀表盤部署完畢后,點擊配置下發(fā)按鈕;上位機將用戶配置的安全等級信息下發(fā)至可信網(wǎng)關中。可信網(wǎng)關根據(jù)安全等級配置從引擎服務器處下載對應的安全模塊組件并調(diào)用模塊接口實現(xiàn)安全防護,同時點亮上位機軟件畫布中的儀表盤,實時顯示安全模塊組件的流量監(jiān)控數(shù)據(jù)。
UI界面主要分為工具箱和畫布兩個區(qū)域。工具箱中以儀表盤形式封裝了所有安全模塊組件;畫布中呈現(xiàn)用戶部署的儀表盤陣列,并實時展示各儀表盤的網(wǎng)絡流量分析結果。UI界面操作原理如圖5所示。
圖5軟件界面操作原理示意圖
UI界面儀表盤采用PyQT與ECharts圖表形式顯示可信模塊的網(wǎng)絡流量分析結果。根據(jù)分析內(nèi)容、分析結果的數(shù)據(jù)結構不同,可選用包括柱狀圖、曲線圖、餅圖等多種類型的圖表進行圖形化表現(xiàn)。
4安全識別技術研究
中心服務器通過加載一些安全組件,實現(xiàn)系統(tǒng)安全防護功能。其中,工控設備識別技術對可信網(wǎng)關來說至關重要,因此,針對可信功能模塊中的工控設備識別模塊進行研究,主要從以下幾個方面對工控設備進行識別:
(1)通過標準工控協(xié)議對工控設備進行識別
對于這一類工控設備所對應的工控協(xié)議,包括DNP3、Modbus、BACnet等協(xié)議,它們都有著一些相對應的請求獲取設備的廠商和模塊的方式,通過這些請求功能,就能比較容易獲取到廠商和模塊信息,從而能夠比較準確地識別出一個工控設備并同時得到這些工控設備的一些相關的設備信息。比如Modbus協(xié)議通過默認端口502,功能碼43可以獲取設備廠商和產(chǎn)品模塊信息。
(2)通過私有工控協(xié)議對工控設備進行識別
私有的工控協(xié)議通常是為了實現(xiàn)對使用這些工控協(xié)議的工控設備進行特定的數(shù)據(jù)傳輸或者是遠程的控制。因此,如果能夠找到使用這些工控協(xié)議的疑似工控設備,通過相應的交互方式、相應的內(nèi)容,就能夠比較精確地判斷該疑似設備是否是使用該工控協(xié)議的工控設備,而同時,對于使用了這些工控協(xié)議的工控設備,也能夠通過其相應內(nèi)容來獲取到這些工控設備的一些相關的設備信息。比如SiemensS7協(xié)議通過默認端口102,讀SZL可以獲取PLC的模塊信息、版本、串口等信息。
(3)通過傳統(tǒng)的服務特征對工控設備進行識別
對于某些廠商的一些工控設備而言,通常會開放一些類似于80端口HTTP、21端口FTP、161端口SNMP等傳統(tǒng)的服務,從而達到對工控設備的運行狀態(tài)、運行數(shù)據(jù)的監(jiān)管和運行方式的控制,這些工控協(xié)議在采用這些傳統(tǒng)的服務時都會有相應的服務特征標識,通過這些特征標識就可以用于判斷疑似設備是否是一個工控設備。比如Moxa的Nport設備,通過HTTP服務的80端口,根據(jù)特征Server:MoxaHttp對設備進行識別。
通過以上原理,可以知道對于一個工控設備的獲取,主要是由特定的工控協(xié)議的私有特性實現(xiàn)的。而對于私有特性也有著對端口的要求,因此,工控設備識別設備分為以下三步:
(1)獲取IP和端口:判別IP和端口是否開放。系統(tǒng)需要能夠在較快的時間內(nèi)處理一個比較大的IP地址段,同時還要確保一定的準確率,而且輸出是一個IP和端口的二元組,如果一個IP對應多個端口,對于這個IP,存在著多個二元組。
(2)對工控設備進行掃描和識別:通過TCP的無狀態(tài)極速掃描,來識別出某個IP是否是一個工控設備。當探測到了一個工控設備時,通過其返回的信息可以提取出一些硬件(例如廠商名、設備類型、設備型號等)和軟件(例如操作系統(tǒng)型號、操作系統(tǒng)版本等)等信息,而在此系統(tǒng)需要能夠提取出這些信息,進一步識別出信息,并將識別和處理之后的信息存儲在數(shù)據(jù)庫之中。
(3)工控設備的信息擴充:當系統(tǒng)通過掃描IP以及相應的識別程序獲取到了一個暴露在互聯(lián)網(wǎng)上的工控
設備之后,能夠獲取到的是它的軟件和硬件信息。但是,其它的一些信息需要進一步補全,例如該工控設備所屬的國家、城市等信息無法直接從掃描過程中得到。但是,這些信息在展示的過程中卻是很有必要的,比如獲取到國家信息,才能進行后一步的統(tǒng)計;獲取到地理信息,才能將該工控設備標注在地圖上。因此此步驟需要的是從數(shù)據(jù)庫中讀取已確認是工控設備的IP,通過程序從中獲取到更多相關的信息,并更新數(shù)據(jù)庫從而能夠更好地給前端返回信息。
5結語
為了保障邊緣側(cè)終端設備的可信接入,提出了一種基于可信接入的可信網(wǎng)關研究,通過對系統(tǒng)架構和功能的研究,從可信網(wǎng)關的硬件、軟件、配置、關鍵技術等方面入手進行闡述,通過此設計實現(xiàn)在工廠內(nèi)外網(wǎng)之間的通信設備和通信協(xié)議的識別,實現(xiàn)對工廠外網(wǎng)的通信的未知威脅監(jiān)控,達到工廠內(nèi)網(wǎng)信息安全,滿足邊緣控制器等工業(yè)設備的工業(yè)網(wǎng)絡通信安全防護需求,保障工業(yè)設備可信接入安全,深度保護工控設備安全。同時,無擾實現(xiàn)可信的工業(yè)通信系統(tǒng),不需要改變原有系統(tǒng)功能和網(wǎng)絡結構,不影響原有系統(tǒng)運行和信息傳輸性能。
★基金項目:上海市2020年度“科技創(chuàng)新行動計劃”高新技術領域項目(項目編號:20511106001)。
作者簡介:
陳淑芳(1984-),女,江西宜春人,工程師,碩士,現(xiàn)就職于上海電器科學研究所(集團)有限公司,研究方向為工業(yè)自動化及嵌入式應用。
田由甲(1988-),男,上海人,工程師,學士,現(xiàn)就職于上海電器科學研究所(集團)有限公司,研究方向為工業(yè)自動化及嵌入式應用。
聶佳(1981-),女,湖北武漢人,高級工程師,碩士,現(xiàn)就職于上海電器科學研究所(集團)有限公司,主要從事工業(yè)控制及通信方向的技術研究工作。
參考文獻:
[1]蔣華,閆一凡,鞠磊.可信服務鏈安全架構研究[J].計算機應用研究,2018,25(4):1159-1164.
[2]謝輝.邊緣計算環(huán)境下可信接入安全技術研究與實現(xiàn)[M].四川:電子科技大學.2021.
[3]郭煜.可信云體系結構與關鍵技術研究[D].北京:北京交通大學.2017.
[4]姜迪清,張麗娜.基于云計算和物聯(lián)網(wǎng)的網(wǎng)絡大數(shù)據(jù)技術研究[J].計算機測量與控制,2017,25(11):183-185.
[5]寧振宇,張鋒巍,施巍松.基于邊緣計算的可信執(zhí)行環(huán)境研究[J].計算機研究與發(fā)展,2019,56(7):1441-1453.
[6]林兆鵬,鄒起辰.可信設備接入網(wǎng)絡認證協(xié)議設計及安全分析[J].計算機仿真,2018,35(11):254-258.
摘自《自動化博覽》2022年8月刊