谷神星網(wǎng)絡(luò)科技有限公司
“知己知彼,百戰(zhàn)不殆”,只有了解了黑客攻擊的步驟和方法,才能有效采取防御措施,保障工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)安全。
網(wǎng)絡(luò)攻擊的方法很多,但大部分都包含信息搜集、網(wǎng)絡(luò)掃描、賬戶破解和實(shí)施攻擊四個階段。
任何攻擊的第一步都是信息搜集。利用現(xiàn)成的網(wǎng)絡(luò)工具和搜索引擎,黑客可以透過企業(yè)和合作伙伴的公開信息、會員組織信息、員工博客等原始資料,獲取企業(yè)與員工信息、內(nèi)外部網(wǎng)絡(luò)及網(wǎng)域、潛在的網(wǎng)絡(luò)入口、網(wǎng)絡(luò)設(shè)備等信息,了解企業(yè)網(wǎng)絡(luò)的安全狀況,尋找網(wǎng)絡(luò)攻擊的切入點(diǎn)。例如,根據(jù) DNS信息可以定位相關(guān)網(wǎng)域,根據(jù)用戶身份信息(包括地址和電話等)可以實(shí)施社會工程學(xué)攻擊等。如果識別出網(wǎng)絡(luò)設(shè)備,就可以竊取更多、更詳細(xì)的資料,如通過命令行工具traceroute等了解路由器、防火墻以及其他可以接近目標(biāo)的設(shè)備。
用于信息收集的網(wǎng)絡(luò)工具有:開源整合工具如 Maltego(www.paterva.com/web5/)、社交網(wǎng)絡(luò)工具如 Facebook和 LinkedIn、社會工程學(xué)工具(SET)以及專門用來“反人為因素的高級攻擊”工具等。
網(wǎng)絡(luò)掃描首先通過大量的 ping掃描方式來識別網(wǎng)絡(luò)主機(jī)和設(shè)備,然后利用網(wǎng)絡(luò)控制報文協(xié)議(ICMP)等獲知網(wǎng)絡(luò)掩碼,打開 TCP和用戶數(shù)據(jù)報文協(xié)議(UDP)端口(可以識別系統(tǒng)服務(wù),因?yàn)楹芏嘁阎丝跁成湟粋€系統(tǒng)服務(wù))。
用于網(wǎng)絡(luò)掃描的工具有很多,流行的 Fyodor Nmap掃描器是一款免費(fèi)的、集合 ping掃描、端口掃描、操作系統(tǒng)檢測、服務(wù)和服務(wù)版本檢測等多功能的網(wǎng)絡(luò)掃描工具,提供16種語言,適合所有主流操作系統(tǒng)以及 Amiga等非主流操作系統(tǒng)。另一款流行的網(wǎng)絡(luò)掃描工具是含有網(wǎng)絡(luò)掃描功能的網(wǎng)絡(luò)入侵測試工具M(jìn)etasploit。
賬戶破解指黑客以枚舉方式來獲取賬戶或賬戶憑據(jù)以及賬戶共享的網(wǎng)絡(luò)資源的過程。這個過程包括建立(或企圖建立)連接,并通過net view、finger、rpcinfo等工具不斷嘗試直至成功。一旦獲取了用戶名,密碼就可以通過猜測(利用信息收集時獲取的信息)、密碼發(fā)生器或截取的網(wǎng)絡(luò)信息破解。
常用的破解工具如 Metasploit,含有即裝即用的破解模塊。其版本3.5中,還能破解 MySQL和 MSSQL服務(wù)、Oracle數(shù)據(jù)庫用戶、DNS服務(wù)、SAP商務(wù)對象、Apache網(wǎng)絡(luò)服務(wù)器、Wordpress博客、服務(wù)器信息塊(SMB)用戶及共享、簡單郵件傳輸協(xié)議(SMTP)用戶、會話發(fā)起協(xié)議(SIP)用戶,甚至 SMTP和Telnet認(rèn)證等。
到底是破壞系統(tǒng)、感染系統(tǒng)還是潛伏下來,主要看黑客的意圖。
如果只是想中止一個進(jìn)程或服務(wù),只要知道服務(wù)器的外部 IP地址,用簡單的 DOS攻擊就可以實(shí)現(xiàn)了。如果想攻擊一個內(nèi)部系統(tǒng)或服務(wù),則需要突破層層防御。
一旦進(jìn)入系統(tǒng),就可以在某個設(shè)備上安裝和執(zhí)行惡意代碼來感染系統(tǒng)。這些惡意代碼有的簡單,比如 botnets僵尸程序;有的復(fù)雜,如Rootkits程序和內(nèi)存駐留程序。系統(tǒng)感染后,黑客就可以隨心所欲,如打開后門、提升權(quán)限、感染其他設(shè)備、新建控制命令等。
潛伏意味著攻擊者的目的是侵入網(wǎng)絡(luò)并隱藏下來,等待時機(jī)。潛伏的同時還需要做到:⑴建立外部連接或控制命令的后門;⑵不斷挖掘用戶憑據(jù)以進(jìn)入其他系統(tǒng);⑶提升權(quán)限,獲取數(shù)據(jù);⑷刪除 log和其他入侵痕跡,偽裝合法服務(wù)以隱藏控制命令,改頭換面避免被發(fā)現(xiàn)。
成功潛伏意味著整個攻擊過程都必須是隱蔽的,也就是說,整個過程要在內(nèi)存里完成,或通過重寫服務(wù)程序,讓外部控制命令可以借合法服務(wù)暗中運(yùn)行。潛伏還可能包括多重感染,如果惡意程序被發(fā)現(xiàn)并刪除,“備份”的惡意程序?qū)孕碌牟槐恢獣缘男问郊せ睢?/p>
網(wǎng)絡(luò)攻擊的基本步驟和方法同樣適用于工業(yè)控制系統(tǒng)網(wǎng)絡(luò)。不過,由于工業(yè)控制系統(tǒng)網(wǎng)絡(luò)使用專門的系統(tǒng)和協(xié)議,其攻擊步驟和方法也有一定的差異性。
工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)、協(xié)議和系統(tǒng)都比較特殊,攻擊者要搜集到相關(guān)信息并不容易,他們通常會從企業(yè)的公開信息、輪班時間表、合作服務(wù)和貿(mào)易往來,尤其是企業(yè)供應(yīng)商所提供產(chǎn)品的協(xié)議規(guī)范等入手。
遺憾的是,搜集這些信息變得越來越容易。如搜索引擎 SHODAN,可以根據(jù)端口、協(xié)議、國家和其他條件搜索與互聯(lián)網(wǎng)關(guān)聯(lián)的所有設(shè)備。任何使用 HTTP、FTP、SSH或Telnet協(xié)議的服務(wù)器、網(wǎng)絡(luò)交換機(jī)、路由器或其他網(wǎng)絡(luò)設(shè)備都可以被它檢索到,進(jìn)而輕易找到應(yīng)用 SCADA協(xié)議的設(shè)備。雖然很難置辦整個控制系統(tǒng)來實(shí)施逆向工程,但攻擊者可以通過各種公開或地下渠道了解控制系統(tǒng)相關(guān)設(shè)備的漏洞和后門。
利用網(wǎng)絡(luò)掃描可以通過端口、協(xié)議等信息快速定位 SCADA和 DCS系統(tǒng)。例如,如果掃描出某設(shè)備的502端口使用的是 Modbus協(xié)議,那么可以推斷,與該設(shè)備連接的很可能是 HMI系統(tǒng)或某些監(jiān)管工作站。
值得注意的是,很多工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)協(xié)議對時延非常敏感,如果硬掃描,很可能導(dǎo)致整個網(wǎng)絡(luò)癱瘓。所以,如果攻擊者只是想中斷系統(tǒng)服務(wù),那么,只要進(jìn)行簡單的網(wǎng)絡(luò)掃描就可以達(dá)到目的;或者,若掃描發(fā)現(xiàn)實(shí)時協(xié)議只受到防火墻的保護(hù),那么只憑基本的黑客技術(shù),實(shí)施 DOS攻擊就可以奏效。如果攻擊者另有圖謀,則只能采取軟掃描方式,以避免系統(tǒng)崩潰。
目標(biāo)系統(tǒng)定位之后,再根據(jù)工業(yè)控制系統(tǒng)網(wǎng)絡(luò)協(xié)議的特點(diǎn)進(jìn)行后續(xù)掃描,就可以獲取相關(guān)設(shè)備信息。如:可以根據(jù)以太網(wǎng) /IP流量識別出關(guān)鍵基礎(chǔ)設(shè)施保護(hù)(CIP)設(shè)備及屬性;可以根據(jù) DNP3響應(yīng)結(jié)果發(fā)現(xiàn)DNP3的從屬地址;可以通過截取EtherCAT幀信息或 SERCOSⅢ主站數(shù)據(jù)電報得到所有隸屬設(shè)備及其時間同步信息。
很多工業(yè)控制系統(tǒng)是基于Windows的,那些專門破解Windows賬戶信息的方法和工具也可以應(yīng)用到工業(yè)控制系統(tǒng)上。尤其是運(yùn)行在 Windows OLE和 DCOM上的 OPC 系統(tǒng),只要通過主機(jī)認(rèn)證就可以全面控制 OPC環(huán)境。如果無法獲得底層協(xié)議認(rèn)證,也可以通過枚舉方式破解控制系統(tǒng)內(nèi)其他用戶和角色。如 HMI用戶、ICCP服務(wù)器憑據(jù) (雙向表 )、主節(jié)點(diǎn)地址(任何主/從工業(yè)協(xié)議)、以往數(shù)據(jù)庫認(rèn)證信息等。
進(jìn)入 HMI,就可以直接控制HMI管理的進(jìn)程,并竊取信息;進(jìn)入 ICCP服務(wù)器,就可以竊取或操縱控制中心之間的傳輸數(shù)據(jù)。所以說,從功能上將物理設(shè)備和邏輯設(shè)備全部隔離到安全區(qū)域是非常重要的。NIST 800-82(工業(yè)控制系統(tǒng)安全防護(hù)指南 )還建議采用賬戶復(fù)合認(rèn)證方式。有了物理和數(shù)字的雙重保護(hù),賬戶就很難破解;也就是說,即使知道了某個用戶名或某個密碼,也很難通過賬戶認(rèn)證。
正如前面所述,一次簡單的網(wǎng)絡(luò)掃描就可以破壞工業(yè)控制系統(tǒng)網(wǎng)絡(luò)。因?yàn)楣I(yè)控制系統(tǒng)網(wǎng)絡(luò)協(xié)議非常敏感,信息流稍有變化,協(xié)議就會失效。所以,攻擊者可以利用硬掃描來破壞系統(tǒng),利用軟掃描來偵測信息。另外,也可以通過防火墻實(shí)施網(wǎng)絡(luò)掃描,因?yàn)橥ㄟ^防火墻的開放端口進(jìn)行分組交換更加容易。一旦掃描通過,黑客就可偽裝成合法通信,對控制網(wǎng)絡(luò)實(shí)施 DOS攻擊。
如果攻擊目的是侵入網(wǎng)絡(luò)或者潛伏網(wǎng)絡(luò),這里以“震網(wǎng)”(Stuxnet)為例可了解黑客可能會應(yīng)用的滲透技術(shù)?!罢鹁W(wǎng)”是一種專門針對工業(yè)控制系統(tǒng)的、基于 Windows平臺的蠕蟲病毒,它具有多種掃描和滲透機(jī)制,能自我復(fù)制,傳播能力強(qiáng),極具隱身性。入侵網(wǎng)絡(luò)后,“震網(wǎng)”會根據(jù)不同環(huán)境做出不同反應(yīng),如在“企業(yè)環(huán)境”,它會尋找目標(biāo)HMI,然后入侵 HMI;在“工業(yè)環(huán)境”,它會感染 HMI,尋找目標(biāo) PLCs,然后將惡意代碼植入其中;在“運(yùn)行環(huán)境”,它會利用 PLC尋找某個帶特定參數(shù)運(yùn)行的 IEDs,然后植入代碼,進(jìn)行破壞活動。
簡單來說,“震網(wǎng)”的攻擊手段可以總結(jié)為:以常見的黑客技術(shù)發(fā)動初次攻擊;入侵SCADA和DCS后,利用其資源再侵入其他工業(yè)控制系統(tǒng);對“非路由”系統(tǒng)(如 PLCs和IEDs組成的總線),它也可以進(jìn)行感染,并滲透到更深層的工業(yè)生產(chǎn)過程中。
(未完待續(xù),“系列之三:黑客攻擊工業(yè)控制系統(tǒng)網(wǎng)絡(luò)的步驟與方法”見2015年第5期)