標籤:

硬體許可證Token安全性的研究

背景

在過去的幾年中,工業自動化系統的脆弱性問題變得越來越重要。工業控制系統與IT系統並行發展,相對獨立,往往不考慮現代安全編碼實踐,可能是ICS安全問題的主要源頭。由此,出現了許多定製解決方案,包括用於認證和加密的專有網路協議和演算法。這些解決方案是ICS IT安全研究人員發現威脅的主要源頭。同時,我們可以看到工業自動化系統從通用的技術(例如CodeSys Runtime,Microsoft Windows漏洞等)中附帶來一些問題。

公司對這些問題和與之相關的風險給予不同的優先順序。對於每個人而言,顯而易見的是,漏洞信息在補丁發布之前永遠不會被泄露。但是,許多公司認為,即使有補丁,也不應公布這些信息。對於軟體開發人員來說,這是對他們聲譽的一個打擊。而使用存在漏洞系統的公司並不總是物理上能夠安裝補丁,或者這種安裝可能涉及不菲的成本(更新系統引發的中斷,與安裝更新有關的成本等)。

我們根據安全系統開發人員和供應商的經驗來評估風險。我們相信,向用戶通報易受攻擊的軟體是否存在新的威脅以及是否需要儘快更新軟體是絕對必要的。這當然不能保證所有易受攻擊的系統用戶都能及時更新,消除威脅。但是,根據我們的經驗,如果沒有這樣做,即使補丁可用,用戶也很少更新其系統。我們每天都面對成千上萬的新威脅,而且我們可以看到,攻擊者們不斷尋找新的攻擊機會。我們意識到,保持對問題的沉默就是給攻擊者們機會。

這就是為什麼我們決定共享我們發現的一個信息:根據我們的研究,將軟體許可證管理令牌連接到計算機可能為攻擊者打開隱藏的遠程訪問通道。

為什麼我們決定分析SafeNet Sentinel

在進行各種滲透測試時,卡巴斯基實驗室ICS CERT的專家們在使用不同的工業廠商軟硬體解決方案的客戶計算機上多次遇到了相同的服務。專家們並沒有給予太多的重視,直到發現漏洞。該服務是hasplms.exe,它是GemaltoSafeNet Sentinel硬體解決方案的一部分。該解決方案為客戶使用的軟體提供許可證控制,並廣泛用於ICS和IT系統。

該解決方案的軟體部分由驅動程序、Web應用程序和一系列其他軟體組件組成。硬體部分是USB Token。Token需要連接到安裝了軟體許可證的PC或伺服器。下表列出了一些USB token模型。

這種類型的許可證控制解決方案基於以下操作原則:軟體產品需要許可才能正常運行;當USB令牌插入計算機時,軟體「看到」許可證並變得功能完備。每次啟動軟體時都必須插入令牌,並在使用時保持連接狀態。Gemalto解決方案的軟體部分只安裝一次,無論需要令牌的軟體生命周期如何,都能保持正常運行。

Gemalto的解決方案被其他軟體供應商採用,其中包括ABB,通用電氣,惠普,Cadac集團,Zemax以及其他許多公司,據估計,其數量可達4萬。

根據Frost和Sullivan在2011年進行的獨立研究的結果,目前由Gemalto擁有的SafeNet Sentinel在北美擁有40%的許可證控制解決方案市場份額,在歐洲超過60%。

使用Gemalto解決方案的最終用戶數量不得而知。但是,如果每家公司有100個客戶端,用戶量就達數百萬。不幸的是,很少有人意識到將令牌連接到計算機來控制許可證可能不是一件安全的事情。

漏洞和攻擊向量

從研究人員的角度來看,hasplms.exe在系統中的行為很奇怪:它可以被遠程訪問,並使用開放埠194上進行通信。協議類型由網路包頭定義 – 使用HTTP或專有的二進位協議。該服務還有一個基於HTTP協議的專屬API。

二進位文件使用了VMProtect類型的保護器並從原始的Gemalto代碼生成位元組碼,這使得分析該服務更加困難。因此,決定使用模糊測試作為分析漏洞服務行為的主要工具。

首先,我們來看本地功能 – 用戶可以下載由兩個文件組成的語言包,其中之一是localize.xml。第二個文件為HTML格式,有參數,其中一個容易受到緩衝區溢出漏洞的影響。如果不是一個奇怪的細節,那將會是一個簡單的漏洞:雖然如上所述,使用了一個保護器,但由於某種原因,開發者沒有使用任何針對這種二進位漏洞的經典保護機制(例如Stack Canary,Stack Cookie,ASLR等)。因此,一個簡單的緩衝區溢出漏洞可能允許攻擊者在遠程系統上執行任意代碼。

請注意,這種軟體開發漏洞在現代解決方案中非常罕見。通常,在開發嚴謹的商業產品(如SDL–安全開發生命周期)時實施安全編碼實踐,這意味著在開發階段就將安全性設計到應用程序中,而不是作為附加選項來實現。

此攻擊向量可在沒有LPE(本地特權升級)的情況下使用—存在漏洞的進程以SYSTEM許可權運行,使惡意代碼能夠以最高許可權運行。

載入語言包文件的示例腳本

緩衝區溢出導致RCER

