羅 野,王 英,閆懷超,陳政熙,張家鵬
(上海工業(yè)自動(dòng)化儀表研究院有限公司,上海 200233)
隨著工業(yè)互聯(lián)網(wǎng)的快速發(fā)展,工業(yè)互聯(lián)網(wǎng)技術(shù)逐漸應(yīng)用到了化工、汽車、智能制造等工業(yè)行業(yè)。工業(yè)控制網(wǎng)絡(luò)作為工業(yè)互聯(lián)網(wǎng)的重要組成部分,其安全問題也逐漸凸顯[1]。從2010年伊朗核電站的震網(wǎng)到2020年的本田汽車遭受Ekans病毒勒索,原本處在相對物理隔離環(huán)境中的工業(yè)控制系統(tǒng),出現(xiàn)了不少具有針對性和破壞性的安全事件。在工業(yè)互聯(lián)網(wǎng)安全領(lǐng)域,針對人員攻擊行為與模式的認(rèn)識仍然處于一個(gè)模糊的狀態(tài),攻擊和防護(hù)之間事中存在著差距。這使得針對工業(yè)互聯(lián)網(wǎng)的安全研究處于一個(gè)不利的局面。
蜜罐是一種經(jīng)過特定設(shè)計(jì)的用于吸引潛在攻擊者的陷阱工具[2]。蜜罐通過模擬一種或多種服務(wù)或者設(shè)備來吸引攻擊者進(jìn)行攻擊,記錄攻擊者的攻擊數(shù)據(jù)(例如攻擊的起點(diǎn)、終點(diǎn)、攻擊時(shí)間、攻擊者信息等),通過對攻擊行為的分析,可以研究攻擊者的攻擊策略形成威脅情報(bào)數(shù)據(jù)庫,為工業(yè)互聯(lián)網(wǎng)安全防護(hù)提供有效的技術(shù)支持。但蜜罐一旦被攻擊者所識別,就會(huì)失去其原有的價(jià)值,是一種識破即失效的被動(dòng)式主動(dòng)防御手段[3]。因此,本文提出一種基于真實(shí)工控環(huán)境的高交互式蜜罐系統(tǒng)。該系統(tǒng)模擬工業(yè)現(xiàn)場搭建可編程邏輯控制器(programmable logic controller,PLC)控制系統(tǒng),最大程度還原工業(yè)互聯(lián)網(wǎng)現(xiàn)場層的真實(shí)狀態(tài),可以增加攻擊探測真實(shí)設(shè)備信息的時(shí)間、干擾惡意人員對被攻擊設(shè)施的判斷;利用現(xiàn)有信息安全技術(shù)對攻擊行為和攻擊策略進(jìn)行審計(jì),從而采取更有針對性的防護(hù)手段,確保工業(yè)互聯(lián)網(wǎng)網(wǎng)絡(luò)環(huán)境的安全與穩(wěn)定。
蜜罐系統(tǒng)的種類很多,但可根據(jù)特點(diǎn)分為低、中、高三種交互類型。低交互型蜜罐系統(tǒng)的功能最少[4],可以模擬的服務(wù)種類最少,但是可以減小攻擊活動(dòng)帶來的影響,一般很容易識別蜜罐系統(tǒng);中交互型的蜜罐系統(tǒng)會(huì)在低交互蜜罐的基礎(chǔ)上加入一些仿真軟件來模擬復(fù)雜的服務(wù),迷惑性較強(qiáng),可捕獲的攻擊信息較多;高交互型的蜜罐系統(tǒng)是根據(jù)真實(shí)的控制系統(tǒng)搭建,相對于低交互型蜜罐系統(tǒng),其在協(xié)議、人機(jī)界面、設(shè)備模擬三方面做了提升,提高了PLC的高交互性,且配置相對簡單,迷惑性最強(qiáng)。三種類型蜜罐對比如表1所示。
表1 三種類型蜜罐對比
本文所設(shè)計(jì)蜜罐系統(tǒng)是基于真實(shí)工控環(huán)境的高交互式蜜罐系統(tǒng),主要具備如下功能。
(1)識別攻擊來源。蜜罐系統(tǒng)應(yīng)能夠識別攻擊者的源IP。
(2)記錄攻擊過程。
①蜜罐應(yīng)能夠記錄攻擊者完整的攻擊過程。
②蜜罐系統(tǒng)應(yīng)能夠記錄攻擊者發(fā)送給PLC及組態(tài)軟件的攻擊數(shù)據(jù)包。
③一次攻擊完成后,蜜罐系統(tǒng)應(yīng)能恢復(fù)到攻擊前的狀態(tài)。
①蜜罐主機(jī)系統(tǒng)。
蜜罐主機(jī)系統(tǒng)為暗藏監(jiān)控采集功能的Windows 10主機(jī),預(yù)留一部分管理員已知的部分安全漏洞。數(shù)據(jù)采集方式由主機(jī)采集及網(wǎng)絡(luò)旁路采集兩部分組成。主機(jī)采集部署于蜜罐主機(jī)中,用于記錄主機(jī)中的各類信息。旁路采集部署于系統(tǒng)網(wǎng)絡(luò)中,用于記錄網(wǎng)絡(luò)中的全部通信數(shù)據(jù),主要包括:蜜罐主機(jī)鍵盤輸入、網(wǎng)絡(luò)通信端口、系統(tǒng)日志、主機(jī)文件變化、網(wǎng)絡(luò)通信數(shù)據(jù)包、PLC的運(yùn)行狀態(tài)和遠(yuǎn)程操作日志能夠隱蔽地記錄攻擊者的鍵盤輸入、通信端口、日志、文件變化、網(wǎng)絡(luò)通信等。
②網(wǎng)絡(luò)數(shù)據(jù)旁路監(jiān)測系統(tǒng)。
網(wǎng)絡(luò)數(shù)據(jù)旁路監(jiān)測通過采集交換機(jī)鏡像的網(wǎng)絡(luò)通信數(shù)據(jù),對攻擊者的通信數(shù)據(jù)包進(jìn)行分析,發(fā)現(xiàn)攻擊者的網(wǎng)絡(luò)攻擊行為及其數(shù)據(jù)包。
③PLC狀態(tài)監(jiān)控系統(tǒng)和遠(yuǎn)程操作日志。
PLC狀態(tài)監(jiān)控系統(tǒng)通過周期性地獲取現(xiàn)場PLC的寄存器數(shù)值、PLC運(yùn)行狀態(tài)等數(shù)據(jù),判斷PLC是否遭受攻擊。當(dāng)發(fā)現(xiàn)PLC遭受攻擊后進(jìn)行報(bào)警及記錄。開啟PLC的日志功能,在遠(yuǎn)端操作時(shí),將操作日志事項(xiàng)發(fā)送至記錄主機(jī)中。PLC狀態(tài)監(jiān)控系統(tǒng)同時(shí)具備部署功能,能夠?qū)ΜF(xiàn)場PLC進(jìn)行備份、恢復(fù)。在記錄一次攻擊行為后,能夠?qū)⑾到y(tǒng)恢復(fù)到攻擊前的狀態(tài),準(zhǔn)備接受下一次攻擊。
蜜罐系統(tǒng)拓?fù)鋱D如圖1所示。
圖1 蜜罐系統(tǒng)拓?fù)鋱D
PLC系統(tǒng)可以方便地對現(xiàn)場的運(yùn)行設(shè)備進(jìn)行監(jiān)視和控制,以實(shí)現(xiàn)生產(chǎn)過程數(shù)據(jù)采集、設(shè)備控制、測量、參數(shù)調(diào)節(jié)以及各類信號報(bào)警等功能[5]。在現(xiàn)代化的工業(yè)企業(yè)中,PLC系統(tǒng)有著極其重要的意義,是不可缺少的系統(tǒng)。
(1)軟件。
PLC由多個(gè)任務(wù)組成,每個(gè)任務(wù)完成特定的功能,包括組態(tài)系統(tǒng)、Web發(fā)布、數(shù)據(jù)采集、數(shù)據(jù)處理、歷史數(shù)據(jù)存儲(chǔ)等。系統(tǒng)將服務(wù)器再細(xì)化為多個(gè)專門服務(wù)器,各服務(wù)器邏輯上作為統(tǒng)一整體,但物理上可以放置在不同的機(jī)器上。PLC系統(tǒng)應(yīng)用層次劃分如圖2所示。
圖2 PLC系統(tǒng)應(yīng)用層次劃分
(2)硬件。
傳統(tǒng)的工業(yè)控制系統(tǒng)分為客戶端/服務(wù)器(client/server,C/S)和瀏覽器/服務(wù)器(brouser/server,B/S)架構(gòu)。C/S架構(gòu)中,客戶端提供(human machine interface,HMI)用于控制一些現(xiàn)場設(shè)備。而服務(wù)器采集設(shè)備對象的數(shù)據(jù),然后對數(shù)據(jù)進(jìn)行處理和分析[6]。B/S架構(gòu)中,將監(jiān)控畫面通過Web發(fā)布Internet上,方便運(yùn)維管理。硬件設(shè)備通常以總線方式(RS-485、以太網(wǎng)等)或者干節(jié)點(diǎn)的方式連接,本方案選擇以太網(wǎng)連接方式。
(3)主要功能。
①與控制單元進(jìn)行實(shí)時(shí)通信,數(shù)據(jù)的監(jiān)控與采集不間斷。
②具有功能全面的操作界面,可隨時(shí)根據(jù)數(shù)據(jù)的分析情況由主控計(jì)算機(jī)自動(dòng)或手動(dòng)地對控單元發(fā)出控制或調(diào)節(jié)命令,控制執(zhí)行器動(dòng)作。
③現(xiàn)場數(shù)據(jù)越限時(shí),及時(shí)上傳報(bào)警信息時(shí),主控計(jì)算機(jī)會(huì)出現(xiàn)明顯的報(bào)警畫面和報(bào)警信息。
④可在上位機(jī)顯示工藝流程圖等。
⑤具備Web發(fā)布功能,將過程系統(tǒng),數(shù)據(jù)瀏覽系統(tǒng),數(shù)據(jù)查詢系統(tǒng),數(shù)據(jù)分析系統(tǒng)以Web的方式提供出來。
⑥具備數(shù)據(jù)追溯,可根據(jù)需求(任意時(shí)間段)輸出報(bào)表。
根據(jù)上述設(shè)計(jì)方案,蜜罐系統(tǒng)選用軟硬件包括AB 1756 PLC模塊組、西門子S7-400,施耐德M580PLC模塊組、赫斯曼交換機(jī)、工業(yè)審計(jì)設(shè)備、工控機(jī)、組態(tài)軟件及人機(jī)交互軟件。
三臺不同品牌的PLC以及工控機(jī)分別通過以太網(wǎng)的方式連接至交換機(jī)。交換機(jī)配置其中一個(gè)端口為鏡像口,用于復(fù)制其他端口的數(shù)據(jù)。工業(yè)審計(jì)裝置的管理端口通過以太網(wǎng)的方式連接至此鏡像口。
工控機(jī)上安裝3套虛擬機(jī)軟件,分別安裝logix5000、Portal V15、UnityPRO軟件,用于對三套PLC進(jìn)行組態(tài)。工控機(jī)主機(jī)安裝HMI軟件iFix,用于與三套PLC進(jìn)行數(shù)據(jù)通信。其中:AB PLC通過OPC協(xié)議的方式與iFix進(jìn)行通信,施耐德PLC通過MBE的Modbus TCP/IP協(xié)議與iFix進(jìn)行通信[7],西門子PLC通過Socket的方式將數(shù)據(jù)通訊至AB PLC后傳輸至iFix。最后,為蜜罐主機(jī)設(shè)置一個(gè)公網(wǎng)IP,將蜜罐發(fā)布到公網(wǎng),確??梢杂镁W(wǎng)絡(luò)掃描器掃描到蜜罐系統(tǒng)。
本次經(jīng)過滲透測試方法對蜜罐系統(tǒng)進(jìn)行測試,滲透測試過程主要包括信息收集、漏洞分析、滲透攻擊以及總結(jié)4個(gè)方面。通過網(wǎng)絡(luò)搜索引擎shodan,從公網(wǎng)掃描發(fā)現(xiàn)蜜罐系統(tǒng);使用kali-linux系統(tǒng)中的nmap漏洞掃描工具,掃描對應(yīng)存活主機(jī)開放的端口;根據(jù)開放的端口,找到對應(yīng)的漏洞和漏洞利用載荷;啟動(dòng)漏洞載荷利用平臺msfconsole,設(shè)置相應(yīng)的參數(shù);啟動(dòng)載荷,攻擊蜜罐系統(tǒng)[8]。
蜜罐系統(tǒng)公網(wǎng)地址設(shè)置為180.xxx.xxx.6。首先,使用網(wǎng)絡(luò)搜索引擎shodan,確定可以從公網(wǎng)掃描到蜜罐系統(tǒng);然后,使用nmap掃描工具,掃描蜜罐系統(tǒng)端口開放的情況。結(jié)果發(fā)現(xiàn)上位機(jī)開放了3389、445等高危漏洞端口,發(fā)現(xiàn)存在高危端口暴露公網(wǎng)的情況。通過NetBIOS設(shè)備探針以及SMB探測信息結(jié)果為Windows 10虛擬環(huán)境。
利用微軟SMBv3 Client/Server遠(yuǎn)程代碼執(zhí)行漏洞(漏洞編號:CVE-2020-0796)進(jìn)行滲透攻擊。滲透測試流程如圖3所示。
圖3 滲透測試流程圖
該漏洞是由于SMBv3協(xié)議在處理惡意的壓縮數(shù)據(jù)包時(shí)出錯(cuò)所造成的,可讓遠(yuǎn)程且未經(jīng)身份驗(yàn)證的攻擊者在目標(biāo)系統(tǒng)上執(zhí)行任意代碼[9-10]。使用驗(yàn)證POC腳本發(fā)現(xiàn)漏洞存在,隨后使用getshell腳本嘗試進(jìn)行權(quán)限獲取,生成shellcode。使用工具msfconsole監(jiān)聽生成shellcode時(shí)設(shè)置的監(jiān)聽2333端口,使用exp嘗試攻擊反彈回一個(gè)shell,最終審計(jì)系統(tǒng)識別并記錄了此次滲透攻擊數(shù)據(jù)。
本次測試過程發(fā)現(xiàn)多個(gè)安全風(fēng)險(xiǎn),最終都未能獲取服務(wù)器權(quán)限。發(fā)現(xiàn)服務(wù)器上的web應(yīng)用未提供正常業(yè)務(wù),同時(shí)服務(wù)器在測試過程中存在多次端口無法訪問的情況,可進(jìn)行攻擊的突破點(diǎn)較為有限。
漏洞利用過程中,發(fā)現(xiàn)漏洞攻擊腳本程序都未能生效。測試中發(fā)現(xiàn)端口運(yùn)行服務(wù)經(jīng)常出現(xiàn)異常的響應(yīng)情況,懷疑端口服務(wù)是否正常運(yùn)行或者配置上存在問題,希望對服務(wù)配置進(jìn)行相應(yīng)的檢查。
在工業(yè)互聯(lián)網(wǎng)安全防護(hù)領(lǐng)域中,蜜罐系統(tǒng)既可以作為吸引攻擊者的陷阱,又可以作為安全防護(hù)的工具,在網(wǎng)絡(luò)安全防護(hù)體系中的應(yīng)用將會(huì)越來越廣泛。本文根據(jù)蜜罐系統(tǒng)的發(fā)展背景和網(wǎng)絡(luò)安全研究的顯示需求,提出了基于真實(shí)工控環(huán)境的高交互式蜜罐系統(tǒng),模擬了工業(yè)現(xiàn)場搭建PLC控制系統(tǒng)。系統(tǒng)還原了工業(yè)控制系統(tǒng)的真實(shí)狀態(tài),增加了攻擊探測真實(shí)設(shè)備信息的時(shí)間,以迷惑攻擊者對目的攻擊設(shè)備的判斷[11]。運(yùn)用滲透測試的方式,驗(yàn)證了蜜罐系統(tǒng)的可用性和安全性,確保工業(yè)互聯(lián)網(wǎng)網(wǎng)絡(luò)環(huán)境的安全,也為下一步依靠蜜罐系統(tǒng)開展網(wǎng)絡(luò)安全研究打下基礎(chǔ)。