為什麼技術人一定要懂點“可信計算”?
阿里妹導讀:可信計算(TrustedComputing,簡稱TC)是一項由TCG(可信計算組)推動和開發的技術。可信的核心目標之一是保證系統和應用的完整性,從而確定系統或軟體執行在設計目標期望的可信狀態。可信和安全是相輔相成的,可信是安全的基礎,瞭解可信才能更好地瞭解安全,才能為構建更穩固的安全體系固本強基。
一、什麼是可信計算
可信並不等同於安全,但它是安全的基礎,因為安全方案、策略只有執行在未被篡改的環境下才能進一步確保安全目的。通過保證系統和應用的完整性,可以確保使用正確的軟體棧,並在軟體棧受到攻擊發生改變後能及時發現。總的來說,在系統和應用中加入可信驗證能夠減少由於使用未知或遭到篡改的系統/軟體遭到攻擊的可能性。
以PC機可信舉例,通俗來講,可信就是在每臺PC機啟動時檢測BIOS和作業系統的完整性和正確性,保障你在使用PC時硬體配置和作業系統沒有被篡改過,所有系統的安全措施和設定都不會被繞過;在啟動後,對所有的應用,如社交軟體、音樂軟體、視訊軟體等應用可進行實時監控,若發現應用被篡改立即採取止損措施。
具體來說,可信計算技術對安全有如下提升:
- 作業系統安全升級,如防範UEFI中插入rootkit、防範OS中插入rootkit、以及防範病毒和攻擊驅動注入等。
- 應用完整性保障,如防範在應用中插入木馬。
- 安全策略強制實現,如防範安全策略被繞過/篡改、強制應用只能在某個計算機上用、強制資料只能有某幾種操作等。
可信主要通過度量和驗證的技術手段實現。度量就是採集所檢測的軟體或系統的狀態,驗證是將度量結果和參考值比對看是否一致,如果一致表示驗證通過,如果不一致則表示驗證失敗。
度量分為靜態度量和動態度量兩種。靜態度量通常指在執行環境初裝或重啟時對其映象的度量。度量是逐級的,通常先啟動的軟體對後一級啟動的軟體進行度量,度量值驗證成功則標誌著可信鏈從前一級軟體向後一級的成功傳遞。以作業系統啟動為例,可信作業系統啟動時基於硬體的可信啟動鏈,對啟動鏈上的UEFI、loader、OS的image進行靜態度量,靜態度量的結果通過雲上可信管理服務來驗證,以判斷系統是否被改動。
動態度量和驗證指在系統執行時動態獲取其執行特徵,根據規則或模型分析判斷系統是否執行正常。
可信計算另一個核心部分是可信根,通常是可信硬體晶片。可信計算通過晶片廠家植入在可信硬體中的演算法和祕鑰,以及整合的專用微控制器對軟體棧進行度量和驗證來確保可信。根據安全晶片和其上執行的可信軟體基(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中可信四級要求如下:
可基於可信根對系統載入程式、系統程式、重要配置引數和通訊應用程式等進行可信驗證,並在應用程式的所有執行環節進行動態的可信驗證,在檢測到其可信性受到破壞後進行報警,並將驗證結果形成審計記錄送至安全管理中心,並進行動態關聯感知。
可信基本要求之一“基於可信根對系統載入程式、系統程式、重要配置引數和通訊應用程式等進行可信驗證”在業界已有方案,如基於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四級(可交付的最高等級)評測的原因之一。
在目前中國雲端計算可信發展初期階段,安全硬體、伺服器、系統、應用等廠商需要聯合起來,形成協同共贏的生態,共同推動可信的深入發展,為構建更穩固的安全體系固本強基。
本文作者:肥義
本文來自雲棲社群合作伙伴“阿里技術”,如需轉載