當前位置:
首頁 > 新聞 > 全解Google(谷歌)基礎設施架構安全設計

全解Google(谷歌)基礎設施架構安全設計

谷歌的技術基礎設施共同構建了搜索、郵件(Gmail)、照片等普通用戶系統和G Suite 、谷歌雲存儲平台等企業系統,是谷歌數據中心的關鍵,是整個谷歌網路服務賴以存在的安全基礎。

FreeBuf在原文基礎上,針對谷歌技術基礎設施的安全設計作了簡要分析與介紹,這些技術基礎設施為谷歌全球信息系統提供了一系列安全防護,它們包括運行安全服務、終端用戶數據安全存儲、服務安全通信、用戶安全通信和運維安全管理等。

在介紹中,我們將圍繞谷歌數據中心的物理安全、整體軟硬體基礎安全、技術限制和操作的運維安全進行逐層描述。


底層基礎設施安全設計

物理基礎架構安全

谷歌數據中心包括了生物識別、金屬感應探測、監控、通行障礙和激光入侵感應系統等多層物理安全保護,並做了嚴格的限制訪問。

因為谷歌的某些服務託管在第三方數據中心,為了確保絕對的安全控制,必須部署此類高度安全措施。


硬體設計部署

谷歌數據中心網路由數千台伺服器組成,這些伺服器的主板和網路設備都由谷歌自行定製設計,相關設備組件和供應商都必須經過嚴格的安全檢測和背景審查。

同時谷歌也自己設計了安全晶元,這些晶元被廣泛應用於伺服器和相關外設環境,為硬體級別的安全識別和認證提供了有效的安全手段。


安全引導和伺服器識別機制

為了確保正確的服務啟動,谷歌伺服器使用了一系列的啟動引導技術,包括在BIOS、bootloader、kernel和系統鏡像等底層組件中使用加密簽名,這些簽名在每次啟動和更新時都能進行安全驗證。

整個過程中涉及的組件都由谷歌構建、控制和加固。隨著硬體的更新換代,谷歌也在不斷努力進行安全改進,比如自行設計了可鎖固件晶元、安全微控制器和安全晶元,並按照不同伺服器的設計版本,在各類晶元中內置了可信的安全啟動機制。

在軟體引導和硬體啟動過程中,數據中心的每台伺服器都有自己獨特的標識身份,這些標識也被用於機器底層管理的API調用驗證。

另外,谷歌也開發了自動更新檢測系統,以保證各類軟硬體的及時更新、識別和診斷,必要時可以自動隔離那些出現故障的伺服器。


安全服務部署

此節中,將對一些基本的軟硬體服務安全進行介紹,數千台伺服器將對這些服務應用請求進行伺服和備份,這些服務包括Gmail的SMTP服務、分布式數據存儲服務、YouTube視頻轉碼服務、客戶端APP沙箱運行服務等常規用戶請求。

所有運行於基礎設施架構的服務請求都由一個叫Borg的集群業務管理服務進行控制。


服務標識、完整性與隔離

在內部服務的應用層通信之間,谷歌使用了加密認證授權方式,為管理和服務提供了高強度的訪問控制。

雖然谷歌不完全依賴內部網路劃分和防火牆作為主要安全機制,但為了防止IP欺騙等進一步攻擊,谷歌在網路入口和出口的各種不同點位使用了過濾策略,這種方法也最大化地提高了網路性能和可用性。

每一個運行服務都有自身相關的服務賬戶標識,當創建服務或接收RPC請求時,就能提供相應的加密驗證憑據。這些標識同樣被用於服務間通信,以及對特定客戶端的數據和方法訪問限制。

谷歌的源代碼被存儲在一個中心庫內,在這裡可以針對當前和以往的代碼進行審計。谷歌基礎設施可以針對特定服務配置相應的安全審核、驗證和源代碼檢測程序。

在代碼審查方面,需要除編寫者之外的至少一名工程師進行審查和批准,另外,在審查出現問題之後,需要經系統管理員批准才能更改和執行代碼。

這些強制要求限制了內部人員或攻擊者對源代碼作出惡意更改,同時也為服務代碼提供了可追溯的取證流程。

