0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

邪惡PLC攻擊技術(shù)的關(guān)鍵步驟

智能制造之家 ? 來源:智能制造之家 ? 2024-01-23 11:20 ? 次閱讀

今天我們來聊一聊PLC武器化探秘:邪惡PLC攻擊技術(shù)的六個關(guān)鍵步驟詳解。

以色列工業(yè)網(wǎng)絡(luò)安全公司Claroty旗下的Team82研究團隊開發(fā)了一種稱為Evil PLC攻擊的新技術(shù),其中PLC被武器化并用于突破并控制工程師站。在工程師站上立足的攻擊者可以訪問連接該機器的OT網(wǎng)絡(luò)上的任何其他設(shè)備,包括其它PLC。攻擊的目標是從事工業(yè)網(wǎng)絡(luò)運維、PLC配置和故障排除的工程師,他們的工作是確保公用事業(yè)、電力、水和廢水、重工業(yè)、制造和汽車等關(guān)鍵行業(yè)的流程的安全性和可靠性。Team82團隊的研究成果在7家自動化公司(羅克韋爾自動化、施耐德電氣、通用電氣、貝加萊、信捷、OVARRO和艾默生)的相應設(shè)備上進行了有效的概念驗證利用。

PLC在工業(yè)領(lǐng)域的重要作用不言而喻,典型的工業(yè)網(wǎng)絡(luò)可能有幾十臺PLC執(zhí)行不同的操作,因之它也成為極其具有吸引力的攻擊目標。但通常我們所能理解的大多數(shù)涉及PLC的攻擊場景都是圍繞PLC本身的訪問、控制和利用。

Team82研究團隊另辟蹊徑,他們試圖尋找一種不同的方法,將PLC作為工具而不是目標?;诖?,研究人員希望利用PLC來訪問它的維護者,工程師站。攻擊者引誘工程師連接到受感染的PLC的最快方法是使PLC發(fā)生故障或異常。這將迫使工程師使用工程師站軟件連接作為故障排除工具。一旦控制工程師站,它將是獲取相關(guān)信息的最佳來源,并將通過它訪問網(wǎng)絡(luò)上的所有其他PLC。通過這些訪問和信息,攻擊者可以很容易地改變?nèi)魏蜳LC上的邏輯。

通過Team82的研究,他們試圖對多個領(lǐng)先的ICS平臺執(zhí)行這種新的攻擊向量。研究人員在七家自動化廠商的平臺上發(fā)現(xiàn)了各種漏洞,這些漏洞使他們能夠?qū)LC武器化,當執(zhí)行上傳程序時,研究人員專門制作的輔助數(shù)據(jù)片段會導致工師站執(zhí)行預制的惡意代碼。

一 基礎(chǔ)知識

對于每個目標供應商平臺,需要研究的完整生態(tài)系統(tǒng)包括:

-工程師站軟件-工程師站項目文件-專有協(xié)議(PLC和工程師站)-PLC固件-邏輯代碼(字節(jié)碼,文本代碼)

1b567594-b99e-11ee-8b88-92fbcf53809c.jpg

1、項目文件通常情況下,項目文件是簡單的基于存檔的文件,具有相對容易理解的結(jié)構(gòu);大多數(shù)情況下,研究工作都是從那里開始的。例如,GE MarkVIe項目文件包含具有易于理解的命名約定的文本XML文件。它幫助研究人員了解工程師站生成并傳輸給PLC的全部數(shù)據(jù)類型范圍。如下圖是一個GE ToolBoxST的項目文件。

1b59f336-b99e-11ee-8b88-92fbcf53809c.jpg

