https://zhuanlan.zhihu.com/p/74860152
一、什么是可信計算
可信計算(Trusted Computing,簡稱TC)是一項由TCG(可信計算組)推動和開發的技術。可信的核心目標之一是保證系統和應用的完整性,從而確定系統或軟件運行在設計目標期望的可信狀態。可信並不等同於安全,但它是安全的基礎,因為安全方案、策略只有運行在未被篡改的環境下才能進一步確保安全目的。通過保證系統和應用的完整性,可以確保使用正確的軟件棧,並在軟件棧受到攻擊發生改變后能及時發現。總的來說,在系統和應用中加入可信驗證能夠減少由於使用未知或遭到篡改的系統/軟件遭到攻擊的可能性。
以PC機可信舉例,通俗來講,可信就是在每台PC機啟動時檢測BIOS和操作系統的完整性和正確性,保障你在使用PC時硬件配置和操作系統沒有被篡改過,所有系統的安全措施和設置都不會被繞過;在啟動后,對所有的應用,如社交軟件、音樂軟件、視頻軟件等應用可進行實時監控,若發現應用被篡改立即采取止損措施。
具體來說,可信計算技術對安全有如下提升:
- 操作系統安全升級,如防范UEFI中插入rootkit、防范OS中插入rootkit、以及防范病毒和攻擊驅動注入等。
- 應用完整性保障,如防范在應用中插入木馬。
- 安全策略強制實現,如防范安全策略被繞過/篡改、 強制應用只能在某個計算機上用、強制數據只能有某幾種操作等。
可信主要通過度量和驗證的技術手段實現。度量就是采集所檢測的軟件或系統的狀態,驗證是將度量結果和參考值比對看是否一致,如果一致表示驗證通過,如果不一致則表示驗證失敗。
度量分為靜態度量和動態度量兩種。靜態度量通常指在運行環境初裝或重啟時對其鏡像的度量。度量是逐級的,通常先啟動的軟件對后一級啟動的軟件進行度量,度量值驗證成功則標志着可信鏈從前一級軟件向后一級的成功傳遞。以操作系統啟動為例,可信操作系統啟動時基於硬件的可信啟動鏈,對啟動鏈上的UEFI、loader、OS的image進行靜態度量,靜態度量的結果通過雲上可信管理服務來驗證,以判斷系統是否被改動。
動態度量和驗證指在系統運行時動態獲取其運行特征,根據規則或模型分析判斷系統是否運行正常。
可信計算另一個核心部分是可信根,通常是可信硬件芯片。可信計算通過芯片廠家植入在可信硬件中的算法和秘鑰,以及集成的專用微控制器對軟件棧進行度量和驗證來確保可信。根據安全芯片和其上運行的可信軟件基(Trusted Software Stack)分類,業界目前主流的可信計算標准主要有三種:Trusted Platform 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中可信四級要求如下:
可基於可信根對系統引導程序、系統程序、重要配置參數和通信應用程序等進行可信驗證,並在應用程序的所有執行環節進行動態的可信驗證,在檢測到其可信性受到破壞后進行報警,並將驗證結果形成審計記錄送至安全管理中心,並進行動態關聯感知。
可信基本要求之一“基於可信根對系統引導程序、系統程序、重要配置參數和通信應用程序等進行可信驗證”在業界已有方案,如基於TCM安全芯片的系統啟動度量和驗證。等保2.0中對這項要求沒有明確提出動態的可信驗證,原因之一是系統(如操作系統)過於復雜,很難形成完整的甚至局部的驗證基准值,在工程實現上無法保障規則的完整性,誤報、漏報無法控制,嚴重影響安全和用戶體驗。基於這個判斷,傳統的基於靜態度量和驗證的系統可信啟動應該滿足這項要求。
與系統可信不同,等保2.0四級對應用可信有明確的動態驗證要求。再復雜的應用相對操作系統來說也簡單得多,所以做應用動態驗證在工程上是可行的,挑戰是如何在不嚴重影響應用的功能、性能,即保證用戶使用體驗的前提下做到應用動態可信。解決這個問題的實質在於如何選擇應用的度量對象,確定度量值,以及如何收集和管理驗證基准值,或所謂的應用行為白名單。
應用可信的實現可通過只允許指定的應用,即所謂白名單應用在某個環境下(一般是物理主機、虛擬機上或容器)運行,非白名單應用無法在目標環境中運行;同時白名單應用受到監控,其運行行為一旦被發現異常,系統會根據異常行為的安全危害等級報警並采取相應措施,如阻斷應用、刪除應用、重啟系統等。對環境中運行的應用進行限制可減少不安全的應用對雲平台進行攻擊的可能性,而對應用的監控可以及時發現攻擊並做響應。
等保2.0並沒有明確規范應該如何實現應用可信,原因之一是在現有的安全實踐中沒有很好的方式可以參考。可信最終是為安全服務的,如果應用的動態驗證能夠幫助及時發現攻擊甚至阻止攻擊,將攻擊造成的危害降至最低,這樣的應用可信就應該是有效的。
等保2.0要求的動態關聯,可理解成在可信驗證失敗時對被監測的對象及時采取措施,阻斷攻擊並對可能遭受攻擊的資產進行保護。實現的方式可通過安全管理中心有效地傳遞驗證結果數據,使其他安全手段能夠及時響應。
三、阿里雲可信計算實踐
雲平台安全依賴操作系統、數據庫、虛擬化等技術,而這些系統/技術會存在原生的安全問題,使攻擊者可利用系統/技術漏洞實現其攻擊目的。同時,平台上的第三方系統軟件、應用軟件等可能會在安裝或升級過程中被修改或植入攻擊性模塊,存在通過類似中間人攻擊或內部攻擊替換正版軟件的風險。
阿里雲提供了較完整的平台安全措施和強邊界防御能力,同時通過可信來有效減小攻擊面和攻擊源,提升攻擊門檻,使雲平台安全升級。所謂可信,即雲平台、雲上應用以及雲用戶運行環境、應用,通過使用用戶指定的軟件而達到行為的可預判,以此來確保雲平台上運行環境以及其上運行的應用的可信,來減少由於未知因素引發成功攻擊的可能性。
可信整體框架
阿里雲可信是依賴雲平台硬件安全中的可信計算能力,通過自研開發的可信服務,實現雲上的軟件棧可信,即:雲平台安全可信、雲平台上運行的應用可信,達到雲平台整體安全可信升級的目標。
雲平台可信即確保雲平台上運行的系統軟件,如固件、操作系統(OS)都是安全的,保障平台上的系統不被篡改,即保持運行環境是所要求的運行環境。為實現這個目標,主要采用的手段是對系統軟件的度量和驗證,而度量和驗證自身的可信通過雲平台可信硬件來支持。可信硬件作為雲服務器或接入用戶服務器的可信根,通過在硬件內部實現最基礎的安全功能如秘鑰存儲、安全算法實現從下到上逐級的可信鏈傳遞。
阿里雲可信根采用在商業和產品化上成熟的TCM,通過使用裝有TCM可信芯片的可信服務器作為系統的可信根逐級實現雲平台以及其上業務的可信。在未來國有化和更強大的TPCM商業化成熟后,會過渡到用TPCM支持的可信服務器。
TCM能保障物理機的可信,而雲平台的物理宿主機上一般需運行多個虛擬機,但一個宿主機通常有一個TCM芯片,為保證對虛擬機的度量,需要有效地對TCM資源進行分配;同時虛擬機會因業務的需要而遷移,為保證虛擬機度量的延續性,其可信相關的安全管理數據如最后的PCR值等應同步遷移到目標主機上,為實現上述需求,阿里雲開發TCM虛擬化(vTCM)以安全管理TCM的資源和數據。
雲平台可信實現框架圖如下:
可信度量啟動鏈+遠程證明設計框架
阿里雲對白名單應用的保護是通過靜態度量和驗證、動態度量和驗證來實現的,同時采用動態關聯感知技術進一步確保應用可信。
靜態度量和驗證在應用啟動之前對其鏡像進行校驗,僅校驗合格后才允許應用啟動運行。校驗的基准值為應用開發者發布的應用簽名,或是可信服務提供的校驗基准值。
動態度量和驗證采用的是通過應用行為白名單來實現的。被度量和驗證的應用行為是系統調用行為,包括進程啟動、進程調用、網絡訪問、文件訪問等。系統調用是應用的核心執行動作,一個被攻擊過、不再可信的應用在執行實現攻擊者目標時必須通過系統調用實現,也就是說,通過對系統調用的監測能夠有效地發現應用異常,即不再可信。實現應用可信的具體方式是首先通過對白名單應用的分析,收集用戶正常行為,並以此建立行為規則庫,然后根據實時采集的應用行為數據,對比應用行為規則庫進行判斷。如果應用行為無法匹配任何一條規則,這個行為會被判斷為異常,可信雲決定是否告警或終止應用運行。
此外,動態關聯感知技術通過對應用行為特征的判斷,可發現應用在不調用白名單以外的情況下的應用異常。動態關聯感知通過機器學習產生應用行為基線,在應用運行時采集了一段時間應用的行為,通過大數據分析和機器學習的方式形成應用行為特征,並以此對應用行為特征異常作出判斷。
阿里雲可信應用可信的實現方式如下:
四、結語
可信和安全是相輔相成的,可信是安全的基礎,但可信自身的實現也需要有安全機制,有安全手段配合才能更有效,例如操作系統的只讀安全措施可以大大減少系統動態度量的范圍,使系統動態度量成為可能。
目前,國際領先雲服務商如谷歌的GCP和微軟的AZURE都已有完整的基於靜態度量/驗證的雲平台可信方案,AWS可信方案也在開發中。在國內,阿里雲是首家具備可信能力的雲廠商,其專有雲平台研發了基於可信技術的雲平台入侵檢測系統,滿足了等保2.0對於可信部分的高標准要求,這也是其成為通過等保2.0四級(可交付的最高等級)評測的原因之一。
在目前中國雲計算可信發展初期階段,安全硬件、服務器、系統、應用等廠商需要聯合起來,形成協同共贏的生態,共同推動可信的深入發展,為構建更穩固的安全體系固本強基。
更多雲計算干貨敬請關注阿里雲官網知乎機構號:阿里雲官網 - 知乎