除此之外,為了保護同一台伺服器上運行的其它服務,谷歌還設置了一系列的沙箱和隔離技術。這些技術包括通用的用戶隔離、基於語言和內核的沙箱以及硬體虛擬化等。

總體來說,為了應對存在風險的請求服務,如用戶請求的複雜文件格式轉換,或APP端及谷歌運算引擎這類產品面臨的用戶執行代碼等,谷歌使用了多層隔離技術。

另外,為了保證網路邊界的安全可按,谷歌還使用了一些特殊敏感的服務,如集群業務服務和關鍵管理服務等,這些服務都運行在專門的伺服器之上。


服務間訪問管理

所有運行服務可以使用谷歌基礎設施提供的訪問管理功能來指定哪些服務可以與其進行通信。

例如,某個服務可以設置只提供一些特定白名單服務的API請求調用,該服務可以被配置為僅允許白名單帳戶身份,之後,這種訪問限制機制將會被谷歌基礎設施自動執行。

就像谷歌工程師對服務的訪問同樣需要身份標識驗證一樣,這些服務可以設置為允許或拒絕訪問。所有標識類型信息(機器、服務或員工)都存儲於谷歌基礎設施的全局域中。

在內部身份標識認證中,谷歌提供了多樣的標識管理系統,包括審批流程、記錄和通知等。例如,這些標識可以通過某個系統指派給訪問控制組,以方便不同工程師進行服務的更改和批准。

標識管理系統可以對成千上萬的運行服務進行安全訪問管理。除了自動的API級別訪問控制機制外,谷歌還設置了訪問控制列表(ACLs)和資料庫的讀取服務,以方便執行必要時自定義和細粒度的訪問控制操作。


服務間通信加密設計

除了前述的PRC認證授權功能之外,谷歌還提供了網路內PRC數據的加密保密性和完整性功能,為了對HTTP等其它應用層協議進行安全保護,這些加密功能被谷歌封裝在了內部的PRC機制中。

本質上來說,這提供了應用層隔離,同時消除了任何網路路徑的安全依賴因素。即使網路被竊聽或設備被入侵,加密的服務通信也能保證信息安全可靠。

可以針對每一種PRC調用,為服務設置不同的加密保護級別,例如,對於數據中心內部的低價值數據交換隻設置完整性保護級別;而針對複雜的網路攻擊和內部網路竊聽行為,將會自動開啟所有RPC流量加密功能,無需額外的操作配置。

同時,谷歌配置部署了硬體加密加速器,可以為數據中心內部所有PRC流量進行加密。


終端用戶數據訪問管理

典型的谷歌服務為終端用戶帶來了很多便利,例如Gmail,在用戶使用類似程序的過程中,將會和谷歌基礎設施進行交互,如Gmail服務中調用通訊錄服務API訪問終端用戶地址薄。

結合前述章節,通訊錄服務可以設置成Gmail服務中只允許特定RPC的請求。然而,這仍然是一個非常廣泛的許可權控制集。但在許可權許可範圍內,Gmail服務將對任何時間的任何用戶作出請求回應。

由於Gmail服務將會代表終端用戶執行對通訊錄的RPC請求,而此時,作為RPC請求的一部分,谷歌基礎設施將會為Gmail服務提供一個「終端用戶許可憑據」,該憑據是特定終端用戶的身份證明,這也為特定終端用戶通訊錄服務的數據回應實現了安全保障。

為了向終端用戶發布「許可權許可憑據」,谷歌運行有一個中央用戶身份服務系統。

終端用戶登錄後,將會通過該身份服務進行多種方式驗證,如用戶密碼、cookie信息、OAuth令牌等,之後,任何從客戶端發起到谷歌內部的後續請求也將需要身份信息驗證。

當服務接收到終端用戶密碼信息後,將把其傳遞到中央身份服務系統進行驗證,如果驗證正確,身份服務系統將返回一個短期有效的「許可權許可憑據」,用於用戶的RPC相關請求。

結合前面的例子,Gmail服務如果獲得了「許可權許可憑據」後,將把該憑據將傳遞給通訊錄服務進行驗證。之後,作為RPC調用的一部分,該憑據將適用於任何客戶端請求。