當然,也一些項目文件是以研究人員需要分析和逆向工程的專有格式存儲的。例如,艾默生工程師站PAC機器版使用的是一種專有的.swxcf項目文件格式,它是基于二進制的MFC序列化數(shù)據(jù)。這個項目文件存儲了一個完整的操作項目所需的數(shù)百個序列化的c++對象。為了完成研究工作,研究人員為所有文件格式編寫了解析器,并提取了項目的源代碼邏輯、元數(shù)據(jù)和配置數(shù)據(jù)。下圖就是一個艾默生工程師站PAC機器版使用的是一種專有的.swxcf項目文件示例。

1b68c082-b99e-11ee-8b88-92fbcf53809c.jpg

2、通信協(xié)議

另一個需要考察的重要方面,每個供應商開發(fā)和實現(xiàn)的專有協(xié)議。通過該協(xié)議,工程師站軟件可以與兼容的PLC進行通信,執(zhí)行獲取其狀態(tài)、進行監(jiān)控和數(shù)據(jù)采集(SCADA)操作、進行固件升級等操作,對研究人員來說最重要的是執(zhí)行上傳/下載程序,修改或獲取當前運行的邏輯。有些協(xié)議很容易分析,而有些則很復雜。最終,研究人員為這個研究項目范圍內(nèi)的所有專有協(xié)議開發(fā)了解析器和客戶端。

例如,信捷XD工程師站PLC Program Tool就是使用基于UDP modbus協(xié)議與PLC進行通信的。大部分功能是通過Modbus讀取/寫入文件記錄和/或多寄存器Modbus功能代碼實現(xiàn)的。下圖是上傳過程中對信捷協(xié)議網(wǎng)絡(luò)流量的Wireshark截圖。

1b78a402-b99e-11ee-8b88-92fbcf53809c.jpg

3、文本代碼和字節(jié)碼

除了項目文件和專有協(xié)議之外,還研究了文本代碼(源代碼)和字節(jié)碼(編譯代碼)。這是研究工作的一個重要方面,因為它允許研究人員執(zhí)行全面的下載/上傳程序,并幫助研究人員實現(xiàn)自動化和獲得對PLC邏輯的控制。

雖然在研究中這不是必要的,但在某些情況下,為專有的PLC字節(jié)碼開發(fā)了部分/完全工作的編譯器和反編譯器。

4、惡意代碼或攻擊載荷

最后,為了實現(xiàn)有效載荷和演示目的,研究人員準備了一個假的WannaCry勒索軟件,它只是向用戶顯示一個看起來很嚇人的彈出的勒索通知。在實際的攻擊場景下,這個惡意代碼很可能是敏感信息竊取、隱蔽后門、內(nèi)網(wǎng)滲透等等不同用途的木馬,加密文件的勒索軟件,甚至是破壞性的文件擦除器。

1b8dbe3c-b99e-11ee-8b88-92fbcf53809c.jpg

通過Team82全面的研究,能夠找到7個以前未報告的漏洞,這些漏洞使Team82能夠?qū)⑹苡绊懙腜LC武器化,并在每次上傳過程發(fā)生時攻擊工程師站。所有的發(fā)現(xiàn)都按照Team82的協(xié)調(diào)披露政策報告給受影響的供應商。

二 攻擊場景想定

當觀察Team82的邪惡PLC攻擊向量時,研究人員得出的結(jié)論是,它可以用于進攻和防御兩種方式??紤]到這一點,Team82設(shè)計了三種不同的攻擊場景,可以使用這種新的攻擊向量。

1、將PLC武器化以實現(xiàn)初始訪問

攻擊者可以使用武器化的PLC來在內(nèi)部網(wǎng)絡(luò)上獲得初步立足點,甚至是橫向移動。目前,利用Shodan和Censys在內(nèi)的大多數(shù)公共互聯(lián)網(wǎng)掃描服務,可以確定有數(shù)十萬臺ICS設(shè)備暴露在互聯(lián)網(wǎng)上。這些面向互聯(lián)網(wǎng)的設(shè)備通常缺乏安全性,允許任何人訪問它們,修改參數(shù),甚至通過下載程序改變它們的行為和邏輯。Team82的研究表明,攻擊者可以利用面向互聯(lián)網(wǎng)的PLC作為支點,滲透整個OT網(wǎng)絡(luò)。攻擊者不是簡單地連接到暴露的PLC并修改邏輯,而是可以武器化這些PLC并故意造成錯誤,從而引誘工程師使用它們。作為一種診斷方法,工程師將執(zhí)行一個上載程序,這將危及他們工作站。攻擊者進一步控制工作站,在OT網(wǎng)絡(luò)上站穩(wěn)了腳跟。

