2010年,伊朗震網(wǎng)病毒事件爆光,揭開了工業(yè)控制系統(tǒng)(“工控系統(tǒng)”)的“神秘面紗”,也拉開了攻擊工控系統(tǒng)的序幕。隨后十年間爆發(fā)了眾多與工控系統(tǒng)關(guān)聯(lián)的安全事件,例如:針對電力、水利、能源、交通等基礎(chǔ)設(shè)施的定向攻擊或針對式攻擊(APT,advanced persistent threat),對社會秩序造成較大影響;針對生產(chǎn)制造等企業(yè)的定向攻擊,竊取商業(yè)機(jī)密,影響正常生產(chǎn);撒網(wǎng)式攻擊,特別是2017年席卷全球的WannaCry勒索病毒,工控系統(tǒng)亦成為“疫”區(qū),且在近兩年仍余波不斷。
此外,世界知名的黑客大會,如BlackHat、DefCon等,紛紛將工控安全納入議題;2020年1月世界高水平黑客大賽Pwn2Own更首次將工控納入比賽。可以看出,工控領(lǐng)域似乎正在成為“黑道”和“白道”的藍(lán)海,工控系統(tǒng)的漏洞和攻擊面也正隨著工業(yè)互聯(lián)網(wǎng)的發(fā)展,更多的暴露于攻擊者。
本文將從黑客角度透析攻擊方式和路徑,識別工控環(huán)境中易于被利用漏洞和脆弱性。
工業(yè)控制系統(tǒng)應(yīng)用領(lǐng)域
01 工業(yè)控制系統(tǒng)的整體攻擊思路
攻擊目標(biāo)
強(qiáng)目的性、針對式的攻擊通常是以破壞工控設(shè)備、造成工廠停產(chǎn)、工序異常、次品率增加,甚至火災(zāi)爆炸等嚴(yán)重后果為目標(biāo)。現(xiàn)代工廠中,大部分現(xiàn)場生產(chǎn)設(shè)備都是由控制系統(tǒng)(如:PLC-可編程邏輯控制器、數(shù)控車床、DCS-分布式控制系統(tǒng))進(jìn)行現(xiàn)場操作。因此,攻擊者的目標(biāo)是通過直接或間接攻擊或影響控制系統(tǒng)而實現(xiàn)。下文將以工廠PLC舉例,闡述黑客對工控系統(tǒng)的攻擊思路。
黑客攻擊目標(biāo)舉例
攻擊場景
針對式直接攻擊
直接攻擊PLC,是指利用PLC存在的漏洞,或通過口令破解等方式繞過安全認(rèn)證,成功控制PLC并進(jìn)行指令修改,實現(xiàn)攻擊目的。當(dāng)前較多的PLC處于內(nèi)網(wǎng),尚不能通過互聯(lián)網(wǎng)直接訪問,在此情景下,直接攻擊一般通過物理接觸PLC,或通過內(nèi)部辦公網(wǎng)絡(luò)連接到PLC等方式而實現(xiàn)。隨著工廠智能化的提升,設(shè)備實現(xiàn)互聯(lián)互通,大量PLC系統(tǒng)連入互聯(lián)網(wǎng),將更易于黑客對PLC發(fā)起直接攻擊。
針對式間接攻擊
間接攻擊PLC,是指獲取PLC上一層監(jiān)控系統(tǒng)(如HMI、IPC、SCADA等)的控制權(quán),通過監(jiān)控系統(tǒng)向PLC發(fā)送惡意指令,或干擾監(jiān)控系統(tǒng)與PLC的正常通訊,實現(xiàn)攻擊目的。采用間接攻擊場景,通常是由于攻擊者無法直接接觸到控制系統(tǒng),或?qū)S內(nèi)部PLC系統(tǒng)了解有限,因而轉(zhuǎn)向攻擊存在大量攻擊者熟悉的IT部件的過程與監(jiān)控層系統(tǒng)。例如,攻擊者首先獲得IPC(工業(yè)計算機(jī))的控制權(quán),分析IPC和PLC之間的傳輸模式,構(gòu)造惡意指令,通過IPC傳輸給PLC,間接影響PLC的正常工作或阻斷生產(chǎn)狀態(tài)的監(jiān)控和預(yù)警。
非針對式攻擊
非針對式攻擊,或稱為撒網(wǎng)式攻擊,是指惡意程序利用系統(tǒng)或網(wǎng)絡(luò)的共性漏洞,無差異化感染系統(tǒng)并在內(nèi)網(wǎng)傳播,影響正常生產(chǎn)秩序。此類攻擊場景雖然不針對工控系統(tǒng),但由于目前工控環(huán)境的安全措施較為薄弱,使得撒網(wǎng)式攻擊在世界范圍內(nèi)屢屢得手。撒網(wǎng)式攻擊通常以病毒或惡意程序為主,例如,攻擊者利用員工安全意識薄弱,發(fā)送釣魚郵件,感染接收者的電腦,再利用網(wǎng)絡(luò)環(huán)境的脆弱性,在辦公網(wǎng)快速傳播,再蔓延至生產(chǎn)網(wǎng),感染具有共性漏洞的系統(tǒng),如IPC等,影響生產(chǎn)或造成破壞。
攻擊途徑
工控系統(tǒng)的攻擊途徑大體包含內(nèi)部發(fā)起和外部發(fā)起兩類。內(nèi)部發(fā)起又可分為自辦公網(wǎng)滲透到工廠網(wǎng)以及車間現(xiàn)場發(fā)起攻擊;外部發(fā)起包含針對式攻擊(如APT)和撒網(wǎng)式攻擊。
工控環(huán)境攻擊路徑
內(nèi)部發(fā)起
辦公網(wǎng)為起點
在辦公網(wǎng)環(huán)境內(nèi),使用nmap等工具掃描和獲取網(wǎng)段和資產(chǎn)信息,特別是常規(guī)工控系統(tǒng)和IT系統(tǒng)端口,Siemens 102,modbus 502,EthernetIP 44818、445、3389等;
利用漏洞對識別出的系統(tǒng)進(jìn)行攻擊,包含嗅探、權(quán)限繞過或提升、重放攻擊、口令猜解、指令注入、永恒之藍(lán)漏洞利用、口令猜解等;
成功獲取系統(tǒng)控制權(quán)后,嘗試以該主機(jī)為跳板,使用Pass the Hash等方式滲透其他系統(tǒng),找尋工控相關(guān)系統(tǒng)PLC、IPC和SCADA等,以實現(xiàn)攻擊目的;
若均未成功,轉(zhuǎn)向采用社會工程等方式進(jìn)一步獲取相關(guān)信息(如高權(quán)限賬號等);
同時,考慮設(shè)法進(jìn)入工廠車間內(nèi)部,轉(zhuǎn)為現(xiàn)場攻擊方式;
一些集成控制系統(tǒng)的中控平臺,或者內(nèi)網(wǎng)的一些類SCADA等組態(tài)控制系統(tǒng)的web應(yīng)用端或者dll、dat容易被劫持后形成工程師站的提權(quán)。
車間現(xiàn)場為起點
在車間內(nèi)發(fā)起攻擊工控系統(tǒng)是最為直接的方法,手段和選擇同樣是多樣化的:
進(jìn)入車間后,仔細(xì)觀察車間內(nèi)的情況,尋找IPC或者控制系統(tǒng)的位置,為后續(xù)攻擊嘗試做準(zhǔn)備。
攻擊嘗試一:
首選目標(biāo)為控制系統(tǒng)(如PLC),尋找是否存在未上鎖,或者網(wǎng)線接口暴露在外的設(shè)備;
嘗試了解相關(guān)的控制系統(tǒng)基本信息,例如所使用的品牌,版本等;
嘗試使用電腦在現(xiàn)場連接控制系統(tǒng),利用弱口令等脆弱性,嘗試惡意指令注入、權(quán)限繞過、重放攻擊等。
攻擊嘗試二:
嘗試對現(xiàn)場運行的IPC或者HMI進(jìn)行攻擊,例如對運行的IPC插入惡意U盤植入惡意程序;
針對未設(shè)置權(quán)限的IPC或者HMI直接操作,如修改控制系統(tǒng)的指令等惡意操作。
外部發(fā)起
針對式攻擊
APT 攻擊是典型的外部發(fā)起的針對式攻擊,攻擊過程包含
對目標(biāo)企業(yè)進(jìn)行信息收集以初步了解該企業(yè)的基本情況;
利用Google、Baidu等搜索引擎尋找暴露在互聯(lián)網(wǎng)上的域名或服務(wù)器;
利用爬蟲技術(shù)盡可能獲取網(wǎng)站所有鏈接、子域名、C段等;
嘗試對網(wǎng)站應(yīng)用進(jìn)行高危漏洞利用,例如惡意文件上傳、命令執(zhí)行、SQL注入、跨站腳本、賬戶越權(quán)等;
嘗試獲取網(wǎng)站webshell,再提升至服務(wù)器權(quán)限;
以該服務(wù)器為跳板打入內(nèi)網(wǎng)環(huán)境,轉(zhuǎn)變?yōu)閮?nèi)部攻擊的模式;
通過從互聯(lián)網(wǎng)搜索外網(wǎng)郵箱的用戶名,根據(jù)企業(yè)的特點,針對式地給這些用戶發(fā)送釣魚郵件,以中招的電腦為跳板打入內(nèi)部環(huán)境,轉(zhuǎn)變?yōu)閮?nèi)部攻擊的模式;
利用偽造門禁卡,或者偽裝參觀、面試人員或者尾隨內(nèi)部員工的方式物理進(jìn)入企業(yè)內(nèi)部,轉(zhuǎn)變成為內(nèi)部攻擊的模式。
撒網(wǎng)式攻擊
利用Google和Baidu等搜索引擎找出暴露在互聯(lián)網(wǎng)上企業(yè)的域名,若發(fā)現(xiàn)可以利用的漏洞則轉(zhuǎn)為針對式攻擊;
利用社工,盡可能多收集企業(yè)的員工的郵箱,大批量發(fā)送釣魚郵件;
使用Shodan搜索引擎,針對暴露在互聯(lián)網(wǎng)上的工控系統(tǒng)發(fā)起攻擊,成功后轉(zhuǎn)為內(nèi)部攻擊。
黑客攻擊鏈(Cyber Kill Chain)
一般來說,攻擊者通常以低成本、撒網(wǎng)式的攻擊手段,如發(fā)送釣魚郵件等社工式,開始攻擊嘗試。當(dāng)受害者點開附在釣魚郵件內(nèi)的惡意鏈接或惡意程序時,“潘多拉之盒”就此打開,攻擊者將嘗試攻陷受害者的設(shè)備,并以此設(shè)備為跳板,打入企業(yè)內(nèi)網(wǎng)。如果工控網(wǎng)絡(luò)未能做到與辦公網(wǎng)絡(luò)的有效隔離,攻擊者可以在進(jìn)入辦公網(wǎng)絡(luò)后掃描并分析發(fā)現(xiàn)相關(guān)工控資產(chǎn)。當(dāng)前許多工廠工控環(huán)境抵御網(wǎng)絡(luò)攻擊的能力較弱,大多存在弱口令,權(quán)限設(shè)置不當(dāng),共享賬號和密碼,補丁和脆弱性管理缺失,網(wǎng)絡(luò)隔離和防護(hù)不充分等高危漏洞,使得攻擊者利用這些漏洞,在企業(yè)工控網(wǎng)內(nèi)大范圍、無阻攔、跨領(lǐng)域的對工控資產(chǎn)進(jìn)行攻擊,最終導(dǎo)致工業(yè)數(shù)據(jù)泄露、設(shè)備破壞、工序異常、次品率增加、火災(zāi)爆炸甚至威脅員工安全等嚴(yán)重后果,形成完整的黑客攻擊鏈。
02 工業(yè)控制系統(tǒng)能否有效抵御攻擊?
工控系統(tǒng)能否有效阻擊黑客攻擊,取決于攻守雙方的準(zhǔn)備和措施。目前來看,攻擊者更加積極研究工控系統(tǒng)漏洞和攻擊手段,而企業(yè)在當(dāng)下更著重于高效生產(chǎn)和數(shù)字化轉(zhuǎn)型,對工控安全的關(guān)注和投入相對滯后;加上工控系統(tǒng)的陳舊性和非標(biāo)準(zhǔn)性,使得暴露在攻擊者面前可利用的脆弱性較多,舉例如下:
組織與人員
未落實安全責(zé)任
管理層重視不足,部門間安全職責(zé)不清晰,無明確安全部門或崗位。
安全意識薄弱
員工對工控系統(tǒng)的安全意識相對薄弱,特別是生產(chǎn)或一線員工。傳統(tǒng)型企業(yè)的“隱匿式安全”(security by obscurity),認(rèn)為嚴(yán)格物理安全和訪問管理即可確保安全,認(rèn)為未發(fā)生安全事件即是安全,這往往使得企業(yè)忽略對網(wǎng)絡(luò)安全的建設(shè),未能及時補救隱患。
管理與監(jiān)督
“經(jīng)驗式”管理
工控系統(tǒng)自身缺乏安全設(shè)計與考量,是很多企業(yè)存在的普遍現(xiàn)象,通過實施適當(dāng)安全保障措施,可以有效彌補。但很多企業(yè)并沒有建立有效的安全策略和措施,僅依靠個人經(jīng)驗和歷史經(jīng)驗進(jìn)行管理。
應(yīng)急響應(yīng)機(jī)制缺失
缺少應(yīng)急響應(yīng)機(jī)制,出現(xiàn)突發(fā)事件時無法快速組織人力和部署應(yīng)對措施來控制事件進(jìn)一步蔓延,并在最短時間內(nèi)解決問題和恢復(fù)生產(chǎn)。
缺少恰當(dāng)?shù)目诹畈呗?/p>
未設(shè)置恰當(dāng)?shù)目诹畈呗院凸芾恚缛蹩诹?,共享口令,多臺主機(jī)或設(shè)備共用一個口令,以及口令共享給第三方供應(yīng)商等情形,增加密碼泄露風(fēng)險。
缺乏安全審計日志
系統(tǒng)出現(xiàn)安全事件后,無法追蹤和分析事件源頭和原因,以避免類似情形的再次發(fā)生。
網(wǎng)絡(luò)與架構(gòu)
“防君子式”網(wǎng)絡(luò)隔離
內(nèi)部辦公網(wǎng)絡(luò)和工廠網(wǎng)絡(luò)缺乏有效隔離,未劃分安全域進(jìn)行防護(hù),導(dǎo)致辦公網(wǎng)絡(luò)的攻擊或病毒蔓延至工廠網(wǎng)絡(luò),造成生產(chǎn)影響。
不安全的通訊協(xié)議
工業(yè)控制協(xié)議非標(biāo)準(zhǔn)化,且大多存在安全隱患,例如CAN、DNP3.0、Modbus、IEC60870-5-101。
不安全的遠(yuǎn)程訪問
為方便維修工程師和供應(yīng)商的遠(yuǎn)程調(diào)試,未對遠(yuǎn)程訪問部署安全措施和監(jiān)控,此類遠(yuǎn)程訪問功能可能是攻擊者利用率最高的漏洞之一。
復(fù)雜的結(jié)構(gòu)
工控系統(tǒng)的結(jié)構(gòu)相對于IT環(huán)境而言更為復(fù)雜,攻擊面較多。典型的工控環(huán)境一般會有以下組成部件:控制器(PLC、數(shù)控車床、DCS)、SCADA系統(tǒng)、工業(yè)計算機(jī)、工業(yè)軟件、HMI、網(wǎng)絡(luò)、交換機(jī)、路由器、工業(yè)數(shù)據(jù)庫等,其中任意一個環(huán)節(jié)或者部件出現(xiàn)問題就有可能導(dǎo)致整個工控系統(tǒng)被攻擊。
主機(jī)與設(shè)備
認(rèn)證與授權(quán)
為了日常使用方便,重要控制系統(tǒng)未設(shè)置密碼、設(shè)置弱密碼或共用密碼,將密碼貼在現(xiàn)場機(jī)器上,這些“便利”往往也為攻擊者的入侵提供了極大的便利。
防病毒軟件
未安裝病毒防護(hù)軟件,未及時更新病毒庫,非正版軟件等。
操作系統(tǒng)陳舊性
現(xiàn)在的工廠環(huán)境中,使用越來越多的計算機(jī)系統(tǒng),然而由于工業(yè)控制系統(tǒng)的更新迭代的時間相比于IT系統(tǒng)要長很多,使得工業(yè)控制系統(tǒng)中存在大量陳舊的計算機(jī)系統(tǒng),如windows xp、windows 2003等操作系統(tǒng),存在大量可被攻擊利用的高危漏洞。
默認(rèn)配置
許多工廠在安裝設(shè)備時,使用了默認(rèn)口令、默認(rèn)路徑,開啟不必要且不安全的端口和服務(wù)等默認(rèn)配置。
離線設(shè)備管理
對于離線設(shè)備,往往認(rèn)為是安全的,忽視網(wǎng)絡(luò)安全保護(hù)措施。但隨著企業(yè)數(shù)字化的推進(jìn)或在業(yè)務(wù)需要時進(jìn)行網(wǎng)絡(luò)連接時,此類設(shè)備可能會成為安全體系的短板和缺口。
物理防護(hù)
硬件調(diào)試接口
重要控制系統(tǒng)的機(jī)架未上鎖,或暴露在外的調(diào)試接口未有效防護(hù)。
物理端口
未對IPC等通用接口進(jìn)行有效管理或禁用,如USB、PS/2等外部接口,可能存在設(shè)備未授權(quán)接入風(fēng)險,導(dǎo)致病毒感染或者程序非法修改。
外部人員訪問
人員進(jìn)出車間管控不嚴(yán),特別是外部人員,如供應(yīng)商等。
上述匯總的可以被攻擊者利用的部分脆弱性,企業(yè)可結(jié)合自身業(yè)務(wù)特點予以關(guān)注,短期考慮針對高風(fēng)險漏洞采取一定的補償性措施,中長期依據(jù)業(yè)務(wù)和數(shù)字化發(fā)展規(guī)劃,逐步建立起與業(yè)務(wù)和生產(chǎn)同步發(fā)展的工控安全管控體系。