什麼是可信計算?

阿里妹導讀:可信計算(TrustedComputing,簡稱TC)是一項由TCG(可信計算組)推動和開發的技術。可信的核心目標之一是保證系統和應用的完整性,從而確定系統或軟件運行在設計目標期望的可信狀態。可信和安全是相輔相成的,可信是安全的基礎,瞭解可信才能更好地瞭解安全,才能爲構建更穩固的安全體系固本強基。

一、什麼是可信計算

可信並不等同於安全,但它是安全的基礎,因爲安全方案、策略只有運行在未被篡改的環境下才能進一步確保安全目的。通過保證系統和應用的完整性,可以確保使用正確的軟件棧,並在軟件棧受到攻擊發生改變後能及時發現。總的來說,在系統和應用中加入可信驗證能夠減少由於使用未知或遭到篡改的系統/軟件遭到攻擊的可能性。

以PC機可信舉例,通俗來講,可信就是在每臺PC機啓動時檢測BIOS和操作系統的完整性和正確性,保障你在使用PC時硬件配置和操作系統沒有被篡改過,所有系統的安全措施和設置都不會被繞過;在啓動後,對所有的應用,如社交軟件、音樂軟件、視頻軟件等應用可進行實時監控,若發現應用被篡改立即採取止損措施。

 

2

具體來說,可信計算技術對安全有如下提升:

  • 操作系統安全升級,如防範UEFI中插入rootkit、防範OS中插入rootkit、以及防範病毒和攻擊驅動注入等。
  • 應用完整性保障,如防範在應用中插入木馬。
  • 安全策略強制實現,如防範安全策略被繞過/篡改、強制應用只能在某個計算機上用、強制數據只能有某幾種操作等。

可信主要通過度量和驗證的技術手段實現。度量就是採集所檢測的軟件或系統的狀態,驗證是將度量結果和參考值比對看是否一致,如果一致表示驗證通過,如果不一致則表示驗證失敗。

度量分爲靜態度量和動態度量兩種。靜態度量通常指在運行環境初裝或重啓時對其鏡像的度量。度量是逐級的,通常先啓動的軟件對後一級啓動的軟件進行度量,度量值驗證成功則標誌着可信鏈從前一級軟件向後一級的成功傳遞。以操作系統啓動爲例,可信操作系統啓動時基於硬件的可信啓動鏈,對啓動鏈上的UEFI、loader、OS的image進行靜態度量,靜態度量的結果通過雲上可信管理服務來驗證,以判斷系統是否被改動。

動態度量和驗證指在系統運行時動態獲取其運行特徵,根據規則或模型分析判斷系統是否運行正常。

 

3

可信計算另一個核心部分是可信根,通常是可信硬件芯片。可信計算通過芯片廠家植入在可信硬件中的算法和祕鑰,以及集成的專用微控制器對軟件棧進行度量和驗證來確保可信。根據安全芯片和其上運行的可信軟件基(TrustedSoftware Stack)分類,業界目前主流的可信計算標準主要有三種:TrustedPlatform Module (TPM)、Trusted Cryptography Module (TCM)和Trusted Platform Control Module(TPCM)。

TPM/TCM的優勢在於技術成熟、商業化條件好,產品商業化已經超過十年。微軟和谷歌都有基於TPM的商業化的可信雲方案。TPCM是基於國產化思路提出的可信標準。相對TPM和TCM,TPCM對硬件和可信軟件棧(TSS:Trusted Software Stack)架構做了較大的改動。TPCM最大的優點是可以做主動度量,但在計算主機上尚未商業化和產品化成熟。

二、等保2.0關於可信要求的解讀

等保2.0將可信提升到一個新的強度。在等保一到四級都有可信的要求,主要在三個領域:計算環境可信、網絡可信、接入可信。以計算環境可信舉例,等保2.0中可信四級要求如下:

