徐 寧,黃 雙,秦元慶,周純杰
(華中科技大學控制科學與工程系,湖北武漢430074)
責任編輯:許 盈
工業智能相機是工業視覺監控系統中的重要組成部分,不僅要完成現場視頻采集、分析功能,還要完成網絡數據傳輸及系統控制功能。隨著Internet的引入,不僅會面臨網絡安全問題[1],同時會面臨視頻安全問題[2]。而這些安全威脅會對工業生產造成重大隱患,因此工業智能相機信息安全問題的有效解決具有重要意義。
目前國內外學者對工業智能相機中的信息安全問題已經做了一些研究工作。文獻[3]提出了層次化網絡信息安全措施;文獻[4]提出在視頻信息中加入視頻水印保護措施;文獻[5]提出了基于IPv6的入侵檢測模型。這些技術能夠在一定程度上緩解工業智能相機中網絡或者視頻信息安全問題,然而同時解決網絡及視頻信息安全,又要考慮工業實時性要求研究工作的比較少。
針對工業智能攝像機中存在的信息安全問題,結合DM6467T達芬奇視頻處理平臺的雙核架構特性,設計了一種層次化的安全策略,并在DM6467T處理平臺實現了該種策略,進行相關測試工作。
工業智能相機典型應用系統結構如圖1所示,分為信息管理層、過程控制層及現場設備層。現場設備層通過工業以太網進行連接,主要根據控制層執行相關操作;過程控制層中主要有工業智能相機、視頻服務器及網絡連接設備,負責系統控制;信息管理層主要完成系統信息管理、查詢等任務。

圖1 工業智能相機典型應用系統結構
面向工業控制的智能相機,不僅要求系統內部安全、可靠地對生產制造過程實施監測和控制,同時要求系統免受外界的惡意攻擊,保證信息的機密性和完整性。其面臨的諸如非法入侵、關鍵數據竊取、視頻數據的偽造、惡意病毒軟件等方面的威脅越來越嚴峻。構成這些威脅的原因有[1,4]:1)工業智能攝像機終端被操縱控制,拒絕工作站訪問,關鍵控制參數被修改;2)工業智能攝像機在以太網中的數據信息被竊取、篡改、偽造;3)視覺監控系統中的原始視頻信息被不正當復制、篡改等。
面向工業應用的智能相機的信息安全策略設計,一方面需要確保底層現場設備的閉環穩定性、實時性,另一方面需要系統免受外界的惡意攻擊,保證信息的機密性和完整性。結合DM6467T智能攝像機平臺的雙核架構特性,本文提出了一種層次化的安全檢測防護策略,內層采用基于特征的誤用檢測方式,對已知入侵進行快速檢測,快速響應入侵,滿足工業實時性需求;外層采用基于性能評估的異常檢測方式,通過綜合分析系統整體性能,對未知入侵進行評估,調取相應防護措施,保證視覺控制系統的安全運行。
其安全防護框圖如圖2所示,主要包括網絡數據過濾、安全檢測及安全響應模塊。網絡數據過濾模塊采用IP地址白名單的形式,丟棄掉不允許IP地址范圍內的網絡數據,減輕后級入侵檢測負擔,達到網絡數據過濾目的。

圖2 工業智能相機安全防護框圖
安全檢測模塊分為內外兩層結構,內層對過濾之后的數據包(諸如連接狀態、源地址、目的地址、協議類型等)進行特征值的提取,通過將提取的特征規則和已知入侵特征規則庫進行匹配,若匹配則為已知類型入侵,生成相對應的安全策略。針對未能匹配可疑數據,移交外層處理。同時外層對網絡數據流量、CPU利用率、視頻流碼率等系統性能指標進行檢測和評估,若超過一定的閾值,則認為系統異常,采取諸如對系統內部關鍵變量隔離、備份操作或進行視頻水印加密操作,保證整個監控系統的安全運行。
安全響應模塊主要根據安全檢測模塊生成的策略,完成任務策略執行處理,同時對安全事件進行報警和日志記錄工作。
本文采用基于TM320DM6467T的嵌入式智能攝像機平臺,其中DM6467T為TI公司最新推出的一款達芬奇技術數字媒體處理器,它集成了ARM和DSP內核、2個高清視頻協處理器(HD-VICP)、視頻數據轉換引擎,最高主頻可達1 GHz。
基于DM6467T的智能攝像機的軟件結構如圖3所示,主要包括ARM端Linux系統和DSP端DSP/BIOS系統。設置ARM核為主控制處理器,其主要完成設備驅動、視頻采集、網絡傳輸、安全防護及控制協調任務;DSP核為從處理器,主要完成H.264編解碼算法、智能分析算法及視頻水印算法的運行,并將運算結果返還給ARM端。

