999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

融合PCA 降維的改進深度神經網絡工控安全算法?

2019-07-31 09:54:50劉慶華吳昊天
計算機與數字工程 2019年7期
關鍵詞:深度特征檢測

劉慶華 吳昊天

(江蘇科技大學計算機學院 鎮江 212000)

1 引言

隨著信息化與自動化技術的不斷發展,為了方便政府與企業對工業控制系統進行管理和監督,在降低成本的原始驅動力下,工業控制系統變得比以前開放,越來越多地采用標準的通用協議和軟硬件系統[1~3]。工業控制系統在走向開放的同時,無可避免地引入傳統IT 網絡中普遍存在的漏洞和威脅等安全問題,工業控制系統遭受攻擊的風險日益增大[4]。自2011 年以來工業控制系統的安全事件呈現上漲趨勢,原因主要有兩點:1)通用協議和軟硬件的使用使入侵變得容易;2)工業控制系統的特殊地位使得其成為敵對政府和勢力的攻擊目標[5]。從這一系列的事件可以看出針對工業控制系統的入侵活動從來就沒有停止過,只不過以前的安全事件發生頻率不高,造成的后果并不嚴重,沒有引起各界的足夠重視。

近幾年以來,針對于工業控制系統異常及安全防護的研究十分活躍。工控安全研究可以分為三類[6~8]:基于統計的方法、基于知識的方法和基于機器學習的方法。其中Thomas Morris[9]等設計提出了基于Snort 的協議分析與檢測系統,利用Snort 規則對上行數據和下行數據進行檢測,對特定協議與已知的非法數據包,該方法具有較好的檢測效果,但是具有無法處理未知攻擊的缺陷。Ondrej Linda[10]等從工控網絡中提取特征信息構成數據集,采用神經網絡算法進行入侵檢測研究,取得了較好的結果。但是由于神經網絡的特殊性,模型不能夠對異常事件的判斷給出合理的解釋,網絡拓撲結構包括神經元的權重需要上千上萬次迭代才能確認。Justin M.Beaver[11]等探討了 SVM、貝葉斯用于檢測工控系統攻擊場景的可行性,并使用標準數據集對上述方法進行評估。該方法簡單、計算高效,但是訓練數據集合較大,檢測速度無法滿足工業實時性要求,檢測中的閾值難以設定。Jianmin Jiang[12]等提出了基于SVM 的SCADA 系統入侵檢測方法,并使用通信網絡的數據集進行實驗,發現該算法學習推廣能力較強,檢測快速,但是該方法在描述用戶動態行為變化和單獨檢測方面的效果不明顯。Xiao Yujun[13]等提出一種非侵入式基于功耗的PLC異常檢測方案,通過研究PLC功耗變化結合稀疏編碼算法提取特征,通過訓練記憶單元神經網絡來判斷PLC 是否異常。該方法對未知攻擊具有很好的檢測效果,但是并非所有攻擊都影響功耗,檢測范圍有限。

為了防止工業控制系統被入侵,提高工控系統的安全性。本文針對于工業控制系統中廣泛使用的Modbus 協議,在充分考慮已有算法缺點的基礎上,提出融合PCA降維和深度神經網絡的新型工控防御方法,以全連接型深度神經網絡結構為基礎,結合PCA數據降維能力,構建工控深度防御模型。

2 Modbus/TCP特點及安全性分析

Modbus/TCP 是屬于OSI 所定義的通信層第七層應用層協議,是類似于Client/Server 或稱作為Master/Slave 型式的通信協議,它是典型的主從式通信模型,Modbus 主站向Modbus 從站發送請求報文,從站依據協議的格式規約作出應答,圖1 是Modbus/TCP協議的技術規范。

因為其基于標準以太網TCP/IP 協議基礎之上的工控應用協議,因此傳統TCP/IP 協議擁有的安全缺陷Modbus/TCP 協議也具備,會遭受到例如ARP 地址偽裝攻擊,拒絕服務攻擊、IP 欺騙攻擊等常見的網絡攻擊。同時,因為工業控制系統自身固有的特點,Modbus/TCP 協議在設計之初并沒有考慮到信息安全問題,這就使得Modbus/TCP 協議自身也存在著一些安全漏洞,容易被黑客利用,自身存在的缺陷包括以下幾點[14~16]:

圖1 Modbus/TCP協議技術規范

首先,Modbus/TCP 缺乏安全認證,一旦接入到工業控制系統,任何一個終端都可以使用一個非法的IP 地址和Modbus 功能碼建立會話,這就導致攻擊者只要能黑入特定的工業控制系統,就能夠扮演任意一個Modbus 主站角色去惡意訪問Modbus 從站的信息。