安全數據存儲


靜態加密

谷歌基礎設施中運行有很多存儲服務,如分布式資料庫(BigTable)、Spanner以及集中密鑰管理系統。大多數應用程序都將通過這些存儲服務對物理存儲設備進行直接訪問。

存儲數據在寫入物理存儲設備之前,可以配置使用集中密鑰管理系統分發的密鑰進行加密。而集中密鑰管理系統支持自動密鑰輪換,並提供了全面的日誌審計、特定用戶身份完整性校驗等功能。


Spanner是谷歌公司研發的、可擴展的、多版本、全球分布式、同步複製資料庫。它是第一個把數據分布在全球範圍內的系統,並且支持外部一致性的分布式事務。

在應用層執行加密允許基礎設施隔離掉一些如惡意磁碟固件的底層存儲潛在威脅,這也是另一種加密保護層的額外實現。

谷歌的每一塊機械硬碟和固態硬碟都支持硬體加密和狀態跟蹤。如果某個加密存儲設備被更換或廢棄,必須經過多步驟的磁碟清理和兩次獨立驗證,不經過此清除過程的設備也將被執行物理破壞。


數據刪除

谷歌的數據刪除不是執行完全數據清除,而是針對某些特定數據的「計劃性刪除」,這樣做的好處是,可以恢復那些客戶端或運維操作無意刪除的數據。如果數據被標記為「計劃性刪除」後,將按照特定服務策略刪除。

當某個終端用戶執行了賬戶刪除之後,谷歌的基礎設施將通知相關數據清除服務對被刪賬戶的數據進行清除。刪除了谷歌賬號和谷歌郵箱之後,谷歌系統將刪除掉該賬戶相關的所有數據,不能再繼續以該賬戶使用谷歌提供的各項服務。


網路通信的安全性設計

此節中,將描述谷歌安全通信和相關服務設計。如前所述,谷歌基礎設施由大量物理設備組成,這些設備共同構成了不同的LAN和WAN。為了防止諸如DoS之類的攻擊,谷歌基礎設施使用了一段私有IP空間。


谷歌前端服務

谷歌基礎設施內部的服務需要通過谷歌前端服務(GFE)註冊之後,才能運行於外部互聯網上。GFE確保所有TLS連接必須使用正確的證書和安全策略,同時還能起到防禦DoS攻擊的作用。

GFE對請求的轉發使用了前述的RPC安全協議。實際上,任何通過GFE註冊運行於互聯網的內部服務都是敏捷的反向前端代理服務,該前端不僅能提供服務的DNS公共IP,還能起到DoS防禦和TLS保護作用。

GFE像其它運行於谷歌基礎設施的服務一樣,可以應對大量的發起請求。


DoS攻擊防禦

從規模體量上來說,谷歌基礎設施可以化解或承受大量DoS攻擊,谷歌具備多層級聯的DoS防護手段,以阻止和緩解任何對GFE註冊服務的DoS攻擊。外部骨幹網向谷歌數據中心發起的連接請求,將通過多層軟硬體的負載平衡傳導。

這些負載平衡傳導器將實時向谷歌基礎設施內部的中央DoS監測系統反饋傳入流量的狀態信息,當DoS監測系統探測到DoS攻擊之後,將會第一時間讓負載平衡傳導器丟棄或節流可疑攻擊流量。

在更下一層,GFE實例還會實時向谷歌中央DoS監測系統反饋所接收到的請求信息,這些信息包括了網路層負載平衡傳導器不具備的應用層信息。

如果監測到疑似攻擊,中央DoS監測系統同樣會讓GFE實例丟棄或節流可疑攻擊流量。


用戶認證

在DoS防禦之後,接下來就是谷歌的中央身份服務系統,該服務從終端用戶的登錄頁面開始,除了要求所需的用戶名密碼之外,系統內部還會對最近登錄地點和登錄設備進行智能校驗。

在認證步驟完成之後,身份服務系統將會向用戶分發一個如cookie或OAuth令牌的憑據,以進行後續請求調用。