可基於可信根對系統引導程序、系統程序、重要配置參數和通信應用程序等進行可信驗證,並在應用程序的所有執行環節進行動態的可信驗證,在檢測到其可信性受到破壞後進行報警,並將驗證結果形成審計記錄送至安全管理中心,並進行動態關聯感知。

 

4

可信基本要求之一“基於可信根對系統引導程序、系統程序、重要配置參數和通信應用程序等進行可信驗證”在業界已有方案,如基於TCM安全芯片的系統啓動度量和驗證。等保2.0中對這項要求沒有明確提出動態的可信驗證,原因之一是系統(如操作系統)過於複雜,很難形成完整的甚至局部的驗證基準值,在工程實現上無法保障規則的完整性,誤報、漏報無法控制,嚴重影響安全和用戶體驗。基於這個判斷,傳統的基於靜態度量和驗證的系統可信啓動應該滿足這項要求。

與系統可信不同,等保2.0四級對應用可信有明確的動態驗證要求。再複雜的應用相對操作系統來說也簡單得多,所以做應用動態驗證在工程上是可行的,挑戰是如何在不嚴重影響應用的功能、性能,即保證用戶使用體驗的前提下做到應用動態可信。解決這個問題的實質在於如何選擇應用的度量對象,確定度量值,以及如何收集和管理驗證基準值,或所謂的應用行爲白名單。

應用可信的實現可通過只允許指定的應用,即所謂白名單應用在某個環境下(一般是物理主機、虛擬機上或容器)運行,非白名單應用無法在目標環境中運行;同時白名單應用受到監控,其運行行爲一旦被發現異常,系統會根據異常行爲的安全危害等級報警並採取相應措施,如阻斷應用、刪除應用、重啓系統等。對環境中運行的應用進行限制可減少不安全的應用對雲平臺進行攻擊的可能性,而對應用的監控可以及時發現攻擊並做響應。

 

5

等保2.0並沒有明確規範應該如何實現應用可信,原因之一是在現有的安全實踐中沒有很好的方式可以參考。可信最終是爲安全服務的,如果應用的動態驗證能夠幫助及時發現攻擊甚至阻止攻擊,將攻擊造成的危害降至最低,這樣的應用可信就應該是有效的。

等保2.0要求的動態關聯,可理解成在可信驗證失敗時對被監測的對象及時採取措施,阻斷攻擊並對可能遭受攻擊的資產進行保護。實現的方式可通過安全管理中心有效地傳遞驗證結果數據,使其他安全手段能夠及時響應。

三、阿里雲可信計算實踐

雲平臺安全依賴操作系統、數據庫、虛擬化等技術,而這些系統/技術會存在原生的安全問題,使攻擊者可利用系統/技術漏洞實現其攻擊目的。同時,平臺上的第三方系統軟件、應用軟件等可能會在安裝或升級過程中被修改或植入攻擊性模塊,存在通過類似中間人攻擊或內部攻擊替換正版軟件的風險。

阿里雲提供了較完整的平臺安全措施和強邊界防禦能力,同時通過可信來有效減小攻擊面和攻擊源,提升攻擊門檻,使雲平臺安全升級。所謂可信,即雲平臺、雲上應用以及雲用戶運行環境、應用,通過使用用戶指定的軟件而達到行爲的可預判,以此來確保雲平臺上運行環境以及其上運行的應用的可信,來減少由於未知因素引發成功攻擊的可能性。

 

6

 

                                                                                             可信整體框架

阿里雲可信是依賴雲平臺硬件安全中的可信計算能力,通過自研開發的可信服務,實現雲上的軟件棧可信,即:雲平臺安全可信、雲平臺上運行的應用可信,達到雲平臺整體安全可信升級的目標。