其次,Modbus/TCP 缺乏授權,沒有基于角色權限的訪問控制機制,一般用戶能root 整個系統,只要分發指令從站能夠識別,任何一個用戶都可以執行任意的功能。如果攻擊者黑入某一Modbus主站后,可以利用主站向Modbus 從站發送執行某一功能的命令,而此功能原本是不允許該Modbus 主站訪問的。

再者,Modbus/TCP 功能碼、地址、寄存器或線圈域值都是明文傳輸,缺乏加密機制,這就使得攻擊者一旦捕獲到流量數據,能夠很輕易地將其內容解析出來,導致生產工藝等一些機密信息泄露。

最后,Modbus/TCP 缺乏完整性檢測,常用的CRC校驗更多的是用于差錯檢驗,而通信數據有可能被篡改而無法校驗。如果攻擊者通過類似于ARP 地址詐騙攻擊將合法的Modbus/ TCP 數據報文篡改成超長的畸形Modbus/TCP 數據報文,造成Modbus 從站緩存區溢出,從而導致Modbus 從站宕機,直接影響工業控制系統正常運行。

3 工控防御方法

3.1 基于PCA的數據降維

高數據量、高維數是工業控制系統中數據的兩個明顯特征,在本文采用數據集中,每條網絡數據的特征集總共有17 個數據特征,這些特征囊括了Modbus 數據包從發送到接受的全部信息,具體體現為如下:Features={SourceIp,SourceMac,DestinationIp,DestinationMac, Traffictype,TrafficName,Totalbytes,Timestamp,CreatedAt,TransactionIdentify,Length1,DeviceAddress,FunctionCode,RegisterAddress1,RegisterAddress2,RegisterCount},其中包含一些無關的隱晦以及重復的特征表達。維度災難(dimension disaster)是算法必須要規避的問題,高緯度不僅會帶來高的時間復雜度,一些無關的維度因子還會嚴重影響算法分類的準確性。主成分分析方法是一種線性降維技術,從多維特征提取反映數據屬性的信息主元,這些主元可以反映幾乎全部的高維信息,并且具有數目少、互不相關的特點,在分類時可以達到數據降維的作用。

假設原始的Modbus 訓練集有n 個輸入樣本,則有 X=(X1,X2,…,Xn),其中每個樣本有m 個特征表達:

這n個樣本的平均向量為

每個樣本輸入與平均向量的差值表示為

訓練樣本的協方差矩陣可以表示為

上述公式中 ux是N 維向量,L 是 N×N 維矩陣。

設 λ1,λ2,…,λm是矩陣 L 的 m 個特征向量,將特征向量表達為U=(U1,U2,…,Um)T,其中特征根是從大到小排列,λ1>λ2…>λm。

將第i 個樣本重建,新的表達公式為

根據K-L變換,計算出第i 個樣本的貢獻率為

式中T 是通過累積貢獻率確定,本文設定的標準為90%,只要累計貢獻率達到90%,則選取前T 個主成分代替原始輸入,通過PCA可以達到降維數據的目的,避免因維度災難引起的計算資源過度損耗。

3.2 Adagrad算法優化深度神經網絡參數

工控數據(Modbus Tcp 數據集)經過PCA 數據降維,可以作為深度神經網絡的輸入,深度神經網絡即多隱藏層神經網絡,其優勢是能夠利用較少的參數表示復雜的函數。

最常見的參數優化方法是SGD,工業數據納入模型訓練時,迭代計算batch 的梯度對參數進行更新。

當固定好η 時,對于每個參數都會使用同樣的learning rate,因此選擇合適的learning rate 比較困難,工業數據特征呈現高維的特性,但是并不是每個特征的重要性都是一樣,針對于一些次重要的特征,在訓練過程中,希望更新的更加快,相反,對于一些重要的特征,希望更新的慢一些。此外,SGD本身也不是穩定的算法,結果可能在最優解附近波動,不同的學習率可能會導致神經網絡落入到截然不同的局部最優之中。

Adagrad 也是一種基于梯度的優化算法,它能夠對每個參數自適應不同的學習速率,對稀疏特征,得到大的學習更新,對非稀疏特征,得到較小的學習更新,因此該優化算法適合處理稀疏特征數據。Dean 等發現Adagrad 能夠很好地提高SGD 的魯棒性,Adagrad在SGD的基礎上,對學習率進行了一個約束,表達為

式中gt表示當前的梯度,ε 是一個比較小的數來保證分母非0。Adagrad 自適應的為各個參數配置不同的學習率,每個學習率能根據當前梯度的變化情況自適應的調整大小,并且nt梯度的平方能保證梯度呈現下降趨勢。

此外,本文采用Relu 作為激活函數,Relu 可以很好的解決梯度彌散問題,在稀疏矩陣的表達上具備天然的優勢,即使經過了多層的傳播,梯度也不會大幅度縮小,適合于本文提出的深度模型。

