新聞動態

News information

《工業信息安全》雜志刊登:基于零信任的工控系統勒索防御體系【1】

<<返回

2023年10月09日 16:05

摘要:隨著工控系統網絡信息化的深入,工控系統面臨的安全威脅形勢愈加嚴峻,其中針對工控系統的勒索病毒危害性越來越大,嚴重威脅工控系統安全和業務正常運行,甚至導致嚴重安全事件。如何防御勒索病毒成為工控系統網絡安全迫切需要解決的難題?;诖?,本文對工控系統的勒索攻擊和防御設計進行了系統的梳理和研究驗證。首先梳理針對工控系統的勒索攻擊模式,分析勒索攻擊的途徑、階段和逃逸技術;其次概述了零信任網絡安全架構,重點闡述了工控系統場景下,基于零信任設計勒索防御體系的能力目標、實現途徑和部署模式;最后對基于零信任的工控系統勒索防御體系進行了實現與驗證。


關鍵詞:零信任;工控系統;勒索病毒;網絡安全

01.
針對工控系統的勒索攻擊模式


1.1 勒索攻擊的3個途徑


工控系統的結構從下至上可分為現場設備層、現場控制層、過程監控層和生產管理層。各層次保護對象和各層次具體保護資產如圖1所示。


圖片1.png

圖1?工控系統結構


針對工控系統的勒索攻擊,其攻擊途徑主要有3個:互聯網側、內部、現場側,如圖2所示。其中自互聯網側入侵到工控系統的途徑又大致分為兩類:一類是從互聯網側先入侵到IT網絡再入侵到工控網絡;一類是從互聯網入侵暴露在互聯網的現場儀表或控制設備。


圖片2.png

圖2?工控系統的攻擊來源示意圖


1.2 勒索攻擊的4個階段


從互聯網側先入侵到IT網絡再入侵到工控網絡的過程如圖3所示。


圖片3.png

圖3?從互聯網側先入侵到IT網絡再入侵到工控網絡的過程示意圖


從IT進入到OT區域后,按照ATT&CK的攻擊鏈通用過程如圖4所示。


圖片4.png


圖4?ATT&CK的攻擊鏈通用過程示意圖


而對于進入OT區域后的勒索攻擊,需要基于圖4的通用攻擊鏈,增加數據竊取、數據加密等過程,如圖5所示。


圖片5.png


圖5?基于通用供給鏈增加數據竊取、數據加密等過程示意圖


通過對大量勒索攻擊過程的分析,可以將勒索攻擊分為攻擊載荷投放、攻擊執行、數據竊取與加密、勒索實施4個階段,如圖6所示。


圖片6.png

圖6?勒索攻擊的4個階段示意圖


1.2.1 攻擊載荷投遞階段


攻擊載荷投遞階段常發生的攻擊手法包括弱口令攻擊、漏洞利用攻擊、網站掛馬攻擊、激活工具與破解軟件攻擊、僵尸網絡攻擊、供應鏈攻擊等。


(1)弱口令攻擊。弱口令攻擊即有限口令爆破攻擊。計算機中涉及弱口令爆破攻擊的暴露面,主要包括遠程桌面弱口令、VNC弱口令、SMB弱口令、數據庫管理系統弱口令、Tomcat弱口令、RPC(Remote Procedure Call)遠程過程調用、phpMyAdmin弱口令、FTP(File Transfer Protocol,文件傳輸協議)弱口令等。


(2)漏洞利用攻擊。利用系統漏洞或應用軟件漏洞進行攻擊,是APT攻擊常用手段。而在近年來的勒索病毒投遞中,也經常能看到漏洞的利用。此外還有不少勒索病毒通過已有的漏洞利用工具進行漏洞檢測/勒索傳播。


(3)網站掛馬攻擊。網站掛馬攻擊作為常見攻擊手段,也越來越多被用于勒索傳播。掛馬攻擊還常與其他攻擊手段相伴使用——比如釣魚郵件結合掛馬攻擊,誘騙用戶安裝病毒文件。


(4)激活工具與破解軟件攻擊。程序激活工具、破解軟件這類程序本身開發管理不規范,開發人員魚龍混雜。因此也成為勒索傳播的主要渠道,特別是國內個人用戶感染勒索病毒的主要渠道之一。


(5)僵尸網絡攻擊。僵尸網絡也常被黑客用來傳播和實施勒索。攻擊者通常利用各類木馬、蠕蟲、漏洞利用工具抓取“傀儡機”,經營布置其僵尸網絡。在需要發起攻擊時,向被控端發起指令,利用被控端發起二次攻擊。