2、攻擊系統(tǒng)集成商

攻擊者可以針對系統(tǒng)集成商和承包商,作為進入世界各地許多不同組織和站點的手段。攻陷設(shè)備集成商:因為OT網(wǎng)絡(luò)管理中,第三方工程師和承包商管理OT網(wǎng)絡(luò),它需要與許多不同的OT網(wǎng)絡(luò)設(shè)備和PLC交互。這給這個新的攻擊向量提供了另外另一個應用場景。即攻擊者可以攻陷并利用這些系統(tǒng)集成商作為支點,以大幅擴大他們的控制和影響范圍。

實際步驟將會是:攻擊者在一個遠程的、不太安全的設(shè)施中定位了PLC,已知該設(shè)施由系統(tǒng)集成商或承包商管理。然后攻擊者將PLC武器化,故意使PLC出現(xiàn)故障。這樣,統(tǒng)集成商或承包商的工程師就會被引誘到可編程控制器前進行診斷。通過診斷過程,集成商將做一個上傳程序,從而使他們的機器被控制。在進入集成商的機器后,通過設(shè)計可以訪問許多其他PLC,攻擊者可以反過來攻擊甚至武器化其他組織內(nèi)的更多可訪問的PLC,進一步擴大他們的控制范圍。

3、將PLC武器化為蜜罐

防御者可以使用蜜罐PLC來吸引和攻擊可能的攻擊者,從而威懾和挫敗潛在的攻擊者。從防御的角度來看,這種新的攻擊向量可以用來為可能的攻擊者設(shè)置陷阱,即蜜罐。通過利用攻擊者也使用與工程師相同的商業(yè)工具這一事實,防御者可以故意設(shè)置公開可訪問的可武器化的PLC,并允許攻擊者與它們交互。這些PLC將充當一個蜜罐,吸引攻擊者與它們交互。但是,如果攻擊者落入陷阱,并從誘餌PLC嘗試執(zhí)行上載過程,我們的武器化代碼將在攻擊者的機器上執(zhí)行。這種方法可以用于早期階段的攻擊檢測,也可能阻止攻擊者以面向互聯(lián)網(wǎng)的PLC為目標,因為他們需要保護自己不會成為有計劃攻擊的目標。

1b9bb438-b99e-11ee-8b88-92fbcf53809c.jpg

三 攻擊步驟

對于每個目標/平臺,研究人員試圖通過對固件和工程師站軟件進行逆向工程來剖析整個下載/上傳機制。研究人員的目標是找出PLC和工程師站之間的差異。如果發(fā)現(xiàn)了這種不一致,就可以通過惡意下載程序?qū)LC武器化,存儲一段專門制作的數(shù)據(jù),這段數(shù)據(jù)不會影響PLC本身,但當工程平臺解析它時,它會觸發(fā)并利用一個漏洞。

1、研究驗證的步驟

Team82的研究過程和方法有如下十個關(guān)鍵的步驟。

1)環(huán)境設(shè)置:使用目標PLC、兼容的工程師站和I/O現(xiàn)場設(shè)備建立測試平臺環(huán)境。

2)建立“Hello World”:閱讀PLC手冊,觀看教學視頻,建立一個無惡意/良性的程序來控制簡單的過程。

