原創 | 德國威步信息CodeMeter產品中高危漏洞跟蹤分析
- 分類:行業洞察
- 作者:
- 來源:
- 發布時間:2020-09-17 17:35
- 訪問量:
【概要描述】Claroty稱德國威步的第三方許可證管理組件CodeMeter中發現了6個關鍵漏洞,目前已有ABB、COPA-DATA、羅克韋爾、西門子、萬可等自動化廠商確認受到不同程度影響,各廠商也相繼發布安全公告及緩解措施。
原創 | 德國威步信息CodeMeter產品中高危漏洞跟蹤分析
【概要描述】Claroty稱德國威步的第三方許可證管理組件CodeMeter中發現了6個關鍵漏洞,目前已有ABB、COPA-DATA、羅克韋爾、西門子、萬可等自動化廠商確認受到不同程度影響,各廠商也相繼發布安全公告及緩解措施。
- 分類:行業洞察
- 作者:
- 來源:
- 發布時間:2020-09-17 17:35
- 訪問量:
編者按:9月8日,工業網絡安全公司Claroty研究人員發布博客文章稱,在德國威步(Wibu Systems)的第三方許可證管理組件CodeMeter中發現了六個關鍵漏洞,這些漏洞可能使眾多行業的用戶面臨操作技術(OT)網絡的接管。這些漏洞可通過網絡釣魚活動加以利用,也可由攻擊者直接利用,攻擊者可以對用戶環境進行指紋識別,以修改現有軟件許可證或注入惡意許可證,從而導致設備和進程崩潰。Claroty也發現了嚴重的加密實現問題,攻擊者可以利用這些問題遠程執行代碼,并在OT網絡上橫向移動。目前已有ABB、COPA-DATA、Pepperl+Fuchs、Phoenix Contact、Pilz、羅克韋爾自動化、西門子、萬可等自動化廠商確認受到不同程度的影響,各廠商也相繼發布安全公告及緩解措施。
一、背景概述
一 背景介紹
工業網絡安全公司Claroty 9月8日在其博客上發表文章稱,德國威步信息系統(Wibu Systems)生產的一款流行的許可和DRM解決方案CodeMeter中存在的六個漏洞能會使工業系統遭受遠程攻擊,包括關閉設備或進程、提供勒索軟件或其他惡意軟件或執行進一步的利用。Claroty研究人員在CodeMeter中發現了各種類型的漏洞,包括可用于更改或偽造許可證文件的內存損壞錯誤和加密漏洞。研究人員展示了如何在無需身份驗證的情況下遠程利用某些漏洞來發起拒絕服務(DoS)攻擊或實現任意代碼執行。在研究人員描述的一種攻擊情形中,攻擊者建立了一個網站,旨在將惡意許可證推入誘騙該站點的用戶的設備。流氓許可證在由CodeMeter處理后,可以生成DoS條件或允許攻擊者執行任意代碼。在不同的攻擊場景中,研究人員通過創建自己的CodeMeter API和客戶端來實現遠程代碼執行,使其能夠將命令發送到任何運行CodeMeter的設備。
圖1 演示遠程注入惡意許可證的潛在攻擊載體
美國工業控制系統計算機緊急響應小組(ICS-CERT)9月8日也發布了有關這些漏洞的建議,其中一個漏洞的CVSS評分為10.0,為最高的嚴重等級。
二 威步信息系統公司簡介
威步信息系統股份有限公司(WIBU?)由Oliver Winzenried和Marcellus Buchheit于1989年攜手創立,憑借高安全的創新技術,樹立了國際領先地位。威步信息系統提供獨特的頂級安全技術及多功能的Code Meter綜合解決方案,該解決方案覆蓋各個領域,并以其獨特的技術屢獲殊榮。無論是從個人電腦到移動終端(手機、平板),從嵌入式系統到PLC產品,甚至是微處理器,均可與威步信息系統的解決方案實現完美整合從而保護其資產的完整性。2005年在中國上海設立子公司,威步中國一直致力于為國際軟件廠商的中國用戶提供加密產品的本地化服務,為國內軟件及設備商提供世界領先的軟件加密技術及授權解決方案及專業咨詢服務。本次爆出漏洞的CodeMeter,是專為軟件開發商及智能設備企業提供的一體化技術,其所包含的所有解決方案均來自于威步系統,主要包括Protection 保護工具、Licensing 授權工具和Security 安全工具。
三 受影響的供應商
ABB、COPA-DATA、Pepperl+Fuchs、Phoenix Contact、Pilz、羅克韋爾自動化、西門子、萬可都已確認其產品受到這些漏洞的影響。Claroty已發布受影響的供應商列表,該列表會定期更新。受影響公司的客戶遍及多個行業,包括醫療設備制造商、汽車制造商、制造商、過程設計人員以及許多其他行業,可能沒有意識到這一易受攻擊的組件正在其環境中運行。Claroty建立了一個在線實用程序(漏洞測試儀),可以幫助用戶確定他們是否正在運行易受攻擊的CodeMeter版本。西門子正在為受影響的產品進行軟件更新,并針對沒有更新或尚未提供更新的產品提出具體對策,請參考以下表格。
另外幾家主要的工業控制系統(ICS)供應商已發布安全公告,以應對最近披露的影響德國威步公司制造的CodeMeter許可和DRM解決方案的漏洞。
● ABB
ABB表示,這些漏洞會影響其AC800PEC工具,EXC控制終端(ECT),控制終端管理工作室(CTMS)和牽引控制終端(TCT)。該公司正在分析這些漏洞,盡管尚未發布補丁,但它提供了緩解措施和變通辦法,客戶可用來防止攻擊。
● COPA數據
COPA-DATA表示,這些漏洞會影響其zenon編輯器、zenon分析器、zenon Web服務器、zenon邏輯工作臺和straton工作臺產品。該公司已針對每個漏洞提供了緩解措施,并建議客戶更新CodeMeter。
● 倍加福(Pepperl+Fuchs)
倍加福表示,其VMT MSS和VMT IS產品受到影響,但前提是存在某些組件。建議VMT MSS用戶將CodeMeter更新到版本7.10,并且建議VMT IS用戶聯系子公司VMT。
● Phoenix Contact
PhoenixContact表示,只有CodeMeter漏洞中的三個會影響其PC Worx Engineer,PLCnext Engineer,FL Network Manager,E-Mobility Charging Suite和IOL-CONF產品。該公司已經發布了一個激活向導更新,該更新安裝了CodeMeter 7.10并修復了這些漏洞。
● 皮爾茲(Pilz)
Pilz已確定安全漏洞會影響其PAS4000、PASvisu、PASloto、PNOZsigma、Live Video Server和SafetyEYE產品。該公司已建議客戶更新CodeMeter并使用本地防火墻來防止未經授權訪問運行CodeMeter的設備。
● 羅克韋爾自動化
羅克韋爾自動化(僅注冊客戶可以使用此建議)共享了使用CodeMeter的FactoryTalk Activation(FTA)管理器的一長串產品。該公司已經發布了一項FTA更新,以修補漏洞。
● 萬可
WAGO表示其e!COCKPIT工程軟件安裝包已受到影響,但其控制器和IO設備未受影響。該公司希望在第四季度發布包含最新CodeMeter版本的e!COCKPIT更新,同時建議客戶手動更新CodeMeter。
二、漏洞詳情
一 漏洞概要
● CVE-2020-14509 長度值不正確的緩沖區訪問(CWE-805)
在數據包解析器機制不驗證長度字段的情況下,存在多個內存損壞漏洞。攻擊者可以發送特制的數據包來利用這些漏洞進行攻擊。計算得出的CVSS v3基本得分為10.0;CVSS向量字符串為(AV:N / AC:L / PR:N / UI:N / S:C / C:H / I:H / A:H)。
● CVE-2020-14517 加密強度不足(CWE-326)
協議加密很容易被破壞,服務器接受外部連接,這可能使攻擊者能夠遠程與CodeMeter API進行通信。已計算出CVSS v3基本分數9.4;CVSS向量字符串為(AV:N / AC:L / PR:N / UI:N / S:U / C:L / I:H / A:H)。
● CVE-2020-14519 源驗證錯誤(CWE-346)
此漏洞允許攻擊者通過特制的JavaScript負載使用內部WebSockets API,當與CVE-2020-14515結合使用時,該負載可能允許使用CmActLicense公司代碼更改或創建CmActLicense的許可文件。計算得出的CVSS v3基本得分為8.1;CVSS向量字符串為(AV:N / AC:L / PR:N / UI:R / S:U / C:N / I:H / A:H)。
● CVE-2020-14513 輸入驗證不當(CWE-20)
由于長度字段未經驗證,CodeMeter和使用它的軟件在處理特別編制的許可證文件時可能會崩潰。已計算出CVSSv3基本得分7.5;CVSS向量字符串為(AV:N / AC:L / PR:N / UI:N / S:U / C:N / I:N / A:H)。
● CVE-2020-14515 加密簽名驗證不當(CWE-347)
許可證文件簽名檢查機制中存在一個問題,該機制使攻擊者可以構建任意許可證文件,包括偽造有效許可證文件,就好像它是現有供應商的有效許可證文件一樣。只有帶有CmActLicense公司代碼的CmActLicense更新文件受影響。計算得出的CVSS v3基本分數為7.4;CVSS向量字符串為(AV:L / AC:H / PR:N / UI:R / S:C / C:N / I:H / A:H)。
● CVE-2020-16233 資源關閉或釋放不當(CWE-404)
攻擊者可以發送特制的數據包,使服務器發回包含堆中數據的數據包。已計算出CVSS v3基本得分7.5;CVSS向量字符串為(AV:N / AC:L / PR:N / UI:N / S:U / C:H / I:N / A:N)
二 受影響產品及版本
受影響的威步CodeMeter版本包括:
● 7.10之前的所有版本均受CVE-2020-14509和CVE-2020-16233的影響。
● 7.00之前的所有版本均受CVE-2020-14519的影響,包括7.0版或更高版本,并且受影響的WebSockets API仍處于啟用狀態,特別是使用Web瀏覽器訪問Web服務器的系統或設備。
● 6.81之前的所有版本均受CVE-2020-14513的影響。
● 6.90之前的所有版本均受CVE-2020-14517的影響,包括6.90或更高版本,僅當CodeMeter Runtime作為服務器運行時才受此影響。
● 當使用帶有CmActLicense公司代碼的CmActLicense更新文件時,6.90之前的所有版本均受CVE-2020-14515的影響。許多不同的供應商在產品中使用此許可證管理器。
三 漏洞原理
1、CVE-2020-14513
由于長度字段未經驗證,CodeMeter和使用它的軟件在處理特別編制的許可證文件時可能會崩潰,當軟件不能正確地驗證輸入時,攻擊者能夠偽造非應用程序所期望的輸入。這將導致系統接收部分非正常輸入,攻擊者可能利用該漏洞修改控制流、控制任意資源和執行任意代碼,從合法的許可證開始,到解密并中斷到組件,將一些隨機數據注入到他們有效載荷中,重新構建,攢足了足夠的樣本,將他們全部導入CodeMeter中,就會使CodeMeter處理這些特別編制的許可文件時可能會崩潰。
圖2 許可證模糊“自動化”特別編制的許可文件
圖3 字段長度未驗證
2、CVE-2020-14519
允許攻擊者通過特制的Javascript負載使用內部WebSockets API,當與CVE-2020-14515結合使用時,該負載可能允許使用CmActLicense公司代碼更改或創建CmActLicense的許可文件,先準備一個帶有JavaScript負載的惡意網站,在本地訪問WebSocket服務器(127.0.0.1),并在客戶端瀏覽器上執行我們的代碼時使用其中一個本地codeterAPI函數。然后在檢查WebSocket接口上的可用的API,發現一個特別的API函數SetRemoteUpdate,可以使用此功能將許可證注入CodeMeter的許可證存儲庫,類似于其正常的“導入許可證”功能。將一個合法的許可證文件加載到我們的惡意網站PoC上,一旦“受害者”進入網站,一個新的許可證出現在codeter的許可證管理器界面上。
圖4 外部網站如何通過websocket成功的與內部代碼API通信
圖5 從編碼器角度觀察流量來看服務器不檢查HTTP頭的時候是否來自localhost
3、CVE-2020-14509
存在多個內存損壞漏洞,其中包解析機制無法驗證長度字段。攻擊者可以發送精心編制的數據包來利用這些漏洞進行攻擊,利用Python開發了一個codeterapi,可以遠程執行,不需要身份驗證,從而連接到codeter服務器并根據需要加載我們的自定義許可證。通過利用我們新的API功能,我們能夠發現額外的內存損壞錯誤。
圖6 演示遠程觸發cve-2020-14509漏洞
4、CVE-2020-14517
協議加密很容易被攻擊,服務器接受外部連接,這可能使攻擊者能夠遠程與CodeMeter API通信,發送一個包并從服務器接收加密的“錯誤”消息。然后將服務器強行進行數據包破解,嘗試使用各種密鑰解密,直到CRC正確為止。一旦找到了正確的引導時間(key),將使用它進行進一步的通信(加上經過的時間),并開始下一次蠻力嘗試。通過這樣做,將暴力攻擊從數小時/天提高到幾秒鐘。
5、CVE-2020-16233
攻擊者可以發送巧盡心思構建的數據包,使服務器發回包含中心數據的數據包,構建了一個模糊器來測試許可證解析機制。本質上,使用新的許可證生成器,需要準備數百萬個基于單一來源的有效許可證。每個生成的許可證都與其他許可證稍有不同。一些有位翻轉,一些有隨機數據注入到他們的有效載荷,還有一些其他形式的改變他們的有效載荷。
6、CVE-2020-14515
許可證文件簽名檢查機制存在一個問題,使得攻擊者能夠構建任意許可證文件,包括偽造一個有效的許可證文件,就好像它是現有供應商的有效許可證文件一樣。研究人員發現只有帶有CmActLicense公司代碼的CmActLicense更新文件受影響,如果我們可以生成自己的公鑰/私鑰對并自己簽署許可證呢?,在進行一系列信任驗證過程中,公鑰被驗證為可信源。解析并解密許可證的所有組件,然后生成一個密鑰對,修改有效負載(更改許可證名稱),簽署新的有效負載,用新的密鑰替換舊密鑰,并加密所有內容以構建一個完全工作的許可證。就可以讓新的簽名通過所有檢查,而且被認為是有效的。
圖7 改造許可證并打造自己的許可證
三、防護建議
威步已為CodeMeter 7.10版中的所有漏洞提供了補丁,該補丁自8月11日起可用。威步已通知許多受影響的供應商,并已將修補程序添加到各自的安裝程序中,或者正在將修補程序添加到它們各自的安裝程序中。同時,威步、Claroty、CISA建議采取以下安全防護措施:
威步防護建議
● 更新到CodeMeter Runtime的最新版本;
● 僅以客戶端身份運行CodeMeter;
● 使用新的REST API,不要使用內部WebSockets API;
● 禁用WebSockets API;
● 應用AxProtector;
Claroty防護建議
由于CodeMeter是集成在領先的ICS供應商的許多產品中的第三方代碼,因此不易發現該軟件正在用戶的計算機上運行。Claroty的在線實用程序可以幫助用戶了解他們是否容易受到攻擊并應采取行動。Claroty建議采取以下措施:
● 使用Claroty在線工具檢測是否存在CodeMeter產品;
● 使用軟件清單解決方案(如Microsoft SCCM、Qualys、防病毒管理軟件)來識別是否有安裝CodeMeter軟件。查找關鍵字Wibu或CodeMeter;
● 在組織邊界防火墻上阻止TCP端口22350(CodeMeter網絡協議),以阻止利用此漏洞;
● 請與供應商聯系,以了解他們是否支持CodeMeter軟件的手動升級,以便升級CodeMeter的第三方組件,而不是整個軟件堆棧。根據一些供應商的答復,支持此過程。
CISA防護建議
用戶應采取以下防御措施,將利用此漏洞的風險降至最低:
● 盡可能減少所有控制系統設備和/或系統的網絡暴露,并確保無法從互聯網訪問這些設備和/或系統;
● 將控制系統網絡和遠程設備置于防火墻后,并將其與業務網絡隔離;
● 當需要進行遠程訪問時,使用安全方法,例如虛擬專用網絡(VPN)。認識到VPN可能存在漏洞,應將其更新為可用的最新版本。還應認識到VPN僅與連接的設備一樣安全。
威步CodeMeter中的漏洞表明,當普遍存在的安全問題影響到ICS領域中無處不在的第三方組件時,這些漏洞可能會造成重大危害。第三方組件中發現的難以大規模修復的關鍵漏洞會使問題進一步惡化。與單個供應商修補軟件并將其推送給客戶相比,這要復雜得多。通信必須橫跨整個OT和ICS生態系統進行,一旦易受攻擊的設備中存在漏洞,響應時間和可用性可能會受到影響。
參考資源:
1.https://www.claroty.com/2020/09/08/blog-research-wibu-codemeter-vulnerabilities/
2.Claroty,License to Kill: Leveraging License Management toAttack ICS Networks,Sept. 2020
3.https://www.securityweek.com/vulnerabilities-codemeter-licensing-product-expose-ics-remote-attacks
4.https://www.wibu.com/support/security-advisories.html
5.https://us-cert.cisa.gov/ics/advisories/icsa-20-203-01
6.https://www.claroty.com/2020/09/08/blog-research-vendors-affected-by-wibu-codemeter-vulnerabilities/

公司總部:北京市海淀區中關村軟件園8號華夏科技大廈三層
服務熱線:400-810-8981 / 010-82896289
版權所有:北京天地和興科技有限公司 京ICP備17065546號-1

掃一掃關注
天地和興微信公眾號