周澤巖 程鵬 方付生 路濤
文章編號(hào):2096-1472(2022)-02-01-05
DOI:10.19644/j.cnki.issn2096-1472.2022.002.001DOI:10.19644/j.cnki.issn2096-1472.2022.002.001
摘? 要:聚焦鐵路牽引供電遠(yuǎn)動(dòng)SCADA系統(tǒng),分析其通信規(guī)約和網(wǎng)絡(luò)安全風(fēng)險(xiǎn)點(diǎn),研究基于單類支持向量機(jī)算法的異常攻擊檢測(cè)技術(shù),以達(dá)到檢測(cè)網(wǎng)絡(luò)異常攻擊的目的。本方法先分析正常的通信數(shù)據(jù),選取報(bào)文序列中的時(shí)間戳、源地址、目的地址、源端口、目的端口等字段,構(gòu)成訓(xùn)練樣本序列集合,再對(duì)報(bào)文序列的數(shù)據(jù)預(yù)處理形成子序列特征數(shù)據(jù)庫,最后采用Python語言、Sklearn機(jī)器學(xué)習(xí)庫建立單類支持向量機(jī)的行為模型,并通過仿真數(shù)據(jù)測(cè)試,驗(yàn)證其可有效檢測(cè)網(wǎng)絡(luò)入侵等異常行為。
關(guān)鍵詞:牽引供電遠(yuǎn)動(dòng)系統(tǒng);單類支持向量機(jī);異常檢測(cè)
中圖分類號(hào):TP301.6? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
Research on Abnormal Attack Detection Technology of Traction Power?Supply SCADA System based on Machine Learning
ZHOU Zeyan1, CHENG Peng2, FANG Fusheng2, LU Tao3
(1.Electronic Computing Technology Institute of China Academy of Railway Sciences Co., Ltd., Beijing 100081, China;
2.China Electronic Technology Cyber Security Co., Ltd., Chengdu 610041, China;
3.Beijing ZhengXin Cyber Security Technology Co., Ltd., Beijing 100160, China)
zhouzeyan8008@sina.com; cp975@163.com; fang4985@aliyun.com; lutao7@163.com
Abstract: This paper proposes to study abnormal attack detection technology based on One-class SVM (Support Vector Machine) algorithm to achieve the purpose of detecting abnormal network attacks, through focusing on railway traction power supply SCADA (Supervisory Control and Data Acquisition System) system and? analyzing its communication protocol and network security risk points. Firstly, normal communication data are analyzed, and fields in the message sequence, such as timestamp, source address, destination address, source port, destination port, are selected. Thus a training sample sequence set are formed. Then, the message sequence data are preprocessed to form a sub-sequence feature database. Finally, Python language and Sklearn machine learning library are used to establish a One-class SVM behavior model. Simulation data test verifies that the proposed technology can effectively detect abnormal behaviors such as network intrusions.
Keywords: traction power supply system; One-class SVM; abnormal detection
1? ?引言(Introduction)
近年來,工業(yè)信息安全整體形勢(shì)不容樂觀。一方面,工業(yè)控制系統(tǒng)安全漏洞持續(xù)增長,根據(jù)中國國家信息安全漏洞共享平臺(tái)CNVD的統(tǒng)計(jì)數(shù)據(jù)顯示,2020 年新增工業(yè)控制系統(tǒng)安全漏洞數(shù)已達(dá)到652 個(gè),同比增長45.5%。另一方面,針對(duì)鐵路行業(yè)的網(wǎng)絡(luò)攻擊越來越多,2020 年3 月英國火車站W(wǎng)i-Fi提供商C3UK云數(shù)據(jù)庫遭泄露,導(dǎo)致1萬名英國鐵路乘客的個(gè)人數(shù)據(jù)泄露。2020 年7 月,以色列鐵路基礎(chǔ)設(shè)施的150多臺(tái)工業(yè)服務(wù)器遭受網(wǎng)絡(luò)攻擊,影響了28 座火車站和地鐵站的運(yùn)營。
鐵路運(yùn)輸是我國主要的運(yùn)輸方式之一,據(jù)國家統(tǒng)計(jì)局?jǐn)?shù)據(jù)顯示,2020 年我國鐵路旅客周轉(zhuǎn)量已占總周轉(zhuǎn)量的42.9%,而隨著IT技術(shù)在鐵路原有工控領(lǐng)域大量應(yīng)用,其信息安全風(fēng)險(xiǎn)日益增加,甚至直接影響我國交通運(yùn)輸?shù)恼w安全。鐵路牽引供電遠(yuǎn)動(dòng)系統(tǒng)(以下簡稱遠(yuǎn)動(dòng)系統(tǒng))作為鐵路關(guān)鍵信息基礎(chǔ)設(shè)施,其可靠性將對(duì)行車安全造成影響,是整個(gè)鐵路安全穩(wěn)定運(yùn)營的核心內(nèi)容。因此,有必要深入研究鐵路牽引供電遠(yuǎn)動(dòng)系統(tǒng),分析其系統(tǒng)特點(diǎn)、通信規(guī)約和常見網(wǎng)絡(luò)攻擊行為,通過異常攻擊檢測(cè)技術(shù)及時(shí)發(fā)現(xiàn)安全隱患,增強(qiáng)其安全防護(hù)能力。
2? ?相關(guān)研究工作(Related research work)
2.1? ?系統(tǒng)介紹
遠(yuǎn)動(dòng)系統(tǒng)是基于SCADA技術(shù)的遠(yuǎn)動(dòng)監(jiān)控系統(tǒng),可通過遠(yuǎn)程監(jiān)視和人工控制相結(jié)合的方式實(shí)現(xiàn)對(duì)牽引變電的控制和監(jiān)視。當(dāng)前遠(yuǎn)動(dòng)系統(tǒng)多采用通用服務(wù)器,操作系統(tǒng)為Unix或Windows,通過網(wǎng)絡(luò)化實(shí)現(xiàn)與其他系統(tǒng)的互聯(lián),以及對(duì)數(shù)據(jù)的采集和處理。
(1)遠(yuǎn)動(dòng)系統(tǒng)的功能
遠(yuǎn)動(dòng)系統(tǒng)為調(diào)度員提供遠(yuǎn)程監(jiān)控與控制功能,通過下發(fā)遠(yuǎn)程遙控命令完成如開關(guān)的控制等功能,同時(shí)對(duì)遠(yuǎn)端設(shè)備進(jìn)行綜合監(jiān)控,采集如電壓、電流等數(shù)據(jù)信息,回傳調(diào)度站,實(shí)現(xiàn)全網(wǎng)供電設(shè)備信息的實(shí)時(shí)采集。在變電所設(shè)備發(fā)生故障時(shí),可及時(shí)發(fā)現(xiàn)斷路器跳閘、故障信號(hào)等問題,及時(shí)處理事故,防止故障擴(kuò)大化。
(2)遠(yuǎn)動(dòng)系統(tǒng)的組成[1-2]
遠(yuǎn)動(dòng)系統(tǒng)主要由一系列遠(yuǎn)端設(shè)備(被控站、遠(yuǎn)方終端RTU)和中心控制主站系統(tǒng)組成,其中RTU收集現(xiàn)場(chǎng)數(shù)據(jù),并通過通信網(wǎng)絡(luò)回送數(shù)據(jù)給主站執(zhí)行端,主站顯示這些采集到的數(shù)據(jù)并允許操作員執(zhí)行遠(yuǎn)程控制任務(wù),執(zhí)行端負(fù)責(zé)執(zhí)行相應(yīng)的指令,如圖1所示。
調(diào)度端:設(shè)在控制中心內(nèi),完成對(duì)遠(yuǎn)動(dòng)對(duì)象的監(jiān)控、數(shù)據(jù)統(tǒng)計(jì)及管理等功能;
執(zhí)行端:完成對(duì)遠(yuǎn)動(dòng)系統(tǒng)的數(shù)據(jù)采集、預(yù)處理,發(fā)送、接收及輸出執(zhí)行等功能,一般設(shè)在牽引變電所、分區(qū)所、開閉所、AT所及V停控制站內(nèi),常規(guī)遠(yuǎn)動(dòng)系統(tǒng)被控端為遠(yuǎn)方終端設(shè)備(Remote Terminal Unit, RTU)。
2.2? ?通信規(guī)約
為規(guī)范調(diào)度主站(調(diào)度端)與變電站(控制端)的通信,國際電工委員會(huì)(IEC)于1995 年發(fā)布了IEC 60870-5-101規(guī)約,此規(guī)約在我國已普遍使用。
隨著通信方式從專用通道向以太網(wǎng)的轉(zhuǎn)變,國際電工委員會(huì)(IEC)第57技術(shù)委員會(huì)(TC57)于2000 年又出版了IEC 60870-5-104:2000《遠(yuǎn)動(dòng)設(shè)備及系統(tǒng) 第5-104部分:傳輸規(guī)約 采用標(biāo)準(zhǔn)傳輸協(xié)議集的IEC 60870-5-101網(wǎng)絡(luò)訪問》,應(yīng)用層協(xié)議采用IEC 60870-5-101規(guī)約的ASDU,網(wǎng)絡(luò)層協(xié)議為TCP/IP協(xié)議,并封裝APCI傳輸接口以保證應(yīng)用層ASDU的通信可靠性。因此,該協(xié)議具有實(shí)時(shí)性好、可靠性高的特點(diǎn),能支持大流量的數(shù)據(jù)傳輸。
2006 年,IEC又更新了IEC 60870-5-104規(guī)約,發(fā)布了IEC 60870-5-104:2006規(guī)約。為保持與國際標(biāo)準(zhǔn)的一致性,進(jìn)一步規(guī)范國內(nèi)應(yīng)用,全國電力系統(tǒng)管理及其信息交換標(biāo)準(zhǔn)化技術(shù)委員會(huì)也同步參照國際標(biāo)準(zhǔn)制定了國內(nèi)標(biāo)準(zhǔn)DL/T 634.5104—2009。
在此基礎(chǔ)上,為了規(guī)范鐵路電力遠(yuǎn)動(dòng)系統(tǒng)數(shù)據(jù)傳輸,鐵路行業(yè)制定了《鐵路供電遠(yuǎn)動(dòng)PSCADA系統(tǒng)傳輸規(guī)約》,當(dāng)前已在我國鐵路系統(tǒng)中普遍采用。
2.2.1? ?DL/T 634.5104—2009(IEC 60870-5-104:2006)規(guī)約[3]
DL/T 634.5104—2009規(guī)約明確了通信協(xié)議結(jié)構(gòu)與通信方式,其APDU(Application Protocol Data Unit, 應(yīng)用規(guī)約數(shù)據(jù)單元)由APCI(Application Protocol Control Information, 應(yīng)用規(guī)約控制信息)與ASDU(Application Service Data Unit, 應(yīng)用服務(wù)數(shù)據(jù)單元)構(gòu)成,基于TCP協(xié)議通信,采用2404端口。其具體報(bào)文格式如圖2所示。
2.2.2? ?鐵路供電遠(yuǎn)動(dòng)PSCADA系統(tǒng)傳輸規(guī)約
《鐵路供電遠(yuǎn)動(dòng)PSCADA系統(tǒng)傳輸規(guī)約》是在DL/T 634.5104規(guī)約的基礎(chǔ)上,針對(duì)鐵路電力遠(yuǎn)動(dòng)系統(tǒng)的應(yīng)用業(yè)務(wù),規(guī)范了鐵路電力遠(yuǎn)動(dòng)系統(tǒng)中的數(shù)據(jù)傳輸格式。該規(guī)約規(guī)定了鐵路牽引供電設(shè)備中主站和子站(遠(yuǎn)動(dòng)終端)之間以平衡方式進(jìn)行數(shù)據(jù)傳輸?shù)囊?guī)約結(jié)構(gòu)、幀格式、ASDU選取、互操作性定義、對(duì)象定義、應(yīng)用功能、鏈路冗余、多控制站冗余切換機(jī)制。
(1)ASDU類型標(biāo)識(shí)
《鐵路供電遠(yuǎn)動(dòng)PSCADA系統(tǒng)傳輸規(guī)約》等同采用了DL/T 634.5104規(guī)約的協(xié)議格式和APCI的定義,從ASDU的結(jié)構(gòu)出發(fā),明確了本標(biāo)準(zhǔn)采用的ASDU類型標(biāo)識(shí),并對(duì)每一個(gè)類型都進(jìn)行了定義。
①在監(jiān)視方向的過程信息
1:不帶時(shí)標(biāo)的單點(diǎn)信息
3:不帶時(shí)標(biāo)的雙點(diǎn)信息
5:不帶時(shí)標(biāo)的步位置信息
9:測(cè)量值,規(guī)一化值
11:測(cè)量值,標(biāo)度化值
13:測(cè)量值,短浮點(diǎn)數(shù)
15:累計(jì)量
30:帶時(shí)標(biāo)CP56Time2a的單點(diǎn)信息
31:帶時(shí)標(biāo)CP56Time2a的雙點(diǎn)信息
32:帶時(shí)標(biāo)CP56Time2a的步位置信息
34:帶時(shí)標(biāo)CP56Time2a的規(guī)一化測(cè)量值
35:帶時(shí)標(biāo)CP56Time2a的標(biāo)度化測(cè)量值
36:帶時(shí)標(biāo)CP56Time2a的短浮點(diǎn)數(shù)
140:帶相對(duì)時(shí)標(biāo)的故障報(bào)告
141:帶相對(duì)時(shí)標(biāo)的事件報(bào)告
②在控制方向的過程信息
59:帶時(shí)標(biāo)CP56Time2a的雙命令
60:帶時(shí)標(biāo)CP56Time2a的步調(diào)節(jié)命令
③在監(jiān)視方向的系統(tǒng)信息
70:初始化結(jié)束
④在控制方向的系統(tǒng)信息
100:召喚命令
101:計(jì)數(shù)量召喚命令
103:時(shí)鐘同步命令
⑤在控制方向的參數(shù)命令
145:繼保裝置讀整定值命令
205:非繼保裝置讀/寫整定值,規(guī)一化值
206:非繼保裝置讀/寫整定值,標(biāo)度化值
207:非繼保裝置讀/寫整定值,短浮點(diǎn)數(shù)
⑥文件傳輸?shù)膽?yīng)用服務(wù)數(shù)據(jù)單元
120:召喚命令
121:節(jié)準(zhǔn)備就緒
122:召喚目錄,選擇文件,召喚文件,召喚節(jié)
123:最后的節(jié),最后的段
124:認(rèn)可文件,認(rèn)可節(jié)
125:段
126:目錄,只在監(jiān)視方向有效
(2)基本應(yīng)用功能
在定義標(biāo)識(shí)的基礎(chǔ)上,該規(guī)約對(duì)基本應(yīng)用功能進(jìn)行了明確的定義,包括過程和應(yīng)用層報(bào)文?;緫?yīng)用功能覆蓋站初始化、站(總)召喚、累計(jì)量傳輸、時(shí)鐘同步、突發(fā)傳送、命令傳輸、參數(shù)裝載、文件傳輸?shù)劝藗€(gè)方面。
2.3? ?安全風(fēng)險(xiǎn)分析
對(duì)于遠(yuǎn)動(dòng)系統(tǒng)(SCADA)的網(wǎng)絡(luò)而言,主要的網(wǎng)絡(luò)邊界有綜合信息網(wǎng)與控制網(wǎng)的邊界、調(diào)度中心與子站的邊界,本文主要分析這兩個(gè)邊界的安全風(fēng)險(xiǎn)和系統(tǒng)內(nèi)主機(jī)的安全風(fēng)險(xiǎn)。
2.3.1? ?綜合信息網(wǎng)與控制網(wǎng)的邊界安全風(fēng)險(xiǎn)
對(duì)于綜合信息網(wǎng)與SCADA系統(tǒng)控制網(wǎng)的網(wǎng)絡(luò)邊界,可能存在的安全隱患包括:
(1)非法訪問:外部用戶非法訪問或內(nèi)部用戶訪問權(quán)限之外的內(nèi)容;
(2)惡意入侵:黑客通過偽造、口令破解、應(yīng)用層攻擊等方式,穿透訪問控制機(jī)制,進(jìn)入SCADA系統(tǒng)內(nèi)部進(jìn)行非法操作;
(3)惡意攻擊:包括各種常規(guī)攻擊和DoS/DDoS攻擊;
(4)病毒和蠕蟲:計(jì)算機(jī)病毒和網(wǎng)絡(luò)蠕蟲的傳播和爆發(fā),可能從綜合信息網(wǎng)傳播至控制網(wǎng)絡(luò)中。
2.3.2? ?調(diào)度中心與子站的邊界安全風(fēng)險(xiǎn)
對(duì)于調(diào)度中心與子站的邊界,可能存在的安全風(fēng)險(xiǎn)包括:
(1)非法操作:用戶試圖操作權(quán)限之外的內(nèi)容;
(2)非法入侵:黑客通過仿制的命令在調(diào)度中心對(duì)各子站下發(fā)非法的控制命令或操作;
(3)非正常或錯(cuò)誤操作:調(diào)度中心的操作人員下發(fā)了非正常的操作或錯(cuò)誤的指令;
(4)病毒和蠕蟲:計(jì)算機(jī)病毒和網(wǎng)絡(luò)蠕蟲的傳播和爆發(fā),突破調(diào)度中心與子站的邊界,導(dǎo)致其在SCADA控制網(wǎng)絡(luò)中的所有區(qū)域內(nèi)傳播。
2.3.3? ?主機(jī)安全風(fēng)險(xiǎn)
雖然計(jì)算機(jī)應(yīng)用技術(shù)在工業(yè)領(lǐng)域的應(yīng)用帶來了效率和效益,但是由于計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)的開放性和脆弱性,也使得工業(yè)網(wǎng)絡(luò)中的操作系統(tǒng)及工控業(yè)務(wù)應(yīng)用存在一定的安全漏洞和安全隱患,時(shí)刻威脅著企業(yè)的工業(yè)信息化發(fā)展。
同時(shí)SCADA控制網(wǎng)絡(luò)雖然是一定程度上的物理隔離,但威脅工控系統(tǒng)的惡意程序仍然可能繞過隔離的網(wǎng)絡(luò)進(jìn)入工控系統(tǒng),如外來人員聯(lián)網(wǎng)訪問、技術(shù)人員現(xiàn)場(chǎng)支持,以及移動(dòng)存儲(chǔ)介質(zhì)接入等。
此外,主機(jī)安全風(fēng)險(xiǎn)還包括安全管理人員對(duì)工控設(shè)備權(quán)限設(shè)置不當(dāng)?shù)葘?dǎo)致的安全問題,需防范因?yàn)楣芾砣藛T的疏忽造成操作上的隱患或沒有足夠信息安全風(fēng)險(xiǎn)意識(shí)導(dǎo)致工控網(wǎng)絡(luò)出現(xiàn)故障等事故。
2.4? ?傳統(tǒng)安全技術(shù)局限性
當(dāng)前鐵路系統(tǒng)的連接和開放程度越來越高,所應(yīng)用的技術(shù)正變得越來越具有互操作性和協(xié)調(diào)性,傳統(tǒng)的安全技術(shù)主要基于對(duì)網(wǎng)絡(luò)通信的實(shí)時(shí)分析,運(yùn)用指紋、規(guī)則進(jìn)行黑名單式的防護(hù)控制,往往無法有效區(qū)分業(yè)務(wù)異常與安全事件,從而導(dǎo)致大量誤報(bào),給安全運(yùn)營帶來極大挑戰(zhàn)。同時(shí)傳統(tǒng)方式仍無法自動(dòng)適應(yīng)攻擊者的偽裝繞過,指紋攻擊庫的升級(jí)也嚴(yán)重滯后,因此對(duì)未知攻擊難以察覺。
安全的本質(zhì)是攻防對(duì)抗,一切的意圖都需要通過行為表達(dá),這是安全防護(hù)中最重要也是最有價(jià)值的環(huán)節(jié),而針對(duì)行為的有效分析則是傳統(tǒng)技術(shù)方式最欠缺的。可見,傳統(tǒng)安全倚重舊范式,基于特征、規(guī)則和人工分析,存在安全可見性盲區(qū),有嚴(yán)重的滯后效應(yīng)、無力檢測(cè)未知攻擊、容易被繞過,以及難以適應(yīng)攻防對(duì)抗的網(wǎng)絡(luò)現(xiàn)實(shí)和快速變化的企業(yè)環(huán)境、外部威脅等問題。
鐵路一直被普遍認(rèn)為是一個(gè)特定的“安全領(lǐng)域”,這主要是因?yàn)殍F路系統(tǒng)依賴專有的、獨(dú)立的網(wǎng)絡(luò)。這些網(wǎng)絡(luò)在管理、通信和信號(hào)方面往往采用專有協(xié)議,遵循行業(yè)的特有技術(shù)規(guī)范,因此非常適合基于大數(shù)據(jù)驅(qū)動(dòng)、安全分析和機(jī)器學(xué)習(xí)的安全新范式,構(gòu)建鐵路信息系統(tǒng)行為白名單的新范式,以彌補(bǔ)傳統(tǒng)安全技術(shù)短板,實(shí)現(xiàn)從單純強(qiáng)調(diào)邊界防護(hù)到縱深防護(hù)的轉(zhuǎn)變,逆轉(zhuǎn)當(dāng)前攻防不對(duì)稱的情況,從海量的安全數(shù)據(jù)中識(shí)別和發(fā)現(xiàn)潛在的攻擊和惡意行為。
遠(yuǎn)動(dòng)系統(tǒng)是電氣化鐵路的重要配套設(shè)施,鑒于當(dāng)前我國的遠(yuǎn)動(dòng)系統(tǒng)功能明確、設(shè)備資產(chǎn)類型特定,基本遵從《鐵路供電遠(yuǎn)動(dòng)PSCADA系統(tǒng)傳輸規(guī)約》,因此可以首先從鐵路牽引供電遠(yuǎn)動(dòng)系統(tǒng)正常環(huán)境中獲取業(yè)務(wù)數(shù)據(jù),再根據(jù)此規(guī)約對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,形成數(shù)據(jù)特征庫,最后通過機(jī)器學(xué)習(xí)構(gòu)造異常檢測(cè)模型,實(shí)時(shí)檢測(cè)系統(tǒng),有效發(fā)現(xiàn)網(wǎng)絡(luò)隱患,減少異常攻擊行為的發(fā)生。此方法是根據(jù)業(yè)務(wù)實(shí)際數(shù)據(jù)構(gòu)造白名單,可有效減少網(wǎng)絡(luò)攻擊特性分析工作,同時(shí)也可以有效發(fā)現(xiàn)未知網(wǎng)絡(luò)攻擊,具有成本低、效率高的特點(diǎn)[4]。本文將對(duì)此基于機(jī)器學(xué)習(xí)的異常網(wǎng)絡(luò)攻擊檢測(cè)方式進(jìn)行深入研究。
3? ?分析與建模方法(Analysis and modeling methods)
3.1? ?模型技術(shù)路線
目前,基于機(jī)器學(xué)習(xí)的異常檢測(cè)算法適用于業(yè)務(wù)模型相對(duì)具體的業(yè)務(wù)場(chǎng)景,具有分類識(shí)別準(zhǔn)確、特征提取泛化好、誤報(bào)率低等特點(diǎn)。機(jī)器學(xué)習(xí)中的異常檢測(cè)方法種類繁多,比如神經(jīng)網(wǎng)絡(luò)[5]、支持向量機(jī)(Support Vector Machine, SVM)[6-7]等,其中,神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的魯棒性、記憶能力、非線性映射能力及強(qiáng)大的自學(xué)習(xí)能力,但是神經(jīng)網(wǎng)絡(luò)是個(gè)“黑匣子”,無法解釋自己的推理過程和推理依據(jù),當(dāng)數(shù)據(jù)集不充分時(shí)無法進(jìn)行模型訓(xùn)練。支持向量機(jī)作為機(jī)器學(xué)習(xí)方法的一種,與其他算法相比在異常檢測(cè)方面具有以下優(yōu)勢(shì):
(1)作為SVM方法的理論基礎(chǔ),通過核函數(shù)實(shí)現(xiàn)高維空間的非線性映射學(xué)習(xí)。
(2)SVM目標(biāo)是通過最優(yōu)超平面對(duì)特征空間進(jìn)行劃分,最大化分類邊際是其核心思想。
(3)SVM是一種有堅(jiān)實(shí)理論基礎(chǔ)的學(xué)習(xí)方法。不同于現(xiàn)有的統(tǒng)計(jì)方法,其避開了從歸納到演繹的傳統(tǒng)過程,大大簡化了分類和回歸等問題[8]。
(4)SVM最終決策函數(shù)只由少數(shù)的支持向量所決定,計(jì)算復(fù)雜度取決于支持向量的數(shù)目,并非樣本空間維數(shù),進(jìn)而在一定程度上避免了“維數(shù)災(zāi)難”[8]。
(5)支持向量作為SVM的訓(xùn)練結(jié)果,在分類決策中起決策作用。該方法能夠抓住關(guān)鍵樣本,“剔除”大量冗余樣本,不僅計(jì)算簡單而且具有較好的魯棒性[8]。
綜上,與其他算法相比,支持向量機(jī)方法具有更堅(jiān)實(shí)的數(shù)學(xué)理論基礎(chǔ),可以有效地解決樣本受限條件下的高維數(shù)據(jù)模型構(gòu)建問題,并具有泛化能力強(qiáng)、收斂全局最優(yōu)、維數(shù)不敏感等優(yōu)點(diǎn)[8-9]。
盡管支持向量機(jī)的分類算法在異常檢測(cè)領(lǐng)域優(yōu)勢(shì)明顯,但是傳統(tǒng)的支持向量機(jī)分類算法需要正負(fù)兩類樣本數(shù)據(jù)集合進(jìn)行訓(xùn)練來建立模型,而在實(shí)際的工業(yè)控制系統(tǒng)環(huán)境中,往往存在異常樣本數(shù)據(jù)量較少、異常樣本難以收集等問題,如工控系統(tǒng)大多數(shù)時(shí)候處于正常運(yùn)行狀態(tài),很少存在故障狀態(tài),使得故障樣本數(shù)據(jù)量較少[9]。因此,針對(duì)遠(yuǎn)動(dòng)系統(tǒng)的數(shù)據(jù)特點(diǎn),選取單類支持向量機(jī)機(jī)器學(xué)習(xí)算法來建立異常檢測(cè)模型。
3.2? ?單類支持向量機(jī)異常檢測(cè)算法
單類支持向量機(jī)(One-Class Support Vector Machine, OCSVM)算法基于傳統(tǒng)支持向量機(jī)發(fā)展而來,該算法的樣本集合只需包含正?;虍惓R环N樣本數(shù)據(jù),無須另一類樣本數(shù)據(jù)。因此,對(duì)于工業(yè)控制系統(tǒng)環(huán)境中的異常檢測(cè)問題十分適用。
單類支持向量機(jī)異常檢測(cè)算法的基本思想是將低維空間的特征向量通過核函數(shù)映射到高維特征空間,在高維特征空間中構(gòu)造一個(gè)超平面,使得數(shù)據(jù)對(duì)象與原點(diǎn)盡可能地分開[10]。因此,OCSVM算法的本質(zhì)是在高維空間求解分類超平面。
在超平面求解過程中,將求解問題轉(zhuǎn)化為優(yōu)化問題,引入拉格朗日因子轉(zhuǎn)化為對(duì)偶問題,如式(1)所示:
由式(2)可知,當(dāng)f(x)輸出值大于0時(shí),說明檢測(cè)樣本為正常樣本,否則為異常樣本。
3.3? ?單類支持向量機(jī)異常檢測(cè)模型實(shí)現(xiàn)
基于單類支持向量機(jī)算法對(duì)遠(yuǎn)動(dòng)系統(tǒng)流量數(shù)據(jù)進(jìn)行檢測(cè)的模型,具體步驟如下:
(1)流量數(shù)據(jù)采集。首先從遠(yuǎn)動(dòng)系統(tǒng)正常環(huán)境中獲取業(yè)務(wù)數(shù)據(jù)流量,在實(shí)際工作過程中單位時(shí)間內(nèi)產(chǎn)生的數(shù)據(jù)流量具有隨機(jī)性,通過固定時(shí)間間隔將報(bào)文序列劃分成固定長度的子序列,選取報(bào)文序列中的時(shí)間戳、源地址、目的地址、源端口、目的端口等字段,構(gòu)成訓(xùn)練樣本序列集合。
(2)報(bào)文序列的數(shù)據(jù)預(yù)處理。對(duì)訓(xùn)練樣本序列數(shù)據(jù)進(jìn)行聚合操作,提取報(bào)文序列的前后包間隔時(shí)間,將源IP、源端口、目的IP、目的端口、包間隔時(shí)間作為子序列特征數(shù)據(jù)。
(3)單類支持向量機(jī)核函數(shù)的選擇。單類支持向量機(jī)的核心思想是將低維空間的特征向量通過核函數(shù)映射到高維特征空間,其中,核函數(shù)的選擇直接關(guān)系到異常檢測(cè)模型的準(zhǔn)確率和泛化能力。常見的核函數(shù)有線性核函數(shù)、多項(xiàng)式核函數(shù)、高斯核函數(shù)、Sigmoid核函數(shù)等。
(4)建立單類支持向量機(jī)的訓(xùn)練模型。采用Python語言、Sklearn機(jī)器學(xué)習(xí)庫進(jìn)行模型的構(gòu)建與訓(xùn)練,并利用網(wǎng)格搜索和三折交叉驗(yàn)證的方式獲取最優(yōu)值參數(shù)的訓(xùn)練模型。以正常的遠(yuǎn)動(dòng)系統(tǒng)報(bào)文子序列提取特征數(shù)據(jù)構(gòu)成的訓(xùn)練集合,構(gòu)造并求解最優(yōu)超平面,完成異常檢測(cè)模型的訓(xùn)練。
(5)基于單類支持向量機(jī)模型進(jìn)行異常檢測(cè)。將測(cè)試數(shù)據(jù)輸入單類支持向量機(jī)異常檢測(cè)模型進(jìn)行檢測(cè),若輸出結(jié)果為1,認(rèn)為該數(shù)據(jù)為正常的鐵路供電遠(yuǎn)動(dòng)系統(tǒng)流量數(shù)據(jù);否則,認(rèn)為該數(shù)據(jù)為異常流量。
3.4? ?實(shí)驗(yàn)對(duì)比和結(jié)果分析
為了證明本文提出的單類支持向量機(jī)異常檢測(cè)方法的有效性與可行性,選擇單類支持向量機(jī)算法、傳統(tǒng)支持向量機(jī)算法、孤立森林算法這三種算法模型進(jìn)行實(shí)驗(yàn)對(duì)比,實(shí)驗(yàn)結(jié)果如表1所示。結(jié)果表明,單類支持向量機(jī)異常檢測(cè)模型的分類準(zhǔn)確率高于另外兩種異常檢測(cè)模型,并且誤報(bào)率最低。另外,對(duì)單類支持向量機(jī)異常檢測(cè)模型從不同角度進(jìn)行研究,分別從滑動(dòng)窗口長度和核函數(shù)選擇上進(jìn)行實(shí)驗(yàn),結(jié)果表明滑動(dòng)窗口長度為3時(shí),分類決策達(dá)到全局最優(yōu);選擇線性核函數(shù)進(jìn)行映射時(shí),模型異常檢測(cè)各性能指標(biāo)參數(shù)最佳。綜上所述,基于單類支持向量機(jī)算法的異常檢測(cè)方法在遠(yuǎn)動(dòng)系統(tǒng)的通信流量數(shù)據(jù)異常檢測(cè)中具有一定的優(yōu)勢(shì)。
4? ?結(jié)論(Conclusion)
遠(yuǎn)動(dòng)系統(tǒng)作為鐵路的核心系統(tǒng),一旦遭受網(wǎng)絡(luò)攻擊,必將對(duì)鐵路安全運(yùn)行造成直接影響。而傳統(tǒng)的網(wǎng)絡(luò)入侵檢測(cè)方法是從網(wǎng)絡(luò)特性和入侵特性的角度來進(jìn)行檢測(cè),效率低下且不具備檢測(cè)未知網(wǎng)絡(luò)攻擊的能力。
本文提出了一種基于單類支持向量機(jī)算法的異常檢測(cè)方法,不需要大量的訓(xùn)練樣本,就可以構(gòu)建異常攻擊檢測(cè)模型。首先分析正常的通信數(shù)據(jù),選擇報(bào)文序列數(shù)據(jù)中的時(shí)間戳、源地址、目的地址、源端口、目的端口等字段組成訓(xùn)練樣本數(shù)據(jù)集,再對(duì)報(bào)文序列的數(shù)據(jù)預(yù)處理形成子序列特征數(shù)據(jù)庫,最后采用Python語言、Sklearn機(jī)器學(xué)習(xí)庫建立單類支持向量機(jī)的訓(xùn)練模型,以實(shí)現(xiàn)對(duì)遠(yuǎn)動(dòng)系統(tǒng)的異常網(wǎng)絡(luò)攻擊檢測(cè)。實(shí)驗(yàn)表明,本方法準(zhǔn)確率高、誤報(bào)率低,適合在遠(yuǎn)動(dòng)系統(tǒng)環(huán)境下的異常網(wǎng)絡(luò)攻擊行為檢測(cè)。
參考文獻(xiàn)(References)
[1] 方小飛.基于SCADA的鐵路電力遠(yuǎn)動(dòng)系統(tǒng)幾個(gè)關(guān)鍵環(huán)節(jié)的設(shè)計(jì)與應(yīng)用[D].長春:吉林大學(xué),2014.
[2] 張克平.鐵路牽引供電系統(tǒng)遠(yuǎn)動(dòng)系統(tǒng)的設(shè)計(jì)及應(yīng)用[D].南昌:南昌大學(xué),2013.
[3] 全國電力系統(tǒng)管理和信息交換標(biāo)準(zhǔn)化委員會(huì).遠(yuǎn)動(dòng)設(shè)備及系統(tǒng) 第5-104部分:傳輸規(guī)約 采用標(biāo)準(zhǔn)傳輸協(xié)議集的IEC 60870-5-101網(wǎng)絡(luò)訪問:DL/T 634.5104—2009[S].北京:中國標(biāo)準(zhǔn)出版社,2009.
[4] ANOOP A, SREEJA M S. New genetic algorithm based intrusion detection system for SCADA[J]. International Journal of Engineering Innovations and Research, 2013, 2(2):171-175.
[5] 顧兆軍,郝錦濤,周景賢.基于改進(jìn)雙線性卷積神經(jīng)網(wǎng)絡(luò)的惡意網(wǎng)絡(luò)流量分類算法[J].信息網(wǎng)絡(luò)安全,2020,20(10):67-74.
[6] 劉付民,王靜詠,張治斌.組合核函數(shù)相關(guān)向量機(jī)的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)[J].計(jì)算機(jī)應(yīng)用研究,2016,33(08):2417-2419,2424.
[7] 羅峰,胡強(qiáng),侯碩,等.基于支持向量機(jī)的CAN-FD網(wǎng)絡(luò)異常入侵檢測(cè)[J].同濟(jì)大學(xué)學(xué)報(bào)(自然科學(xué)版),2020,48(12):108-114.
[8] 李振剛,甘泉.改進(jìn)蟻群算法優(yōu)化SVM參數(shù)的網(wǎng)絡(luò)入侵檢測(cè)模型研究[J].重慶郵電大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,26(06):785-789.
[9] 劉穎,王麗敏,姜建華,等.基于離群點(diǎn)剔除的SVM信用風(fēng)險(xiǎn)評(píng)價(jià)方法[J].吉林大學(xué)學(xué)報(bào)(理學(xué)版),2016(06):1395-1400.
[10] 尚文利,張盛山,萬明,等.基于PSO-SVM的Modbus TCP通訊的異常檢測(cè)方法[J].電子學(xué)報(bào),2014,42(11):2314-2320.
作者簡介:
周澤巖(1980-),男,碩士,助理研究員.研究領(lǐng)域:鐵路網(wǎng)絡(luò)安全及軟件測(cè)試.
程? 鵬(1975-),男,本科,工程師.研究領(lǐng)域:工業(yè)控制安全和網(wǎng)絡(luò)安全.
方付生(1982-),男,本科,工程師.研究領(lǐng)域:工業(yè)信息安全.
路? 濤(1978-),男,本科,工程師.研究領(lǐng)域:人工智能與信息安全.