該漏洞的編號為CVE-2017-11496。這只是我們發現的漏洞之一,而我們研究的總體結果令人不安。從2016年末至2017年初,共確認了11個漏洞:兩個RCE漏洞,九個拒絕服務漏洞。到2017年6月,卡巴斯基實驗室ICS CERT發現了三個漏洞:一個XML炸彈和兩個拒絕服務漏洞,其中一個可能導致RCE。總共發現了14個安全漏洞,這些安全漏洞都相當危險的(例如,成功利用每個RCE漏洞即可獲取SYSTEM許可權(即Windows中最高許可權級別))。

所有影響漏洞服務的攻擊向量都是多階段的。我們及時向Gemalto發送了所有發現的漏洞信息。這些各自漏洞分配了以下的CVE編號:

· CVE-2017-11496 – Remote Code Execution

· CVE-2017-11497 – Remote Code Execution

· CVE-2017-11498 – Denial of Service

· CVE-2017-12818 – Denial of Service

· CVE-2017-12819 – NTLM hash capturing

· CVE-2017-12820 – Denial of Service

· CVE-2017-12821 – Remote Code Execution

· CVE-2017- 12822 – Remote manipulations with configuration files

除了漏洞描述之外,我們還向Gemalto發送了關於特殊功能的描述。

特殊功能

卡巴斯基實驗室ICS CERT專家發現,hasplms.exe有一些相當不尋常的功能:

· 當Gemalto USB令牌首次連接到計算機(即使活動會話被阻止)時,如果可訪問Internet,則會在1947號埠上安裝接受網路連接的驅動和服務。

· 如果從Gemalto網站手動下載驅動程序並安裝,則會在1947號埠上安裝接受網路連接的驅動程序和服務,並將1947號埠添加到Windows防火牆例外中

· 如果Gemalto軟體作為第三方安裝文件的一部分安裝,則1947號埠也會添加到Windows防火牆例外中。

· 有一個API函數,用於啟用或禁用Web界面中的管理面板,從而可以修改SafeNet Sentinel硬體解決方案程序部分的設置。該面板在本地主機IP地址-127.0.0.1上默認可用。

· 該API可用於更改語言包更新的內部代理設置。

· 更改代理伺服器之後,可以使用服務的內部邏輯來獲取運行hasplms.exe進程的用戶帳戶(即SYSTEM)的NTLM哈希值。

這似乎是一個無文檔記載的功能,可用於隱身遠程訪問。這意味著遠程攻擊者可以使用這些功能訪問Gemalto軟體管理面板,在系統用戶許可權下執行攻擊,並在完成攻擊後隱匿其存在。

如上所述,Gemalto的代表被告知此攻擊向量。

不透明的安全性

許多第三方供應商使用的解決方案、技術或個人軟體模塊都沒有經過適當的安全測試。這可能會開啟新的攻擊向量。同時,關閉銀行和工業控制系統等應用中經常使用的這類產品中的漏洞並不總是一個平穩的過程:出於某種原因,系統供應商並不急於通知用戶在產品中發現的問題。

2017年初,我們向Gemalto發送了有關已確定的11個漏洞的信息。直到6月下旬,為響應我們一再的要求,供應商通知我們已發布了一個補丁、關閉了漏洞信息並在公司內部用戶的門戶上發布了一個新版的驅動。

6月26日,我們向 Gemalto通報了可疑功能和另外三個漏洞。這次,事情很快就解決了:7月21日,供應商推送了一個新驅動版本的私人通知—沒有提到任何關閉的漏洞。

根據Gemalto的說法,公司已通知其所有客戶需要通過帳戶儀錶板更新驅動程序。但是,這顯然是不夠的:在我們發布了確定的漏洞信息之後,我們接觸了幾個使用hasplms的軟體開發人員。從與我們的溝通中可以看出,他們沒有意識到問題,並繼續使用具有多個漏洞的產品版本。

儘快將軟體更新到當前版本(7.6)

我們敦促那些使用GemaltoSafeNet Sentinel的用戶和公司儘快安裝最新(安全)版本的驅動程序,或聯繫Gemalto獲取更新驅動的說明。我們還建議關閉1947號埠,至少在外部防火牆(在網路周邊)——在不影響業務的前提下,這有助於降低漏洞被利用的風險。

通過Microsoft Windows更新伺服器安裝驅動程序的情況下,我們建議檢查hasplms.exe以確保它是最新版本。如果使用過時的版本,從供應商的網站安裝最新(安全)版本的驅動或與Gemalto聯繫以獲取有關更新驅動程序的說明至關重要。

一些使用第三方解決方案作為其產品一部分的軟體供應商可能對自己的代碼的安全性非常透徹,同時將第三方解決方案的安全性留給其他公司(這些解決方案的供應商)。我們非常希望大多數公司在其解決方案和產品中使用第三方解決方案時能夠負責任地行事。

本文翻譯自:ics-cert.kaspersky.com/ 如若轉載,請註明原文地址: 4hou.com/info/industry/ 更多內容請關注「嘶吼專業版」——Pro4hou

推薦閱讀:

Chrome廣告插件暗藏挖礦代碼,可使電腦瞬間卡死
利用「量子插入」技術繞過IP限制
相比廠商自身力量、國家測評和專業安全公司,民間漏洞眾測的優勢主要體現在哪裡?但對其監管是否存在難點?
沒有一個APP是安全的!PHP、Python等編碼語言出現重大漏洞
安全和性能:24核卻動不了滑鼠之後續

TAG:信息安全 |