• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      新型工業(yè)控制系統(tǒng)勒索蠕蟲威脅與防御

      2018-08-28 08:52:26劉煜堃諸葛建偉吳一雄
      計(jì)算機(jī)應(yīng)用 2018年6期
      關(guān)鍵詞:蠕蟲勒索工控

      劉煜堃,諸葛建偉*,吳一雄,2

      (1.清華大學(xué)網(wǎng)絡(luò)科學(xué)與網(wǎng)絡(luò)空間研究院,北京100084; 2.福州大學(xué)數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,福州350116)(*通信作者電子郵箱zhugejw@cernet.edu.cn)

      0 引言

      工業(yè)控制系統(tǒng)(Industrial Control System,ICS)用于連接、控制和監(jiān)測諸如電力生產(chǎn)、輸配電、石油化工、水處理和傳輸?shù)裙I(yè)生產(chǎn)環(huán)境。近年來,由于物聯(lián)網(wǎng)及工控互聯(lián)網(wǎng)的發(fā)展,工控系統(tǒng)與互聯(lián)網(wǎng)的連接增多[1],工控系統(tǒng)暴露的安全問題也逐漸增多,工控系統(tǒng)安全愈發(fā)受到關(guān)注[2]。

      工控系統(tǒng)的監(jiān)控和操作主要通過可編程邏輯控制器(Programmable Logic Controller,PLC)作為嵌入式信息物理系統(tǒng)(Cyber Physical System,CPS)連接到數(shù)據(jù)采集與監(jiān)測(Supervisory Control And Data Acquisition,SCADA)系統(tǒng),工程師可以通過SCADA系統(tǒng)的人機(jī)交互接口(Human Machine Interface,HMI)進(jìn)行監(jiān)視和控制。PLC是一種專門為在工業(yè)環(huán)境下應(yīng)用而設(shè)計(jì)的數(shù)字運(yùn)算操作電子系統(tǒng)。它們基于從輸入端口和存儲的程序接收到的信號來控制輸出端口的狀態(tài),并且在輸入和輸出方面的邏輯行為可由工程師編程。SCADA是以計(jì)算機(jī)為基礎(chǔ)的生產(chǎn)過程控制與調(diào)度自動化系統(tǒng),它可以對現(xiàn)場的運(yùn)行設(shè)備進(jìn)行監(jiān)視和控制。它需要運(yùn)行在已有操作系統(tǒng)(如Windows)的計(jì)算機(jī)(該計(jì)算機(jī)可以直接發(fā)出操控命令,又被稱為上位機(jī))上,并可以由工程師編程。

      針對工控系統(tǒng)的攻擊可能會產(chǎn)生導(dǎo)致危及生命財(cái)產(chǎn)安全的嚴(yán)重后果?!罢鹁W(wǎng)”[3]是一個針對工業(yè)控制系統(tǒng)的蠕蟲,它的攻擊目標(biāo)是伊朗的鈾濃縮設(shè)施;“震網(wǎng)”采用了一些未公開漏洞,可以逃避傳統(tǒng)的網(wǎng)絡(luò)安全檢測?!癢annaCry”[4]是在2017年大規(guī)模傳播的勒索蠕蟲,它利用Windows系統(tǒng)的漏洞實(shí)現(xiàn)蠕蟲式傳播,并鎖定文件以此向用戶勒索。對工控系統(tǒng)來講,勒索蠕蟲軟件無疑是一個巨大的安全威脅[5]。

      在以往的針對工業(yè)控制系統(tǒng)的攻擊方式研究之中,作者的攻擊思路與傳統(tǒng)的攻擊思路相同。他們通過首先發(fā)現(xiàn)暴露在公網(wǎng)上特定的工控組件,利用其漏洞獲取其權(quán)限,進(jìn)而進(jìn)行勒索或進(jìn)一步傳播。但由于工控組件大部分位于內(nèi)網(wǎng)中,只有少部分暴露在公網(wǎng)上,所以這種攻擊路徑的威脅程度有限。針對工業(yè)控制系統(tǒng)高度隔離化的問題,本文提出一種基于新的攻擊路徑的勒索蠕蟲威脅模型。它可以穿越工控系統(tǒng)內(nèi)網(wǎng)限制,實(shí)現(xiàn)蠕蟲式感染和勒索;其傳播路徑基于工業(yè)控制系統(tǒng)實(shí)際的開發(fā)場景,較難檢測和防范。

      本文的主要工作如下:

      1)總結(jié)工業(yè)控制系統(tǒng)存在的安全風(fēng)險和攻擊方法。

      2)根據(jù)觀察到的工業(yè)控制系統(tǒng)實(shí)際開發(fā)場景和存在的安全風(fēng)險,提出一種基于新的攻擊路徑的勒索蠕蟲威脅模型。

      3)實(shí)現(xiàn)一種針對工業(yè)控制系統(tǒng)勒索蠕蟲原型“ICSGhost”。

      4)提出針對工業(yè)控制系統(tǒng)勒索蠕蟲威脅的縱深防御方案。

      1 相關(guān)工作

      1.1 工業(yè)控制系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)

      工業(yè)控制系統(tǒng)網(wǎng)絡(luò)是一個高度定制化的網(wǎng)絡(luò),不同行業(yè)的工業(yè)控制系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)存在較大差異,但總體呈現(xiàn)出明顯的網(wǎng)絡(luò)層次結(jié)構(gòu)。自下往上可以劃分為:

      1)現(xiàn)場儀表網(wǎng)絡(luò)。由現(xiàn)場的儀器儀表設(shè)備組成,如傳感器、電機(jī)等。

      2)本地控制網(wǎng)絡(luò)。由對現(xiàn)場的儀器儀表進(jìn)行數(shù)據(jù)獲取及控制的PLC、遠(yuǎn)程終端單元(Remote Terminal Unit,RTU)等設(shè)備組成。

      3)監(jiān)測控制網(wǎng)絡(luò)。工程師在此網(wǎng)絡(luò)進(jìn)行監(jiān)測和控制物理過程,HMI、工程師站等在此網(wǎng)絡(luò)中。

      4)非軍事區(qū)(DeMilitarized Zone,DMZ)網(wǎng)絡(luò)。非軍事區(qū)域,向上層網(wǎng)絡(luò)提供下層工業(yè)控制網(wǎng)絡(luò)內(nèi)的數(shù)據(jù)和應(yīng)用。

      5)企業(yè)工作網(wǎng)絡(luò)。企業(yè)內(nèi)部辦公網(wǎng)絡(luò),包括企業(yè)辦公系統(tǒng)、內(nèi)部員工主機(jī)、打印機(jī)等。

      6)互聯(lián)網(wǎng)。

      1.2 工業(yè)控制系統(tǒng)存在的安全威脅

      在現(xiàn)場儀表網(wǎng)絡(luò)和本地控制網(wǎng)絡(luò)中針對PLC等工控組件的攻擊主要可以總結(jié)為以下幾種形式:

      1)勒索軟件。2017年,F(xiàn)ormby等[6]首次提出了針對工控系統(tǒng)的勒索軟件,其將勒索軟件感染的目標(biāo)從IT主機(jī)轉(zhuǎn)向工控組件,通過感染工控組件威脅受害者提供贖金,否則對工控系統(tǒng)發(fā)出破壞指令。其工作方式與傳統(tǒng)的勒索軟件相同,首先發(fā)現(xiàn)暴露在公網(wǎng)上特定的工控組件,利用漏洞獲取其權(quán)限,進(jìn)而進(jìn)行勒索或進(jìn)一步傳播。但由于工控組件大部分位于內(nèi)網(wǎng)中,只有少部分暴露在公網(wǎng)上,所以這種攻擊路徑的威脅程度有限。

      2)PLC蠕蟲。2016年,Spenneberg等[7]提出了針對 PLC的工控蠕蟲PLC Blaster。蠕蟲在感染第一個目標(biāo)之后在內(nèi)網(wǎng)之中不斷自我復(fù)制并傳播直至感染整個內(nèi)網(wǎng),接著再執(zhí)行一些預(yù)置的惡意攻擊。

      3)跳板機(jī)。2015年,Klick等[8]提出了一個新的攻擊路徑,其將暴露在公網(wǎng)之中的PLC作為一個跳板機(jī)進(jìn)入內(nèi)網(wǎng)從而實(shí)施對內(nèi)網(wǎng)中工控系統(tǒng)的攻擊。

      在監(jiān)測控制網(wǎng)絡(luò)中,上位機(jī)系統(tǒng)漏洞可能會被黑客利用從而實(shí)施攻擊。而工程師站則有可能收到魚叉式釣魚攻擊、U盤攻擊、密碼攻擊、社會工程學(xué)攻擊等方式組合的攻擊。

      非軍事區(qū)網(wǎng)絡(luò)提供數(shù)據(jù)和應(yīng)用服務(wù)的服務(wù)器可能存在如未授權(quán)訪問、信息泄露等安全問題,而提供中轉(zhuǎn)服務(wù)的服務(wù)器可能存在被攻擊者進(jìn)行水坑攻擊[9]的安全風(fēng)險。

      企業(yè)工作網(wǎng)絡(luò)中的邊界服務(wù)器、打印等共享設(shè)備是可能被攻擊者攻擊的薄弱點(diǎn),同時弱口令等配置不當(dāng)問題也是在企業(yè)工作網(wǎng)絡(luò)中常出現(xiàn)的安全問題。

      在互聯(lián)網(wǎng)接入時,由于運(yùn)維以及業(yè)務(wù)需要,工控系統(tǒng)往往需要為工程師提供能夠進(jìn)入工控網(wǎng)絡(luò)的遠(yuǎn)程連接服務(wù)(如虛擬專用網(wǎng)絡(luò)(Virtual Private Network,VPN)服務(wù)等)。若遠(yuǎn)程連接服務(wù)配置不當(dāng),諸如將內(nèi)部服務(wù)錯誤暴露在公網(wǎng)或使用弱口令,則攻擊者可以通過不當(dāng)配置的遠(yuǎn)程連接服務(wù)攻擊企業(yè)內(nèi)網(wǎng)。

      2 工業(yè)控制系統(tǒng)實(shí)際開發(fā)場景中的安全風(fēng)險

      本章將介紹觀察到的工控系統(tǒng)實(shí)際開發(fā)場景和存在的安全風(fēng)險?;谶@些觀察,在第3章提出一種新的勒索蠕蟲威脅模型。

      在實(shí)際的工控系統(tǒng)開發(fā)場景中,對于不同的工控組件,工程師需要采用不同的方式進(jìn)行開發(fā),以下主要討論P(yáng)LC與SCADA兩種主要的工控組件。

      對于PLC的組態(tài)開發(fā)、安裝和維護(hù)的工作通常由PLC工程師完成。由于PLC設(shè)備被安裝在工程現(xiàn)場,所以PLC工程師通常需要前往工程現(xiàn)場,將其工作站通過諸如串口、以太網(wǎng)的方式直接接入到PLC,并通過組態(tài)軟件對PLC進(jìn)行組態(tài)開發(fā)與調(diào)試。

      對于HMI等SCADA系統(tǒng)的組件,由于其大多數(shù)基于通用操作系統(tǒng),所以可以通過操作系統(tǒng)的遠(yuǎn)程連接功能接入進(jìn)行開發(fā)。負(fù)責(zé)SCADA系統(tǒng)開發(fā)的工程師無須前往工程現(xiàn)場,可以在辦公室中通過遠(yuǎn)程連接接入上位機(jī),通過SCADA系統(tǒng)的組態(tài)軟件對SCADA系統(tǒng)進(jìn)行開發(fā)、監(jiān)控與維護(hù)。由于工控網(wǎng)絡(luò)大多數(shù)處于內(nèi)網(wǎng)中,所以工程師需要使用諸如VPN等的遠(yuǎn)程連接服務(wù)的方式接入到位于內(nèi)網(wǎng)的上位機(jī)。根據(jù)實(shí)際情況的不同,工程師有時候需要通過多級遠(yuǎn)程連接的方式接入內(nèi)容的上位機(jī)。

      此外,通過調(diào)研發(fā)現(xiàn),在現(xiàn)有的工控系統(tǒng)開發(fā)中,還存下著以下三個方面的安全風(fēng)險:

      1)不設(shè)密碼。雖然工業(yè)控制設(shè)備一般都提供密碼控制的功能。但是由于忘記密碼需要設(shè)備廠商的工程師的支持才能重置,這導(dǎo)致很多工程師為了簡單起見就不為工業(yè)控制設(shè)備設(shè)置管理密碼。

      2)固件和上位機(jī)系統(tǒng)不升級。由于工控系統(tǒng)的第一要求是高可用性,且工控軟件高度定制化,對于操作系統(tǒng)等基礎(chǔ)組件的升級可能會工控軟件產(chǎn)生兼容性問題,所以很多工控系統(tǒng)在部署之后基本不進(jìn)行升級操作;而且,工業(yè)控制設(shè)備的生存周期長,這導(dǎo)致工控方面的漏洞存活周期長。

      3)使用盜版軟件。由于不同工控廠商采用不同的組態(tài)軟件,在加上正版的組態(tài)軟件需要額外付費(fèi),許多工程師會在網(wǎng)上查找破解版的組態(tài)軟件進(jìn)行組態(tài)開發(fā)工作。

      3 威脅模型及其主要攻擊

      3.1 威脅模型

      基于第2章觀察到的工控系統(tǒng)實(shí)際開發(fā)場景及安全風(fēng)險,提出一種針對工控系統(tǒng)實(shí)際開發(fā)場景設(shè)計(jì)的勒索蠕蟲威脅模型。該威脅模型針對承載SCADA系統(tǒng)的上位機(jī)和PLC設(shè)備這兩種工控系統(tǒng)中的重要組件。該模型不同于傳統(tǒng)的發(fā)現(xiàn)暴露在互聯(lián)網(wǎng)上的受害者進(jìn)行感染與傳播的感染思路,而是以工程師站作為入口,進(jìn)而感染工控組件。對于三個工控系統(tǒng)的主要目標(biāo)——工程師站、上位機(jī)及PLC,圖1展示了完整的攻擊模型。

      在工控系統(tǒng)的開發(fā)和配置過程中,工程師需要先將工程師站通過接線等方式連接到相應(yīng)的工控組件。工程師站主要為筆記本電腦。工程師通過攜帶工程師站進(jìn)入設(shè)備現(xiàn)場接入或通過遠(yuǎn)程連接服務(wù)等方式連接到工控系統(tǒng)內(nèi)網(wǎng)從而對工控組件進(jìn)行開發(fā)和配置。在此過程中,工程師站繞過了工業(yè)控制網(wǎng)絡(luò)內(nèi)網(wǎng)隔離或者物理隔離的限制,直接連接到位于工業(yè)控制網(wǎng)絡(luò)中的工控設(shè)備。

      圖1 威脅模型Fig.1 Threat model

      本文提出的威脅模型將工程師站作為初次感染目標(biāo),并以工程師站作為跳板,當(dāng)工程師站接入工業(yè)控制網(wǎng)絡(luò)時,對處于內(nèi)部網(wǎng)絡(luò)的工業(yè)控制設(shè)備進(jìn)行攻擊,實(shí)現(xiàn)蠕蟲式感染和勒索。該威脅模型在工控網(wǎng)絡(luò)內(nèi)的傳播路徑與工控系統(tǒng)實(shí)際開發(fā)運(yùn)行場景相符。勒索蠕蟲的傳播隱藏在工程師對工控系統(tǒng)進(jìn)行開發(fā)運(yùn)維的行為之中,更加難以捕獲與發(fā)現(xiàn);并且,由于第一步的攻擊目標(biāo)是經(jīng)常會接觸到互聯(lián)網(wǎng)的工程師站,所以更容易實(shí)現(xiàn)針對工控系統(tǒng)的大規(guī)模攻擊。

      3.2 感染工程師站

      工程師站主要是運(yùn)行著Windows系統(tǒng)的筆記本電腦,由于不同廠商生產(chǎn)的PLC及SCADA系統(tǒng)的差異,廠商會開發(fā)出專用的組態(tài)和SCADA編程軟件。由于這些軟件的購買使用價格不菲,相當(dāng)多的工程師會下載和使用網(wǎng)絡(luò)上發(fā)布的破解版,所以在網(wǎng)上發(fā)布捆綁有勒索蠕蟲程序的工控軟件是一種非常有效的攻擊方式。XcodeGhost[10]就是一個類似的成功案例。攻擊者在網(wǎng)絡(luò)上發(fā)布了帶有惡意程序的Xcode,被大量開發(fā)者下載,導(dǎo)致使用此帶有惡意程序的Xcode開發(fā)出的軟件都被植入惡意程序。

      釣魚攻擊也是非常有效的攻擊方式,攻擊者可以誘使工程師打開含有惡意攻擊載荷的網(wǎng)頁或文檔程序,使工程師站受感染。

      使用U盤攻擊同樣是一種有效的方式[11],工程師站將在被插入含有惡意攻擊載荷的U盤時受到感染。

      除此之外還存在一種反向感染的途徑。工程師站需要通過遠(yuǎn)程連接服務(wù)連入上位機(jī)對SCADA系統(tǒng)進(jìn)行開發(fā)與配置。若某臺上位機(jī)已受感染,則可以通過與此上位機(jī)建立的連接會話反向感染工程師站。

      3.3 感染上位機(jī)

      若工程師站已經(jīng)受到感染,則勒索蠕蟲可以通過建立的遠(yuǎn)程連接會話作為通道將勒索蠕蟲傳播到遠(yuǎn)程連接另一端的上位機(jī)。

      勒索蠕蟲還可以利用上位機(jī)系統(tǒng)漏洞或以弱口令為代表的配置疏忽導(dǎo)致的安全漏洞在上位機(jī)之間進(jìn)行蠕蟲傳播并實(shí)施勒索。

      3.4 感染 PLC

      在組態(tài)開發(fā)過程中,工程師站可以通過工控網(wǎng)絡(luò)訪問到PLC,且組態(tài)軟件與PLC也建立了連接。勒索蠕蟲可以直接嘗試連接PLC并對其進(jìn)行感染從而實(shí)施勒索,或通過組態(tài)軟件與PLC建立的連接對PLC進(jìn)行感染并實(shí)施勒索。

      在工控系統(tǒng)中,SCADA系統(tǒng)可以對PLC進(jìn)行直接的訪問和控制,所以當(dāng)上位機(jī)被感染之后,勒索蠕蟲也可以通過SCADA和PLC直接建立的連接對PLC進(jìn)行感染并勒索。除此之外,PLC之間同樣有可能直接進(jìn)行迭代式的蠕蟲傳播。

      4 ICSGhost勒索蠕蟲原型

      基于第3章提出的威脅模型,本文實(shí)現(xiàn)了勒索蠕蟲原型ICSGhost以證實(shí)威脅切實(shí)存在。ICSGhost首先捆綁在組態(tài)軟件上被發(fā)布到互聯(lián)網(wǎng)中,當(dāng)工程師在工程師站下載并安裝了捆綁著ICSGhost的組態(tài)軟件后就會受到感染。ICSGhost針對Windows上位機(jī)以及羅克韋爾型號為 MicroLogix 1400的PLC,當(dāng)工程師連接入工控系統(tǒng)內(nèi)網(wǎng)中時,可對上位機(jī)和相應(yīng)PLC進(jìn)行蠕蟲式傳播并勒索。針對Windows上位機(jī),ICSGhost利用遠(yuǎn)程桌面協(xié)議(Remote Desktop Protocol,RDP)會話將其自身傳播到上位機(jī)中,并且可以在上位機(jī)中利用MS17-010漏洞在上位機(jī)之間進(jìn)行蠕蟲傳播。當(dāng)上位機(jī)受感染之后,ICSGhost將加密系統(tǒng)的關(guān)鍵文件實(shí)施勒索。針對羅克韋爾的MicroLogix 1400 PLC,ICSGhost通過劫持組態(tài)軟件與PLC的會話或利用此PLC加鎖未驗(yàn)證的漏洞對該款PLC進(jìn)行鎖定,實(shí)現(xiàn)勒索。

      ICSGhost只是一個概念驗(yàn)證原型,在封閉的實(shí)驗(yàn)環(huán)境中開發(fā)和實(shí)驗(yàn)。為避免在實(shí)驗(yàn)過程中出現(xiàn)意外的傳播和危害,對其作了如下的額外限制:首先,ICSGhost的感染目標(biāo)僅被限定在特定的內(nèi)網(wǎng)網(wǎng)段當(dāng)中,迭代次數(shù)限制為2次;其次,加密后不刪除或破壞系統(tǒng)文件,不長期駐留。

      4.1 RDP 傳播

      ICSGhost借助RDP的部分功能實(shí)現(xiàn)在工程師站和Windows上位機(jī)之間的相互傳播。其中,從工程師站到Windows上位機(jī)的傳播(簡稱為正向傳播)是 ICSGhost感染攻擊工控系統(tǒng)的過程;從Windows上位機(jī)到工程師站的傳播(簡稱為反向傳播)是ICSGhost完成對工控系統(tǒng)的感染之后,再感染其他連接到受感染的工控系統(tǒng)的工程師站,從而通過該工程師站完成對其他未感染的工控系統(tǒng)的攻擊。

      在從工程師站到 Windows上位機(jī)的傳播的過程中,ICSGhost針對不同的Windows操作系統(tǒng)版本采用不同的攻擊方式來實(shí)現(xiàn)RDP傳播。

      4.1.1 正向傳播

      針對Windows XP和Windows Server 2003的Windows操作系統(tǒng)版本,ICSGhost通過遠(yuǎn)程桌面協(xié)議的功能特性進(jìn)行攻擊。首先,ICSGhost通過鍵盤鉤子和讀取遠(yuǎn)程桌面協(xié)議配置文件的方式獲得建立遠(yuǎn)程桌面連接所需的相關(guān)信息,如用戶名、密碼和上位機(jī)IP等。其次,ICSGhost使用獲取的數(shù)據(jù)生成一個惡意的RDP配置文件。該配置文件主要實(shí)現(xiàn)三個功能:一是通過之前獲取的賬號密碼實(shí)現(xiàn)自動認(rèn)證登錄過程;二是通過”alternate shell”配置選項(xiàng)指定遠(yuǎn)程桌面連接建立時在遠(yuǎn)程主機(jī)上所調(diào)用的程序?yàn)镮CSGhost,ICSGhost在啟動后再執(zhí)行遠(yuǎn)程桌面連接的初始化工作;三是通過文件系統(tǒng)重定向的功能將本地硬盤掛載到Windows上位機(jī),ICSGhost再將自身復(fù)制到Windows上位機(jī)的自啟動文件夾中。最后,ICSGhost通過生成的惡意RDP配置文件在后臺實(shí)現(xiàn)感染過程。

      針對Windows XP和Windows Server 2003以后的Windows操作系統(tǒng)版本,由于安全策略的改變和遠(yuǎn)程桌面連接協(xié)議的升級,導(dǎo)致上述的攻擊方式失效。ICSGhost通過模擬鍵盤輸入的方式進(jìn)行攻擊。首先,ICSGhost通過鍵盤鉤子和讀取遠(yuǎn)程桌面協(xié)議配置文件的方式獲得建立遠(yuǎn)程桌面連接所需的相關(guān)信息。其次,ICSGhost創(chuàng)建全局的低級鍵盤鉤子和低級鼠標(biāo)鉤子防止意外的鍵盤鼠標(biāo)輸入對后續(xù)攻擊過程的影響。之后,ICSGhost通過修改遠(yuǎn)程桌面連接協(xié)議的配置文件來修改連接設(shè)置。最后,ICSGhost通過“keybd_event”函數(shù)從底層模擬鍵盤鼠標(biāo)輸入進(jìn)行遠(yuǎn)程桌面連接的建立和惡意代碼的執(zhí)行。

      4.1.2 反向傳播

      在從Windows上位機(jī)到工程師站的傳播的過程中,ICSGhost采用Windows自帶的遠(yuǎn)程桌面服務(wù)(Remote Desktop Services,RDS)實(shí)現(xiàn) RDP反向傳播。ICSGhost通過修改注冊表等方式開啟RDS服務(wù)和指定用戶在連接到 Windows上位機(jī)的時候所運(yùn)行的初始化程序?yàn)?ICSGhost,然后由 ICSGhost完成正常的初始化工作,這樣就可以保證ICSGhost存活于每個與Windows上位機(jī)建立的遠(yuǎn)程桌面連接。在檢測到新連接建立的時候,ICSGhost會檢測所連接的客戶端是否將文件系統(tǒng)重定向到服務(wù)端。如果是,ICSGhost則將客戶端的磁盤映射到本地,之后自我復(fù)制到該磁盤上,再通過自啟動方式在客戶端下次系統(tǒng)重啟的時候自我啟動。在遠(yuǎn)程桌面連接協(xié)議中的文件系統(tǒng)重定向默認(rèn)值關(guān)閉狀態(tài),所以,這種攻擊方式的成功與否取決于用戶是否開啟文件系統(tǒng)重定向功能。

      4.2 上位機(jī)之間蠕蟲傳播

      ICSGhost使用了“永恒之藍(lán)”漏洞進(jìn)行Windows上位機(jī)之間的蠕蟲傳播,“永恒之藍(lán)”的漏洞編號為MS17-010,它被“影子經(jīng)紀(jì)人(The Shadow Brokers)”曝光到互聯(lián)網(wǎng),并被使用在影響巨大的勒索蠕蟲“WannaCry”之中,影響從Windows XP到Windows 10、Windows Server 2016的所有 Windows系統(tǒng)。該漏洞存在于SMB(Server Message Block)通信協(xié)議當(dāng)中。借助該漏洞,攻擊者可以使用惡意構(gòu)造的數(shù)據(jù)包導(dǎo)致遠(yuǎn)程任意代碼執(zhí)行,從而控制遠(yuǎn)程計(jì)算機(jī)。

      4.3 PLC 加鎖

      如今,大部分PLC集成了加鎖功能,可以通過密碼對PLC本身的配置進(jìn)行鎖定。鎖的類型分為讀鎖、寫鎖和讀寫鎖。讀鎖是指在對PLC的某些配置進(jìn)行讀取時需要密碼驗(yàn)證,寫鎖是指在對PLC的某些配置進(jìn)行寫入時需要密碼驗(yàn)證,讀寫鎖是指在對PLC的某些配置進(jìn)行讀取和寫入時都需要密碼驗(yàn)證。為了實(shí)現(xiàn)勒索的目的,ICSGhost采用對PLC加上寫鎖的方式,在保證PLC正常運(yùn)行的同時,開發(fā)者無法對加了鎖的PLC進(jìn)行配置寫入。

      針對 ICSGhost的目標(biāo)設(shè)備 MicroLogix 1400,發(fā)現(xiàn)該款PLC的控制指令沒有身份驗(yàn)證機(jī)制。攻擊者只需要接入到PLC所在網(wǎng)絡(luò),能夠與其通信,就可以將控制指令直接發(fā)送到MicroLogix 1400,對其加鎖,并且該加鎖操作可以繞過已經(jīng)存在的密碼保護(hù)。

      4.4 劫持組態(tài)軟件

      當(dāng)PLC本身已經(jīng)被加鎖保護(hù)時,直接攻擊PLC的方法可能就無法生效。ICSGhost還實(shí)現(xiàn)了先通過劫持組態(tài)軟件的方式獲取PLC密碼,再對PLC進(jìn)行鎖定的攻擊方式。

      當(dāng)工程師使用組態(tài)軟件對PLC進(jìn)行配置時,若PLC被加鎖保護(hù),工程師需要在組態(tài)軟件當(dāng)中輸入密碼才能繼續(xù)對PLC進(jìn)行配置。ICSGhost首先使用遠(yuǎn)程線程注入的方法將惡意動態(tài)鏈接庫注入組態(tài)軟件,注入之后將自動運(yùn)行動態(tài)鏈接庫中的程序,修改組態(tài)軟件指令,從而對組態(tài)軟件的代碼進(jìn)行劫持,獲取工程師輸入的密碼。在獲取PLC的密碼之后,可以使用發(fā)送控制指令的方式加鎖PLC,也可以直接通過劫持組態(tài)軟件的執(zhí)行,通過組態(tài)軟件對PLC加鎖。

      4.5 勒索

      ICSGhost是一個針對工控系統(tǒng)的勒索蠕蟲,本節(jié)將描述ICSGhost針對工控系統(tǒng)的特點(diǎn)對傳統(tǒng)勒索方式所作的改進(jìn)。

      4.5.1 身份判斷及潛伏

      由于傳播的目標(biāo)是工控系統(tǒng),ICSGhost在傳播中對目標(biāo)身份進(jìn)行判斷。在感染目標(biāo)時,ICSGhost通過搜索注冊表中與工控軟件相關(guān)的鍵值,來判斷此目標(biāo)是否與工控系統(tǒng)相關(guān)。若相關(guān),則對其進(jìn)行感染;若不相關(guān),則刪除自身。

      4.5.2 文件加密與密鑰預(yù)生成

      當(dāng)加密Windows主機(jī)時,ICSGhost隨機(jī)生成一個文件加密密鑰,隨機(jī)使用預(yù)置的某個RSA(Rivest-Shamir-Adleman)公鑰對其進(jìn)行加密并保存加密后的文件。之后利用此文件加密密鑰使用高級加密標(biāo)準(zhǔn)(Advanced Encryption Standard,AES)算法對SCADA系統(tǒng)的配置及組態(tài)文件進(jìn)行加密。當(dāng)加密完成后刪除文件加密密鑰,保留RSA公鑰及被加密的文件加密密鑰。若受害者需要恢復(fù)被加密的文件,則需要提供RSA公鑰及被加密的文件加密密鑰,可以通過查詢公鑰對應(yīng)的私鑰,利用此私鑰解密獲得文件加密密鑰,進(jìn)而使用文件加密密鑰來解密文件。

      由于ICSGhost需要在內(nèi)網(wǎng)傳播,但內(nèi)網(wǎng)中受感染的主機(jī)可能無法與外網(wǎng)通信。所以ICSGhost需要在初次感染工程師站時預(yù)生成多組的RSA公私鑰對,然后將該公私鑰對回傳并刪除私鑰。在之后的傳播中,對每一個目標(biāo),ICSGhost選取一對未使用的RSA公私鑰。若所有生成的公私鑰對都已經(jīng)被使用,則對已使用的公私鑰重新進(jìn)行隨機(jī)選擇使用。

      4.6 實(shí)驗(yàn)結(jié)果

      基于上面的分析,本文搭建了一個模擬工控網(wǎng)絡(luò)的封閉實(shí)驗(yàn)環(huán)境以驗(yàn)證ICSGhost的威脅。模擬的封閉實(shí)驗(yàn)環(huán)境的拓?fù)鋱D如圖2所示。在該實(shí)驗(yàn)環(huán)境中,搭建了兩臺操作系統(tǒng)為Windows 7的上位機(jī),分別為上位機(jī)A和上位機(jī)B,其中上位機(jī)之間沒有設(shè)置網(wǎng)絡(luò)隔離。上位機(jī)A負(fù)責(zé)監(jiān)控和管理羅克韋爾型號為MicroLogix 1400的PLC。此外,還存在一個工控工程師,該工程師使用操作系統(tǒng)為Windows 7的工程師站,負(fù)責(zé)上位機(jī)A管理的PLC的開發(fā)和維護(hù)工作。

      圖2 ICSGhost實(shí)驗(yàn)傳播路徑Fig.2 Propagation path of ICSGhost experiment

      圖2 的灰色點(diǎn)線部分展示了ICSGhost在實(shí)驗(yàn)環(huán)境中的傳播路徑。首先,將捆綁ICSGhost的RSLogix 500(羅克韋爾PLC的組態(tài)開發(fā)軟件)的組態(tài)軟件上傳到一個FTP服務(wù)器(File Transfer Protocol Server,F(xiàn)TP),模擬上傳到互聯(lián)網(wǎng)的過程。工程師從FTP服務(wù)器下載該組態(tài)軟件進(jìn)行安裝來進(jìn)行MicroLogix 1400的組態(tài)開發(fā)工作。此時,ICSGhost潛伏在工程師的工程師站中。在完成組態(tài)開發(fā)之后,工程師通過OpenVPN服務(wù)進(jìn)入工業(yè)控制系統(tǒng)網(wǎng)絡(luò),然后通過 RDP連接接入上位機(jī)A對PLC進(jìn)行作業(yè)。在此過程中,ICSGhost通過工程師的RDP連接將自身傳播到上位機(jī)A。然后,ICSGhost發(fā)起針對上位機(jī)A及其控制的PLC的攻擊,將上位機(jī)A的文件加密并通過上位機(jī)A與PLC的連接通道對PLC進(jìn)行加鎖。與此同時,ICSGhost通過掃描發(fā)現(xiàn)處于同一內(nèi)網(wǎng)的上位機(jī)B。ICSGhost利用漏洞發(fā)起針對上位機(jī)B的攻擊,將自身傳播到上位機(jī)B并完成對上位機(jī)B的文件加密的攻擊。

      實(shí)驗(yàn)結(jié)果表明,ICSGhost能夠?qū)⒐こ處熣咀鳛槌醮胃腥灸繕?biāo),并以工程師站為跳板,感染處于內(nèi)網(wǎng)其他工控組件,實(shí)現(xiàn)蠕蟲式感染和勒索。此種威脅確實(shí)存在,并且可以被用來進(jìn)行大規(guī)模針對工控系統(tǒng)的攻擊。

      5 縱深防御方案

      針對此威脅模型,從不同網(wǎng)絡(luò)層次以及不同組件提出縱深防御與加固方案。

      從組件角度進(jìn)行防御,對于工程師站,建議應(yīng)用軟件應(yīng)該從正規(guī)渠道獲取,并對軟件使用校驗(yàn)碼等方法進(jìn)行校驗(yàn)。此外,工程師站應(yīng)該做到專機(jī)專用,將生活場景與工作場景相隔離,減少受感染的可能性。對于Windows上位機(jī),提出以下加固建議:首先,上位機(jī)應(yīng)該及時更新安全補(bǔ)丁,并且以最小權(quán)限原則創(chuàng)建和使用賬戶;除此之外,可以安裝防病毒軟件以防止惡意軟件感染。對于PLC,可以對其設(shè)置保護(hù)密碼,防止非授權(quán)操作。

      由于PLC高度的定制化,所以對PLC進(jìn)行升級、加固較為困難。對于Windows上位機(jī),由于工控軟件大多高度定制化,所以系統(tǒng)管理員為避免兼容性問題,不敢輕易對系統(tǒng)進(jìn)行修改或升級,所以本文認(rèn)為在網(wǎng)絡(luò)層面通過對流量的監(jiān)控和網(wǎng)絡(luò)的控制更加具有實(shí)踐性;并且由于工控系統(tǒng)對可靠性要求高,防御措施需要盡可能不影響工控系統(tǒng)正常運(yùn)行,以監(jiān)測為主是更具有實(shí)踐性的防御策略。

      1.1 節(jié)提到,工控網(wǎng)絡(luò)可以以層次結(jié)構(gòu)分為現(xiàn)場儀表網(wǎng)絡(luò)、本地控制網(wǎng)絡(luò)、監(jiān)測控制網(wǎng)絡(luò)、非軍事區(qū)網(wǎng)絡(luò)、企業(yè)工作網(wǎng)絡(luò)、互聯(lián)網(wǎng)。針對各個網(wǎng)絡(luò)層次的特點(diǎn),提出以下在網(wǎng)絡(luò)層之中或網(wǎng)絡(luò)層之間的縱深防御方案。

      5.1 互聯(lián)網(wǎng)到企業(yè)工作網(wǎng)絡(luò)

      對于大部分企業(yè)來說,將充滿威脅互聯(lián)網(wǎng)與內(nèi)部辦公網(wǎng)絡(luò)進(jìn)行邏輯隔離,是安全、有效的保護(hù)內(nèi)網(wǎng)安全的最重要的措施。文獻(xiàn)[12-16]討論了互聯(lián)網(wǎng)與內(nèi)部辦公網(wǎng)絡(luò)隔離需要注意的安全問題。

      5.2 從非軍事區(qū)網(wǎng)絡(luò)到監(jiān)測控制網(wǎng)絡(luò)

      非軍事區(qū)網(wǎng)絡(luò)作為企業(yè)工作網(wǎng)絡(luò)到監(jiān)測控制網(wǎng)絡(luò)的交界處,應(yīng)該設(shè)置防火墻對企業(yè)工作網(wǎng)絡(luò)到監(jiān)測控制網(wǎng)絡(luò)進(jìn)行過濾。由于企業(yè)工作網(wǎng)絡(luò)到監(jiān)測控制網(wǎng)絡(luò)連接的需求是確定的,例如進(jìn)行數(shù)據(jù)傳輸、工程師的遠(yuǎn)程操作、供應(yīng)商的遠(yuǎn)程維護(hù)等。設(shè)置白名單規(guī)則可以有效地阻止非工控系統(tǒng)的操作者連接到監(jiān)測控制網(wǎng)絡(luò)。

      5.3 監(jiān)測控制網(wǎng)絡(luò)

      在監(jiān)測與控制網(wǎng)絡(luò)中,可能存在多臺運(yùn)行不同任務(wù)的上位機(jī)。若它們之間相互獨(dú)立,不需要互相訪問,則應(yīng)該將其劃分在不同的子網(wǎng)當(dāng)中,進(jìn)行更細(xì)粒度的網(wǎng)絡(luò)隔離,防止蠕蟲通過網(wǎng)絡(luò)在上位機(jī)之間傳播。

      入侵檢測系統(tǒng)(Intrusion Detection Systems,IDS)是一種對網(wǎng)絡(luò)傳輸進(jìn)行即時監(jiān)視,在發(fā)現(xiàn)可疑傳輸時發(fā)出警報或者采取主動反應(yīng)措施的網(wǎng)絡(luò)安全設(shè)備。對于監(jiān)測控制網(wǎng)絡(luò),使用入侵檢測系統(tǒng)可以發(fā)現(xiàn)在監(jiān)測控制網(wǎng)絡(luò)內(nèi)的異常操作。由于工控系統(tǒng)是個高度確定性的系統(tǒng),當(dāng)SCADA系統(tǒng)被開發(fā)完畢投入應(yīng)用后,其操作行為基本上也被確定。因此,建立一個系統(tǒng)訪問正常行為的模型,并基于此模型通過諸如基于機(jī)器學(xué)習(xí)等的異常檢測方法來檢測異常行為,可以有效地實(shí)現(xiàn)對監(jiān)測控制網(wǎng)絡(luò)中的異常行為的檢測[17]。

      5.4 本地控制網(wǎng)絡(luò)

      目前大量PLC大多數(shù)沒有訪問控制,并且PLC基于硬件高度定制化,對PLC進(jìn)行升級、加固較為困難,所以對發(fā)送到PLC的指令實(shí)施過濾與分析是一種有效的防御方式。所有發(fā)送到PLC的指令需要通過PLC流量防火墻,在防火墻上對指令進(jìn)行分析與過濾。此外,由于工業(yè)控制網(wǎng)絡(luò)是一個高度確定性的網(wǎng)絡(luò),當(dāng)一個PLC的組態(tài)開發(fā)完成后,它所進(jìn)行的操作也是高度確定的,一些異常行為可以很容易地被檢測。例如,對PLC進(jìn)行加鎖的指令不會出現(xiàn)在生產(chǎn)過程中,所以PLC流量防火墻發(fā)現(xiàn)此種類型的指令就可以判斷其為異常指令[18]。

      攻擊者直接對PLC發(fā)送指令對PLC而言是一種巨大的安全威脅,所以保證與PLC通信的網(wǎng)絡(luò)信道安全也是非常必要的。虛擬專用網(wǎng)絡(luò)可以在公用網(wǎng)絡(luò)上建立專用網(wǎng)絡(luò),進(jìn)行加密通信。將PLC接入到VPN中與上位機(jī)進(jìn)行通信,可以保證信道安全,防止中間人攻擊。在對請求分析與過濾的同時,還需要對所有的操作請求記錄日志,以便在安全事件發(fā)生后分析和溯源。

      6 結(jié)語

      到目前為止,工業(yè)控制系統(tǒng)網(wǎng)絡(luò)還沒有受到大規(guī)模的勒索軟件攻擊。這不是因?yàn)樗鼈儽葌鹘y(tǒng)網(wǎng)絡(luò)更安全,而是網(wǎng)絡(luò)犯罪分子還沒有找到一種可以大規(guī)模感染并且有利可圖的方式。最近對于酒店門禁卡系統(tǒng)的攻擊已經(jīng)給我們敲響了警鐘。本文總結(jié)了工業(yè)控制系統(tǒng)存在的安全風(fēng)險和攻擊方法并根據(jù)觀察到的工業(yè)控制系統(tǒng)實(shí)際開發(fā)場景和存在的安全風(fēng)險,提出一種基于新的攻擊路徑的勒索蠕蟲威脅模型?;诖送{模型,本文實(shí)現(xiàn)了ICSGhost勒索蠕蟲原型,實(shí)驗(yàn)證實(shí)了此威脅。最后,我們從不同網(wǎng)絡(luò)層次以及不同組件提出縱深防御與加固方案以防御勒索蠕蟲威脅。由于工控組件的高度定制化,對組件進(jìn)行升級加固的防御方法在工程實(shí)踐中難以普及,通過不同網(wǎng)絡(luò)層次的縱深防御更加容易部署應(yīng)用且有效。由于工控網(wǎng)絡(luò)高度定制化,其內(nèi)部的行為模式在系統(tǒng)開發(fā)完成投入使用之后基本確定,所以在網(wǎng)絡(luò)層面對系統(tǒng)行為進(jìn)行建模,并基于此模型進(jìn)行異常檢測可以作為進(jìn)一步的研究方向。

      猜你喜歡
      蠕蟲勒索工控
      蠕蟲狀MoS2/C的制備及其在鋰離子電池負(fù)極材料中的應(yīng)用
      情緒勒索:警惕以愛之名的傷害
      看世界(2021年11期)2021-06-08 11:29:44
      遭遇勒索
      勒索
      秋季謹(jǐn)防家禽蠕蟲病
      獲獎產(chǎn)品介紹:對勒索病毒說不
      ——美創(chuàng)科技“諾亞”防勒索系統(tǒng)向勒索病毒“宣戰(zhàn)”
      工控速派 一個工控技術(shù)服務(wù)的江湖
      工控速浱 一個工控技術(shù)服務(wù)的江湖
      熱點(diǎn)追蹤 工控安全低調(diào)而不失重要
      青海海晏縣牛羊寄生蠕蟲種調(diào)查與防治
      曲周县| 新田县| 绍兴市| 井陉县| 治多县| 海口市| 晋江市| 康保县| 炉霍县| 尤溪县| 方城县| 谷城县| 高平市| 岳阳县| 读书| 峡江县| 马关县| 如皋市| 翁牛特旗| 泰州市| 凤山县| 曲水县| 平山县| 沂南县| 扶绥县| 鄄城县| 民乐县| 政和县| 清苑县| 蓬安县| 蚌埠市| 固原市| 临邑县| 泾源县| 平顺县| 新蔡县| 佛山市| 房山区| 全椒县| 崇州市| 泊头市|