當然,在登錄時,用戶還可以採用如OTP動態口令、防釣魚安全密鑰等雙因素認證措施。

另外,谷歌還與安全密碼聯盟(FIDO)共同協定了U2F用戶雙因素認證標準,製作了YubiKey外連密鑰登錄USB適配器,用戶可以通過購買該適配器實現更安全的登錄。


運維安全


安全軟體開發

除了前述的安全控制系統之外,谷歌還提供了防止開發人員引入某些安全缺陷的開發庫。

例如,在Web APP方面,谷歌設置有排除XSS漏洞的開發庫和框架。另外,谷歌還配置有大量自動化安全缺陷檢測工具,如Fuzzer、靜態代碼分析工具、網頁安全掃描器等。

最後,谷歌還會從快速簡單的缺陷識別到深度的風險發現,對開發代碼進行全方位的手工安全審查。這些手工審查由包括Web安全、加密和操作系統安全等各方面專家組成的團隊實施。

除此之外,谷歌還通過實施的漏洞獎勵計劃,來發現應用程序和基礎設施存在的漏洞,到目前為止,谷歌已經為此計劃支付了數百萬美元的漏洞賞金。

另外,谷歌還投入了大量智力和精力,致力於尋找其基礎設施中在用和上游產品的0-day漏洞。

例如,由谷歌工程師發現的心臟出血漏洞就是最好的典型,而且谷歌安全團隊一直是CVE漏洞庫的最多提交者,並且是Linux KVM hypervisor虛擬化技術漏洞的發現和修復者。


員工設備和憑據安全保護

為了保護員工設備和憑據免受入侵、竊取和其它非法內部活動,谷歌在這方面投入了大量資金和代價,這也是谷歌確保自身基礎設施安全運行的關鍵組成部分。

一直以來,針對谷歌員工的高端複雜釣魚攻擊總是持續不斷,為了防止這種攻擊,我們強制員工把存在釣魚風險的OTP口令認證方式更換成了 U2F的USB適配器安全密鑰。

另外,谷歌投入了大量資金開發了員工客戶端安全操作監控系統,同時,還配置了針對員工客戶端的安裝程序、下載程序、瀏覽器擴展和訪問內容的安全掃描系統。

進入公司內部區域網,並不意味著可以獲取到谷歌的訪問控制許可權。谷歌使用了應用級別的訪問控制管理,只允許那些來自特定管理設備、網路或地埋位置的限定用戶才能訪問內部控制程序。(詳細參見BeyondCorp內容)


內部風險消控

谷歌嚴格限制具備管理許可權的員工數量,並對其網路行為進行了積極監管。另外,對於一些特殊任務,盡量不需要許可權許可,而使用自動化的安全可控方式完成,以消除許可權許可需求的泛濫。

這就要求某些活動需行為雙方批准,同時將引入限制性API以排除信息泄露風險。谷歌員工對終端用戶信息的獲取,會被底層架構信息鉤子(hook)記錄,谷歌安全團隊會對所有訪問類型進行實時監控,並對其中的異常可疑事件開展調查。


入侵檢測

谷歌擁有成熟的數據處理管道,可以很好地集成基於主機、基於網路和基於服務的入侵檢測信號。內置在這些管道內的安全規則和探測機制會及時向運維安全人員發出事件警告,谷歌的事件響應團隊也實行全天候待命。

同時,谷歌內部運維團隊也定期實施紅方練習,以不斷衡量和提高檢測響應機制的有效性。


谷歌雲存儲平台(GCP)安全設計

在此,我們將以谷歌運算引擎 (GCE)服務為例,簡單描述谷歌雲存儲平台(GCP)的安全設計和改進。


Google Compute Engine,GCE是谷歌旗下的IaaS(基礎設施即服務)的一個基礎架構服務產品,可以讓你用Google的伺服器來運行Linux的虛擬機,得到更強大的數據運算能力。

谷歌在I/O大會上表示,Compute Engine服務比對手的產品更具性價比,每一美元所購買的計算能力要高出對手50%。谷歌Compute Engine服務的背後是由大量的Linux虛擬機組成,此外用於該服務的處理器共計771886核。