雲平臺可信即確保雲平臺上運行的系統軟件,如固件、操作系統(OS)都是安全的,保障平臺上的系統不被篡改,即保持運行環境是所要求的運行環境。爲實現這個目標,主要採用的手段是對系統軟件的度量和驗證,而度量和驗證自身的可信通過雲平臺可信硬件來支持。可信硬件作爲雲服務器或接入用戶服務器的可信根,通過在硬件內部實現最基礎的安全功能如祕鑰存儲、安全算法實現從下到上逐級的可信鏈傳遞。

阿里雲可信根採用在商業和產品化上成熟的TCM,通過使用裝有TCM可信芯片的可信服務器作爲系統的可信根逐級實現雲平臺以及其上業務的可信。在未來國有化和更強大的TPCM商業化成熟後,會過渡到用TPCM支持的可信服務器。

TCM能保障物理機的可信,而云平臺的物理宿主機上一般需運行多個虛擬機,但一個宿主機通常有一個TCM芯片,爲保證對虛擬機的度量,需要有效地對TCM資源進行分配;同時虛擬機會因業務的需要而遷移,爲保證虛擬機度量的延續性,其可信相關的安全管理數據如最後的PCR值等應同步遷移到目標主機上,爲實現上述需求,阿里雲開發TCM虛擬化(vTCM)以安全管理TCM的資源和數據。

雲平臺可信實現框架圖如下:

 

7

 

可信度量啓動鏈+遠程證明設計框架

阿里雲對白名單應用的保護是通過靜態度量和驗證、動態度量和驗證來實現的,同時採用動態關聯感知技術進一步確保應用可信。

靜態度量和驗證在應用啓動之前對其鏡像進行校驗,僅校驗合格後才允許應用啓動運行。校驗的基準值爲應用開發者發佈的應用簽名,或是可信服務提供的校驗基準值。

動態度量和驗證採用的是通過應用行爲白名單來實現的。被度量和驗證的應用行爲是系統調用行爲,包括進程啓動、進程調用、網絡訪問、文件訪問等。系統調用是應用的核心執行動作,一個被攻擊過、不再可信的應用在執行實現攻擊者目標時必須通過系統調用實現,也就是說,通過對系統調用的監測能夠有效地發現應用異常,即不再可信。實現應用可信的具體方式是首先通過對白名單應用的分析,收集用戶正常行爲,並以此建立行爲規則庫,然後根據實時採集的應用行爲數據,對比應用行爲規則庫進行判斷。如果應用行爲無法匹配任何一條規則,這個行爲會被判斷爲異常,可信雲決定是否告警或終止應用運行。

此外,動態關聯感知技術通過對應用行爲特徵的判斷,可發現應用在不調用白名單以外的情況下的應用異常。動態關聯感知通過機器學習產生應用行爲基線,在應用運行時採集了一段時間應用的行爲,通過大數據分析和機器學習的方式形成應用行爲特徵,並以此對應用行爲特徵異常作出判斷。

阿里雲可信應用可信的實現方式如下:

 

8

四、結語

可信和安全是相輔相成的,可信是安全的基礎,但可信自身的實現也需要有安全機制,有安全手段配合才能更有效,例如操作系統的只讀安全措施可以大大減少系統動態度量的範圍,使系統動態度量成爲可能。

目前,國際領先雲服務商如谷歌的GCP和微軟的AZURE都已有完整的基於靜態度量/驗證的雲平臺可信方案,AWS可信方案也在開發中。在國內,阿里雲是首傢俱備可信能力的雲廠商,其專有云平臺研發了基於可信技術的雲平臺入侵檢測系統,滿足了等保2.0對於可信部分的高標準要求,這也是其成爲通過等保2.0四級(可交付的最高等級)評測的原因之一。

在目前中國雲計算可信發展初期階段,安全硬件、服務器、系統、應用等廠商需要聯合起來,形成協同共贏的生態,共同推動可信的深入發展,爲構建更穩固的安全體系固本強基。

原文發佈時間爲:2019-07-22
本文作者:肥義
本文來自雲棲社區合作伙伴“阿里技術”,瞭解相關信息可以關注“阿里技術”。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章