圖3 基于DM6467T的智能相機軟件結構圖
考慮到視覺控制系統中數據的傳輸量相對一般工業網絡控制系統較大,然而具有訪問智能相機權限的網絡IP地址比較固定,如果能夠在第一時間阻斷入侵,減少數據傳輸,系統的實時性將會得到提高,所以采用IP白名單的網絡數據過濾將會非常簡潔有效。IP地址白名單是當網絡訪問時,只有“白名單”中規定的IP地址才可訪問智能相機。
其中網絡數據包的采集采用Linux操作系統中移植性較好的Libpcap網絡數據捕獲函數包進行網絡包捕獲,基于IP白名單網絡數據過濾流程如圖4所示,其執行流程為:首先進行網絡數據的采集,對網絡數據進行解析,讀取數據包中IP源地址,進行白名單查詢,若地址在白名單中,則將數據傳送到內層進行進一步處理,否則,丟棄數據。

圖4 網絡數據采集流程圖
考慮到DM6467T的ARM和DSP雙核架構,為充分利用系統資源,該系統采取了層次化的入侵檢測方案,內層入侵檢測采用基于Codec算法封裝[7]的方法(運行在DSP端)實現對已知入侵的快速檢測及防護處理;外層采用基于Core Engine機制[7]的監測方式(運行在ARM端),對未知入侵進行系統性能評估,采取相應防護策略,兩層協同同步進行,盡可能提高檢測速度及實時性能,從而滿足工業實時性的需求,確保系統的安全可靠運行。
3.3.1 基于Codec Engine的內層安全機制
內層安全機制采用基于特征模型的誤用檢測機制,對網絡數據包進行解碼和分析,提取特征規則,識別入侵類型并采取相應防護策略。系統中采用現行公認、實用的網絡安全審計數據集KDDCUP99[8]的10%數據集作為訓練數據集及測試數據集,按照網絡連接的基本特征、網絡連接的基于內容的特征及2 s時間單元的流量特征對攻擊數據進行特征的分類,同時對其中41類特征進行簡化處理,去掉諸如Service、FTP等系統用不到的入侵特征,然后對特征進行編碼,進行改進的基于QPSO(Quantum Partical Swarm Optimization)的入侵特征規則[9]提取,最終完成特征庫的建立,限于篇幅,這里不對改進的QPSO算法進行詳盡敘述。
考慮到工業實時性需求,為了加快檢測速度、提高檢測準確性,從以下兩個方面進行性能的改善:1)充分利用DM6467T的雙核Codec Engine架構,進行Codec算法封裝和配置,實現ARM端Linux操作系統運行,DSP端網絡數據包分析及匹配算法的運行,提高運行效率;2)采用改進型Boyer Moore Horspoo(BMH)算法[10]對特征規則進行匹配。
Codec算法封裝是DM6467T達芬奇平臺中基于Codec Engine的一種算法封裝機制,按照XDAIS算法標準,通過系統文件配置,可以實現算法在ARM端或DSP端運行。系統中基于Codec機制的算法結構體聲明如下所示,其中IALG_Fxns結構體是系統定義標準算法接口,主要完成接口參數初始化及內存分配;指針函數process/control分別完成匹配算法的處理和運行控制操作。

針對檢測出的已知入侵,生成相應諸如修改端口號、丟棄數據包、斷開連接等安全措施,其內層入侵檢測處理流程如圖5所示。

圖5 內層入侵檢測流程圖
3.3.2 基于Core Engine的外層安全機制
外層安全機制主要針對內層未能檢測出來的入侵,采取基于性能評估的異常檢測機制。首先選取能反映系統運行狀態的性能監測指標,對這些指標進行統計,設定閾值,如果超過該閾值,則認為有入侵行為發生,采取諸如即時EASM硬件加密、H.264編碼視頻水印[6]等策略,這里面的策略非內層針對已知入侵,從系統層面進行評估分析,防御入侵,其執行流程如圖6所示。

圖6 外層入侵檢測流程
在基于DM6467T的工業智能相機中,其CPU的利用率、視頻流碼率、網絡流量及執行周期等是系統運行性能的重要特征,正常工作時這些性能指標也比較穩定。考慮到工業實時性需要,將算法配到DSP端、ARM端進行Linux操作系統及監測任務的運行,通過調用Core Engine的監測機制對性能指標進行實時監測,同時添加網絡流量統計、視頻流碼率及日志記錄任務完善性能指標的監測,監測相關API函數如表1所示。