GCE服務可以使客戶在谷歌基礎設施上運行谷歌Linux虛擬機,來得到強大的數據運算能力。GCE服務的實現由多個邏輯部件組成,尤其是管理控制面板和虛擬機本身。

其中,管理控制面板負責與外部API的連接,同時對虛擬機創建遷移等進行任務編排,由於涉及運行多種服務,管理控制面板內置了安全啟動機制。

由於GCE控制平面通過GFE顯示出API介面,所以它具有和GFE實例一樣的DoS防護和SSL/TLS連接保護功能,與此同時,客戶在運行虛擬機時,可以選擇使用內置於GFE中的谷歌雲服務負載平衡器,它能緩解多種類型的DoS攻擊。

用戶認證的GCE控制面板API通過谷歌集中身份認證服務提供安全保護,如劫持檢測。授權則使用中央雲IAM服務完成。


身份及訪問管理(IAM):IAM允許用戶按照已定的IAM角色分類規則對Google雲資源的許可權進行分配,讓其他用戶能夠按許可權,以所有者/編輯者/查看者的身份,訪問一個項目中的所有資源。

控制面板之間的網路流量,以及從GFE到其它服務之間的流量都經過自動認證和加密,可以安全地從一個數據中心到達另一個數據中心。每個虛擬機(VM)與相關的虛擬機管理器(VMM)服務實例同時運行。

谷歌基礎設施為虛擬機提供了兩個認證身份,一個用於VMM服務實例自身調用,另一個用於VMM對客戶VM身份的代表,這也增加了來自VMM的調用信任。

GCE的永久磁碟採用靜態數據加密,使用谷歌中央密鑰管理系統分發的密鑰進行安全保護,並允許密鑰自動輪換和系統審計。

另外,虛擬機隔離技術是基於硬體虛擬化的開源KVM堆棧,為了最大化的安全防護,谷歌還對KVM的核心代碼進行了如Fuzzing、靜態分析、手工核查等一系列安全測試,所以,如前所述,谷歌最近提交和披露了多個KVM漏洞。

最後,谷歌的運維安全控制也是確保數據訪問遵循安全策略的關鍵部分。作為谷歌雲平台的一部分,GCE客戶的數據使用行為同樣遵循GCP的使用策略,谷歌不會訪問或使用客戶數據,但必要的為客戶提供服務的情況除外。


*參考來源:

Cloud.Google

,FB小編clouds編譯,轉載請註明來自FreeBuf.COM


您的贊是小編持續努力的最大動力,動動手指贊一下吧!


本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 FreeBuf 的精彩文章:

那些年我們「投(shua)」過的票(續)
Anonymous攻陷暗網服務提供商Freedom Hosting II,約1/5暗網網站下線
GPS追蹤工具Traccar體驗
我與學校SafeConnect軟體鬥智斗勇的經歷
洲際酒店(InterContinental)集團旗下12家酒店遭遇大規模數據泄露

TAG:FreeBuf |

您可能感興趣

ASICS Tiger Gel Lyte V 全新配色設計
Nike Air More Uptempo 全新配色設計!
Nike LunarCharge 全新配色設計
Nike Air Max Zero 全新配色設計「Metallic Gold」
Y-3 Stan Zip 全新配色設計
Nike Air Max LD Zero 全新配色設計「Coastal Blue」
Nike Air Zoom LWP 全新配色設計「Midnight Navy」
Nike SB Dunk Low 全新配色設計「Galaxy」
Nike Air Zoom Spiridon 全新配色設計「Ash Grey」
Nike Air VaporMax 全新配色設計「Asphalt」
adidas Originals NMD R1 PK 全新配色設計
Nike Air Max 1 全新配色設計「Pink Suede」
美國設計師 Waraire Boswell 為 McDonald』s 打造全新制服
Miguel Caballero為美國總統設計具有防彈功能的西裝
Air Jordan 1 Mid 推出全新「Triple White」配色設計
紐約尼克斯成為設計承載,Nike Air More Uptempo 全新配色曝光
Nike Sock Dart 全新配色設計「Glacier Blue」
Myoung Ho Lee 裝置設計欣賞
搶先預覽 Nike Mariah Racer 全新配色設計