3)分析項目文件:分析項目文件中存儲的內(nèi)容(元數(shù)據(jù)、配置、文本代碼)以及數(shù)據(jù)是如何序列化的。事實上,PLC存儲了工程軟件使用的其他類型的數(shù)據(jù),而不是PLC本身使用的數(shù)據(jù),這讓修改存儲在PLC上的未使用數(shù)據(jù)以操縱工程軟件成為可能。

4)逆向工程:除了工程師站軟件之外,探索PLC硬件和固件。這是圍繞PLC的軟件、硬件和固件開展漏洞挖掘的前奏。

5)上傳/下載過程:了解上傳/下載過程的機制,以及通過專有協(xié)議傳輸哪些數(shù)據(jù)。往PLC上傳輸數(shù)據(jù)和將數(shù)據(jù)存儲于PLC上,稱為下載過程。獲取當前PLC邏輯的工作副本,工程師將從PLC中讀取存儲的數(shù)據(jù),這稱為上傳過程。

6)協(xié)議分析:分析私有協(xié)議及其功能,并構(gòu)建一個功能齊全的客戶端。

7)找出差異:了解在PLC中傳輸和存儲的信息之間的差異,這些信息沒有被解析或使用。

8)尋找漏洞:研究工程師站傳輸?shù)絇LC的所有信息片段的所有解析代碼流,這些信息在PLC上沒有被使用/修改。主要是針對運行在工程師站上的PLC連接軟件進行漏洞挖掘。在Team82的研究中,他們發(fā)現(xiàn)了羅克韋爾CCW中的多個漏洞,其中一個是不安全的.net反序列化漏洞。

9)武器化:使用客戶端實現(xiàn)一個惡意下載過程,將專門制作的數(shù)據(jù)存儲在PLC上。這里的專門制作的數(shù)據(jù),應該是相應的漏洞利用程序、勒索軟件、木馬等的組合進行的編碼。

10)漏洞利用:工程師連接PLC,執(zhí)行上傳程序。工程師站解析研究人員專門制作的數(shù)據(jù)。解析流觸發(fā)漏洞并執(zhí)行預先編制的代碼。

2、關(guān)鍵步驟

仔細分析Team82團隊的研究驗證步驟,不難發(fā)現(xiàn),其中前半部分的主要是類似偵察準備的階段,真正可稱為攻擊動作的應當在后半部分。也就是說,拋開研究的成分,從攻擊的角度看,關(guān)鍵的攻擊步驟可梳理如下:

1)找到可以公開訪問PLC,并且能夠現(xiàn)連接軟件建立連接,即對PLC可管理。

2)PLC連接軟件的漏洞挖掘。也就是對工程師站軟件的逆向分析,找出其存在的各種可利用漏洞。

3)惡意代碼的編碼。使其以PLC工程文件形式儲存于PLC。

4)PLC的武器化,即利用下載過程將預制的工程文件下載至PLC。

5)制造PLC異?;蚬收?,引誘工程師來連接排障。

6)漏洞利用。工程師上傳預制工程文件到工程師站,解析時觸發(fā)漏洞。

從網(wǎng)絡(luò)攻擊的角度看,參照工業(yè)控制系統(tǒng)的ATT@CK威脅框架,在初始突破(Initial Access)、命令執(zhí)行(Execution)、持久潛伏(Persistence)、權(quán)限提升(Privilege Escalation)、防御規(guī)避(Evasion)、內(nèi)部偵察(Discovery)、橫向移動(Lateral Movement)、信息收集(collection)、命令和控制(C&C)、抑制響應功能(Inhibit Response Function)、損害過程控制(Impair Process Control)、后果影響(Impact)這十二個步驟中,Team82的研究成果實際上已完成了關(guān)鍵的初始突破、命令執(zhí)行、持久潛伏等任務,在OT網(wǎng)絡(luò)構(gòu)筑了關(guān)鍵的支點,后續(xù)的系列偵察活動和影響行動,幾乎就沒有了難度。