3.3 融合PCA 降維和Ada-DNN 分類的工控防御模型

融合PCA降維和Ada-DNN分類的工控防御系統,經由數據采集設備采集的工控系統網絡數據經過PCA 降維處理,通過Adagrad 優化調整全參數學習率。深度防御模型的構造采用12-10-12 三隱層結構。算法流程圖如圖2所示。

圖2 主體算法流程圖

工控數據經過多層表達,從訓練數據提前主要模型特征。最終通過Softmax分類器,計算如下:

其中,xi表示第i 個輸入的特征表達,先對各個類的特征求exp函數,之后標準化,在保證和為1的前提下,輸出概率,工控數據的特征值越小,對應輸出的概率就越小。

工控防御模型的整體系統的框架如下:

整個系統過程可分為四個階段:

1)數據預處理階段:工控網內流動的數據量是龐大且繁雜的,系統在使用腳本語言剔除一些無用的通信數據之后,使用主成分分析(PCA)方法對數據集進行降維,提取貢獻率大,更能反應工控過程的特征,避免因維數過多損耗計算資源。

2)深度神經網絡模型參數優化階段:利用Adagrad 對模型全參數進行不同學習率調整,保證影響因子大的特征訓練慢,影響因子小的參數訓練快。

3)數據訓練階段:數據集經過降維處理,將得到的最終特征向量經過訓練模塊,最后的特征表達通過Softmax分類器,輸出概率。

4)數據驗證階段:訓練好的深度模型分類器對經過降維處理的驗證數據集進行檢測,驗證模塊通過驗證結果做出對應的決策。

4 工控流程

在實際的工業流程中,正常的數據流量包含數據的來源與目的地址、協議標識符,設備地址號等等多達20 維的關鍵信息,是數據從源到終的具現,對于工控安全具有非常好的參考意義。本文中非法數據是通過篡改指令的方式實現,其中采用的數據集中主要包含三種:ARP 地址欺騙攻擊、拒絕服務攻擊、功能碼異常。

數據的命令響應、控制模式包含功能碼等關鍵維的信息均為非數值形式,而深度神經網絡不能直接識別非數值形式的數據,此外,因為本文采用的數據集是由底層設備同步過來,所以包含了大量工控無關的協議數據,系統必須予以剔除,因此必須對數據進行預處理。

4.1 數據源

本文采用數據源,由底層設備同步的工控數據,為了達到實驗的目的,數據集除了包含正常的工業數據外,還混雜了一部分具備攻擊性的數據源。

4.2 數據預處理

1)數據清理:由于系統數據源來自于底層設備同步,包含大量非工控協議的數據,因此,采用腳本語言予以剔除,詳細描述為

圖3 工控數據過濾流程圖

2)歸一化處理:由于樣本的特征屬性各不相同,缺乏統一的度量單位,為了消除這些不利因素,需要進行歸一化處理,詳細描述為

其中,θmax為最大的特征值,θmin為最小的特征值,即[0,1]歸一化處理。

3)PCA 降維處理:在工控防御的研究中,工控網內流量數據通常具備高維數的特點,進行降維是工控防御的必要環節。一般,有兩種方式可以降維,人工降維和算法降維,為了提高系統的智能化,本文采用主成分分析法(PCA)從多維特征提取能反映數據特征的信息主元,累計貢獻率設定為90%,詳細描述見式(6)。

4.3 實驗結果分析

4.3.1 分類攻擊數據源檢測效果

為了研究方便,本次實驗僅區別數據“合法”或“非法”。為了此次試驗,準備了ARP 地址欺騙攻擊、拒絕服務攻擊,功能碼異常三類攻擊數據源。實驗數據集由正常數據樣本與攻擊型異常數據組成,將實驗訓練集分成兩部分,分別為訓練數據集和驗證數據集。分別對這三種攻擊類型的數據進行檢測,評價指標為查準率(Precision Rate),漏報率(False Negative Rate),誤識率(False Positive Rate),檢測結果如表1所示。

表1 PCA-DNN方法針對不同攻擊方式的檢測結果

通過表1 可以看出,本文提出的融合PCA 與DNN 的檢測算法具有很好的檢測效果。當攻擊類型為ARP 攻擊和功能碼異常時均有較高的查準率,誤報率和漏報率都維持在5%以下。對于拒絕服務式攻擊數據差準率較低,并存在一定的誤報率,但是仍然具備較好的檢測效果。

4.3.2 多優化算法對loss收斂速度比較

在得到深度神經網絡結構,并完成了對三種攻擊數據源的檢測后,針對不同的優化算法,圖4 給出了SGD 優化算法與本文Adagrad算法對loss影響的折線趨勢圖。

圖4 Adagrad與SGD性能對比

