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