一種基于旁路信息的plc安全監控方法
【技術領域】
[00011本發明涉及一種安全監控方法,尤其是涉及一種基于旁路信息的PLC安全監控方 法。
【背景技術】
[0002] 以孤島方式運行的工業控制系統,使用專用設備與協議并且與外界物理環境相對 隔絕,在很長一段時間內都是相對安全的。但是為了滿足企業不斷提高的經營管理要求,順 應信息化以及工業化深度融合的潮流,隨著近年來信息技術以及物聯網的飛速發展,信息 技術大范圍的應用于工業控制系統。'兩化融合'帶來了生產力的極大提升,但同時也給工 業控制系統帶來了巨大的安全問題,由于外界網絡的接入,現在的工業控制系統不僅需要 面臨來自企業內部的安全威脅,還可能遭受來自互聯網的攻擊。工業控制系統是國家的重 要基礎設施,在滿足人民物質需求,保障經濟可持續發展以及維護社會穩定方面具有重要 作用,其安全事關國家經濟安全和人民財產安全,我國政府高度重視工業控制系統的安全 問題。
[0003] 基于旁路信息進行分析的技術,是指通過獲取被分析設備運行過程中產生的溫 度、執行時間、聲音、電磁輻射以及能量消耗等物理泄露量,分析設備的內部運行狀態。此類 分析方法無需改變設備的軟硬件結構,不會影響設備的正常運行。在眾多的旁路信息分析 手段中應用最廣泛的為功耗分析、電磁輻射分析和時間分析,其中功耗分析方法具有實現 方式簡單,分析手段豐富以及分析效果好等優點,是當今最有效的旁路信息分析方法之一。
[0004] 可編程邏輯控制器(PLC)作為工業控制系統中的關鍵設備,由于硬件結構以及軟 件系統的限制,無法移植傳統信息領域的安全防護手段,目前尚無針對PLC特性而設計的有 效安防手段。眾所周知,當且僅當PLC在運行指定程序時,才認為處于安全狀態。本發明旨在 通過監測PLC的當前工作狀態,判斷其是否處于指定工作狀態,從而來實現安全監控。
【發明內容】
[0005] 為解決上述問題,本發明提出一種基于旁路信息的PLC安全監控方法,本發明通過 對PLC運行時產生的功耗旁路信息進行分析,實現對PLC內部運行狀態的判斷,進而實現針 對PLC的安全監控的目的。
[0006] 本發明的目的是通過以下技術方案實現的:一種基于旁路信息的PLC安全監控方 法,包括以下步驟:
[0007] 1)通過在PLC的電源模塊以及CPU模塊之間串入取樣電阻,使用高速數據采集設備 采集PLC在運行時產生的功耗信息。
[0008] 2)從采集得到的原始功耗旁路信息中,計算得到能夠反映 PLC不同工作狀態的功 耗特征信息。
[0009] 3)使用計算得到的功耗特征信息結合SVM機器學習算法訓練監控分類器。
[0010] 4)由步驟3)得到的監控分類器,監測PLC的當前工作狀態,實現安全監控。
[0011] 進一步地,所述的步驟1)中在電源模塊與CPU模塊之間串聯接入阻值大小為0.1歐 姆的電阻,進行PLC功耗信息的提取,通過以下公式將功耗信息轉換為易測量的電壓信號:
[0012] Vi = Ii*R
[0013]其中,Vi為高速數據采集器測量的實時電壓數值,Ii為電源模塊與CPU模塊之間的 實時電流值,即實時功耗信息,R為電源模塊與CHJ模塊之間串入的電阻,大小為0.1歐姆。同 時使用高速數據采集器實時采集串入的取樣電阻兩端的電壓變化情況,采樣速率為 250KSa/s,采樣精度為16bit。
[0014] 進一步地,所述的步驟2)中將通過高速數據采集器獲得的PLC在不同工作時產生 的原始功耗旁路信息切割成等時間長度的功耗旁路信息片段,每一個功耗旁路信息片段就 是一個功耗信息樣本,采用以下公式提取并計算出每個功耗信息樣本對應的能夠反映 PLC 不同工作的功耗特征信息。
[0015] 平均值:
[0016] (1)
[0017]
[0018] (2)
[0019]
[0020] Π)
[0021]
[0022] (4)
[0023]
[0024] (5)
[0025]
[0026] (6)
[0027]
[0028] (7)
[0029]
[0030] (8)
[0031] 其中N為功耗數據點數,Xk是第K個點的數值,σ是標準差,ak為進行頻域變換后第K 個頻率fk處的能量大小j是頻譜均值,Vs是頻譜方差。
[0032]除計算以上八個功耗特征信息之外,同時使用libxtract工具箱計算Tonality、 power以及irregularity_j三個功耗特征信息,得到共計11個功耗特征信息反映功耗信息 樣本的特征,以便進行下一步的處理。
[0033]進一步地,所述的步驟3)中對計算得到的相應功耗信息樣本的功耗特征信息,根 據對應的工作狀態對這些功耗特征信息進行標類。借助標類后得到的功耗樣本特征數據, 使用libsvm工具箱基于SVM機器學習算法訓練監控分類器。
[0034] 進一步地,所述的步驟4)中使用步驟3)中訓練得到的監控分類器,對PLC運行時產 生的實時功耗數據進行監控,從而判斷出其當前工作狀態是否正常,實現對當前PLC的安全 監控。
[0035]本發明介紹的基于旁路信息的PLC安全監控方法,無需修改工業控制系統的軟件 及硬件,滿足工業控制系統對于安全防護技術的要求,有助于形成全面立體的工業控制系 統安全防護體系。
[0036]本發明具有的有益效果是:在對工業控制系統中關鍵設備PLC進行詳盡分析的基 礎上,創新性的以PLC運行時產生的功耗信息作為突破口,實現對PLC的實時運行安全監控, 該方法應用過程中無需修改工業控制系統的硬件與軟件系統,是對工業控制系統安全防護 方法的有效補充。
【附圖說明】
[0037]圖1為本發明的部署方式示意圖。
[0038]圖2為本發明的硬件結構圖;
[0039]圖3為功耗信息樣本長度對識別準確率影響示意圖。
[0040]圖4為米樣速率對識別準確率影響不意圖。
[0041 ]圖5為訓練樣本數目對識別準確率影響示意圖。
【具體實施方式】
[0042]下面結合附圖及具體實施例對本發明作進一步詳細說明。該發明的部署方式見附 圖1,硬件組成見附圖2。
[0043]本發明的具體實施例:以西門子公司出品的S7-300型PLC為實驗對象對本發明提 出的方法進行了實驗,使用0ΗΜΙΤΕ公司的15FR100E型0.1歐姆繞線電阻作為接入供電電源 與PLC之間的取樣電阻,同時使用安捷倫公司出品的U2541A型高速數據采集器進行實時功 耗數據的采集。
[0044]使PLC分別運行八種不同的PLC程序,即執行八種不同的工作,使用數據采集器以 固定的采樣速率采集PLC運行不同程序時產生的不同功耗信息,對采集得到的功耗數據進 行分割,分割成等時間長度的功耗樣本片段,從而分別得到運行不同程序時的功耗樣本片 段,然后計算每段功耗樣本片段的功耗特征數據,并根據運行程序的不同,對得到的功耗特 征數據進行標類,使用libsvm工具箱結合部分標類后的功耗特征數據進行監控分類器的訓 練。使用訓練得到的監控分類器對剩余的功耗樣本進行分類測試。
[0045] 實驗過程如下:
[0046] (1)使用U2541A型數據采集器以250KSa/s的采樣速率采集S7-300型PLC分別運行8 種程序時產生的功耗數據,將這些功耗數據按1〇8、58、2.58、1.5 8的不同時間長度進行功耗 旁路信息分割,獲得PLC運行8種程序時產生的功耗信息樣本各1200個(包含四種不同時間 長度功耗信息樣本各300個)。
[0047]采用以下公式提取并計算出每個功耗信息樣本對應功耗特征信息。
[0049] (1)
[0048] 平均值:
[0050]
[0051 ] (2)
[0052]
[0053] (3)
[0054]
[0055] ⑷
[0056]
[0057] ( 5 )
[0058]
[0059] (6)
[0060]
[0061 ] (7)
[0062]
[0063] (8)
[0064] 其中N為功耗數據點數,Xk是第K個點的數值,σ是標準差,ak為進行頻域變換后第K 個頻率fk處的能量大小,f是頻譜均值,Vs是頻譜方差。
[0065]除計算以上八個功耗特征信息之外,同時使用libxtract工具箱計算Tonality、 power以及irregularity_j三個功耗特征信息,得到共計11個功耗特征信息反映功耗信息 樣