表1 Core Engine主要監測API
安全響應模塊是安全防護中必不可少的環節,其主要根據內、外層生成的防護策略,執行相應的任務,進行入侵報警、日志記錄等操作。
對于內層快速檢測防護,響應處理主要是根據檢測到的已知入侵類型采取相對應的處理。如當受到Land特征類型攻擊時,通過檢查數據包中IP字段,阻塞訪問;當受到諸如網絡監聽類型的攻擊,對機密敏感數據進行加密、修改網絡端口;當受到諸如非法取得root權限攻擊,則禁止用戶、斷開連接。
對于外層未知入侵檢測,則通過對系統整體性能指標安全評估,采取安全點恢復、關鍵數據備份等。如當發現有數據竊取行為時,啟動硬件EASM加密模塊對存儲數據進行加密處理;當發現視頻數據被篡改時,啟動基于H.264編解碼的視頻水印任務對視頻數據進行保護,保證系統在受到攻擊時,能夠安全運行。
為了驗證工業智能相機安全策略的有效性,搭建實際試驗平臺,如圖7所示。DM6467T開發平臺(圖7中3)連接模擬攝像機(圖7中1),采集模擬視頻,處理完成之后,將控制命令傳遞給設備層設備DSP2812開發板(圖7中4),同時將視頻信息實時顯示到顯示器(圖7中2)上。集線器(圖7中6)由網線將PC機(圖7中5)、DM6467T開發平臺及DSP2812連接起來。PC機一方面完成模擬網絡攻擊,另一方面進行視頻數據的存儲任務。測試內容主要包括內層已知入侵檢測和外層未知入侵檢測處理這兩部分。針對內層測試,采用3.3節中提到的KDDCUP99的10%數據集作為測試數據,在PC機上用嗅探器sniffer軟件發包進行模擬。對于外層測試,則通過將模擬攝像機場景更改為簡單背景,減小視頻流碼率模擬,這種入侵方式,內層檢測不出來,但是可以通過CPU利用率的減小、視頻流碼率的減小等評估出有入侵行為,進而采取視頻水印加密處理任務。

圖7 基于DM6467T的智能相機測試平臺
內層安全機制的測試中,主要通過檢出率和誤檢率兩個指標來評價,檢出率指檢測到的入侵數目與總的入侵數目之比,誤檢率指被誤判為入侵的正常數目與總的正常數目之比,最終測試效果如圖8所示。

圖8 內層入侵檢測結果
其中Probe和DoS類型攻擊的檢出率可以達到80%左右,誤檢率在10%左右;U2R和R2L這兩種類型攻擊檢出率在65%左右,誤檢率在20%左右。分析主要是因為在特征規則的設計中Probe和DoS類型攻擊特征比較多,同時網絡數據白名單過濾掉了部分這類攻擊,然而U2R和R2L這兩種類型攻擊特征規則比較薄弱,攻擊特性不明顯,所以效果相對較差。
實驗中通過將攝像機的場景更換為純白色,則其相應的一幀數據的像素變少,視頻流碼率明顯減小,內層無法檢測出此種攻擊,然而外層可以檢測出來,采取基于H.264編碼的視頻水印進行視頻加密,同時對加密之后的視頻進行解碼顯示觀察,如圖9b所示,經過視頻水印加密的視頻經過解密之后能夠正常顯示;未經加密的視頻經過解密之后顯示為黑屏如圖9b所示。

圖9 外層視頻水印檢測處理結果
本文根據工業智能相機應用場景,結合DM6467T雙核架構特性,針對智能相機網絡及視頻安全威脅,同時考慮到工業實時性需求,設計了一種層次化的安全防護策略。然后在DM6467T視頻處理平臺上實現該種安全防護策略,并進行相關測試。實驗結果表明,該方案能夠在滿足工業實時性要求的情況下,有效地防止網絡及視頻安全攻擊,同時對嵌入式工業智能相機安全防護設計有一定的參考價值。
[1]王玉敏.工業控制系統的常見攻擊[J].中國儀器儀表,2012(3):60-65.
[2]江城,張重陽,余松煜.基于異常檢測與雙流編碼的視頻監控系統設計[J].電視技術,2011,35(1):111-114.
[3]沈艷,方湘艷,韓威,等.基于四層過濾的網絡入侵檢測系統模型[J].計算機與數字工程,2011,39(6):86-89.
[4]施鵬飛,趙立初.數字水印技術的研究[J].信息與控制,2000,29(1):40-45.
[5]林惠君,張思東,張宏科.基于IPv6的入侵檢測系統的研究與實現[J].電視技術,2005,29(10):64-66.
[6]羅智蘭.一種基于H.264標準的視頻水印方案[D].南京:南京郵電大學,2008.
[7]Texas Instruments Incorporated.Codec engine application developer user's guide[EB/OL].[2012-06-06].http://www.ti.com.cn/cn/lit/ug/sprue67d/sprue67d.pdf.
[8]張新有,曾華燊,賈磊.入侵檢測數據集KDD CUP99研究[J].計算機工程與設計,2010,31(22):4809-4812.
[9]趙昌.基于粒子群優化的入侵檢測規則提取方法研究[D].合肥:中國科學技術大學,2009.
[10]劉勝飛,張云泉.一種改進的BMH模式匹配算法[J].計算機科學,2008,35(11):164-165.