(6)供應鏈攻擊。供應鏈攻擊隱蔽性較高、發現難度大、影響范圍廣、時間跨度長,經常被APT組織用來作為攻擊手段。


1.2.2 攻擊執行階段


攻擊執行階段的關鍵步驟包括防御繞過、發現、橫向移動等。

(1)防御繞過又可以劃分為3個階段,如圖7所示。


圖片7.png

圖7?防御繞過的3個階段


階段1:Loader(啟動器),用來感染設備或主機并獲得啟動持久性,通過各種安全防護系統難以發現的隱蔽方式下載階段2組件。


階段2:建立C&C(命令與控制,Command and Control)通信,并下載階段3需要的各類組件。


階段3:根據工控環境啟動各種攻擊組件。一般情況下主要有四類組件:工具集組件(如漏洞利用工具、網絡掃描、SOCK5代理、反向VPN(虛擬私人網絡,Virtual Private Network)、端口轉發、遠程訪問工具等);流量嗅探組件(比如監聽并抓取Modbus、IEC 104等工控流量);數據竊取組件(比如攔截80端口流量到自己架設的WEB網站,通過提前注入WEB頁面的js程序記錄敏感信息);實施勒索組件。


(2)發現。勒索病毒要發現有價值的數據以及可以加密的數據,需要對工控系統的設備和軟件進行充分研究,在一定程度上給黑客增添了難度。


(3)橫向移動。針對企業的勒索病毒攻擊,我們經??梢钥吹絾未喂羰录е碌拇罅吭O備同時中招,甚至整個工控網絡癱瘓。黑客拿下一個客戶端之后,一般會利用多種攻擊手段刺探工控網絡情況,并橫向移動到內網其他設備中。攻擊者可以使用武器化的PLC在內部網絡上獲得初步立足點,甚至進行橫向移動。攻擊者不僅可以簡單地連接到暴露的PLC并修改邏輯,還可以武裝這些PLC并故意造成故障,將工程師引誘到他們那里。作為一種診斷方法,工程師將執行一個會危及他們機器的上傳程序。這將促成攻擊者在OT網絡上站穩了腳跟。

圖片8.png

圖8 橫向移動攻擊示意圖


1.2.3 數據竊取與加密階段


(1)數據竊取

進入到OT區域的勒索病毒在數據竊取的方式上與IT方式上基本沒有區別,主要的方式如下。


1、C&C通道隱藏

通過使用公共網絡端口、進程注入和Windows服務持久性來避免檢測、只是啟動出站網絡連接、使用TCP端口80或443、簡單惡意軟件簽名,如MD5哈希,文件名,使得傳統的反病毒方法有效性大大降低、使用TLS加密,表現為https連接。


2、數據混淆

將“垃圾數據”添加到每個編碼字符串;將合法的流量摻入到C&C通信中,從而使網絡流看起來是合法的;在對C2網絡請求進行編碼的過程中,在每個原始字符之間插入偽隨機字符;使用隱寫術將通信隱藏在Bitmap、PNG、JPG、PDF文件中;使用Base64、更改后的base64、Base64 + bzip2、Base64 +反向XOR + RSA-2048來混淆與C2服務器的通信;將加密的C2數據轉換為十六進制表示形式,然后再將其編碼為base64;使用自定義系統對C2通信進行編碼;模擬合法的即時通信軟件(如MSN和Yahoo)生成的數據來逃避檢測。


3、標準加密協議

用OpenSSL庫加密C2通信,對C2通信進行DES加密/3DES加密/RSA編碼加密/AES加密/AES256加密);使用SSL庫進行C2通信,對C2通信進行XOR加密/RC2加密/RC4加密/base64編碼加密/SSL加密/TLS加密;使用Plink實用程序創建SSH隧道/RDP隧道,對C2通信進行SEAL加密/RSA-2048加密;使用Caracachs來加密C2有效載荷;使用Blowfish密碼來加密C2通信。


4、自定義加密協議

對C2通信進行DES加密/3DES加密/XOR加密/自定義算法加密/加法運算加密/ROR(循環右移)操作/base64編碼加密/RC4編碼加密/RSA編碼加密/按位NOT操作;使用自定義SSL庫進行C2通信;對C2通信進行FakeTLS加密;利用Microsoft CryptoAPI的自定義加密器來加密C2流量。


5、多頻通訊

可以從一種協議接收C2命令并在另一種協議上做出響應。通??梢允荋TTP,HTTPS和DNS流量的混合。


6、使用常用端口

使用與端口關聯的協議或完全不同的協議進行C2通信。


7、使用非常用端口進行C2通信

通過非標準端口進行C2通信,以繞過配置不當的代理和防火墻。


