劉志堯 曹禹 賈晨宇
國家工業(yè)信息安全發(fā)展研究中心 北京 100040
《十部門關(guān)于印發(fā)加強(qiáng)工業(yè)互聯(lián)網(wǎng)安全工作的指導(dǎo)意見的通知》中指出意見,需強(qiáng)化平臺和工業(yè)應(yīng)用程序(APP)安全,建立健全工業(yè)APP應(yīng)用前安全檢測機(jī)制,強(qiáng)化應(yīng)用過程中用戶信息和數(shù)據(jù)安全保護(hù)[1]。本文分析總結(jié)了工業(yè)移動智能APP當(dāng)前典型架構(gòu),及與傳統(tǒng)移動智能應(yīng)用APP主要區(qū)別及安全風(fēng)險點(diǎn),并總結(jié)工業(yè)移動智能APP安全檢測技術(shù)體系,助力工業(yè)APP應(yīng)用前安全檢測機(jī)制發(fā)展。
工業(yè)移動智能APP是工業(yè)互聯(lián)網(wǎng)平臺SaaS層應(yīng)用的智能移動化的典型成果,本文工業(yè)移動智能APP典型架構(gòu)包括邊緣層、IaaS基礎(chǔ)設(shè)施層、工業(yè)PaaS平臺層、工業(yè)SaaS應(yīng)用層,如圖1所示。
圖1 工業(yè)移動智能APP平臺架構(gòu)
(1)邊緣層。邊緣層是工業(yè)移動智能APP平臺基礎(chǔ),主要支持各類工業(yè)控制設(shè)備及現(xiàn)場信息采集設(shè)備接入,是實(shí)現(xiàn)傳統(tǒng)工業(yè)設(shè)備智能化、移動化的橋梁。邊緣層智能接入設(shè)備還支持協(xié)議解析,并可在一定程度上集成工業(yè)ERP系統(tǒng)、工業(yè)MES等主要生產(chǎn)控制系統(tǒng);工業(yè)現(xiàn)場SCADA自動化系統(tǒng)、RTDB數(shù)據(jù)庫系統(tǒng)、LIMS實(shí)驗室管理系統(tǒng)等系統(tǒng)數(shù)據(jù)需通過平臺邊緣層接入工業(yè)互聯(lián)網(wǎng)平臺。
(2)IaaS基礎(chǔ)設(shè)施層。IaaS基礎(chǔ)設(shè)施層為工業(yè)互聯(lián)網(wǎng)平臺提供計算資源池、網(wǎng)絡(luò)資源池、存儲資源池。
(3)工業(yè)PaaS平臺層。PaaS層是工業(yè)互聯(lián)網(wǎng)平臺核心層,支撐工業(yè)移動智能APP開發(fā)、調(diào)試、部署及運(yùn)維。在微服務(wù)框架下,構(gòu)建工業(yè)微服務(wù)組件體系,其具備模塊化、可移植化、可復(fù)用化等特點(diǎn),是快速構(gòu)建及部署工業(yè)移動智能APP的基礎(chǔ)。
(4)工業(yè)SaaS應(yīng)用層。工業(yè)移動智能APP是工業(yè)SaaS應(yīng)用層關(guān)鍵產(chǎn)品,工業(yè)移動智能APP通過調(diào)用平臺工具、微服務(wù)、數(shù)據(jù)系統(tǒng)等,提供了工業(yè)互聯(lián)網(wǎng)智能化、移動化的解決方案,可快速構(gòu)建實(shí)施監(jiān)控、生產(chǎn)控制、經(jīng)營管理等移動APP應(yīng)用。
工業(yè)移動智能APP是基于移動通信智能終端設(shè)備開發(fā)及運(yùn)行,承載工業(yè)知識及經(jīng)驗,連通工業(yè)通信數(shù)據(jù),實(shí)現(xiàn)移動智能控制的創(chuàng)新工業(yè)軟件,在信息安全方面具備如下特點(diǎn):
(1)基于嵌入式系統(tǒng)運(yùn)行。工業(yè)移動智能APP客戶端基于嵌入式系統(tǒng)運(yùn)行,當(dāng)前主流移動嵌入式系統(tǒng)Android、IOS及嵌入式Linux等均存在大量原生安全漏洞,可能導(dǎo)致權(quán)限破解、數(shù)據(jù)泄露、遠(yuǎn)程控制等問題,這些安全風(fēng)險在工業(yè)領(lǐng)域會造成難以估量的嚴(yán)重后果。
(2)基于工業(yè)協(xié)議遠(yuǎn)程通訊。工業(yè)移動智能APP通過集成工業(yè)協(xié)議實(shí)現(xiàn)遠(yuǎn)程工業(yè)通訊,當(dāng)前應(yīng)用層工業(yè)協(xié)議如Modbus、S7、OPC等大多為私有協(xié)議,不具備數(shù)據(jù)加密、通訊驗證、會話保護(hù)等安全機(jī)制,通過互聯(lián)網(wǎng)通訊的工業(yè)移動智能APP極易存在通訊安全風(fēng)險。
(3)基于實(shí)時工業(yè)數(shù)據(jù)控制。工業(yè)移動智能APP應(yīng)用于工業(yè)監(jiān)控、生產(chǎn)控制、經(jīng)營運(yùn)轉(zhuǎn)等工業(yè)場景,通過現(xiàn)場控制設(shè)備采集的實(shí)時數(shù)據(jù)需通過工業(yè)互聯(lián)網(wǎng)平臺進(jìn)行智能化處理,最終通過工業(yè)移動智能APP完成終端接口交互,并反饋給現(xiàn)場控制設(shè)備或生產(chǎn)管理系統(tǒng),工業(yè)應(yīng)用場景數(shù)據(jù)實(shí)時性具備較高要求,工業(yè)移動智能APP需要具備一定的防攻擊、抗干擾能力。
(1)工業(yè)私有協(xié)議逆向解析。工業(yè)私有協(xié)議逆向解析技術(shù)主要包括數(shù)據(jù)獲取、格式拆分、元素提取、關(guān)聯(lián)分析、特征提取、自動分類等關(guān)鍵技術(shù)[2]。
(2)工業(yè)協(xié)議安全檢測。針對工業(yè)私有協(xié)議特點(diǎn),工業(yè)協(xié)議安全檢測主要利用非預(yù)期數(shù)據(jù)交互,并監(jiān)控輸出狀態(tài)達(dá)到安全測試目的。自動化Fuzzing模糊測試技術(shù)已廣泛應(yīng)用于協(xié)議安全測試,經(jīng)過工業(yè)協(xié)議逆向解析得到的協(xié)議特征是模糊測試基本元素,根據(jù)解析結(jié)果構(gòu)造數(shù)據(jù)測試單元。
當(dāng)前工業(yè)移動智能APP程序源文件主要存在以下安全風(fēng)險:Java代碼反編譯風(fēng)險、篡改和二次打包風(fēng)險、Janus簽名機(jī)制漏洞、加固殼識別風(fēng)險等。針對工業(yè)移動智能APP程序源文件安全檢測技術(shù)主要為通過解包、反編譯等方式處理包文件,采用靜態(tài)解析源碼的檢測方式,捕捉并定位到源文件源碼中任何可能產(chǎn)生任意風(fēng)險的內(nèi)容及路徑[3]。
工業(yè)移動智能APP在運(yùn)行過程中存在本地數(shù)據(jù)存儲安全風(fēng)險、數(shù)據(jù)通信傳輸安全風(fēng)險及內(nèi)部數(shù)據(jù)交互安全風(fēng)險等,上述風(fēng)險在工業(yè)APP運(yùn)行過程中可能導(dǎo)致數(shù)據(jù)泄露、遠(yuǎn)程控制、證書繞過等安全問題。動態(tài)調(diào)試安全檢測通過配置文件遍歷核查、調(diào)試日志調(diào)用測試、數(shù)據(jù)庫注入攻擊,SSL認(rèn)證分析、動態(tài)函數(shù)調(diào)用分析等方式,檢測工業(yè)移動智能APP運(yùn)行安全性。
隨著相關(guān)國家主管部門政策引導(dǎo)和產(chǎn)業(yè)發(fā)展,工業(yè)互聯(lián)網(wǎng)已進(jìn)入建設(shè)發(fā)展快車道。工業(yè)移動智能APP安全是保障工業(yè)互聯(lián)網(wǎng)安全運(yùn)行的關(guān)鍵環(huán)節(jié),但是當(dāng)前主流移動智能終端操作系統(tǒng)如Android、VxWorks等均為國外開發(fā)設(shè)計,近年頻繁爆出多種安全漏洞及危險后門,工業(yè)移動智能APP安全檢測能力仍需要不斷提升,全面保障工業(yè)互聯(lián)網(wǎng)智能移動化發(fā)展。