Honeywell PKS系統被發現存在任意代碼執行和DoS攻擊漏洞行和DoS攻擊漏洞
霍尼韋爾 Experion 過程知識系統 (PKS) 是一種在全球和不同行業中廣泛采用的 DCS。 這個龐大的自動化平臺集成了來自整個環境的控制器的數據,提供了全廠流程的集中視圖。 該系統主要使用 C200、C300 和 ACE 控制器,可通過霍尼韋爾工程工作站軟件 Experion PKS Configuration Studio 進行編程。 然后可以將邏輯(開發為框圖)從工程工作站下載到 DCS 中的不同組件。

霍尼韋爾 Experion PKS 控制器
分布式控制系統通常被網絡安全研究人員視為黑匣子。 披露的DCS漏洞相對較少,因為設備難以獲得。 與許多其他類型的工業設備一樣,它不容易在線購買,而且購買和配置可能非常昂貴。 工業控制系統和 SCADA 設備經常出現這種情況,它為新活躍的 ICS 安全研究人員提供了一個重要的進入壁壘,他們更有可能檢查市場領先供應商的商品設備。
技術細節
Honeywell Experion PKS 控制器和模擬器通過 TCP 端口 55553 和 55555 與 Experion PKS Configuration Studio 工程軟件通信,用于編程目的。這些端口用于與使用專有霍尼韋爾工程協議的 Experion PKS Configuration Studio 軟件套件進行通信。該套件中的應用程序之一是 Honeywell Experion Control Builder (contbldr.exe),它負責對控制器中運行的邏輯進行編程。
與每個 SCADA/DCS 控制器一樣,可以通過執行下載代碼程序來更改當前邏輯。作為此機制的一部分,Honeywell Experion Control Builder 軟件將編譯后的邏輯傳輸到設備,然后執行它。
值得注意的是,該邏輯被編譯為控制器的 CPU 機器碼(例如 x86 字節碼),這可能會帶來安全風險。通常,沙箱或其他類型的安全控制會阻止本機代碼執行。在這種情況下,Experion PKS 在執行之前缺乏對惡意代碼的沙箱、內存保護或其他限制。
例如,沙箱是關鍵的網絡安全控制措施,尤其是在 ICS 領域;可執行文件在隔離區域中執行,這將其功能(例如訪問系統資源)限制在最低限度。它們是防止未經測試或不受信任的代碼影響進程,并限制惡意軟件和針對已知和未知漏洞的漏洞利用的傳播的關鍵工具。
在 Experion PKS 的情況下,Team82 發現可以模仿下載代碼過程并使用這些請求上傳任意 DLL/ELF 文件(分別用于模擬器和控制器)。然后設備加載可執行文件而不執行檢查或清理,使攻擊者能夠上傳可執行文件并遠程運行未經授權的本機代碼而無需身份驗證。
通常,端口 55553 和 55555 不會暴露在 Internet 上。為了攻擊這些漏洞,攻擊者必須找到另一種方法來在 OT 網絡上立足。在這種情況下,可以利用 Team82 發現的兩個漏洞不受限制地執行本機代碼。通過對 DCS 的這種訪問,攻擊者可以通過修改進程值來嚴重破壞操作,或者使用 DCS 作為使用惡意軟件或漏洞對網絡發起進一步攻擊的基礎。
漏洞
控制組件庫 (CCL) 是加載到控制器以執行特定功能的控制組件庫。我們可以將 CCL 庫視為擴展,使開發人員能夠將特定于應用程序的功能與標準庫不支持的外部功能塊一起使用。
CCL 格式是 DLL/ELF 文件的包裝器。它的前四個字節是可執行文件(DLL/ELF)的 CRC32。接下來的 128 個字節表示庫的名稱(用空值包裝),文件的其余部分是實際包裝的 DLL/ELF 文件。封裝的 DLL/ELF 文件是塊代碼庫,用于 Control Builder 軟件。解析 CCL 文件時,沒有安全驗證,例如簽名檢查或庫名稱清理。因此,攻擊者可以執行目錄遍歷攻擊并將他們希望的任何 DLL/ELF 文件上傳到遙控器上的任意位置。
此外,在我們的研究中,我們發現在某些情況下,發送到終端設備的 CCL 文件會立即執行,而無需執行安全檢查(例如簽名檢查)。該協議不需要身份驗證,這將防止未經授權的用戶執行下載操作。因此,任何攻擊者都可能使用此庫下載功能在未經身份驗證的情況下遠程執行代碼。為此,攻擊者可以使用該協議將他選擇的 DLL/ELF 下載到控制器/模擬器,并立即在終端設備上執行。

Team82 的概念驗證展示了攻擊者如何實現未經授權的遠程代碼執行。 此圖中使用的系統是 Honeywell Experion Controller Simulator。
概括
霍尼韋爾今年早些時候在許多更新和補丁中解決了這些漏洞。所有在其環境中使用受影響控制器的 Experion PKS 客戶,無論他們是否使用 CCL,都會受到影響。已經在網絡上的攻擊者可以通過將帶有惡意代碼的修改過的 CCL 加載到將執行攻擊者代碼的控制器來影響進程。
霍尼韋爾對這些關鍵漏洞的反應應該得到認可。為了解決 Team82 私下披露的缺陷,霍尼韋爾為 CCL 添加了加密簽名,以確保它們未被篡改。現在,每個 CCL 二進制文件都有一個關聯的加密簽名,該簽名在加載 CCL 時發送到控制器;霍尼韋爾在其公告中表示,該簽名在使用 CCL 之前會得到驗證。
霍尼韋爾已為受影響的 Experion PKS 版本提供補丁,包括服務器軟件補丁和控制器固件修復。兩者都必須應用才能完全緩解這些漏洞。
已發布或將發布 R510.2(Hotfix10,已發布)和 R501.6 版本的修補程序。 R511.5 版本還解決了所有這些漏洞。其他 Experion 版本沒有可用的補丁,并敦促這些用戶遷移到最新的版本。
參考鏈接:https://www.claroty.com/2021/10/05/blog-research-target-dcs-finding-fixing-critical-bugs-in-honeywell-experion-pks/