四 小結(jié)

Team82認為邪惡PLC攻擊是一種新的攻擊技術(shù)。這項技術(shù)使PLC武器化,使數(shù)據(jù)不再是普通靜態(tài)/離線項目文件的一部分,并使代碼能夠在工程連接/上傳過程中執(zhí)行。通過這種攻擊方式,攻擊目標并不是PLC,即有別于臭名昭著的Stuxnet惡意軟件,它偷偷改變PLC的邏輯,造成物理破壞。相反,Team82希望利用PLC作為一個支點/跳板,攻擊編程和診斷它的工程師站,以此獲得對更多PLC的控制,并獲得對OT網(wǎng)絡(luò)的更深入訪問。

值得注意的是,Team82發(fā)現(xiàn)的所有漏洞都是在工程師站軟件端,而不是在PLC固件中。在大多數(shù)情況下,漏洞的存在是因為軟件完全信任來自PLC的數(shù)據(jù),而沒有進行廣泛的安全檢查。

從防御者的視角看,邪惡PLC攻擊技術(shù)中,PLC的武器化是第一步。毫無疑問,這些設(shè)備不應該從外部訪問或暴露在網(wǎng)絡(luò)上,即使內(nèi)部訪問也應限于授權(quán)的工程師和操作員。如何阻斷這一源頭非常關(guān)鍵,因此應嚴格限制對PLC的物理和網(wǎng)絡(luò)訪問。其次才是OT網(wǎng)絡(luò)的隔離分段、基本網(wǎng)絡(luò)衛(wèi)生的落實、用戶客戶端的鑒別認證、PKI體系的引入、網(wǎng)絡(luò)流量監(jiān)測、軟件和固件的持續(xù)更新等等防護措施。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    15877

    瀏覽量

    175334
  • plc
    plc
    +關(guān)注

    關(guān)注

    5001

    文章

    12940

    瀏覽量

    459181
  • 工業(yè)網(wǎng)絡(luò)

    關(guān)注

    0

    文章

    87

    瀏覽量

    16285