8、使用WMI與本地和遠程系統進行交互,將其用作執行各種攻擊手段

使用WMI收集受害主機的詳細信息,如搜集系統信息、搜集進程信息、查詢Windows注冊表、竊取憑據、檢查防病毒軟件狀態、獲取防火墻詳細信息等;使用WMI將有效負載傳遞給遠程主機,如遠程控制工具;使用WMI來啟動惡意軟件;通過WMIEXEC執行命令;使用WMIC(WMI命令行)執行有效負載;使用WMI執行powershell.exe;利用WMI進行橫向運動;使用WMIC清理痕跡;使用WMIC刪除卷影副本。


9、使用標準應用層協議進行C2通信(隧道)

使用HTTP進行命令和控制;使用HTTPS隱藏C2通信;使用FTP進行命令和控制;使用FTPS進行命令和控制;使用SMTP進行命令和控制;使用POP3進行命令和控制;使用DNS進行命令和控制;使用SMB進行命令和控制;使用SSL進行命令和控制;使用SSH進行命令和控制;使用RDP進行命令和控制;使用IRC進行命令和控制;使用Wininet API連接到C2服務器的端口80;使用的JavaScript通過HTTP或HTTPS與C2服務器進行通信;通過發送和接收電子郵件將SMTP / S和POP3 / S用于C2通信。


10、使用標準非應用層協議進行C2通信(隧道)

使用TCP進行C2通信;使用UDP進行C2通信;使用SOCKS進行通信;可以通過原始套接字進行通信;使用ICMP進行C2通信;使用英特爾?主動管理技術(AMT)局域網串行(SOL)通道進行命令和控制。


11、自定義命令和控制協議

可以使用自定義命令和控制協議進行通信,而不是將命令/數據封裝在現有的標準應用層協議中。實現包括模仿眾所周知的協議或在TCP/IP/另一個標準網絡堆棧提供的基本協議之上開發自定義協議(包括原始套接字)。


12、多層加密

使用多層加密來執行C2通信,例如在加密協議(例如HTTPS或SMTPS)內通過隧道傳輸自定義加密方案。


13、連接代理

使用其他受害者作為代理來中繼命令和控制通信;使用SOCK5代理建立C2通道;使用SOCKS5代理建立C2通道;Dridex包含一個反向連接模塊,可以在受害者的計算機上建立網絡流量隧道,這樣受感染的計算機就成了P2P僵尸網絡的一部分,可以通過該僵尸網絡將C2流量中繼到其他受感染的主機上;使用多個代理來混淆受害者的網絡流量;使用全球服務提供商的IP作為來自受害者的C2流量的代理;使用受感染的主機作為SOCKS5代理,以進行隧道和代理;Turla RPC后門包括本地UPnP RPC代理。


14、網絡服務

攻擊者可能會將內容(例如死點解析器)發送到具有嵌入式域或IP地址的Web服務上(如谷歌和推特)。受害者會連接到這些內容并被重新定向。


15、多級通道

攻擊者可能創建多級通道(即多個C2服務器),受害者計算機上的后門程序在不同條件或根據不同的功能連接到不同的C2服務器。例如首先回連第一個C2服務器,然后根據第一個服務器給的指令再確定連接到其他的C2服務器。


16、遠程文件復制

攻擊者可以通過遠程操作,在內部受害者系統之間使用SMB、管理員共享、遠程桌面連接等方式實現橫向復制文件(遠程控制工具、惡意代碼等)。


17、數據編碼

使用ASCII對命令和控制信息進行編碼;使用Unicode對命令和控制信息進行編碼;使用Base64對命令和控制信息進行編碼;使用MIME對命令和控制信息進行編碼;使用UTF-8對命令和控制信息進行編碼。


18、域前置

域前置利用內容交付網絡(CDN)和其他服務(具有多個域)的路由方案,來混淆HTTPS流量或通過HTTPS隧道傳輸的流量的真實目的地。該技術在TLS標頭的SNI字段和HTTP標頭的Host字段中使用不同的域名。如果兩個域都來自同一個CDN,則CDN可以在解開TLS標頭后路由到HTTP標頭中指定的地址。該技術的一種變體,“無域”前置,利用了空白的SNI字段;即使CDN嘗試驗證SNI和HTTP Host字段是否匹配,因為空白SNI字段會被忽略,因此(無域)前置也可以工作。


19、利用COM來執行本地命令及有效負載

可以通過多種編程語言(例如C,C ++,Java和VBScript)調用已公開的各種COM接口,以執行任意可執行程序。還存在特定的COM對象,它們可以直接執行某項功能(而非通過代碼執行),例如創建計劃任務、無文件下載/執行,以及其他攻擊行為,例如特權提升和持久化。


