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