收藏 人收藏

    評論

    相關(guān)推薦

    芯片制造的6個關(guān)鍵步驟

    在智能手機等眾多數(shù)碼產(chǎn)品的更新迭代中,科技的改變悄然發(fā)生。蘋果A15仿生芯片等尖端芯片正使得更多革新技術(shù)成為可能。這些芯片是如何被制造出來的,其中又有哪些關(guān)鍵步驟呢?
    發(fā)表于 08-08 08:57 ?3077次閱讀

    PCB制作關(guān)鍵步驟說明書

    PCB制作關(guān)鍵步驟說明書.
    發(fā)表于 11-10 19:06

    RNN算法的三個關(guān)鍵步驟

    DL之RNN:RNN算法相關(guān)論文、相關(guān)思路、關(guān)鍵步驟、配圖集合+TF代碼定義
    發(fā)表于 12-28 14:20

    布線測試中的幾個關(guān)鍵步驟

    布線測試中的幾個關(guān)鍵步驟 步驟1: 通斷測試是基礎(chǔ)   通斷測試是測試的基礎(chǔ),是對線路施工的一種最基
    發(fā)表于 04-14 11:46 ?524次閱讀

    企業(yè)提升IoT安全性的七個關(guān)鍵步驟

     以下是企業(yè)提升IoT安全性以防止數(shù)據(jù)泄露的七個關(guān)鍵步驟。
    的頭像 發(fā)表于 10-16 09:58 ?2031次閱讀

    網(wǎng)絡(luò)安全講解之零日威脅防護的關(guān)鍵步驟

    最近的Microsoft Exchange攻擊事件提醒我們,新的網(wǎng)絡(luò)威脅無處不在。從本質(zhì)上講,零日攻擊使威脅行為者占據(jù)上風,他們能夠瞄準他們認為易受攻擊的系統(tǒng)。但是,零日攻擊并非不可避
    發(fā)表于 06-14 16:56 ?883次閱讀

    使用 NCP1611 設(shè)計緊湊、高效 PFC 級的 5 個關(guān)鍵步驟

    使用 NCP1611 設(shè)計緊湊、高效 PFC 級的 5 個關(guān)鍵步驟
    發(fā)表于 11-14 21:08 ?1次下載
    使用 NCP1611 設(shè)計緊湊、高效 PFC 級的 5 個<b class='flag-5'>關(guān)鍵步驟</b>

    設(shè)計 NCL30088 控制的 LED 驅(qū)動器的 4 個關(guān)鍵步驟

    設(shè)計 NCL30088 控制的 LED 驅(qū)動器的 4 個關(guān)鍵步驟
    發(fā)表于 11-14 21:08 ?0次下載
    設(shè)計 NCL30088 控制的 LED 驅(qū)動器的 4 個<b class='flag-5'>關(guān)鍵步驟</b>

    設(shè)計由 NCP1631 驅(qū)動的交錯式 PFC 級的關(guān)鍵步驟

    設(shè)計由 NCP1631 驅(qū)動的交錯式 PFC 級的關(guān)鍵步驟
    發(fā)表于 11-14 21:08 ?7次下載
    設(shè)計由 NCP1631 驅(qū)動的交錯式 PFC 級的<b class='flag-5'>關(guān)鍵步驟</b>

    設(shè)計 NCL30288 控制的 LED 驅(qū)動器的 4 個關(guān)鍵步驟

    設(shè)計 NCL30288 控制的 LED 驅(qū)動器的 4 個關(guān)鍵步驟
    發(fā)表于 11-15 19:31 ?0次下載
    設(shè)計 NCL30288 控制的 LED 驅(qū)動器的 4 個<b class='flag-5'>關(guān)鍵步驟</b>

    關(guān)于工業(yè)物聯(lián)網(wǎng)的3個關(guān)鍵步驟

    可以通過以下三個關(guān)鍵步驟使工業(yè)物聯(lián)網(wǎng)的采用更容易:數(shù)據(jù)結(jié)構(gòu)、連接性、人機界面 生態(tài)系統(tǒng)。
    發(fā)表于 11-23 09:36 ?386次閱讀

    焊接貼片電阻的關(guān)鍵步驟

    貼片電阻是一種常見的電子元件,用于電路板的焊接。焊接貼片電阻需要注意一些關(guān)鍵步驟和技巧,以確保焊接質(zhì)量和電路的穩(wěn)定性。
    的頭像 發(fā)表于 08-19 10:52 ?1208次閱讀

    零損拆卸:掌握三菱變頻器拆解的關(guān)鍵步驟

    零損拆卸:掌握三菱變頻器拆解的關(guān)鍵步驟
    的頭像 發(fā)表于 09-19 09:04 ?1600次閱讀

    工業(yè)PLC控制柜保養(yǎng)的五大關(guān)鍵步驟

    工業(yè)PLC控制柜保養(yǎng)的五大關(guān)鍵步驟 ?控制柜廠家找上海尤勁恩 隨著工業(yè)自動化技術(shù)的不斷發(fā)展,PLC控制柜在生產(chǎn)線上的地位日益重要。尤勁恩(上海)信息科技有限公司作為專業(yè)的自動化控制設(shè)備
    的頭像 發(fā)表于 04-22 15:00 ?286次閱讀

    EMI測試整改:確保電子設(shè)備電磁兼容性的關(guān)鍵步驟

    深圳比創(chuàng)達|EMI測試整改:確保電子設(shè)備電磁兼容性的關(guān)鍵步驟
    的頭像 發(fā)表于 04-29 14:40 ?402次閱讀
    EMI測試整改:確保電子設(shè)備電磁兼容性的<b class='flag-5'>關(guān)鍵步驟</b>