20、使用DCOM進行橫向移動

通過DCOM,在具有適當特權的用戶上下文中可以隨意進行遠程攻擊操作,通過Office應用程序以及其他包含不安全方法的Windows對象,甚至可以直接執行shell代碼。DCOM還可以在現有文檔中執行宏,還可以直接通過COM創建的Microsoft Office應用程序實例直接調用動態數據交換(DDE)執行,而無需使用惡意文檔。


21、端口試探

端口試探(port knocking)是一種通過連接嘗試,從外部打開原先關閉端口的方法。一旦收到正確順序的連接嘗試,防火墻就會動態打開一些特定的端口給允許嘗試連接的主機。端口試探類似于一次秘密握手協議,比如一種最基本的方式:發送一定序列的UDP、TCP數據包。當運行在主機上的daemon程序捕捉到數據包以后,如果這個序列正確,則開啟相應的端口,或者防火墻允許客戶端通過。


22、DC陰影

DCShadow是一種通過域控制器使用的合法API來修改活動目錄中的現有數據的新型攻擊技術。當攻擊者“拿下”域管理員權限之后,可以將這種技術應用于工作站,以繞過大多數SIEM解決方案,實現對該域的長久控制。


23、數據壓縮

使用自定義程序或算法(例如LZWA)進行壓縮;使用常用的壓縮庫(例如zlib)進行壓縮;使用壓縮程序(例如7zip,RAR,ZIP)進行壓縮。


24、定期轉移

在一天中的某個特定時間或時間段內執行數據泄露。


25、數據傳輸大小限制

以固定大小的數據塊而不是整個文件泄露數據;將數據包大小限制為低于某個閾值。


26、通過命令和控制通道泄露

通過命令和控制通道執行數據泄露。使用與命令和控制通信相同的協議將數據編碼到正常通信通道中。


27、通過替代協議泄露

采用與主命令控制協議不同的協議進行數據泄漏。替代協議包括FTP,SMTP,HTTP/S,DNS,SMB或任何其他其他不用作主要命令和控制通道的網絡協議。


(2)數據加密

勒索病毒常見加密方式如表1所示。


圖片9.png

1?勒索病毒常見加密方式


勒索病毒一般先對竊取的數據實施加密后再回傳。數據回傳方式常見有電子郵件、FTP、HTTP及Tor匿名網絡,勒索攻擊者可以選擇其中任意一種方式,并將相關參數硬編碼到勒索病毒代碼中實現回傳。


1.3 勒索攻擊的4類逃逸技術


勒索攻擊的逃逸技術包括如下4類。
(1)使用無文件技術規避檢測

對代碼進行混淆,并使用加載器間接執行,各層載荷不落地,只在內存中加載,如無文件勒索攻擊病毒ProLock (2020.4.19)、WannaRen勒索軟件(2020.4.14)、FTCode 勒索軟件 (2020.1)、Sorebrect (2019.1.2)。其中常用的技術有如下幾點。


1、對內存載荷進行加密:

通常使用被混淆的較為復雜的自定義加解密算法,將攻擊載荷加密存放于自身文件的資源段或遠程服務器中,只在運行時獲取并解密,避免了載荷落地,規避安全軟件檢測。


2、使用多層載荷:

使用多層攻擊載荷嵌套加載,每層載荷使用不同的混淆手段在內存中加載,規避安全軟件檢測。


3、使用進程鏤空技術:

使用跨進程內存操作的API函數將其他正常進程的內存空間替換為惡意代碼,將自身偽裝為正常進程執行,躲避安全軟件檢測。


(2)使用隱寫術規避檢測

隱寫術即信息隱藏的技術,將載荷和配置信息隱藏在其他信息中,或以不常見的載體來存儲信息。比如加載器將PE格式的攻擊載荷隱藏在圖片像素中,運行時通過解析圖片的像素點數據來還原載荷,以躲避檢測。


(3)利用異常處理機制對抗分析

通過注冊自定義的異常處理函數,打亂正常的執行流程,破壞調試器功能,以此對抗分析。比如注冊VEH異常處理函數,捕獲int 3指令觸發的異常,實現間接調用API及反調試的效果。


(4)隱蔽網絡通道

通過隱蔽網絡通道,將控制命令、竊取的敏感數據通過正常的網絡通道與正常流量一并進行傳送。


未完待續……

來源:《工業信息安全》2023年第4期

国产91 丝袜在线播放动漫-精品国产一区二区AV片-泷泽萝拉亚洲精品中文字幕-媚药侵犯无码中文字幕