由上圖可知,Adagrad 算法收斂速度更快,在epoch達到2000時已將loss收斂至0.1以下,而SGD在epochs達到3000~4000的階段呈現loss震蕩。此外,Adagrad 算法能將 loss 收斂到最小值 0.0021 顯然比SGD 的0.034 更小,因此本文算法采取了比SGD更優的Adagrad優化算法。

4.3.3 工控防御算法性能評價

工控防御算法包括樸素貝葉斯算法,SVM以及基于粗糙集的算法以及未融合之前的深度神經網絡算法。為了驗證本文算法在工控防御反入侵領域存在優勢,參考引用文獻中的算法人工智能算法做為參比模型。表2 表示本文算法對異常數據集的檢測結果與其他算法在查準率、誤報率兩個方面的比較。

表2 不同機器學習算法對異常數據檢測性能比較

由表2 可知,SVM 和樸素貝葉斯算法在檢測異常數據時查準率較低并且具有較高的誤識率。未融合之前的深度神經網絡算法由于未進行降維,數據中存在很多干擾維度,導致較低的查準率與較高的誤識率。而本文采用的PCA-DNN 算法查準率比基于粗糙集的人工免疫算法低,但是在誤識率表現比粗糙集算法好,此外,兩項指標均大大優于未融合之前的深度神經網絡算法,由此可以說明,本文算法具有較好的檢測性能。

5 結語

本文在全連接型深度神經網絡算法的基礎上進行創新,初探了深度學習在工業控制系統信息安全這一新興領域的應用。面對規模龐大且高維的工控數據,通過PCA 降維算法進行降維,提取信息主要特征。為了保證PCA-DNN 算法檢測的準確率,提出了用Adagrad算法進行全參數優化,并比較了與常見的SGD優化算法的優劣,而合法非法的概率結果用Softmax分類器歸一化之后輸出。文中用自低層設備同步的數據加入攻擊數據源對算法性能進行評測,結果表明,在定量評價中,本文算法指標值要優于常見的機器學習算法,同時相比于之前未融合的深度神經網絡算法有較大的提高。

猜你喜歡
深度特征檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
深度理解一元一次方程
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
深度觀察
深度觀察
深度觀察
抓住特征巧觀察
主站蜘蛛池模板: 国产9191精品免费观看| 欧美亚洲一二三区| 国产成人a毛片在线| 狠狠躁天天躁夜夜躁婷婷| 国产免费a级片| 国产精品第| 欧美一区二区自偷自拍视频| 欧美成人看片一区二区三区 | 成人a免费α片在线视频网站| 在线欧美国产| 欧美性精品| 精品国产成人a在线观看| 国产精品浪潮Av| 无码中文字幕精品推荐| 国产一级视频久久| 久久综合九九亚洲一区 | 青青草原国产| 毛片一级在线| 久久天天躁狠狠躁夜夜躁| 色久综合在线| 亚洲熟妇AV日韩熟妇在线| 色综合中文| 久久一本精品久久久ー99| 丰满人妻中出白浆| 国产美女精品在线| 无码有码中文字幕| 国产原创第一页在线观看| 国产午夜在线观看视频| 亚洲免费毛片| 日韩AV手机在线观看蜜芽| 成人亚洲国产| 精品成人一区二区三区电影| 美女国产在线| 九九视频免费在线观看| 国产91透明丝袜美腿在线| 国产成本人片免费a∨短片| 欧美日韩免费| 欧美成人午夜影院| 亚洲精品天堂在线观看| 性做久久久久久久免费看| 色哟哟国产精品| 亚洲黄网视频| 国产伦片中文免费观看| 久久99精品久久久大学生| 五月天天天色| 免费人成又黄又爽的视频网站| 最新国产精品鲁鲁免费视频| 亚洲成年网站在线观看| 2020国产免费久久精品99| 免费看a毛片| 欧美成人精品高清在线下载 | 手机看片1024久久精品你懂的| 亚洲第一区在线| 波多野吉衣一区二区三区av| 原味小视频在线www国产| 国产一区二区色淫影院| 尤物精品视频一区二区三区| 亚洲综合一区国产精品| 日韩无码黄色| 国产亚洲精品精品精品| 青草娱乐极品免费视频| 亚洲一区二区三区麻豆| 最新亚洲人成网站在线观看| 日韩精品欧美国产在线| 日本三级黄在线观看| 亚洲AV无码久久精品色欲| 国产福利一区二区在线观看| av一区二区三区在线观看| 欧美精品在线免费| 亚洲热线99精品视频| 国产91麻豆视频| 亚洲美女一级毛片| 亚洲二区视频| 欧美日韩一区二区三区在线视频| 免费欧美一级| 日韩东京热无码人妻| 中文字幕免费在线视频| 99青青青精品视频在线| 亚洲一区国色天香| 免费无码AV片在线观看中文| 美女潮喷出白浆在线观看视频| 久久精品丝袜|